From 39cc25f002c9817332ff0b18e37b031185a7a9c0 Mon Sep 17 00:00:00 2001 From: Alan Swanson Date: Tue, 25 Jan 2022 19:27:15 +0000 Subject: [PATCH] build: disable debug and sanitizers by default Debug builds should never be the default. Change debug option to default to off and link it to sanitizer usage (rather than whether being built from git tree). Address sanitizers can cause a program to run twice as slow on top of the debug "-O0" non-optimisation. Also remove some unused macro variables. --- build.sh | 4 ++-- configure.ac | 12 ++++++------ 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/build.sh b/build.sh index cf577eac..6f252b38 100755 --- a/build.sh +++ b/build.sh @@ -1,12 +1,12 @@ #!/bin/sh -x -configureOpts="--disable-sanitizers --disable-debug" +configureOpts="" while getopts ":hd" opt; do case ${opt} in h ) echo "Use -d to turn on sanitizers (for debugging only)" exit;; - d ) configureOpts="" + d ) configureOpts="--enable-debug" ;; \? ) echo "Usage: $0 [-h] [-d]" exit;; diff --git a/configure.ac b/configure.ac index c74cc322..d38324d0 100644 --- a/configure.ac +++ b/configure.ac @@ -48,7 +48,7 @@ AX_CODE_COVERAGE dnl is_release must be lowercase because AX_CHECK_ENABLE_DEBUG calls m4_tolower dnl on its fourth argument. -AX_CHECK_ENABLE_DEBUG([yes], , [UNUSED_NDEBUG], [$is_release]) +AX_CHECK_ENABLE_DEBUG([no], , , [$is_release]) AC_PROG_CC @@ -132,14 +132,14 @@ AC_CHECK_HEADERS([fcntl.h float.h inttypes.h limits.h locale.h netinet/in.h path AC_CONFIG_FILES([Makefile]) -# Enable address sanitizer for non-release builds. The performance hit is a +# Enable address sanitizer for debug builds. The performance hit is a # 50% increase of wallclock time for the testsuite on my machine. -if test x$is_release = xyes; then - default_sanitizers= -else +if test "x$ax_enable_debug" = "xyes"; then default_sanitizers=address +else + default_sanitizers= fi -AX_SANITIZERS(, [$default_sanitizers], [AC_DEFINE([I3LOCK_ASAN_ENABLED], [], [Enable ASAN])]) +AX_SANITIZERS(, [$default_sanitizers]) AC_OUTPUT