FROMLIST: Makefile: add -fuse-ld=lld to KBUILD_HOSTLDFLAGS when LLVM=1
While moving Android kernels over to use LLVM=1, we observe the failure
when building in a hermetic docker image:
HOSTCC scripts/basic/fixdep
clang: error: unable to execute command: Executable "ld" doesn't exist!
The is because the build of the host utility fixdep builds the fixdep
executable in one step by invoking the compiler as the driver, rather
than individual compile then link steps.
Clang when configured from source defaults to use the system's linker,
and not LLVM's own LLD, unless the CMake config
-DCLANG_DEFAULT_LINKER='lld' is set when configuring a build of clang
itself.
Don't rely on the compiler's implicit default linker; be explicit.
Fixes: commit a0d1c951ef
("kbuild: support LLVM=1 to switch the default tools to Clang/LLVM")
Reported-by: Matthias Maennich <maennich@google.com>
Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
Reviewed-by: Nathan Chancellor <natechancellor@gmail.com>
Cc: stable@vger.kernel.org
Bug: 116869922
Bug: 141693040
Link: https://lore.kernel.org/lkml/20200820220955.3325555-1-ndesaulniers@google.com/T/#u
Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
Change-Id: I54b79beceb669ec06a017d3f5c3627ccf3655986
This commit is contained in:
parent
87cca254c9
commit
537c1df08e