Thread (9 messages) 9 messages, 4 authors, 2021-01-06

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!")
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help