]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
ixfrdist: Enable UndefinedBehaviorSanitizer in CI 7329/head
authorRemi Gacogne <remi.gacogne@powerdns.com>
Fri, 4 Jan 2019 13:02:56 +0000 (14:02 +0100)
committerRemi Gacogne <remi.gacogne@powerdns.com>
Fri, 4 Jan 2019 13:02:56 +0000 (14:02 +0100)
We need a suppression because of a bug fixed in Boost 1.57.0, see:

https://github.com/boostorg/any/commit/c92ab03ab35775b6aab30f6cdc3d95b7dd8fc5c6

build-scripts/UBSan.supp [new file with mode: 0644]
build-scripts/travis.sh

diff --git a/build-scripts/UBSan.supp b/build-scripts/UBSan.supp
new file mode 100644 (file)
index 0000000..4d19644
--- /dev/null
@@ -0,0 +1 @@
+vptr:/usr/include/boost/any.hpp
\ No newline at end of file
index 7a5c1d25ea69759e56be4c6c9310d9e8cf55d276..aef0890df9c325a5d5aa26b5dbb13ab8e58cc20d 100755 (executable)
@@ -664,13 +664,16 @@ then
   elif [ "${PDNS_BUILD_PRODUCT}" = "dnsdist" ]; then
     sanitizerflags="${sanitizerflags} --enable-asan --enable-ubsan"
   elif [ "${PDNS_BUILD_PRODUCT}" = "ixfrdist" ]; then
-    sanitizerflags="${sanitizerflags} --enable-asan"
+    sanitizerflags="${sanitizerflags} --enable-asan --enable-ubsan"
   fi
 fi
 export CFLAGS=$compilerflags
 export CXXFLAGS=$compilerflags
 export sanitizerflags
-export UBSAN_OPTIONS="print_stacktrace=1:halt_on_error=1"
+# We need a suppression for UndefinedBehaviorSanitizer with ixfrdist,
+# because of a vptr bug fixed in Boost 1.57.0:
+# https://github.com/boostorg/any/commit/c92ab03ab35775b6aab30f6cdc3d95b7dd8fc5c6
+export UBSAN_OPTIONS="print_stacktrace=1:halt_on_error=1:suppressions=${TRAVIS_BUILD_DIR}/build-scripts/UBSan.supp"
 
 install_$PDNS_BUILD_PRODUCT