The .interp section specifies which "interpreter", ie. dynamic loader, the kernel requests. But that doesn't make any sense, the kernel is not a regular binary that is run with an interpreter.
The content seems to be some default value, this file doesn't even exist on my system: 00000000 2f 75 73 72 2f 6c 69 62 2f 6c 64 2e 73 6f 2e 31 |/usr/lib/ld.so.1| So the section serves no useful purpose and consumes a small amount of space. Also Alan Modra says we "likely could discard" it, so do so. Signed-off-by: Michael Ellerman <m...@ellerman.id.au> --- arch/powerpc/kernel/vmlinux.lds.S | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/powerpc/kernel/vmlinux.lds.S b/arch/powerpc/kernel/vmlinux.lds.S index 31a0f201fb6f..619ffbaf72ad 100644 --- a/arch/powerpc/kernel/vmlinux.lds.S +++ b/arch/powerpc/kernel/vmlinux.lds.S @@ -257,7 +257,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 = .; @@ -370,5 +369,6 @@ SECTIONS *(.gnu.version*) *(.gnu.attributes) *(.eh_frame) + *(.interp) } } -- 2.21.1