From 255b06005dedd68f7a4cc2ccde3857f4456ecf12 Mon Sep 17 00:00:00 2001 From: Timothy Day Date: Sat, 21 Jun 2025 17:36:20 -0400 Subject: Improve LLVM support Enable $CC to be passed on the build-test-kernel CLI. Properly set the $LLVM environment variable when using Clang. This ensures that the full LLVM toolchain is used (rather than just the compiler). Signed-off-by: Timothy Day --- build-test-kernel | 11 ++++++++++- tests/prelude.sh | 2 +- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/build-test-kernel b/build-test-kernel index cd4ff25..b34a20d 100755 --- a/build-test-kernel +++ b/build-test-kernel @@ -18,7 +18,7 @@ checkdep bc ktest_njobs=$(nproc) ktest_precise=false -ktest_compiler=gcc +ktest_compiler="${CC:-gcc}" ktest_skip_kernel_config=false COVERAGE="" # doing code coverage? @@ -122,6 +122,14 @@ run_ktest() "$KTEST" "$arg" $KTESTARGS "$@" } +map_clang_version() { + case "$ktest_compiler" in + clang) echo "1" ;; + clang-[0-9]*) echo "-${ktest_compiler#clang-}" ;; + *) echo "" ;; + esac +} + do_make() { if [[ -n $CROSS_COMPILE ]]; then @@ -132,6 +140,7 @@ do_make() make --jobs="$ktest_njobs" \ --directory="$ktest_kernel_source" \ CC="$ktest_compiler" \ + LLVM="$(map_clang_version)" \ O="$ktest_kernel_build" \ INSTALL_MOD_PATH="$ktest_kernel_binary" \ "${ktest_kernel_make_append[@]}" \ diff --git a/tests/prelude.sh b/tests/prelude.sh index a2b3316..ced9770 100644 --- a/tests/prelude.sh +++ b/tests/prelude.sh @@ -34,7 +34,7 @@ if [[ ! -v ktest_cpus ]]; then ktest_kernel_config_require=() ktest_kernel_config_require_soft=() ktest_qemu_append=() - ktest_compiler=gcc + ktest_compiler="${CC:-gcc}" ktest_allow_taint=false ktest_tests_unknown=false -- cgit v1.2.3