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 <seg...@kernel.crashing.org> (Maybe this could or should be in generic code though, not architecture code?) Segher