|
From: <sv...@va...> - 2013-09-12 21:12:45
|
Author: philippe
Date: Thu Sep 12 21:12:24 2013
New Revision: 13545
Log:
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
Modified:
trunk/README_DEVELOPERS
Modified: trunk/README_DEVELOPERS
==============================================================================
--- trunk/README_DEVELOPERS (original)
+++ trunk/README_DEVELOPERS Thu Sep 12 21:12:24 2013
@@ -161,6 +161,9 @@
--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 @@
--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 <testname>.outer.log which contains the
errors detected by the outer valgrind. E.g. for an outer memcheck, it
@@ -238,10 +244,14 @@
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.
|