Re: [PATCH mips-next 2/4] MIPS: vmlinux.lds.S: add ".rel.dyn" to DISCARDS
From: Fāng-ruì Sòng <hidden>
Date: 2021-01-05 07:40:40
Also in:
linux-mips, lkml
On Mon, Jan 4, 2021 at 4:21 AM Alexander Lobakin [off-list ref] wrote:
quoted hunk ↗ jump to hunk
GCC somehow manages to place some of the symbols from main.c into .rel.dyn section: mips-alpine-linux-musl-ld: warning: orphan section `.rel.dyn' from `init/main.o' being placed in section `.rel.dyn' I couldn't catch up the exact symbol, but seems like it's harmless to discard it from the final vmlinux as kernel doesn't use or support dynamic relocations. Misc: sort DISCARDS section entries alphabetically. Signed-off-by: Alexander Lobakin <redacted> --- arch/mips/kernel/vmlinux.lds.S | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)diff --git a/arch/mips/kernel/vmlinux.lds.S b/arch/mips/kernel/vmlinux.lds.S index 83e27a181206..1c3c2e903062 100644 --- a/arch/mips/kernel/vmlinux.lds.S +++ b/arch/mips/kernel/vmlinux.lds.S@@ -221,9 +221,10 @@ SECTIONS /* ABI crap starts here */ *(.MIPS.abiflags) *(.MIPS.options) + *(.eh_frame) *(.options) *(.pdr) *(.reginfo) - *(.eh_frame) + *(.rel.dyn) } } --2.30.0
(I don't know why I am on the CC list since I know little about mips... Anyway, I know the LLD linker's behavior in case that was the intention... ) I think it'd be good to know the reason why these dynamic relocations are produced and fix the root cause. arch/x86/kernel/vmlinux.lds.S asserts no dynamic relocation: ASSERT(SIZEOF(.rela.dyn) == 0, "Unexpected run-time relocations (.rela) detected!")