Skip to content

Commit fab2712

Browse files
author
MarcoFalke
committed
ci: Drop BASE_SCRATCH_DIR from LIBCXX_DIR
Using a hard-coded path avoids non-determinism issues and improves CI UX.
1 parent 4922570 commit fab2712

File tree

3 files changed

+31
-29
lines changed

3 files changed

+31
-29
lines changed

ci/test/00_setup_env_native_fuzz_with_msan.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
export LC_ALL=C.UTF-8
88

99
export CI_IMAGE_NAME_TAG="ubuntu:22.04"
10-
LIBCXX_DIR="${BASE_SCRATCH_DIR}/msan/cxx_build/"
10+
LIBCXX_DIR="/msan/cxx_build/"
1111
export MSAN_FLAGS="-fsanitize=memory -fsanitize-memory-track-origins=2 -fno-omit-frame-pointer -g -O1 -fno-optimize-sibling-calls"
1212
LIBCXX_FLAGS="-nostdinc++ -nostdlib++ -isystem ${LIBCXX_DIR}include/c++/v1 -L${LIBCXX_DIR}lib -Wl,-rpath,${LIBCXX_DIR}lib -lc++ -lc++abi -lpthread -Wno-unused-command-line-argument"
1313
export MSAN_AND_LIBCXX_FLAGS="${MSAN_FLAGS} ${LIBCXX_FLAGS}"

ci/test/00_setup_env_native_msan.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
export LC_ALL=C.UTF-8
88

99
export CI_IMAGE_NAME_TAG="ubuntu:22.04"
10-
LIBCXX_DIR="${BASE_SCRATCH_DIR}/msan/cxx_build/"
10+
LIBCXX_DIR="/msan/cxx_build/"
1111
export MSAN_FLAGS="-fsanitize=memory -fsanitize-memory-track-origins=2 -fno-omit-frame-pointer -g -O1 -fno-optimize-sibling-calls"
1212
LIBCXX_FLAGS="-nostdinc++ -nostdlib++ -isystem ${LIBCXX_DIR}include/c++/v1 -L${LIBCXX_DIR}lib -Wl,-rpath,${LIBCXX_DIR}lib -lc++ -lc++abi -lpthread -Wno-unused-command-line-argument"
1313
export MSAN_AND_LIBCXX_FLAGS="${MSAN_FLAGS} ${LIBCXX_FLAGS}"

ci/test/01_base_install.sh

Lines changed: 29 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -42,33 +42,35 @@ if [ -n "$PIP_PACKAGES" ]; then
4242
fi
4343

4444
if [[ ${USE_MEMORY_SANITIZER} == "true" ]]; then
45-
git clone --depth=1 https://github.com/llvm/llvm-project -b llvmorg-16.0.6 "${BASE_SCRATCH_DIR}"/msan/llvm-project
46-
47-
cmake -G Ninja -B "${BASE_SCRATCH_DIR}"/msan/clang_build/ -DLLVM_ENABLE_PROJECTS="clang" \
48-
-DCMAKE_BUILD_TYPE=Release \
49-
-DLLVM_TARGETS_TO_BUILD=Native \
50-
-DLLVM_ENABLE_RUNTIMES="compiler-rt;libcxx;libcxxabi;libunwind" \
51-
-S "${BASE_SCRATCH_DIR}"/msan/llvm-project/llvm
52-
53-
ninja -C "${BASE_SCRATCH_DIR}"/msan/clang_build/ "$MAKEJOBS"
54-
ninja -C "${BASE_SCRATCH_DIR}"/msan/clang_build/ install-runtimes
55-
56-
update-alternatives --install /usr/bin/clang++ clang++ "${BASE_SCRATCH_DIR}"/msan/clang_build/bin/clang++ 100
57-
update-alternatives --install /usr/bin/clang clang "${BASE_SCRATCH_DIR}"/msan/clang_build/bin/clang 100
58-
update-alternatives --install /usr/bin/llvm-symbolizer llvm-symbolizer "${BASE_SCRATCH_DIR}"/msan/clang_build/bin/llvm-symbolizer 100
59-
60-
cmake -G Ninja -B "${BASE_SCRATCH_DIR}"/msan/cxx_build/ -DLLVM_ENABLE_RUNTIMES='libcxx;libcxxabi' \
61-
-DCMAKE_BUILD_TYPE=Release \
62-
-DLLVM_USE_SANITIZER=MemoryWithOrigins \
63-
-DCMAKE_C_COMPILER=clang \
64-
-DCMAKE_CXX_COMPILER=clang++ \
65-
-DLLVM_TARGETS_TO_BUILD=Native \
66-
-DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=OFF \
67-
-DLIBCXX_ENABLE_DEBUG_MODE=ON \
68-
-DLIBCXX_ENABLE_ASSERTIONS=ON \
69-
-S "${BASE_SCRATCH_DIR}"/msan/llvm-project/runtimes
70-
71-
ninja -C "${BASE_SCRATCH_DIR}"/msan/cxx_build/ "$MAKEJOBS"
45+
git clone --depth=1 https://github.com/llvm/llvm-project -b llvmorg-16.0.6 /msan/llvm-project
46+
47+
cmake -G Ninja -B /msan/clang_build/ \
48+
-DLLVM_ENABLE_PROJECTS="clang" \
49+
-DCMAKE_BUILD_TYPE=Release \
50+
-DLLVM_TARGETS_TO_BUILD=Native \
51+
-DLLVM_ENABLE_RUNTIMES="compiler-rt;libcxx;libcxxabi;libunwind" \
52+
-S /msan/llvm-project/llvm
53+
54+
ninja -C /msan/clang_build/ "$MAKEJOBS"
55+
ninja -C /msan/clang_build/ install-runtimes
56+
57+
update-alternatives --install /usr/bin/clang++ clang++ /msan/clang_build/bin/clang++ 100
58+
update-alternatives --install /usr/bin/clang clang /msan/clang_build/bin/clang 100
59+
update-alternatives --install /usr/bin/llvm-symbolizer llvm-symbolizer /msan/clang_build/bin/llvm-symbolizer 100
60+
61+
cmake -G Ninja -B /msan/cxx_build/ \
62+
-DLLVM_ENABLE_RUNTIMES='libcxx;libcxxabi' \
63+
-DCMAKE_BUILD_TYPE=Release \
64+
-DLLVM_USE_SANITIZER=MemoryWithOrigins \
65+
-DCMAKE_C_COMPILER=clang \
66+
-DCMAKE_CXX_COMPILER=clang++ \
67+
-DLLVM_TARGETS_TO_BUILD=Native \
68+
-DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=OFF \
69+
-DLIBCXX_ENABLE_DEBUG_MODE=ON \
70+
-DLIBCXX_ENABLE_ASSERTIONS=ON \
71+
-S /msan/llvm-project/runtimes
72+
73+
ninja -C /msan/cxx_build/ "$MAKEJOBS"
7274
fi
7375

7476
if [[ "${RUN_TIDY}" == "true" ]]; then

0 commit comments

Comments
 (0)