On Mon, Jan 4, 2021 at 4:21 AM Alexander Lobakin <alobakin@xxxxx> wrote:Hi all,
GCC somehow manages to place some of the symbols from main.c into(I don't know why I am on the CC list since I know little about
.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 <alobakin@xxxxx>
---
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
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!")