Starting with kernel>=v5.7 the build system can override the tools vars by setting LLVM=1 [1], but older kernels still use the default GNU tools, so to be able to use a full LLVM/Clang build, CC & co should be set to their respective portage values.
[1] a0d1c951ef08 kbuild: support LLVM=1 to switch the default tools to Clang/LLVM Co-authored-by: Manoj Gupta <manojgu...@chromium.org> Signed-off-by: Adrian Ratiu <adrian.ra...@collabora.com> --- Changes in v3: - Add rest of vars used by kernel builds (suggested by James) - Minor commit msg rewording Changes in v2: - Set AR variable which is also required for linux-headers - Reword msg for clarity --- eclass/kernel-2.eclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eclass/kernel-2.eclass b/eclass/kernel-2.eclass index adc1425bc2e..865c43d3153 100644 --- a/eclass/kernel-2.eclass +++ b/eclass/kernel-2.eclass @@ -692,7 +692,7 @@ env_setup_xmakeopts() { elif type -p ${CHOST}-ar >/dev/null; then xmakeopts="${xmakeopts} CROSS_COMPILE=${CHOST}-" fi - xmakeopts="${xmakeopts} HOSTCC=$(tc-getBUILD_CC)" + xmakeopts="${xmakeopts} HOSTCC=$(tc-getBUILD_CC) CC=$(tc-getCC) LD=$(tc-getLD) AR=$(tc-getAR) NM=$(tc-getNM) NM=$(tc-getNM) OBOBJCOPY=$(tc-getOBJCOPY) READELF=$(tc-getREADELF) STRIP=$(tc-getSTRIP)" export xmakeopts } -- 2.34.1