diff --git a/configure b/configure index 28bea51cb..0a5c75f7d 100755 --- a/configure +++ b/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 diff --git a/contrib/sanitizer_suppressions/asan b/contrib/sanitizer_suppressions/asan new file mode 100644 index 000000000..45c1ff249 --- /dev/null +++ b/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 diff --git a/contrib/sanitizer_suppressions/lsan b/contrib/sanitizer_suppressions/lsan new file mode 100644 index 000000000..f53dadfcf --- /dev/null +++ b/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