CI / pre-commit (push) Successful in 2m5s
CI / release (arm64, , ubuntu-latest-arm64) (push) Successful in 2m20s
CI / test (-DCMAKE_BUILD_TYPE=Debug, debug) (push) Successful in 3m27s
CI / test (-DCMAKE_CXX_FLAGS=-DUSE_64_BIT=1, 64-bit-versions) (push) Successful in 3m20s
CI / test (-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++, gcc) (push) Successful in 3m16s
CI / test (-DUSE_SIMD_FALLBACK=ON, simd-fallback) (push) Successful in 3m21s
CI / release (amd64, -DMSAN_TOOLCHAIN_PATH=/opt/msan, ubuntu-latest-amd64) (push) Successful in 5m47s
CI / coverage (push) Successful in 3m54s
44 lines
1.2 KiB
Bash
Executable File
44 lines
1.2 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
set -euxo pipefail
|
|
|
|
LLVM_VERSION="${LLVM_VERSION:-21}"
|
|
MSAN_PREFIX="${MSAN_PREFIX:-$PWD/msan}"
|
|
JOBS="${JOBS:-$(nproc)}"
|
|
|
|
cd /tmp
|
|
rm -rf libcxx-msan
|
|
mkdir libcxx-msan
|
|
cd libcxx-msan
|
|
|
|
git clone --depth=1 "https://github.com/llvm/llvm-project.git" -b "release/${LLVM_VERSION}.x"
|
|
|
|
cmake -S llvm-project/runtimes -B build_msan \
|
|
-DCMAKE_BUILD_TYPE=Release \
|
|
-DCMAKE_CXX_COMPILER="clang++-${LLVM_VERSION}" \
|
|
-DCMAKE_C_COMPILER="clang-${LLVM_VERSION}" \
|
|
-DCMAKE_INSTALL_PREFIX="${MSAN_PREFIX}" \
|
|
-DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi;libunwind" \
|
|
-DLLVM_USE_SANITIZER=MemoryWithOrigins
|
|
|
|
cmake --build build_msan -j"${JOBS}"
|
|
cmake --install build_msan
|
|
|
|
cmake -S llvm-project/runtimes -B build_nomsan \
|
|
-DCMAKE_BUILD_TYPE=Release \
|
|
-DCMAKE_CXX_COMPILER="clang++-${LLVM_VERSION}" \
|
|
-DCMAKE_C_COMPILER="clang-${LLVM_VERSION}" \
|
|
-DCMAKE_INSTALL_PREFIX="${MSAN_PREFIX}" \
|
|
-DLLVM_ENABLE_RUNTIMES="libunwind"
|
|
|
|
cmake --build build_nomsan -j"${JOBS}"
|
|
cmake --install build_nomsan
|
|
|
|
VERSION="$(clang-"${LLVM_VERSION}" --version | head -n1 | sed -E 's/.*clang version ([0-9.]+).*/\1/')"
|
|
TARBALL="msan-toolchain-${VERSION}.tar.zst"
|
|
|
|
tar --zstd -cf "${TARBALL}" -C "${MSAN_PREFIX}" .
|
|
|
|
TARBALL_PATH="$(pwd)/${TARBALL}"
|
|
echo "Created: ${TARBALL_PATH}"
|