Skip to content

Commit

Permalink
build: disable debug and sanitizers by default (#251)
Browse files Browse the repository at this point in the history
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.
  • Loading branch information
alanswanson authored Jan 25, 2022
1 parent 37eecf2 commit ac6b471
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 8 deletions.
4 changes: 2 additions & 2 deletions build.sh
Original file line number Diff line number Diff line change
@@ -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;;
Expand Down
12 changes: 6 additions & 6 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down Expand Up @@ -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

Expand Down

0 comments on commit ac6b471

Please sign in to comment.