diff --git a/.github/workflows/libcxx_msan.yml b/.github/workflows/libcxx_msan.yml new file mode 100644 index 0000000..c5f5011 --- /dev/null +++ b/.github/workflows/libcxx_msan.yml @@ -0,0 +1,36 @@ +name: Build libc++ for MemorySanitizer + +on: [workflow_dispatch] + +jobs: + build-libcxx_msan: + + runs-on: ubuntu-22.04 + + steps: + - name: Install dependencies + run: | + sudo apt update + sudo apt install -y git cmake ninja-build + + - name: Install clang + run: | + wget https://apt.llvm.org/llvm.sh + chmod +x llvm.sh + sudo ./llvm.sh 16 + + - name: Build libcxx_msan + run: | + git clone --depth=1 https://github.com/llvm/llvm-project -b release/16.x + cd llvm-project + mkdir build + cmake -G Ninja -S runtimes -B build -DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi" -DCMAKE_C_COMPILER=clang-16 -DCMAKE_CXX_COMPILER=clang++-16 -DLLVM_USE_SANITIZER=MemoryWithOrigins + ninja -C build cxx cxxabi + cd build + XZ_OPT=-e9 tar cfJ libcxx_msan.tar.xz include lib + + - name: Archive libcxx_msan.tar.xz + uses: actions/upload-artifact@v3 + with: + name: libcxx_msan + path: llvm-project/build/libcxx_msan.tar.xz diff --git a/tests/src/libcxx_msan.tar.xz b/tests/src/libcxx_msan.tar.xz index 38bd699..9abdcf0 100644 Binary files a/tests/src/libcxx_msan.tar.xz and b/tests/src/libcxx_msan.tar.xz differ