[sanitizer] Move more of STAGE1 build into functions.sh
git-svn-id: https://llvm.org/svn/llvm-project/zorg/trunk@370133 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/zorg/buildbot/builders/sanitizers/buildbot_android.sh b/zorg/buildbot/builders/sanitizers/buildbot_android.sh
index 228872f..e929561 100755
--- a/zorg/buildbot/builders/sanitizers/buildbot_android.sh
+++ b/zorg/buildbot/builders/sanitizers/buildbot_android.sh
@@ -17,7 +17,6 @@
CHECK_LIBCXX=${CHECK_LIBCXX:-1}
CHECK_LLD=${CHECK_LLD:-1}
-STAGE1_DIR=llvm_build0
STAGE1_CLOBBER="llvm_build64 compiler_rt_build_android_* llvm_build_android_*"
LLVM=$ROOT/llvm
CMAKE_COMMON_OPTIONS="-GNinja -DCMAKE_BUILD_TYPE=Release -DLLVM_PARALLEL_LINK_JOBS=20"
@@ -36,7 +35,7 @@
echo @@@BUILD_STEP clobber@@@
rm -rf llvm
rm -rf llvm-project
- rm -rf ${STAGE1_DIR}
+ rm -rf llvm_build0
rm -rf android_ndk
rm -rf platform-tools
fi
@@ -47,7 +46,6 @@
build_stage1_clang_at_revison
### From now on we use just-built Clang as a host compiler ###
-CLANG_PATH=${ROOT}/${STAGE1_DIR}/bin
echo @@@BUILD_STEP update@@@
buildbot_update
@@ -55,7 +53,7 @@
CMAKE_COMMON_OPTIONS="$CMAKE_COMMON_OPTIONS -DLLVM_ENABLE_ASSERTIONS=ON"
# Build self-hosted tree with fresh Clang and -Werror.
-CMAKE_OPTIONS="${CMAKE_COMMON_OPTIONS} -DLLVM_ENABLE_WERROR=ON -DCMAKE_C_COMPILER=${CLANG_PATH}/clang -DCMAKE_CXX_COMPILER=${CLANG_PATH}/clang++ -DCMAKE_C_FLAGS=-gmlt -DCMAKE_CXX_FLAGS=-gmlt"
+CMAKE_OPTIONS="${CMAKE_COMMON_OPTIONS} -DLLVM_ENABLE_WERROR=ON ${STAGE1_AS_COMPILER} -DCMAKE_C_FLAGS=-gmlt -DCMAKE_CXX_FLAGS=-gmlt"
echo @@@BUILD_STEP bootstrap clang@@@
mkdir -p llvm_build64
diff --git a/zorg/buildbot/builders/sanitizers/buildbot_bootstrap_asan.sh b/zorg/buildbot/builders/sanitizers/buildbot_bootstrap_asan.sh
index edbdad3..369cca7 100755
--- a/zorg/buildbot/builders/sanitizers/buildbot_bootstrap_asan.sh
+++ b/zorg/buildbot/builders/sanitizers/buildbot_bootstrap_asan.sh
@@ -15,7 +15,6 @@
CHECK_LIBCXX=${CHECK_LIBCXX:-1}
CHECK_LLD=${CHECK_LLD:-1}
-STAGE1_DIR=llvm_build0
LLVM=$ROOT/llvm
CMAKE_COMMON_OPTIONS="-GNinja -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_ASSERTIONS=ON -DLLVM_PARALLEL_LINK_JOBS=20"
@@ -23,7 +22,7 @@
echo @@@BUILD_STEP clobber@@@
rm -rf llvm
rm -rf llvm-project
- rm -rf ${STAGE1_DIR}
+ rm -rf llvm_build0
fi
# CMake does not notice that the compiler itself has changed.
diff --git a/zorg/buildbot/builders/sanitizers/buildbot_bootstrap_msan.sh b/zorg/buildbot/builders/sanitizers/buildbot_bootstrap_msan.sh
index f04097a..a0171a4 100755
--- a/zorg/buildbot/builders/sanitizers/buildbot_bootstrap_msan.sh
+++ b/zorg/buildbot/builders/sanitizers/buildbot_bootstrap_msan.sh
@@ -15,7 +15,6 @@
CHECK_LIBCXX=${CHECK_LIBCXX:-1}
CHECK_LLD=${CHECK_LLD:-1}
-STAGE1_DIR=llvm_build0
LLVM=$ROOT/llvm
CMAKE_COMMON_OPTIONS="-GNinja -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_ASSERTIONS=ON -DLLVM_PARALLEL_LINK_JOBS=20"
@@ -23,7 +22,7 @@
echo @@@BUILD_STEP clobber@@@
rm -rf llvm
rm -rf llvm-project
- rm -rf ${STAGE1_DIR}
+ rm -rf llvm_build0
fi
# CMake does not notice that the compiler itself has changed.
diff --git a/zorg/buildbot/builders/sanitizers/buildbot_bootstrap_ubsan.sh b/zorg/buildbot/builders/sanitizers/buildbot_bootstrap_ubsan.sh
index d3c91d2..bb1c40b 100755
--- a/zorg/buildbot/builders/sanitizers/buildbot_bootstrap_ubsan.sh
+++ b/zorg/buildbot/builders/sanitizers/buildbot_bootstrap_ubsan.sh
@@ -15,7 +15,6 @@
CHECK_LIBCXX=${CHECK_LIBCXX:-1}
CHECK_LLD=${CHECK_LLD:-1}
-STAGE1_DIR=llvm_build0
LLVM=$ROOT/llvm
CMAKE_COMMON_OPTIONS="-GNinja -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_ASSERTIONS=ON -DLLVM_PARALLEL_LINK_JOBS=20"
@@ -23,7 +22,7 @@
echo @@@BUILD_STEP clobber@@@
rm -rf llvm
rm -rf llvm-project
- rm -rf ${STAGE1_DIR}
+ rm -rf llvm_build0
fi
# CMake does not notice that the compiler itself has changed.
diff --git a/zorg/buildbot/builders/sanitizers/buildbot_fast.sh b/zorg/buildbot/builders/sanitizers/buildbot_fast.sh
index 895afe8..e22bca7 100755
--- a/zorg/buildbot/builders/sanitizers/buildbot_fast.sh
+++ b/zorg/buildbot/builders/sanitizers/buildbot_fast.sh
@@ -15,7 +15,6 @@
CHECK_LIBCXX=${CHECK_LIBCXX:-1}
CHECK_LLD=${CHECK_LLD:-1}
-STAGE1_DIR=llvm_build0
LLVM=$ROOT/llvm
STAGE1_CLOBBER="llvm_build_* libcxx_build_*"
CMAKE_COMMON_OPTIONS="-GNinja -DCMAKE_BUILD_TYPE=Release -DLLVM_PARALLEL_LINK_JOBS=20"
diff --git a/zorg/buildbot/builders/sanitizers/buildbot_functions.sh b/zorg/buildbot/builders/sanitizers/buildbot_functions.sh
index 0efaaa3..a9ba4a7 100755
--- a/zorg/buildbot/builders/sanitizers/buildbot_functions.sh
+++ b/zorg/buildbot/builders/sanitizers/buildbot_functions.sh
@@ -175,6 +175,13 @@
)
}
+function common_stage1_variables {
+ STAGE1_DIR=llvm_build0
+ stage1_clang_path=$ROOT/${STAGE1_DIR}/bin
+ llvm_symbolizer_path=${stage1_clang_path}/llvm-symbolizer
+ STAGE1_AS_COMPILER="-DCMAKE_C_COMPILER=${stage1_clang_path}/clang -DCMAKE_CXX_COMPILER=${stage1_clang_path}/clang++"
+}
+
function build_stage1_clang_impl {
mkdir -p ${STAGE1_DIR}
local cmake_stage1_options="${CMAKE_COMMON_OPTIONS}"
@@ -187,11 +194,14 @@
function build_stage1_clang {
echo @@@BUILD_STEP build stage1 clang@@@
+ export STAGE1_DIR=llvm_build0
+ common_stage1_variables
build_stage1_clang_impl
}
function build_stage1_clang_at_revison {
local HOST_CLANG_REVISION=360832
+ common_stage1_variables
if [ -r ${STAGE1_DIR}/host_clang_revision ] && \
[ "$(cat ${STAGE1_DIR}/host_clang_revision)" == $HOST_CLANG_REVISION ]
@@ -211,13 +221,8 @@
}
function common_stage2_variables {
- local stage1_clang_path=$ROOT/${STAGE1_DIR}/bin
cmake_stage2_common_options="\
- ${CMAKE_COMMON_OPTIONS} \
- -DCMAKE_C_COMPILER=${stage1_clang_path}/clang \
- -DCMAKE_CXX_COMPILER=${stage1_clang_path}/clang++ \
- "
- llvm_symbolizer_path=${stage1_clang_path}/llvm-symbolizer
+ ${CMAKE_COMMON_OPTIONS} ${STAGE1_AS_COMPILER}"
}
function build_stage2 {
diff --git a/zorg/buildbot/builders/sanitizers/buildbot_fuzzer.sh b/zorg/buildbot/builders/sanitizers/buildbot_fuzzer.sh
index 065dec0..a67cde9 100755
--- a/zorg/buildbot/builders/sanitizers/buildbot_fuzzer.sh
+++ b/zorg/buildbot/builders/sanitizers/buildbot_fuzzer.sh
@@ -15,7 +15,6 @@
CHECK_LIBCXX=${CHECK_LIBCXX:-0}
CHECK_LLD=${CHECK_LLD:-1}
-STAGE1_DIR=llvm_build0
MAKE_JOBS=${MAX_MAKE_JOBS:-$(nproc)}
LLVM=$ROOT/llvm
LIBFUZZER=$LLVM/lib/Fuzzer
@@ -27,7 +26,7 @@
echo @@@BUILD_STEP clobber@@@
rm -rf llvm
rm -rf llvm-project
- rm -rf ${STAGE1_DIR}
+ rm -rf llvm_build0
fi
# Make sure asan intercepts SIGABRT so that the fuzzer can print the test cases
@@ -41,9 +40,8 @@
build_stage1_clang
-clang_path=$ROOT/${STAGE1_DIR}/bin
# export ASAN_SYMBOLIZER_PATH="${llvm_symbolizer_path}"
-export PATH="${clang_path}:$PATH"
+export PATH="$(readlink -f ${STAGE1_DIR}/bin):$PATH"
echo @@@BUILD_STEP check-fuzzer@@@
diff --git a/zorg/buildbot/builders/sanitizers/buildbot_gn.sh b/zorg/buildbot/builders/sanitizers/buildbot_gn.sh
index ef2be25..97a90b2 100755
--- a/zorg/buildbot/builders/sanitizers/buildbot_gn.sh
+++ b/zorg/buildbot/builders/sanitizers/buildbot_gn.sh
@@ -10,7 +10,6 @@
CHECK_LIBCXX=${CHECK_LIBCXX:-0}
CHECK_LLD=${CHECK_LLD:-1}
-STAGE1_DIR=llvm_build0
STAGE1_CLOBBER=
STAGE2_DIR=llvm_build
@@ -19,7 +18,7 @@
rm -rf llvm
rm -rf llvm-project
rm -rf gn
- rm -rf ${STAGE1_DIR}
+ rm -rf llvm_build0
rm -rf ${STAGE2_DIR}
fi
@@ -32,7 +31,7 @@
echo @@@BUILD_STEP build GN@@@
[[ -d gn ]] || git clone https://gn.googlesource.com/gn
(
- export PATH="$PATH:$(readlink -f $STAGE1_DIR)/bin"
+ export PATH="$PATH:$(readlink -f ${STAGE1_DIR}/bin)"
cd gn
git checkout d3304fbba9e39a5e996cbc8c769499a1079a8743
python build/gen.py
@@ -54,7 +53,7 @@
export PATH=$(readlink -f gn/out/):$PATH
$LLVM/utils/gn/gn.py gen ${STAGE2_DIR} \
--list --short --overrides-only \
- --args="clang_base_path=\"$(readlink -f $STAGE1_DIR)\""
+ --args="clang_base_path=\"$(readlink -f ${STAGE1_DIR})\""
) || echo @@@STEP_FAILURE@@@
(
diff --git a/zorg/buildbot/builders/sanitizers/buildbot_mte.sh b/zorg/buildbot/builders/sanitizers/buildbot_mte.sh
index ae3bb4e..59d5f27 100644
--- a/zorg/buildbot/builders/sanitizers/buildbot_mte.sh
+++ b/zorg/buildbot/builders/sanitizers/buildbot_mte.sh
@@ -15,7 +15,6 @@
CHECK_LIBCXX=${CHECK_LIBCXX:-1}
CHECK_LLD=${CHECK_LLD:-1}
-STAGE1_DIR=llvm_build0
LLVM=$ROOT/llvm
CMAKE_COMMON_OPTIONS="-GNinja -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_ASSERTIONS=ON -DLLVM_PARALLEL_COMPILE_JOBS=100 -DLLVM_PARALLEL_LINK_JOBS=20"
@@ -23,7 +22,7 @@
echo @@@BUILD_STEP clobber@@@
rm -rf llvm
rm -rf llvm-project
- rm -rf ${STAGE1_DIR}
+ rm -rf llvm_build0
fi
echo @@@BUILD_STEP update@@@