[zorg] r370131 - [sanitizer] Move stage3 into buildbot_functions.sh

Vitaly Buka via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 27 17:27:21 PDT 2019


Author: vitalybuka
Date: Tue Aug 27 17:27:21 2019
New Revision: 370131

URL: http://llvm.org/viewvc/llvm-project?rev=370131&view=rev
Log:
[sanitizer] Move stage3 into buildbot_functions.sh

Modified:
    zorg/trunk/zorg/buildbot/builders/sanitizers/buildbot_bootstrap_asan.sh
    zorg/trunk/zorg/buildbot/builders/sanitizers/buildbot_bootstrap_msan.sh
    zorg/trunk/zorg/buildbot/builders/sanitizers/buildbot_bootstrap_ubsan.sh
    zorg/trunk/zorg/buildbot/builders/sanitizers/buildbot_functions.sh

Modified: zorg/trunk/zorg/buildbot/builders/sanitizers/buildbot_bootstrap_asan.sh
URL: http://llvm.org/viewvc/llvm-project/zorg/trunk/zorg/buildbot/builders/sanitizers/buildbot_bootstrap_asan.sh?rev=370131&r1=370130&r2=370131&view=diff
==============================================================================
--- zorg/trunk/zorg/buildbot/builders/sanitizers/buildbot_bootstrap_asan.sh (original)
+++ zorg/trunk/zorg/buildbot/builders/sanitizers/buildbot_bootstrap_asan.sh Tue Aug 27 17:27:21 2019
@@ -16,7 +16,6 @@ USE_GIT=0
 CHECK_LIBCXX=${CHECK_LIBCXX:-1}
 CHECK_LLD=${CHECK_LLD:-1}
 STAGE1_DIR=llvm_build0
-STAGE3_DIR=llvm_build2_asan
 LLVM=$ROOT/llvm
 CMAKE_COMMON_OPTIONS="-GNinja -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_ASSERTIONS=ON -DLLVM_PARALLEL_LINK_JOBS=20"
 
@@ -30,8 +29,7 @@ fi
 # CMake does not notice that the compiler itself has changed.
 # Anyway, incremental builds of stage2 and stage3 compilers don't make sense.
 # Clobber the build trees.
-rm -rf llvm_build_* libcxx_build_*
-rm -rf ${STAGE3_DIR}
+rm -rf llvm_build_* libcxx_build_* llvm_build2_*
 
 echo @@@BUILD_STEP update@@@
 buildbot_update
@@ -50,20 +48,8 @@ check_stage2_asan
 
 # Stage 3 / AddressSanitizer
 
-echo @@@BUILD_STEP build stage3/asan clang@@@
-
-mkdir -p ${STAGE3_DIR}
-
-clang_asan_path=$ROOT/${STAGE2_DIR}/bin
-cmake_stage3_asan_options="${CMAKE_COMMON_OPTIONS} -DCMAKE_C_COMPILER=${clang_asan_path}/clang -DCMAKE_CXX_COMPILER=${clang_asan_path}/clang++"
-
 export ASAN_OPTIONS="check_initialization_order=true:detect_stack_use_after_return=1:detect_leaks=1"
+build_stage3_asan
 
-(cd ${STAGE3_DIR} && cmake ${cmake_stage3_asan_options} $LLVM && ninja clang) || \
-  echo @@@STEP_FAILURE@@@
-
-echo @@@BUILD_STEP check-llvm check-clang stage3/asan@@@
-
-(cd ${STAGE3_DIR} && ninja check-llvm) || echo @@@STEP_FAILURE@@@
-(cd ${STAGE3_DIR} && ninja check-clang) || echo @@@STEP_FAILURE@@@
+check_stage3_asan
 

Modified: zorg/trunk/zorg/buildbot/builders/sanitizers/buildbot_bootstrap_msan.sh
URL: http://llvm.org/viewvc/llvm-project/zorg/trunk/zorg/buildbot/builders/sanitizers/buildbot_bootstrap_msan.sh?rev=370131&r1=370130&r2=370131&view=diff
==============================================================================
--- zorg/trunk/zorg/buildbot/builders/sanitizers/buildbot_bootstrap_msan.sh (original)
+++ zorg/trunk/zorg/buildbot/builders/sanitizers/buildbot_bootstrap_msan.sh Tue Aug 27 17:27:21 2019
@@ -16,7 +16,6 @@ USE_GIT=0
 CHECK_LIBCXX=${CHECK_LIBCXX:-1}
 CHECK_LLD=${CHECK_LLD:-1}
 STAGE1_DIR=llvm_build0
-STAGE3_DIR=llvm_build2_msan
 LLVM=$ROOT/llvm
 CMAKE_COMMON_OPTIONS="-GNinja -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_ASSERTIONS=ON -DLLVM_PARALLEL_LINK_JOBS=20"
 
@@ -30,8 +29,7 @@ fi
 # CMake does not notice that the compiler itself has changed.
 # Anyway, incremental builds of stage2 and stage3 compilers don't make sense.
 # Clobber the build trees.
-rm -rf llvm_build_* libcxx_build_*
-rm -rf ${STAGE3_DIR}
+rm -rf llvm_build_* libcxx_build_* llvm_build2_*
 
 echo @@@BUILD_STEP update@@@
 buildbot_update
@@ -50,18 +48,6 @@ check_stage2_msan
 
 # Stage 3 / MemorySanitizer
 
-echo @@@BUILD_STEP build stage3/msan clang@@@
+build_stage3_msan
 
-mkdir -p ${STAGE3_DIR}
-
-clang_msan_path=$ROOT/${STAGE2_DIR}/bin
-cmake_stage3_msan_options="${CMAKE_COMMON_OPTIONS} -DCMAKE_C_COMPILER=${clang_msan_path}/clang -DCMAKE_CXX_COMPILER=${clang_msan_path}/clang++"
-
-(cd ${STAGE3_DIR} && cmake ${cmake_stage3_msan_options} $LLVM && ninja clang) || \
-  echo @@@STEP_FAILURE@@@
-
-
-echo @@@BUILD_STEP check-llvm check-clang stage3/msan@@@
-
-(cd ${STAGE3_DIR} && ninja check-llvm) || echo @@@STEP_FAILURE@@@
-(cd ${STAGE3_DIR} && ninja check-clang) || echo @@@STEP_FAILURE@@@
+check_stage3_msan

Modified: zorg/trunk/zorg/buildbot/builders/sanitizers/buildbot_bootstrap_ubsan.sh
URL: http://llvm.org/viewvc/llvm-project/zorg/trunk/zorg/buildbot/builders/sanitizers/buildbot_bootstrap_ubsan.sh?rev=370131&r1=370130&r2=370131&view=diff
==============================================================================
--- zorg/trunk/zorg/buildbot/builders/sanitizers/buildbot_bootstrap_ubsan.sh (original)
+++ zorg/trunk/zorg/buildbot/builders/sanitizers/buildbot_bootstrap_ubsan.sh Tue Aug 27 17:27:21 2019
@@ -16,7 +16,6 @@ USE_GIT=0
 CHECK_LIBCXX=${CHECK_LIBCXX:-1}
 CHECK_LLD=${CHECK_LLD:-1}
 STAGE1_DIR=llvm_build0
-STAGE3_DIR=llvm_build2_ubsan
 LLVM=$ROOT/llvm
 CMAKE_COMMON_OPTIONS="-GNinja -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_ASSERTIONS=ON -DLLVM_PARALLEL_LINK_JOBS=20"
 
@@ -30,8 +29,7 @@ fi
 # CMake does not notice that the compiler itself has changed.
 # Anyway, incremental builds of stage2 and stage3 compilers don't make sense.
 # Clobber the build trees.
-rm -rf llvm_build_* libcxx_build_*
-rm -rf ${STAGE3_DIR}
+rm -rf llvm_build_* libcxx_build_* llvm_build2_*
 
 echo @@@BUILD_STEP update@@@
 buildbot_update
@@ -50,18 +48,6 @@ check_stage2_ubsan
 
 # Stage 3 / UndefinedBehaviorSanitizer
 
-echo @@@BUILD_STEP build stage3/ubsan clang@@@
+build_stage3_ubsan
 
-mkdir -p ${STAGE3_DIR}
-
-clang_ubsan_path=$ROOT/${STAGE2_DIR}/bin
-cmake_stage3_ubsan_options="${CMAKE_COMMON_OPTIONS} -DCMAKE_C_COMPILER=${clang_ubsan_path}/clang -DCMAKE_CXX_COMPILER=${clang_ubsan_path}/clang++"
-
-(cd ${STAGE3_DIR} && cmake ${cmake_stage3_ubsan_options} $LLVM && ninja clang) || \
-  echo @@@STEP_FAILURE@@@
-
-
-echo @@@BUILD_STEP check-llvm check-clang stage3/ubsan@@@
-
-(cd ${STAGE3_DIR} && ninja check-llvm) || echo @@@STEP_FAILURE@@@
-(cd ${STAGE3_DIR} && ninja check-clang) || echo @@@STEP_FAILURE@@@
+check_stage3_ubsan

Modified: zorg/trunk/zorg/buildbot/builders/sanitizers/buildbot_functions.sh
URL: http://llvm.org/viewvc/llvm-project/zorg/trunk/zorg/buildbot/builders/sanitizers/buildbot_functions.sh?rev=370131&r1=370130&r2=370131&view=diff
==============================================================================
--- zorg/trunk/zorg/buildbot/builders/sanitizers/buildbot_functions.sh (original)
+++ zorg/trunk/zorg/buildbot/builders/sanitizers/buildbot_functions.sh Tue Aug 27 17:27:21 2019
@@ -350,3 +350,52 @@ function check_stage2_asan {
 function check_stage2_ubsan {
   check_stage2 ubsan @@@STEP_FAILURE@@@
 }
+
+function build_stage3 {
+  local sanitizer_name=$1
+  local step_result=$2
+  local build_dir=llvm_build2_${sanitizer_name}
+
+  local clang_path=$ROOT/${STAGE2_DIR}/bin
+  local cmake_stage3_options="${CMAKE_COMMON_OPTIONS} -DCMAKE_C_COMPILER=${clang_path}/clang -DCMAKE_CXX_COMPILER=${clang_path}/clang++"
+
+  echo @@@BUILD_STEP build stage3/$sanitizer_name clang@@@
+  (mkdir -p ${build_dir} && cd ${build_dir} && cmake ${cmake_stage3_options} $LLVM && ninja clang) || \
+      echo $step_result
+}
+
+function build_stage3_msan {
+  build_stage3 msan @@@STEP_FAILURE@@@
+}
+
+function build_stage3_asan {
+  build_stage3 asan @@@STEP_FAILURE@@@
+}
+
+function build_stage3_ubsan {
+  build_stage3 ubsan @@@STEP_FAILURE@@@
+}
+
+function check_stage3 {
+  local sanitizer_name=$1
+  local step_result=$2
+  local build_dir=llvm_build2_${sanitizer_name}
+
+  echo @@@BUILD_STEP stage3/$sanitizer_name check-llvm@@@
+  (cd ${build_dir} && ninja check-llvm) || echo $step_result
+
+  echo @@@BUILD_STEP stage3/$sanitizer_name check-clang@@@
+  (cd ${build_dir} && ninja check-clang) || echo $step_result
+}
+
+function check_stage3_msan {
+  check_stage3 msan @@@STEP_FAILURE@@@
+}
+
+function check_stage3_asan {
+  check_stage3 asan @@@STEP_FAILURE@@@
+}
+
+function check_stage3_ubsan {
+  check_stage3 ubsan @@@STEP_FAILURE@@@
+}




More information about the llvm-commits mailing list