[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <aGPjibUcPDubyFY1@gate>
Date: Tue, 1 Jul 2025 08:32:57 -0500
From: Segher Boessenkool <segher@...nel.crashing.org>
To: Christophe Leroy <christophe.leroy@...roup.eu>
Cc: Michael Ellerman <mpe@...erman.id.au>, Nicholas Piggin <npiggin@...il.com>,
Naveen N Rao <naveen@...nel.org>,
Madhavan Srinivasan <maddy@...ux.ibm.com>,
linux-kernel@...r.kernel.org, linuxppc-dev@...ts.ozlabs.org
Subject: Re: [PATCH] arch/powerpc: Remove .interp section in vmlinux
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@...nel.crashing.org>
(Maybe this could or should be in generic code though, not architecture
code?)
Segher
Powered by blists - more mailing lists