Index: zorg/buildbot/builders/sanitizers/buildbot_cmake.sh =================================================================== --- zorg/buildbot/builders/sanitizers/buildbot_cmake.sh +++ zorg/buildbot/builders/sanitizers/buildbot_cmake.sh @@ -49,6 +49,34 @@ fi CHECK_LIBCXX=${CHECK_LIBCXX:-1} CHECK_LLD=${CHECK_LLD:-1} +CHECK_MSAN=0 +CHECK_TSAN=0 +CHECK_LSAN=0 +CHECK_DFSAN=0 +CHECK_SCUDO=0 +if [ "$ARCH" == "x86_64" ]; then + CHECK_MSAN=1 + CHECK_TSAN=1 + CHECK_LSAN=1 + CHECK_DFSAN=1 + CHECK_SCUDO=1 +fi +if [ "$ARCH" == "aarch64" ]; then + CHECK_MSAN=1 + CHECK_TSAN=1 + CHECK_LSAN=1 + CHECK_DFSAN=1 +fi +if [ "$ARCH" == "mips64" -o "$ARCH" == "mips64el" ]; then + CHECK_MSAN=1 + CHECK_TSAN=1 + CHECK_LSAN=1 + CHECK_DFSAN=1 +fi +if [ "$ARCH" == "ppc64" -o "$ARCH" == "ppc64le" ]; then + CHECK_MSAN=1 + CHECK_TSAN=1 +fi echo @@@BUILD_STEP update@@@ @@ -84,15 +112,23 @@ (cd clang_build && make -j$MAKE_JOBS check-asan) || echo @@@STEP_FAILURE@@@ echo @@@BUILD_STEP check-ubsan in gcc build@@@ (cd clang_build && make -j$MAKE_JOBS check-ubsan) || echo @@@STEP_FAILURE@@@ - if [ "$ARCH" == "x86_64" ]; then + if [ "$CHECK_LSAN" == "1" ]; then echo @@@BUILD_STEP check-lsan in gcc build@@@ (cd clang_build && make -j$MAKE_JOBS check-lsan) || echo @@@STEP_FAILURE@@@ + fi + if [ "$CHECK_MSAN" == "1" ]; then echo @@@BUILD_STEP check-msan in gcc build@@@ (cd clang_build && make -j$MAKE_JOBS check-msan) || echo @@@STEP_FAILURE@@@ + fi + if [ "$CHECK_TSAN" == "1" ]; then echo @@@BUILD_STEP check-tsan in gcc build@@@ (cd clang_build && make -j$MAKE_JOBS check-tsan) || echo @@@STEP_FAILURE@@@ + fi + if [ "$CHECK_SCUDO" == "1" ]; then echo @@@BUILD_STEP check-dfsan in gcc build@@@ (cd clang_build && make -j$MAKE_JOBS check-dfsan) || echo @@@STEP_WARNINGS@@@ + fi + if [ "$ARCH" == "x86_64" ]; then # FIXME: Reenable once cfi tests reliably work on the bot. # echo @@@BUILD_STEP check-cfi-and-supported in gcc build@@@ #(cd clang_build && LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/x86_64 make -j$MAKE_JOBS check-cfi-and-supported) || echo @@@STEP_FAILURE@@@ @@ -134,17 +170,17 @@ (cd llvm_build64 && make -j$MAKE_JOBS check-asan-dynamic) || echo @@@STEP_FAILURE@@@ fi -if [ "$PLATFORM" == "Linux" -a "$ARCH" == "x86_64" ]; then +if [ "$PLATFORM" == "Linux" -a "$CHECK_MSAN" == "1" ]; then echo @@@BUILD_STEP run msan unit tests@@@ (cd llvm_build64 && make -j$MAKE_JOBS check-msan) || echo @@@STEP_FAILURE@@@ fi -if [ "$PLATFORM" == "Linux" -a "$ARCH" == "x86_64" ]; then +if [ "$PLATFORM" == "Linux" -a "$CHECK_TSAN" == "1" ]; then echo @@@BUILD_STEP run 64-bit tsan unit tests@@@ (cd llvm_build64 && make -j$MAKE_JOBS check-tsan) || echo @@@STEP_FAILURE@@@ fi -if [ "$PLATFORM" == "Linux" -a "$ARCH" == "x86_64" ]; then +if [ "$PLATFORM" == "Linux" -a "$CHECK_LSAN" == "1" ]; then echo @@@BUILD_STEP run 64-bit lsan unit tests@@@ (cd llvm_build64 && make -j$MAKE_JOBS check-lsan) || echo @@@STEP_FAILURE@@@ fi @@ -175,10 +211,6 @@ (cd compiler_rt_build && make -j$MAKE_JOBS check-all) || echo @@@STEP_FAILURE@@@ HAVE_NINJA=${HAVE_NINJA:-1} -SKIP_MSAN=${SKIP_MSAN:-1} -SKIP_LSAN=${SKIP_LSAN:-1} -SKIP_DFSAN=${SKIP_DFSAN:-1} -SKIP_SCUDO=${SKIP_SCUDO:-1} if [ "$PLATFORM" == "Linux" -a $HAVE_NINJA == 1 ]; then echo @@@BUILD_STEP build with ninja@@@ if [ ! -d llvm_build_ninja ]; then @@ -193,23 +225,25 @@ (cd llvm_build_ninja && ninja check-asan) || echo @@@STEP_FAILURE@@@ echo @@@BUILD_STEP ninja check-sanitizer@@@ (cd llvm_build_ninja && ninja check-sanitizer) || echo @@@STEP_FAILURE@@@ - echo @@@BUILD_STEP ninja check-tsan@@@ - (cd llvm_build_ninja && ninja check-tsan) || echo @@@STEP_FAILURE@@@ echo @@@BUILD_STEP ninja check-ubsan@@@ (cd llvm_build_ninja && ninja check-ubsan) || echo @@@STEP_FAILURE@@@ - if [ "$SKIP_SCUDO" != 1 ]; then + if [ "$CHECK_TSAN" == 1 ]; then + echo @@@BUILD_STEP ninja check-tsan@@@ + (cd llvm_build_ninja && ninja check-tsan) || echo @@@STEP_FAILURE@@@ + fi + if [ "$CHECK_SCUDO" == 1 ]; then echo @@@BUILD_STEP ninja check-scudo@@@ (cd llvm_build_ninja && ninja check-scudo) || echo @@@STEP_FAILURE@@@ fi - if [ "$SKIP_MSAN" != 1 ]; then + if [ "$CHECK_MSAN" == 1 ]; then echo @@@BUILD_STEP ninja check-msan@@@ (cd llvm_build_ninja && ninja check-msan) || echo @@@STEP_FAILURE@@@ fi - if [ "$SKIP_LSAN" != 1 ]; then + if [ "$CHECK_LSAN" == 1 ]; then echo @@@BUILD_STEP ninja check-lsan@@@ (cd llvm_build_ninja && ninja check-lsan) || echo @@@STEP_FAILURE@@@ fi - if [ "$SKIP_DFSAN" != 1 ]; then + if [ "$CHECK_DFSAN" == 1 ]; then echo @@@BUILD_STEP ninja check-dfsan@@@ (cd llvm_build_ninja && ninja check-dfsan) || echo @@@STEP_WARNINGS@@@ fi Index: zorg/buildbot/builders/sanitizers/buildbot_selector.py =================================================================== --- zorg/buildbot/builders/sanitizers/buildbot_selector.py +++ zorg/buildbot/builders/sanitizers/buildbot_selector.py @@ -24,8 +24,8 @@ } BOT_ADDITIONAL_ENV = { - 'sanitizer-ppc64le-linux': { 'HAVE_NINJA': '1', 'CHECK_LIBCXX': '0', 'CHECK_LLD': '0', 'SKIP_LSAN': '1', 'SKIP_DFSAN': '1', 'SKIP_SCUDO': '1' }, - 'sanitizer-ppc64be-linux': { 'HAVE_NINJA': '1', 'CHECK_LIBCXX': '0', 'CHECK_LLD': '0', 'SKIP_SCUDO': '1' }, + 'sanitizer-ppc64le-linux': { 'HAVE_NINJA': '1', 'CHECK_LIBCXX': '0', 'CHECK_LLD': '0' }, + 'sanitizer-ppc64be-linux': { 'HAVE_NINJA': '1', 'CHECK_LIBCXX': '0', 'CHECK_LLD': '0' }, 'sanitizer-x86_64-linux': { 'HAVE_NINJA' : '1', 'BUILD_ANDROID' : '1', 'RUN_ANDROID' : '1' }, 'sanitizer-x86_64-linux-bootstrap': {}, 'sanitizer-x86_64-linux-fast': {},