From: | ondrej@isc.org |
To: | bind9-public@isc.org |
Subject: | Add Address Sanitizer (ASAN) and Undefined Behaviour Sanitizer builds in the CI |
Date: | Thu, 30 Nov 2017 12:28:04 +0000 |
Clang comes with ASAN and UBSAN[2] Sanitizers and we should have a CI testing scenario that compiles BIND 9 with both and runs the full test suite.
The minimum would be to install fairly recent Clang[3] or GCC[4] into the CI VM and run something like this:
CC=clang CXX=clang CFLAGS="-O2 -g -fsanitize=address -fsanitize=undefined" ./configure <possibly_enable_all_options_that_affect_code_and_testing>
make check
1. https://clang.llvm.org/docs/AddressSanitizer.html
2. https://clang.llvm.org/docs/UndefinedBehaviorSanitizer.html
3. at least LLVM 3.3 for UBSAN and LLVM 3.1 for ASAN
4. at least 4.9 for UBSAN and 4.8 for ASAN
I believe that this should be done before the 9.12 final release (and I am sorry I haven't thought about this sooner).