summaryrefslogtreecommitdiff
path: root/tcwg_kernel-build.sh
diff options
context:
space:
mode:
authorMaxim Kuvyrkov <maxim.kuvyrkov@linaro.org>2022-05-26 10:02:30 +0000
committerMaxim Kuvyrkov <maxim.kuvyrkov@linaro.org>2022-05-26 10:05:02 +0000
commiteb7a36e5535ff9128fb2077c7a901448c281baf9 (patch)
treeb28e6fa46f68606483109770285aeb8248eb9610 /tcwg_kernel-build.sh
parentcb6c92db7166e19f5587a38b59d434115f65f723 (diff)
tcwg_kernel-build.sh: Add extra targets to LLVM
... to support using clang as HOSTCC. Change-Id: I9d46ea6604f2c3ac48a195de8ee20f848568a3f5
Diffstat (limited to 'tcwg_kernel-build.sh')
-rwxr-xr-xtcwg_kernel-build.sh28
1 files changed, 26 insertions, 2 deletions
diff --git a/tcwg_kernel-build.sh b/tcwg_kernel-build.sh
index 94ff42a1..c8c7ac47 100755
--- a/tcwg_kernel-build.sh
+++ b/tcwg_kernel-build.sh
@@ -65,7 +65,7 @@ case "${rr[mode]}" in
case "$(print_single_updated_component)" in
binutils) default_start_at="build_abe-binutils" ;;
gcc) default_start_at="build_abe-stage1" ;;
- llvm) default_start_at="build_llvm" ;;
+ llvm) default_start_at="build_kernel_llvm" ;;
linux) default_start_at="build_linux" ;;
qemu) default_start_at="build_abe-qemu" ;;
*) assert false ;;
@@ -83,6 +83,30 @@ fi
run_step_init "$start_at" "$finish_at" "${rr[top_artifacts]}" "$verbose"
+# Build LLVM for building Linux kernel
+build_kernel_llvm ()
+{
+ (
+ set -euf -o pipefail
+
+ local host target extra_targets=""
+
+ host=$(print_llvm_target native)
+ target=$(print_llvm_target ${rr[target]})
+
+ if [ x"$target" != x"$host" ]; then
+ # We need $host target for HOSTCC
+ extra_targets="$extra_targets;$host"
+ fi
+ if [ x"$target" = x"AArch64" ]; then
+ # We need 32-bit ARM target to compile vdso32
+ extra_targets="$extra_targets;ARM"
+ fi
+
+ build_llvm false "$extra_targets"
+ )
+}
+
# Build Linux kernel
build_linux_1 ()
{
@@ -296,7 +320,7 @@ case "${rr[toolchain]}" in
run_step skip_on_fail -5 build_abe stage1
;;
llvm)
- run_step skip_on_fail -5 build_llvm
+ run_step skip_on_fail -5 build_kernel_llvm
;;
esac
run_step skip_on_fail -2 build_abe qemu