Skip to content

Commit 13d2ffd

Browse files
committed
Use address sanitizer on auparse tests if available
1 parent 4f01ca0 commit 13d2ffd

File tree

2 files changed

+26
-5
lines changed

2 files changed

+26
-5
lines changed

auparse/test/Makefile.am

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -33,32 +33,40 @@ DISTCLEANFILES = $(CLEANFILES)
3333
AM_CPPFLAGS = -I${top_srcdir}/auparse -I${top_srcdir}/lib -I${top_srcdir}/common
3434
AM_CFLAGS = -D_GNU_SOURCE -Wno-pointer-sign ${WFLAGS}
3535

36+
if HAVE_ASAN
37+
AM_CFLAGS = -D_GNU_SOURCE -Wno-pointer-sign ${WFLAGS} ${ASAN_FLAGS}
38+
AM_LDFLAGS = ${ASAN_FLAGS}
39+
else
40+
AM_CFLAGS = -D_GNU_SOURCE -Wno-pointer-sign ${WFLAGS}
41+
endif
42+
STATIC_LINK = -static
43+
3644
lookup_test_SOURCES = lookup_test.c
37-
lookup_test_LDFLAGS = -static
45+
lookup_test_LDFLAGS = ${STATIC_LINK}
3846
lookup_test_LDADD = ${top_builddir}/auparse/libauparse.la \
3947
${top_builddir}/lib/libaudit.la ${top_builddir}/common/libaucommon.la
4048
lookup_test_DEPENDENCIES = ${top_builddir}/auparse/libauparse.la ${top_builddir}/lib/libaudit.la ${top_builddir}/common/libaucommon.la
4149

4250
auparse_test_SOURCES = auparse_test.c
43-
auparse_test_LDFLAGS = -static
51+
auparse_test_LDFLAGS = ${STATIC_LINK}
4452
auparse_test_LDADD = ${top_builddir}/auparse/libauparse.la \
4553
${top_builddir}/lib/libaudit.la ${top_builddir}/common/libaucommon.la
4654
auparse_test_DEPENDENCIES = ${top_builddir}/auparse/libauparse.la ${top_builddir}/lib/libaudit.la ${top_builddir}/common/libaucommon.la
4755

4856
auparselol_test_SOURCES = auparselol_test.c
49-
auparselol_test_LDFLAGS = -static
57+
auparselol_test_LDFLAGS = ${STATIC_LINK}
5058
auparselol_test_LDADD = ${top_builddir}/auparse/libauparse.la \
5159
${top_builddir}/lib/libaudit.la ${top_builddir}/common/libaucommon.la
5260
auparselol_test_DEPENDENCIES = ${top_builddir}/auparse/libauparse.la ${top_builddir}/lib/libaudit.la ${top_builddir}/common/libaucommon.la
5361

5462
databuf_test_SOURCES = databuf_test.c
55-
databuf_test_LDFLAGS = -static
63+
databuf_test_LDFLAGS = ${STATIC_LINK}
5664
databuf_test_LDADD = ${top_builddir}/auparse/libauparse.la \
5765
${top_builddir}/lib/libaudit.la ${top_builddir}/common/libaucommon.la
5866
databuf_test_DEPENDENCIES = ${top_builddir}/auparse/libauparse.la ${top_builddir}/lib/libaudit.la ${top_builddir}/common/libaucommon.la
5967

6068
auparse_extra_test_SOURCES = auparse_extra_test.c
61-
auparse_extra_test_LDFLAGS = -static
69+
auparse_extra_test_LDFLAGS = ${STATIC_LINK}
6270
auparse_extra_test_LDADD = ${top_builddir}/auparse/libauparse.la \
6371
${top_builddir}/lib/libaudit.la ${top_builddir}/common/libaucommon.la
6472
auparse_extra_test_DEPENDENCIES = ${top_builddir}/auparse/libauparse.la ${top_builddir}/lib/libaudit.la ${top_builddir}/common/libaucommon.la

configure.ac

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -301,6 +301,19 @@ AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[]])],[WFLAGS="${WFLAGS} -Wno-unused-but-
301301
CFLAGS="${TMPCFLAGS}"
302302
AC_SUBST(WFLAGS)
303303

304+
AC_MSG_CHECKING([for -fsanitize=address])
305+
TMPCFLAGS="${CFLAGS}"
306+
TMPLDFLAGS="${LDFLAGS}"
307+
CFLAGS="${CFLAGS} -fsanitize=address"
308+
LDFLAGS="${LDFLAGS} -fsanitize=address"
309+
AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[]])],
310+
[ASAN_FLAGS="-fsanitize=address"; have_asan=yes; AC_MSG_RESULT(yes)],
311+
[have_asan=no; AC_MSG_RESULT(no)])
312+
CFLAGS="${TMPCFLAGS}"
313+
LDFLAGS="${TMPLDFLAGS}"
314+
AC_SUBST(ASAN_FLAGS)
315+
AM_CONDITIONAL(HAVE_ASAN, test x$have_asan = xyes)
316+
304317
withval=""
305318
AC_MSG_CHECKING(whether to include arm eabi processor support)
306319
AC_ARG_WITH(arm,

0 commit comments

Comments
 (0)