From 5ef1c8ddfc461507d145bfefb4af43828d07b316 Mon Sep 17 00:00:00 2001 From: Sebastian Ullrich Date: Fri, 28 Nov 2025 15:36:39 +0100 Subject: [PATCH] chore: cadical should never be built with fsanitize (#11423) --- .github/workflows/ci.yml | 2 ++ script/prepare-llvm-linux.sh | 3 ++- src/CMakeLists.txt | 4 ++-- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 09b119906a..84b91d4166 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -262,6 +262,8 @@ jobs: // Always run on large if available, more reliable regarding timeouts "os": large ? "nscloud-ubuntu-22.04-amd64-8x16-with-cache" : "ubuntu-latest", "enabled": level >= 2, + // do not fail nightlies on this for now + "secondary": level <= 2, "test": true, // turn off custom allocator & symbolic functions to make LSAN do its magic "CMAKE_PRESET": "sanitize", diff --git a/script/prepare-llvm-linux.sh b/script/prepare-llvm-linux.sh index 463f2eddc2..7c809f6ca9 100755 --- a/script/prepare-llvm-linux.sh +++ b/script/prepare-llvm-linux.sh @@ -58,7 +58,8 @@ OPTIONS=() # We build cadical using the custom toolchain on Linux to avoid glibc versioning issues echo -n " -DLEAN_STANDALONE=ON -DCADICAL_USE_CUSTOM_CXX=ON" echo -n " -DCMAKE_CXX_COMPILER=$PWD/llvm-host/bin/clang++ -DLEAN_CXX_STDLIB='-Wl,-Bstatic -lc++ -lc++abi -Wl,-Bdynamic'" -echo -n " -DLEAN_EXTRA_CXX_FLAGS='--sysroot $PWD/llvm -idirafter $GLIBC_DEV/include ${EXTRA_FLAGS:-}'" +# these should also be used for cadical, so do not use `LEAN_EXTRA_CXX_FLAGS` here +echo -n " -DCMAKE_CXX_FLAGS='--sysroot $PWD/llvm -idirafter $GLIBC_DEV/include ${EXTRA_FLAGS:-}'" # use target compiler directly when not cross-compiling if [[ -L llvm-host ]]; then echo -n " -DCMAKE_C_COMPILER=$PWD/stage1/bin/clang" diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 1bc849c759..0e5d727cb5 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -42,7 +42,7 @@ if(LLD_PATH) endif() set(LEAN_EXTRA_LINKER_FLAGS ${LEAN_EXTRA_LINKER_FLAGS_DEFAULT} CACHE STRING "Additional flags used by the linker") -set(LEAN_EXTRA_CXX_FLAGS "" CACHE STRING "Additional flags used by the C++ compiler") +set(LEAN_EXTRA_CXX_FLAGS "" CACHE STRING "Additional flags used by the C++ compiler. Unlike `CMAKE_CXX_FLAGS`, these will not be used to build e.g. cadical.") set(LEAN_TEST_VARS "LEAN_CC=${CMAKE_C_COMPILER}" CACHE STRING "Additional environment variables used when running tests") if (NOT CMAKE_BUILD_TYPE) @@ -191,7 +191,7 @@ endif() set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/Modules") # Initialize CXXFLAGS. -set(CMAKE_CXX_FLAGS "${LEAN_EXTRA_CXX_FLAGS} -DLEAN_BUILD_TYPE=\"${CMAKE_BUILD_TYPE}\" -DLEAN_EXPORTING") +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${LEAN_EXTRA_CXX_FLAGS} -DLEAN_BUILD_TYPE=\"${CMAKE_BUILD_TYPE}\" -DLEAN_EXPORTING") set(CMAKE_CXX_FLAGS_DEBUG "-DLEAN_DEBUG") set(CMAKE_CXX_FLAGS_MINSIZEREL "-DNDEBUG") set(CMAKE_CXX_FLAGS_RELEASE "-DNDEBUG")