From 14c1c10305d2e69532087f9eb9ddab415055a6bb Mon Sep 17 00:00:00 2001 From: Philippe Waroquiers Date: Thu, 12 Sep 2013 21:12:24 +0000 Subject: [PATCH] clarify that vg-in-place cannot be used as an outer in outer/inner setup If you use a vg-in-place outer, then you obtain errors such as: valgrind: mmap(0x38000000, 3293184) failed in UME with error 22 (Invalid argument). valgrind: this can be caused by executables with very large text, data or bss segments. What must be used is the "make install"-ed valgrind git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13545 --- README_DEVELOPERS | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/README_DEVELOPERS b/README_DEVELOPERS index 2201fd63c8..6ebeef064c 100644 --- a/README_DEVELOPERS +++ b/README_DEVELOPERS @@ -161,6 +161,9 @@ This section explains : --run-libc-freeres=no --tool=cachegrind -v \ inner/.../bin/valgrind --vgdb-prefix=./inner --tool=none -v prog +Note: You must use a "make install"-ed valgrind. +Do *not* use vg-in-place for the outer valgrind. + If you omit the --trace-children=yes, you'll only monitor Inner's launcher program, not its stage2. Outer needs --run-libc-freeres=no, as otherwise it will try to find and run __libc_freeres in the inner, while libc is not @@ -217,6 +220,9 @@ When using self-hosting with an outer Callgrind tool, use '--pop-on-jump' --outer-args allows to give specific arguments to the outer tool, replacing the default one provided by vg_regtest. +Note: --outer-valgrind must be a "make install"-ed valgrind. +Do *not* use vg-in-place. + When an outer valgrind runs an inner valgrind, a regression test produces one additional file .outer.log which contains the errors detected by the outer valgrind. E.g. for an outer memcheck, it @@ -238,10 +244,14 @@ the irrelevant or benign errors found in the inner. perl perf/vg_perf --outer-valgrind=../outer/.../bin/valgrind \ --outer-tool=callgrind perf +Note: --outer-valgrind must be a "make install"-ed valgrind. +Do *not* use vg-in-place. + To compare the performance of multiple Valgrind versions, do : perl perf/vg_perf --outer-valgrind=../outer/.../bin/valgrind \ --vg=../inner_xxxx --vg=../inner_yyyy perf - (where inner_xxxx and inner_yyyy are the versions to compare). + (where inner_xxxx and inner_yyyy are the toplevel directories of + the versions to compare). Cachegrind and cg_diff are particularly handy to obtain a delta between the two versions. -- 2.47.2