mirror of https://gerrit.osmocom.org/asn1c
detect leak detector in runtime
This commit is contained in:
parent
48e82d1f1f
commit
0afbd325f3
13
configure.ac
13
configure.ac
|
@ -198,13 +198,20 @@ AS_IF([test "x$disable_test_asan" != xno], [
|
||||||
[--disable-test-asan=$disable_test_asan is not supported on a target system.
|
[--disable-test-asan=$disable_test_asan is not supported on a target system.
|
||||||
Check out https://clang.llvm.org/docs/AddressSanitizer.html#how-to-build])])
|
Check out https://clang.llvm.org/docs/AddressSanitizer.html#how-to-build])])
|
||||||
])
|
])
|
||||||
dnl Address sanitizer sometimes is equipped with the leak sanitizer,
|
|
||||||
dnl so we use -fsanitize=leak to permit ASAN_OPTIONS environment.
|
dnl Address sanitizer sometimes is equipped with the leak sanitizer.
|
||||||
dnl If address sanitizer is not equipped with a leak sanitizer,
|
dnl If address sanitizer is not equipped with a leak sanitizer,
|
||||||
dnl invoking programs with ASAN_OPTIONS=detect_leaks=1 will break them.
|
dnl invoking programs with ASAN_OPTIONS=detect_leaks=1 will break them.
|
||||||
AX_CHECK_COMPILE_FLAG([-fsanitize=leak], [
|
ASAN_OPTIONS="detect_leaks=1"
|
||||||
|
export ASAN_OPTIONS
|
||||||
|
save_cflags="${CFLAGS}"
|
||||||
|
CFLAGS="${CFLAGS} ${SANITIZER_CFLAGS}"
|
||||||
|
AC_RUN_IFELSE([AC_LANG_PROGRAM()], [
|
||||||
ASAN_ENV_FLAGS="${ASAN_ENV_FLAGS} ASAN_OPTIONS=detect_leaks=1"
|
ASAN_ENV_FLAGS="${ASAN_ENV_FLAGS} ASAN_OPTIONS=detect_leaks=1"
|
||||||
])
|
])
|
||||||
|
CFLAGS="${save_cflags}"
|
||||||
|
unset ASAN_OPTIONS
|
||||||
|
|
||||||
dnl Keep error messages nice. Also consider:
|
dnl Keep error messages nice. Also consider:
|
||||||
dnl export ASAN_SYMBOLIZER_PATH=/usr/bin/llvm-symbolizer
|
dnl export ASAN_SYMBOLIZER_PATH=/usr/bin/llvm-symbolizer
|
||||||
dnl export ASAN_OPTIONS=symbolize=1
|
dnl export ASAN_OPTIONS=symbolize=1
|
||||||
|
|
Loading…
Reference in New Issue