diff --git a/.github/workflows/libcxx_msan.yml b/.github/workflows/libcxx_msan.yml deleted file mode 100644 index 6c5bde2..0000000 --- a/.github/workflows/libcxx_msan.yml +++ /dev/null @@ -1,36 +0,0 @@ -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 17 - - - name: Build libcxx_msan - run: | - git clone --depth=1 https://github.com/llvm/llvm-project -b release/17.x - cd llvm-project - mkdir build - cmake -G Ninja -S runtimes -B build -DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi" -DCMAKE_C_COMPILER=clang-17 -DCMAKE_CXX_COMPILER=clang++-17 -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/.github/workflows/test-sync.yml b/.github/workflows/test-sync.yml index 2bcc666..7a3258f 100644 --- a/.github/workflows/test-sync.yml +++ b/.github/workflows/test-sync.yml @@ -67,7 +67,7 @@ jobs: - name: Install dependencies run: | sudo apt update - sudo apt install -y git build-essential cmake libuv1-dev libzmq3-dev libsodium-dev libpgm-dev libnorm-dev libgss-dev libcurl4-openssl-dev libidn2-0-dev + sudo apt install -y git build-essential cmake ninja-build - name: Install clang run: | @@ -75,18 +75,23 @@ jobs: chmod +x llvm.sh sudo ./llvm.sh 17 + - name: Build libcxx_msan + run: | + git clone --depth=1 https://github.com/llvm/llvm-project -b release/17.x + cd llvm-project + mkdir build + cmake -G Ninja -S runtimes -B build -DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi" -DCMAKE_C_COMPILER=clang-17 -DCMAKE_CXX_COMPILER=clang++-17 -DLLVM_USE_SANITIZER=MemoryWithOrigins + ninja -C build cxx cxxabi + cd build + mkdir /tmp/libcxx_msan + cp -r include /tmp/libcxx_msan + cp -r lib /tmp/libcxx_msan + - name: Checkout repository uses: actions/checkout@v3 with: submodules: true - - name: Install libcxx_msan - run: | - mkdir /tmp/libcxx_msan - cp tests/src/libcxx_msan.tar.xz /tmp/libcxx_msan - cd /tmp/libcxx_msan - tar xvf libcxx_msan.tar.xz - - name: Build libcurl run: | cd external/src/curl diff --git a/cmake/flags.cmake b/cmake/flags.cmake index 206f1fe..bd2c59e 100644 --- a/cmake/flags.cmake +++ b/cmake/flags.cmake @@ -76,7 +76,9 @@ elseif (CMAKE_CXX_COMPILER_ID MATCHES Clang) set(WARNING_FLAGS "-Wall -Wextra -Wno-undefined-internal -Wunreachable-code-aggressive -Wmissing-prototypes -Wmissing-variable-declarations -Werror") - if (NOT DEV_WITH_MSAN) + if (DEV_WITH_MSAN) + set(OPTIMIZATION_FLAGS "-O2 -g") + else() set(OPTIMIZATION_FLAGS "-Ofast -funroll-loops -fmerge-all-constants") endif() diff --git a/tests/src/libcxx_msan.tar.xz b/tests/src/libcxx_msan.tar.xz deleted file mode 100644 index 405be3f..0000000 Binary files a/tests/src/libcxx_msan.tar.xz and /dev/null differ