summaryrefslogtreecommitdiffstats
path: root/arch/riscv
diff options
context:
space:
mode:
authorAlexandre Ghiti <alexghiti@rivosinc.com>2023-03-29 06:53:25 +0200
committerPalmer Dabbelt <palmer@rivosinc.com>2023-04-19 07:46:29 -0700
commit69a90d2fe107c8bf6a424af0f30d2b223cdeaf7c (patch)
treeff1c8332241b04240bb1316807e8b4ef4b7231b3 /arch/riscv
parent55de1e4ad43b375566162ae0cc2b56dfa44aae4e (diff)
downloadlinux-stable-69a90d2fe107c8bf6a424af0f30d2b223cdeaf7c.tar.gz
linux-stable-69a90d2fe107c8bf6a424af0f30d2b223cdeaf7c.tar.bz2
linux-stable-69a90d2fe107c8bf6a424af0f30d2b223cdeaf7c.zip
riscv: Move .rela.dyn outside of init to avoid empty relocations
This is a preparatory patch for relocatable kernels: .rela.dyn should be in .init but doing so actually produces empty relocations, so this should be a temporary commit until we find a solution. This issue was reported here [1]. [1] https://lore.kernel.org/all/4a6fc7a3-9697-a49b-0941-97f32194b0d7@ghiti.fr/. Signed-off-by: Alexandre Ghiti <alexghiti@rivosinc.com> Link: https://lore.kernel.org/r/20230329045329.64565-3-alexghiti@rivosinc.com Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
Diffstat (limited to 'arch/riscv')
-rw-r--r--arch/riscv/kernel/vmlinux.lds.S8
1 files changed, 4 insertions, 4 deletions
diff --git a/arch/riscv/kernel/vmlinux.lds.S b/arch/riscv/kernel/vmlinux.lds.S
index 1c38294580c0..e05e6df44225 100644
--- a/arch/riscv/kernel/vmlinux.lds.S
+++ b/arch/riscv/kernel/vmlinux.lds.S
@@ -96,10 +96,6 @@ SECTIONS
*(.rel.dyn*)
}
- .rela.dyn : {
- *(.rela*)
- }
-
__init_data_end = .;
. = ALIGN(8);
@@ -126,6 +122,10 @@ SECTIONS
*(.sdata*)
}
+ .rela.dyn : {
+ *(.rela*)
+ }
+
#ifdef CONFIG_EFI
.pecoff_edata_padding : { BYTE(0); . = ALIGN(PECOFF_FILE_ALIGNMENT); }
__pecoff_data_raw_size = ABSOLUTE(. - __pecoff_text_end);