summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Wellnhofer <wellnhofer@aevum.de>2022-10-31 17:07:31 +0100
committerNick Wellnhofer <wellnhofer@aevum.de>2022-10-31 18:16:13 +0100
commitd994c6132be66760cea85cc55304296d5b621bb8 (patch)
tree03338b0fae14fb2b3ab88bbcd130a64418267406
parentc782c9ab69d4735e76b66e43cf7546eaf644e009 (diff)
downloadlibxslt-d994c6132be66760cea85cc55304296d5b621bb8.tar.gz
gitlab-ci: Reenable MSan and LeakSanitizer
-rw-r--r--.gitlab-ci.yml13
-rwxr-xr-x.gitlab-ci/llvm-symbolizer9
2 files changed, 15 insertions, 7 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index bc579f06..b80e73e9 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -24,23 +24,22 @@ gcc:static:
clang:asan:
extends: .test
+ tags:
+ - asan
variables:
CONFIG: "--without-python"
CC: clang
CFLAGS: "-O2 -g -fno-omit-frame-pointer -fsanitize=address,undefined,unsigned-integer-overflow,implicit-conversion -fno-sanitize-recover=all -Wno-error=cast-align"
- # LeakSanitizer requires SYS_CAP_PTRACE
- ASAN_OPTIONS: "detect_leaks=0"
UBSAN_OPTIONS: "print_stacktrace=1"
+ ASAN_SYMBOLIZER_PATH: "$CI_PROJECT_DIR/.gitlab-ci/llvm-symbolizer"
-# Disabled, MSan seems broken on Ubntu 22.04
-.clang:msan:
+clang:msan:
extends: .test
- only:
- - schedules
variables:
CONFIG: "--without-python --without-zlib --without-lzma --without-crypto"
CC: clang
- CFLAGS: "-O2 -g -fno-omit-frame-pointer -fsanitize=memory -Wimplicit-int-conversion -Wno-error=cast-align"
+ CFLAGS: "-O2 -g -fno-omit-frame-pointer -fsanitize=memory -Wno-error=cast-align"
+ MSAN_SYMBOLIZER_PATH: "$CI_PROJECT_DIR/.gitlab-ci/llvm-symbolizer"
.mingw:
tags:
diff --git a/.gitlab-ci/llvm-symbolizer b/.gitlab-ci/llvm-symbolizer
new file mode 100755
index 00000000..cfc85e8d
--- /dev/null
+++ b/.gitlab-ci/llvm-symbolizer
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+# Newer versions of llvm-symbolizer require libxml2 themselves. Running
+# a test program with LD_LIBRARY_PATH set to .libs makes llvm-symbolizer
+# pick up the tested development version of libxml2 which breaks
+# completely if the build is instrumented with ASan. This wrapper script
+# invokes llvm-symbolizer with an empty LD_LIBRARY_PATH.
+
+LD_LIBRARY_PATH='' llvm-symbolizer "$@"