x86: vdso: Fix leaky vdso linker with CC=clang.
authorAlistair Strachan <astrachan@google.com>
Wed, 23 May 2018 00:38:34 +0000 (17:38 -0700)
committerAlistair Strachan <astrachan@google.com>
Wed, 23 May 2018 01:04:27 +0000 (18:04 -0700)
commit35b779802c2ee9f352dad1043db0e441cc69bb63
treea391119a58214e9559b93448543d7e1c0963d7ef
parentdffd8d09b2075b4119091fa60b856dd312d1ffed
x86: vdso: Fix leaky vdso linker with CC=clang.

The vdso{32,64}.so can fail to build when CC=clang when clang tries to
find a suitable GCC toolchain to link these libraries with.

/usr/bin/ld: arch/x86/entry/vdso/vclock_gettime.o: access beyond end of merged section (782)

This happens because the host environment leaked into the CROSS_COMPILE
environment due to the way clang searches for suitable GCC toolchains.

Most of the time this goes unnoticed because the host linker is new
enough to work anyway, but on this particular machine it was not.

Extract the needed --target and --gcc-toolchain flags added in the top
level Makefile from KBUILD_CFLAGS.

Bug: 63889157
Change-Id: If7d4097d1d2eaf95f18d0295483bde8792a06844
Signed-off-by: Alistair Strachan <astrachan@google.com>
arch/x86/entry/vdso/Makefile