git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH] valgrind: do not require valgrind 3.4.0 or newer

From
Johannes Schindelin <johannes.schindelin@gmx.de>
Date
Feb 5, 2009, 21:03 UTC
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 <johannes.schindelin@gmx.de>
---
 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
Previous: Johannes SchindelinNext: Junio C Hamano
Message 6 of 9 in “valgrind: do not require valgrind 3.4.0 or newer”
  1. valgrind: do not require valgrind 3.4.0 or newerJohannes Schindelin, Feb 5, 2009
  2. Peter BaumannFeb 5, 2009
  3. Johannes SchindelinFeb 5, 2009
  4. Junio C HamanoFeb 5, 2009
  5. Johannes SchindelinFeb 5, 2009
  6. valgrind: do not require valgrind 3.4.0 or newerJohannes Schindelin, Feb 5, 2009
  7. Junio C HamanoFeb 6, 2009
  8. Johannes SchindelinFeb 6, 2009
  9. Junio C HamanoFeb 6, 2009

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.