Skip to content

Commit

Permalink
valgrind: do not require valgrind 3.4.0 or newer
Browse files Browse the repository at this point in the history
Valgrind 3.4.0 is pretty new, and even if --track-origins is a nice
feature, it is not the end of the world if that is not available.  So
play nice and use that option only when only an older version of
valgrind is available.

In the same spirit, refrain from the use of '...' in suppression
files, which is also a feature only valgrind 3.4 and newer understand.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
Johannes Schindelin authored and Junio C Hamano committed Feb 6, 2009
1 parent a6d63b7 commit 5caa81d
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 2 deletions.
4 changes: 3 additions & 1 deletion t/valgrind/default.supp
Original file line number Diff line number Diff line change
Expand Up @@ -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
}
11 changes: 10 additions & 1 deletion t/valgrind/valgrind.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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 \
Expand Down

0 comments on commit 5caa81d

Please sign in to comment.