From 449c9559b1d00a3e677015f317e1fedd25a278e4 Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Mon, 9 Jul 2018 07:38:52 +0200 Subject: [PATCH] Update: Add sanitizer helper to configure This allows easily enabling a sanitizer by passing --with-sanitizer= when configuring. --- configure.ac | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/configure.ac b/configure.ac index 94cfe7e3..e770f4fd 100644 --- a/configure.ac +++ b/configure.ac @@ -37,6 +37,35 @@ AM_MAINTAINER_MODE([enable]) LT_INIT + +dnl Sanitizer flags + +AC_ARG_WITH([sanitizer], + [AS_HELP_STRING([--with-sanitizer=(address/memory/undefined/thread)], + [build with sanitizer flags (default disabled)])], + [], + [with_sanitizer=no]) + +AS_VAR_IF(with_sanitizer, no, [], [ + AX_CHECK_COMPILE_FLAG([-fsanitize=${with_sanitizer}], [ + AX_APPEND_FLAG([-fsanitize=${with_sanitizer}]) + AX_APPEND_FLAG([-fsanitize=${with_sanitizer}], [LDFLAGS]) + ], [ + AC_MSG_ERROR(["-fsanitize=${with_sanitizer} not supported!"]) + ]) + AX_APPEND_FLAG([-g]) + + AS_IF([test -z "${with_sanitizer##*address*}" ], [ + AX_APPEND_COMPILE_FLAGS([-fsanitize-address-use-after-scope -fno-omit-frame-pointer -fsanitize=pointer-compare -fsanitize=pointer-subtract]) + ]) + AS_IF([test -z "${with_sanitizer##*memory*}" ], [ + AX_APPEND_COMPILE_FLAGS([-fPIE -pie]) + ]) + AS_IF([test -z "${with_sanitizer##*thread*}" ], [ + AX_APPEND_COMPILE_FLAGS([-fPIE -pie]) + ]) +]) + dnl Check for attributes AX_GCC_TYPE_ATTRIBUTE([transparent_union])