arch/powerpc/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
When building with CONFIG_RELOCATABLE, there is a .interp section
which contains the name of the expected ELF interpreter:
Contents of section .interp:
c0000000021c1bac 2f757372 2f6c6962 2f6c642e 736f2e31 /usr/lib/ld.so.1
c0000000021c1bbc 00 .
That information is useless and even likely wrong. Remove it.
Link: https://github.com/linuxppc/issues/issues/434
Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
---
arch/powerpc/Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile
index f3804103c56c..9753fb87217c 100644
--- a/arch/powerpc/Makefile
+++ b/arch/powerpc/Makefile
@@ -101,7 +101,7 @@ KBUILD_LDFLAGS += -m elf$(BITS)$(LDEMULATION)
endif
LDFLAGS_vmlinux-y := -Bstatic
-LDFLAGS_vmlinux-$(CONFIG_RELOCATABLE) := -pie
+LDFLAGS_vmlinux-$(CONFIG_RELOCATABLE) := -pie --no-dynamic-linker
LDFLAGS_vmlinux-$(CONFIG_RELOCATABLE) += -z notext
LDFLAGS_vmlinux := $(LDFLAGS_vmlinux-y)
--
2.49.0
Hi! On Tue, Jul 01, 2025 at 12:49:29PM +0200, Christophe Leroy wrote: > When building with CONFIG_RELOCATABLE, there is a .interp section > which contains the name of the expected ELF interpreter: > > Contents of section .interp: > c0000000021c1bac 2f757372 2f6c6962 2f6c642e 736f2e31 /usr/lib/ld.so.1 > c0000000021c1bbc 00 . > > That information is useless and even likely wrong. Remove it. s/ likely// You cannot run the kernel as some dynamic object (under control of some interpreter that will load DSOs for you), hehe. The various bfd/elf*.c (in binutils/ld) have code like if (htab->elf.dynamic_sections_created) { /* Set the contents of the .interp section to the interpreter. */ if (bfd_link_executable (info) && !info->nointerp) { s = bfd_get_linker_section (dynobj, ".interp"); if (s == NULL) abort (); s->size = sizeof ELF_DYNAMIC_INTERPRETER; s->contents = (unsigned char *) ELF_DYNAMIC_INTERPRETER; } } (yes there are about a hundred copies of this code, that could be improved :-) ) whenever producing dynamic objects, so this code just sets that text and that's all, no side effect to be worried of. Acked-by: Segher Boessenkool <segher@kernel.crashing.org> (Maybe this could or should be in generic code though, not architecture code?) Segher
© 2016 - 2025 Red Hat, Inc.