Browse Source

configure: allow to run clang with ASAN

Prefer adding LSAN_OPTIONS="suppressions=$PWD/tests/sanitizer_suppressions/lsan" when CC=clang instead.

Changelog-Added: build: clang build now supports --enable-address-sanitizer .
Signed-off-by: Antoine Poinsot <darosior@protonmail.com>
travis-experimental
Antoine Poinsot 4 years ago
committed by Rusty Russell
parent
commit
3382dafaee
  1. 4
      configure
  2. 3
      contrib/sanitizer_suppressions/asan
  3. 3
      contrib/sanitizer_suppressions/lsan

4
configure

@ -223,10 +223,6 @@ $CC ${CWARNFLAGS-$BASE_WARNFLAGS} $CDEBUGFLAGS $COPTFLAGS -o $CONFIGURATOR $CONF
echo "done"
if [ "$ASAN" = "1" ]; then
if [ "$CC" = "clang" ]; then
echo "Address sanitizer (ASAN) is currently only supported with gcc"
exit 1
fi
if [ "$VALGRIND" = "1" ]; then
echo "Address sanitizer (ASAN) and valgrind cannot be enabled at the same time"
exit 1

3
contrib/sanitizer_suppressions/asan

@ -0,0 +1,3 @@
# process_check_funding_broadcast is racy as it operates on a data that may be
# freed under its feet
interceptor_via_fun:process_check_funding_broadcast

3
contrib/sanitizer_suppressions/lsan

@ -0,0 +1,3 @@
# Clang would detect false positive here, due to padding. See https://github.com/ElementsProject/lightning/pull/2285
leak:ccan/ccan/autodata/autodata.c
leak:ccan/ccan/htable/htable.c
Loading…
Cancel
Save