Thread (9 messages) 9 messages, 4 authors, 2025-10-16

Re: [PATCH] arch/powerpc: Remove .interp section in vmlinux

From: Vishal Chourasia <hidden>
Date: 2025-10-16 06:06:42
Also in: lkml, llvm

On 15/10/25 23:57, Nathan Chancellor wrote:
quoted hunk ↗ jump to hunk
On Wed, Oct 15, 2025 at 09:07:54AM +0530, Vishal Chourasia wrote:
quoted
Hello Nathan,

On Tue, Oct 14, 2025 at 05:21:54PM -0700, Nathan Chancellor wrote:
quoted
In this bug report, you mention using LLVM=1. Does the issue happen if
you use GNU ld (ld.bfd) via LD (i.e., LD=powerpc64le-linux-gnu-ld or
equivalent) over ld.lld from LLVM=1? This sounds more likely to be a
linker difference rather than a compiler difference.
Thank you for the insight.

Yes, when using powerpc64le-linux-gnu-ld linker .interp section is not
emitted.

Command:
$ make LLVM=1 ARCH=powerpc LD=powerpc64le-linux-gnu-ld -j 8 zImage
$ llvm-readelf -p .comment vmlinux

String dump of section '.comment':
[     0] clang version 22.0.0git (https://github.com/llvm/llvm-project.git 7314565281ec28b745502c3f429fd431e16673eb)

$ llvm-readelf -p .interp vmlinux
llvm-readelf: warning: 'vmlinux': could not find section '.interp'
Thanks for confirming. Does this fix the issue for you? It appears to
work for me.

Cheers,
Nathan
diff --git a/arch/powerpc/kernel/vmlinux.lds.S b/arch/powerpc/kernel/vmlinux.lds.S
index de6ee7d35cff..15850296c0a9 100644
--- a/arch/powerpc/kernel/vmlinux.lds.S
+++ b/arch/powerpc/kernel/vmlinux.lds.S
@@ -330,7 +330,6 @@ SECTIONS
  	}
  	.hash : AT(ADDR(.hash) - LOAD_OFFSET) { *(.hash) }
  	.gnu.hash : AT(ADDR(.gnu.hash) - LOAD_OFFSET) { *(.gnu.hash) }
-	.interp : AT(ADDR(.interp) - LOAD_OFFSET) { *(.interp) }
  	.rela.dyn : AT(ADDR(.rela.dyn) - LOAD_OFFSET)
  	{
  		__rela_dyn_start = .;
Hello Nathan,

It does solve the problem, but with GNU linker it would work even
without this change.

regards,
vishalc

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help