Re: [PATCH v2 1/3] vmlinux.lds.h: Add .gnu.version* to DISCARDS
From: Kees Cook
Date: Mon Jun 22 2020 - 18:57:25 EST
On Mon, Jun 22, 2020 at 03:52:37PM -0700, Fangrui Song wrote:
> > And it's not in the output:
> >
> > $ readelf -Vs arch/x86/boot/compressed/vmlinux | grep version
> > No version information found in this file.
> >
> > So... for the kernel we need to silence it right now.
>
> Re-link with -M (or -Map file) to check where .gnu.version{,_d,_r} input
> sections come from?
It's not reporting it correctly:
.gnu.version_d 0x00000000008966b0 0x0
.gnu.version_d
0x00000000008966b0 0x0 arch/x86/boot/compressed/kernel_info.o
.gnu.version 0x00000000008966b0 0x0
.gnu.version 0x00000000008966b0 0x0 arch/x86/boot/compressed/kernel_info.o
.gnu.version_r 0x00000000008966b0 0x0
.gnu.version_r
0x00000000008966b0 0x0 arch/x86/boot/compressed/kernel_info.o
it just reports whatever file is listed on the link command line first.
> If it is a bug, we should probably figure out which version of binutils
> has fixed the bug.
I see this with binutils 2.34...
--
Kees Cook