From 067109a5e7db3fdffc25240bfc3b350962cd6bd6 Mon Sep 17 00:00:00 2001 From: Phillip Wood Date: Sat, 9 Apr 2022 12:28:37 +0000 Subject: tests: make SANITIZE=address imply TEST_NO_MALLOC_CHECK As the address sanitizer checks for a superset of the issues detected by setting MALLOC_CHECK_ (which tries to detect things like double frees and off-by-one errors) there is no need to set the latter when compiling with -fsanitize=address. This fixes a regression introduced by 131b94a10a ("test-lib.sh: Use GLIBC_TUNABLES instead of MALLOC_CHECK_ on glibc >= 2.34", 2022-03-04) which causes all the tests to fail with the message ASan runtime does not come first in initial library list; you should either link runtime to your application or manually preload it with LD_PRELOAD. when git is compiled with SANITIZE=address on systems with glibc >= 2.34. I have tested SANITIZE=leak and SANITIZE=undefined and they do not suffer from this regression so the fix in this patch should be sufficient. Signed-off-by: Phillip Wood Signed-off-by: Junio C Hamano --- t/test-lib.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 't') diff --git a/t/test-lib.sh b/t/test-lib.sh index cf3fa4514a..28ac9e2ca1 100644 --- a/t/test-lib.sh +++ b/t/test-lib.sh @@ -503,9 +503,10 @@ case $GIT_TEST_FSYNC in ;; esac -# Add libc MALLOC and MALLOC_PERTURB test -# only if we are not executing the test with valgrind +# Add libc MALLOC and MALLOC_PERTURB test only if we are not executing +# the test with valgrind and have not compiled with SANITIZE=address. if test -n "$valgrind" || + test -n "$SANITIZE_ADDRESS" || test -n "$TEST_NO_MALLOC_CHECK" then setup_malloc_check () { -- cgit v1.3-5-g9baa