From: Johannes Schindelin Date: Thu, 05 Feb 2009 21:03:00 GMT Subject: [PATCH] valgrind: do not require valgrind 3.4.0 or newer Message-ID: <349b2bb9b8f5a6762cccb7834d82125ee4382436.1233867737u.git.johannes.schindelin@gmx.de> In-Reply-To: <7vzlh0bp6f.fsf@gitster.siamese.dyndns.org> 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 --- t/valgrind/default.supp | 4 +++- t/valgrind/valgrind.sh | 11 ++++++++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/t/valgrind/default.supp b/t/valgrind/default.supp index 5f341b8..9e013fa 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 dc92612..582b4dc 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 \ -- 1.6.1.1.636.gf819e