When enabling ASan and UBSan, ASan defaults to aborting execution on a detected
error while UBSan defaults to a warning and then continuing. The effect of this
is that any UBSan issues go unnoticed in CI when no one is monitoring stderr.
This change makes UBSan issues also have abort behavior.
Gitlab: fixes #2200
before_script:
- export build_system="cmake"
# fail on any compiler warnings
- - export CFLAGS="-fsanitize=address,undefined -g -Werror"
- - export CXXFLAGS="-fsanitize=address,undefined -g -Werror"
+ - export CFLAGS="-fsanitize=address,undefined -fno-sanitize-recover=address,undefined -g -Werror"
+ - export CXXFLAGS="-fsanitize=address,undefined -fno-sanitize-recover=address,undefined -g -Werror"
- export CMAKE_OPTIONS="-Duse_coverage=ON -Dwith_cxx_tests=ON -Dwith_cxx_api=ON"
- export CMAKE_OPTIONS="$CMAKE_OPTIONS -Dwith_smyrna=ON"
# override the deb_build_definition artifacts since we need more