On Fri, Apr 26, 2019 at 06:34:22AM -0700, Nathan Chancellor wrote:
On Fri, Apr 26, 2019 at 01:23:17PM +0000, Rantala, Tommi T. (Nokia - FI/Espoo) wrote:
On Fri, 2019-04-26 at 05:48 -0700, Nathan Chancellor wrote:
On Fri, Apr 26, 2019 at 11:41:30AM +0000, Rantala, Tommi T. (Nokia - FI/Espoo) wrote:
On Mon, 2019-04-15 at 20:58 +0200, Greg Kroah-Hartman wrote:
commit 379d98ddf41344273d9718556f761420f4dc80b3 upstream.
Hi,
With this patch in 4.14.112 build-id is now missing in vdso32.so:
$ file arch/x86/entry/vdso/vdso*so* arch/x86/entry/vdso/vdso32.so: ELF 32-bit LSB pie executable, Intel 80386, version 1 (SYSV), dynamically linked, stripped arch/x86/entry/vdso/vdso32.so.dbg: ELF 32-bit LSB pie executable, Intel 80386, version 1 (SYSV), dynamically linked, with debug_info, not stripped arch/x86/entry/vdso/vdso64.so: ELF 64-bit LSB pie executable, x86- 64, version 1 (SYSV), dynamically linked, BuildID[sha1]=d80730a5b561a3161e488a369d1c76c250b584b4, stripped arch/x86/entry/vdso/vdso64.so.dbg: ELF 64-bit LSB pie executable, x86- 64, version 1 (SYSV), dynamically linked, BuildID[sha1]=d80730a5b561a3161e488a369d1c76c250b584b4, with debug_info, not stripped
Based on quick check, "$(call ld-option, --build-id)" fails due to some 32/64 bit mismatch, so the --build-id linker flag is not used when linking vdso32.so
Perhaps scripts/Kbuild.include is missing some change in 4.14.y to make this work properly.
Hi Tommi,
This appears to be fixed by commit 0294e6f4a000 ("kbuild: simplify ld-option implementation") upstream. Could you test the attached backport and make sure everything works on your end? Assuming that it does, I will test the other stable releases and see if this is needed and send those backports along.
Yes this patch fixes it. Many thanks!
Thanks for verifying!
Greg, attached are backports for that commit for 4.4, 4.9, and 4.14. It appeared in 4.16 so it is not needed with a newer version.
Now queued up, thanks!
greg k-h