summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--t/valgrind/default.supp4
-rwxr-xr-xt/valgrind/valgrind.sh11
2 files changed, 13 insertions, 2 deletions
diff --git a/t/valgrind/default.supp b/t/valgrind/default.supp
index 5f341b8598..9e013fa3b2 100644
--- a/t/valgrind/default.supp
+++ b/t/valgrind/default.supp
@@ -38,6 +38,8 @@
writing-data-from-zlib-triggers-even-more-errors
Memcheck:Param
write(buf)
- ...
+ obj:/lib/ld-*.so
+ fun:write_in_full
+ fun:write_buffer
fun:write_loose_object
}
diff --git a/t/valgrind/valgrind.sh b/t/valgrind/valgrind.sh
index dc9261265b..582b4dca94 100755
--- a/t/valgrind/valgrind.sh
+++ b/t/valgrind/valgrind.sh
@@ -2,11 +2,20 @@
base=$(basename "$0")
+TRACK_ORIGINS=
+
+VALGRIND_VERSION=$(valgrind --version)
+VALGRIND_MAJOR=$(expr "$VALGRIND_VERSION" : '[^0-9]*\([0-9]*\)')
+VALGRIND_MINOR=$(expr "$VALGRIND_VERSION" : '[^0-9]*[0-9]*\.\([0-9]*\)')
+test 3 -gt "$VALGRIND_MAJOR" ||
+test 3 -eq "$VALGRIND_MAJOR" -a 4 -gt "$VALGRIND_MINOR" ||
+TRACK_ORIGINS=--track-origins=yes
+
exec valgrind -q --error-exitcode=126 \
--leak-check=no \
--suppressions="$GIT_VALGRIND/default.supp" \
--gen-suppressions=all \
- --track-origins=yes \
+ $TRACK_ORIGINS \
--log-fd=4 \
--input-fd=4 \
$GIT_VALGRIND_OPTIONS \