Re: [PATCH] powerpc/32: Include .branch_lt in data section
From: Alan Modra <hidden>
Date: 2018-11-14 04:03:12
On Wed, Nov 14, 2018 at 01:32:18PM +1030, Joel Stanley wrote:
When building a 32 bit powerpc kernel with Binutils 2.31.1 this warning
is emitted:
powerpc-linux-gnu-ld: warning: orphan section `.branch_lt' from
`arch/powerpc/kernel/head_44x.o' being placed in section `.branch_lt'
As of binutils commit 2d7ad24e8726 ("Support PLT16 relocs against local
symbols")[1], 32 bit targets can produce .branch_lt sections in their
output.
Include these symbols in the .data section as the ppc64 kernel does.
[1] https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commitdiff;h=2d7ad24e8726ba4c45c9e67be08223a146a837ce
Signed-off-by: Joel Stanley <joel@jms.id.au>Reviewed-by: Alan Modra <redacted> Looks fine to me.
--- I wasn't sure where this should go or if the ordering matters.
The usual answer is: "Look at where the section goes in the standard linker scripts." But that doesn't apply here. The section will be empty for a kernel build so it doesn't matter where it goes.
quoted hunk ↗ jump to hunk
--- arch/powerpc/kernel/vmlinux.lds.S | 1 + 1 file changed, 1 insertion(+)diff --git a/arch/powerpc/kernel/vmlinux.lds.S b/arch/powerpc/kernel/vmlinux.lds.S index 434581bcd5b4..6d5fd1b95311 100644 --- a/arch/powerpc/kernel/vmlinux.lds.S +++ b/arch/powerpc/kernel/vmlinux.lds.S@@ -313,6 +313,7 @@ SECTIONS *(.sdata2) *(.got.plt) *(.got) *(.plt) + *(.branch_lt) } #else .data : AT(ADDR(.data) - LOAD_OFFSET) {-- 2.19.1
-- Alan Modra Australia Development Lab, IBM