From: Alfred Wingate <
parona@protonmail.com>
Building on llvm profiles is problematic if toolchain variables are not properly
set. So set HOSTLD and HOSTAR to match at least the kernels own LLVM=1 variable to ensure a smoother build for end users.
For example an unset HOSTLD causes issues as it defaults to GNU ld
otherwise.
https://docs.kernel.org/kbuild/llvm.html#the-llvm-argument
Signed-off-by: Alfred Wingate <
parona@protonmail.com>
Closes:
https://github.com/gentoo/gentoo/pull/37690
Signed-off-by: Andrew Ammerlaan <
andrewammerlaan@gentoo.org>
---
eclass/kernel-build.eclass | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/eclass/kernel-build.eclass b/eclass/kernel-build.eclass
index f478cf636a27..893a1bdb449c 100644
--- a/eclass/kernel-build.eclass
+++ b/eclass/kernel-build.eclass
@@ -187,6 +187,10 @@ kernel-build_src_configure() {
fi
# force ld.bfd if we can find it easily
+ local HOSTLD="$(tc-getBUILD_LD)"
+ if type -P "${HOSTLD}.bfd" &>/dev/null; then
+ HOSTLD+=.bfd
+ fi
local LD="$(tc-getLD)"
if type -P "${LD}.bfd" &>/dev/null; then
LD+=.bfd
@@ -198,6 +202,8 @@ kernel-build_src_configure() {
HOSTCC="$(tc-getBUILD_CC)"
HOSTCXX="$(tc-getBUILD_CXX)"
+ HOSTLD="${HOSTLD}"
+ HOSTAR="$(tc-getBUILD_AR)"
HOSTCFLAGS="${BUILD_CFLAGS}"
HOSTLDFLAGS="${BUILD_LDFLAGS}"
@@ -210,6 +216,7 @@ kernel-build_src_configure() {
STRIP="$(tc-getSTRIP)"
OBJCOPY="$(tc-getOBJCOPY)"
OBJDUMP="$(tc-getOBJDUMP)"
+ READELF="$(tc-getREADELF)"
# we need to pass it to override colliding Gentoo