diff options
author | Timothy Day <timday@amazon.com> | 2025-06-21 17:36:20 -0400 |
---|---|---|
committer | Timothy Day <timday@amazon.com> | 2025-06-22 17:00:24 -0400 |
commit | 255b06005dedd68f7a4cc2ccde3857f4456ecf12 (patch) | |
tree | 257fa1c9f80f15caa9420f22175b13bc0e831f0b | |
parent | a632994d58b0745bc2b3e9c4f7aff4b86f7f98d3 (diff) |
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 <timday@amazon.com>
-rwxr-xr-x | build-test-kernel | 11 | ||||
-rw-r--r-- | 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 |