]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
script/run-make: enable ASan 56537/head
authorKefu Chai <tchaikov@gmail.com>
Sun, 17 Mar 2024 10:42:44 +0000 (18:42 +0800)
committerKefu Chai <k.chai@proxmox.com>
Fri, 19 Jun 2026 11:03:42 +0000 (19:03 +0800)
when performing tests, we should enable sanitizers for detecting
potential issues. so, in this change, we enable ASsan, TSan and
UBSan.

script/run-make.sh is used by our CI job for testing PRs, so
enabling these sanitizers helps us to identify issues as early as
possible. because ASan cannot be used along with TSan, we prefer
using ASan for capturing memory related issue in favor of
detecting the multi-threading issues.

also, because of https://bugs.llvm.org/show_bug.cgi?id=23272, we
cannot enable multiple sanitizers. but we should enable UBSan as well,
once we can use a higher version of Clang than Clang-14. with
Clang-14, when enabling UBSan, we'd have following FTBFS
```
error: Cannot represent a difference across sections
```
when compiling `src/tools/neorados.cc`

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
src/script/run-make.sh

index 30ca35ce2740a46662bdd0f2880a757758c9ac36..e990a827de57f84b6728adabb8cb69f2a55601ed 100755 (executable)
@@ -143,6 +143,7 @@ EOM
     local cxx_compiler="${discovered_cxx_compiler}"
     local c_compiler="${discovered_c_compiler}"
     local cmake_opts
+    cmake_opts+=" -DWITH_ASAN=ON"
     cmake_opts+=" -DCMAKE_CXX_COMPILER=$cxx_compiler -DCMAKE_C_COMPILER=$c_compiler"
     cmake_opts+=" -DENABLE_GIT_VERSION=OFF"
     cmake_opts+=" -DWITH_GTEST_PARALLEL=ON"