From d9f22cbe7c7e207f1cb0823df319c38e47dc194e Mon Sep 17 00:00:00 2001 From: Alfredo Tupone Date: Sun, 26 May 2024 12:57:10 +0200 Subject: [PATCH] Add --enable-asan & --enable-ubsan. By default disabled. --- configure.ac | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/configure.ac b/configure.ac index 254a250abe..3bfc72fe41 100644 --- a/configure.ac +++ b/configure.ac @@ -185,6 +185,10 @@ if test x$enable_debug = xyes; then user_CXXFLAGS="$CXXFLAGS" # ac_save_CXXFLAGS is not set yet fi +# sanitizer +AC_ARG_ENABLE(asan, [ --enable-asan address sanitizer]) +AC_ARG_ENABLE(ubsan, [ --enable-ubsan undefined behaviour sanitizer]) + # do we want the bzflag client? AC_ARG_ENABLE(client, [ --disable-client server-only build]) @@ -767,6 +771,16 @@ else AC_DEFINE(NDEBUG, 1, [Debugging disabled]) fi +if test "x$enable_asan" = xyes; then + CONF_CFLAGS="$CONF_CFLAGS -fsanitize=address" + CONF_CXXFLAGS="$CONF_CXXFLAGS -fsanitize=address" +fi + +if test "x$enable_ubsan" = xyes; then + CONF_CFLAGS="$CONF_CFLAGS -fsanitize=undefined -fsanitize=float-divide-by-zero -fsanitize=float-cast-overflow" + CONF_CXXFLAGS="$CONF_CXXFLAGS -fsanitize=undefined -fsanitize=float-divide-by-zero -fsanitize=float-cast-overflow" +fi + dnl check for -search_paths_first linker flag when making dynamic libraries search_paths_first_flag="-Wl,-search_paths_first -mdynamic-no-pic" AC_MSG_CHECKING([if the compiler understands $search_paths_first_flag])