From 1534aec9b1986d36d118ca5b4e978d3aaa709231 Mon Sep 17 00:00:00 2001 From: Darren Salt Date: Thu, 9 Apr 2026 01:33:59 +0100 Subject: [PATCH] Allow various sanitisation options to be enabled for debug/test purposes. Configure with `--enable-instrumentation` to enable. --- configure.ac | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/configure.ac b/configure.ac index 762dea6e..0ac1d0b4 100644 --- a/configure.ac +++ b/configure.ac @@ -62,6 +62,23 @@ case "$host" in *) ;; esac +AC_MSG_CHECKING([whether debug instrumentation options are to be enabled]) +AC_ARG_ENABLE(instrumentation, +[ --enable-instrumentation + enable various instrumentation options for debugging], +[instrumentation=no; if test "x$enableval" = "xyes"; then instrumentation=$enableval; fi], +[instrumentation=no]) +AC_MSG_RESULT([$instrumentation]) +if test "$instrumentation" = "yes"; then + AX_CHECK_COMPILE_FLAG([-fsanitize=bounds-strict], [CFLAGS="$CFLAGS -fsanitize=bounds-strict"], + [AX_CHECK_COMPILE_FLAG([-fsanitize=bounds], [CFLAGS="$CFLAGS -fsanitize=bounds"])]) + AX_CHECK_COMPILE_FLAG([-fsanitize=alignment], [CFLAGS="$CFLAGS -fsanitize=alignment"]) + AX_CHECK_COMPILE_FLAG([-fsanitize=bool], [CFLAGS="$CFLAGS -fsanitize=bool"]) + AX_CHECK_COMPILE_FLAG([-fsanitize=enum], [CFLAGS="$CFLAGS -fsanitize=enum"]) + AX_CHECK_COMPILE_FLAG([-fsanitize=nonnull-attribute], [CFLAGS="$CFLAGS -fsanitize=nonnull-attribute"]) + AX_CHECK_COMPILE_FLAG([-fsanitize=returns-nonnull-attribute], [CFLAGS="$CFLAGS -fsanitize=returns-nonnull-attribute"]) +fi + search_libs="$search_libs m" # Checks for libraries.