Message ID | 20210110115546.30970-5-alobakin@pm.me |
---|---|
State | Accepted |
Commit | 008c3cbd5eb8f5efc539cbec9abca9f7e32ea631 |
Headers | show |
Series | MIPS: vmlinux.lds.S sections fixes & cleanup | expand |
On Sun, Jan 10, 2021 at 11:56:34AM +0000, Alexander Lobakin wrote: > According to linker warnings, both GCC and LLVM generate '.rel.dyn' > symbols: > > mips-alpine-linux-musl-ld: warning: orphan section `.rel.dyn' > from `init/main.o' being placed in section `.rel.dyn' > > Link-time assertion shows that this section is sometimes empty, > sometimes not, depending on machine bitness and the compiler [0]: > > LD .tmp_vmlinux.kallsyms1 > mips64-linux-gnu-ld: Unexpected run-time relocations (.rel) detected! > > Just use the ARM64 approach and declare it in vmlinux.lds.S closer > to __init_end. > > [0] https://lore.kernel.org/linux-mips/20210109111259.GA4213@alpha.franken.de > > Reported-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de> > Signed-off-by: Alexander Lobakin <alobakin@pm.me> Reviewed-by: Nathan Chancellor <natechancellor@gmail.com> > --- > arch/mips/kernel/vmlinux.lds.S | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/arch/mips/kernel/vmlinux.lds.S b/arch/mips/kernel/vmlinux.lds.S > index 10d8f0dcb76b..70bba1ff08da 100644 > --- a/arch/mips/kernel/vmlinux.lds.S > +++ b/arch/mips/kernel/vmlinux.lds.S > @@ -137,6 +137,11 @@ SECTIONS > PERCPU_SECTION(1 << CONFIG_MIPS_L1_CACHE_SHIFT) > #endif > > + .rel.dyn : ALIGN(8) { > + *(.rel) > + *(.rel*) > + } > + > #ifdef CONFIG_MIPS_ELF_APPENDED_DTB > .appended_dtb : AT(ADDR(.appended_dtb) - LOAD_OFFSET) { > *(.appended_dtb) > -- > 2.30.0 > >
diff --git a/arch/mips/kernel/vmlinux.lds.S b/arch/mips/kernel/vmlinux.lds.S index 10d8f0dcb76b..70bba1ff08da 100644 --- a/arch/mips/kernel/vmlinux.lds.S +++ b/arch/mips/kernel/vmlinux.lds.S @@ -137,6 +137,11 @@ SECTIONS PERCPU_SECTION(1 << CONFIG_MIPS_L1_CACHE_SHIFT) #endif + .rel.dyn : ALIGN(8) { + *(.rel) + *(.rel*) + } + #ifdef CONFIG_MIPS_ELF_APPENDED_DTB .appended_dtb : AT(ADDR(.appended_dtb) - LOAD_OFFSET) { *(.appended_dtb)
According to linker warnings, both GCC and LLVM generate '.rel.dyn' symbols: mips-alpine-linux-musl-ld: warning: orphan section `.rel.dyn' from `init/main.o' being placed in section `.rel.dyn' Link-time assertion shows that this section is sometimes empty, sometimes not, depending on machine bitness and the compiler [0]: LD .tmp_vmlinux.kallsyms1 mips64-linux-gnu-ld: Unexpected run-time relocations (.rel) detected! Just use the ARM64 approach and declare it in vmlinux.lds.S closer to __init_end. [0] https://lore.kernel.org/linux-mips/20210109111259.GA4213@alpha.franken.de Reported-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de> Signed-off-by: Alexander Lobakin <alobakin@pm.me> --- arch/mips/kernel/vmlinux.lds.S | 5 +++++ 1 file changed, 5 insertions(+)