diff --git a/helper.linux.fish b/helper.linux.fish index eb2bb1b8..9bd829e2 100755 --- a/helper.linux.fish +++ b/helper.linux.fish @@ -83,6 +83,28 @@ function compiler end end +function compiler_libraries + set -l cversion $argv[1] + + if test "$cversion" = "" + set -e COMPILER_VERSION + return 0 + end + + switch $cversion + case 13.2.0 + set -xg COMPILER_LIB_DIR /usr/lib/gcc-13/lib + case clang16.0.6 + set -xg COMPILER_LIB_DIR /usr/lib/llvm-16/lib + + case clang19.1.7 + set -xg COMPILER_LIB_DIR /usr/lib/llvm-19/lib + + case '*' + echo "unknown compiler version $cversion" + end +end + function opensslVersion set -l oversion $argv[1] diff --git a/scripts/lib/buildSanFlags.fish b/scripts/lib/buildSanFlags.fish index 1b74a934..d7e5d6f5 100644 --- a/scripts/lib/buildSanFlags.fish +++ b/scripts/lib/buildSanFlags.fish @@ -7,9 +7,11 @@ function buildSanFlags --argument SRCDIR # Enable full SAN mode # This also has to be in runRTAtest.fish if not test -z "$SAN"; and test "$SAN" = "On" + compiler_libraries "$COMPILER_VERSION" echo "Use SAN mode: $SAN_MODE" set common_options "log_exe_name=true:external_symbolizer_path=$INNERWORKDIR/ArangoDB/utils/llvm-symbolizer-client.py" - + set -xg ARCHER_OPTIONS verbose=1 + set -xg OMP_TOOL_LIBRARIES "$COMPILER_LIB_DIR/libarcher.so" switch "$SAN_MODE" case "AULSan" # address sanitizer @@ -43,7 +45,7 @@ function buildSanFlags --argument SRCDIR # suppressions if test -f "$SRCDIR/tsan_arangodb_suppressions.txt" - set -xg TSAN_OPTIONS "$TSAN_OPTIONS:suppressions=$INNERWORKDIR/ArangoDB/tsan_arangodb_suppressions.txt:print_suppressions=0" + set -xg TSAN_OPTIONS "$TSAN_OPTIONS:suppressions=$INNERWORKDIR/ArangoDB/tsan_arangodb_suppressions.txt:print_suppressions=0:ignore_noninstrumented_modules=1" end echo "TSAN: $TSAN_OPTIONS"