diff options
author | Peter Smith <peter.smith@linaro.org> | 2019-02-22 14:06:19 +0000 |
---|---|---|
committer | Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org> | 2019-02-25 15:43:35 +0000 |
commit | 57ade8502c9139986159481bdf6b950ca47c75a9 (patch) | |
tree | 3d1e62e2801afb2b4747c18de0ebb420d9598b05 | |
parent | 569ae0fb042c80005f771c6052c9212f64df772d (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-x | tcwg_kernel-build.sh | 11 |
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]})-" |