summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Smith <peter.smith@linaro.org>2019-02-22 14:06:19 +0000
committerMaxim Kuvyrkov <maxim.kuvyrkov@linaro.org>2019-02-25 15:43:35 +0000
commit57ade8502c9139986159481bdf6b950ca47c75a9 (patch)
tree3d1e62e2801afb2b4747c18de0ebb420d9598b05
parent569ae0fb042c80005f771c6052c9212f64df772d (diff)
tcwg_kernel-build.sh: Use LLD for LLVM Linux kernel link jobs
It is expected that developers using clang to build the linux kernel will also use LLD for the linker. We would like to test this in the LLVM builds of the linux kernel as much as possible. To use LLD in the kernel build we set LD=/path/to/linker when calling make. At the moment we use LLD for llvm-*-aarch64-*-* builds and for llvm-master-arm-*-* builds. Change-Id: Ib1d543480278abec193cde6aeba0f457bcd603aa
-rwxr-xr-xtcwg_kernel-build.sh11
1 files changed, 9 insertions, 2 deletions
diff --git a/tcwg_kernel-build.sh b/tcwg_kernel-build.sh
index 5f29c9bb..9170117a 100755
--- a/tcwg_kernel-build.sh
+++ b/tcwg_kernel-build.sh
@@ -25,6 +25,7 @@ IFS=- read -a ci_config <<EOF
${rr[ci_config]}
EOF
rr[toolchain]=${rr[toolchain]-${ci_config[0]}}
+rr[release]=${rr[release]-${ci_config[1]}}
rr[target]=${rr[target]-${ci_config[2]}}
rr[linux_config]=${rr[linux_config]-${ci_config[4]}}
@@ -89,7 +90,7 @@ build_linux_1 ()
rm -rf $(pwd)/bin
mkdir $(pwd)/bin
- local bin cc
+ local bin cc ld_opt
case "${rr[toolchain]}" in
llvm)
@@ -102,6 +103,12 @@ build_linux_1 ()
;;
esac
+ case "${rr[toolchain]}-${rr[release]}-${rr[target]}" in
+ llvm-*-aarch64) ld_opt="LD=$bin/ld.lld" ;;
+ llvm-master-arm) ld_opt="LD=$bin/ld.lld" ;;
+ *) ld_opt="" ;;
+ esac
+
# Use binutils, etc from $bin
export PATH="$bin:$PATH"
@@ -120,7 +127,7 @@ EOF
chmod +x $(pwd)/bin/${rr[target]}-cc
# Define make variables.
- local opts="CC=$(pwd)/bin/${rr[target]}-cc SUBLEVEL=0 EXTRAVERSION=-bisect"
+ local opts="CC=$(pwd)/bin/${rr[target]}-cc $ld_opt SUBLEVEL=0 EXTRAVERSION=-bisect"
if [ x"${rr[target]}" != x"$(uname -m)" ]; then
opts="$opts ARCH=$(print_kernel_target ${rr[target]})"
opts="$opts CROSS_COMPILE=$(print_gnu_target ${rr[target]})-"