Julian Seward [Sun, 9 Dec 2007 02:14:35 +0000 (02:14 +0000)]
Don't do comparisons of (signed) Words by merely subtracting them, as
this does not always produce correct results. Instead use a slower
but correct method. Analogous fix to that applied to m_oset.c by
r7283.
Julian Seward [Sun, 9 Dec 2007 02:08:42 +0000 (02:08 +0000)]
Don't do comparisons of (signed) Words by merely subtracting them, as
this does not always produce correct results. Instead use a slower
but correct method. Fixes #147545. (Nick Nethercote, Tom Hughes et
al)
Julian Seward [Tue, 4 Dec 2007 21:27:18 +0000 (21:27 +0000)]
DRD changes (Bart Van Assche)
* Add docs: exp-drd/docs/README.txt
* Added one drd suppression pattern, and cleaned up the suppression file.
* All regression tests now pass on x86_64 and i386, including sigalrm.
* Updated TODO.txt file.
* pth_create_chain test is now started with 100 threads instead of 10
-- 10 was not enough.
* DRD no longer exits on PPC32 and PPC64 but just prints a warning
message before it starts.
Update old (and wrong) parts of callgrind documentation.
This obviously was already wrong in 3.2.x :-(
* Old --fn-recursion=... / --fn-caller=... options are called
--separate-recs=... / --separate-callers=... since quite some
time for consistency with e.g. --separate-threads=yes.
Error noted from bug 153335.
* Function specifications support wildcards since quite some time;
specification of a prefix only does not work, but the full
function has to match. This was needed to allow to specify 'foo'
without also specifying 'foo1'.
* The script 'callgrind' does not exist since merging into
valgrind.
* Rename callgrind from being a 'heavyweight' to a 'call graph'
profiler, similar to the description in the quick start overview.
Two changes:
- Be more robust in the face of malformed stack traces. This avoids some
potential assertion errors (which have affected prior versions of Massif),
but unfortunately reduces the amount of sanity-checking that can be done
on XTrees.
- Get white-space printing right in output file. Non-functional change,
just makes output files easier to read.
Julian Seward [Sun, 2 Dec 2007 22:03:43 +0000 (22:03 +0000)]
Back out r7210 ("Fix completely bogus implementation of
VG_(seginfo_sect_kind).") as it breaks DRD and possible Callgrind.
The segment kind identification code is basically broken for non-text
segments, but requires fixing at a higher level than this. See
discussion on valgrind-developers, 20 March 07, "Bug in
VG_(seginfo_sect_kind) ?"
Julian Seward [Fri, 30 Nov 2007 21:41:40 +0000 (21:41 +0000)]
New options for Memcheck, --malloc-fill=<hexnumber> and
--fill-free=<hexnumber>, which cause malloc'd(etc) and free'd(etc)
blocks to be filled with the specified value. This can apparently be
useful for shaking out hard-to-track-down memory corruption. The
definedness/addressability of said areas is not affected -- only the
contents. Documentation to follow.
Julian Seward [Fri, 30 Nov 2007 17:19:36 +0000 (17:19 +0000)]
Make the freed-block-queue volume metrics 64-bit throughout, to avoid
any wierdness on very large machines in the future. Also, double the
default size from 5MB to 10MB, on the basis that programs are now on
average twice as lardy as they were when it was set to 5MB, whenever
that was.
Julian Seward [Thu, 29 Nov 2007 03:06:25 +0000 (03:06 +0000)]
Don't be confused by archive (.a) files which contain both a 32-bit
and a 64-bit version of the same object (with the same name). Prior
to this, it would sometimes attempt to read debug info from the wrong
version of the object, complain that the magic number wasn't right,
and so end up reading nothing at all for that object.
Julian Seward [Tue, 27 Nov 2007 11:42:47 +0000 (11:42 +0000)]
Make Memcheck work sanely on AIX5.3 (again):
* Don't intercept putenv/getenv/setenv. Causes a lot of whinging
about missing TOC pointers.
* Add 'strcmp' to the bundle of 4 functions intercepted in all
objects.
* xlc now seems to route calls through to malloc_common, free_common,
calloc_common, realloc_common, memalign_common in libc. Intercept
those names too.
Add Massif bugs fixed by the rewrite. I added them to the top part of the
file, not the "after 3.2.3" section, I hope this is the right place for
them.
- Rewrote documentation.
- Added a new time unit, instructions executed, and made it the default -- it's
much more reproducible and consistent than milliseconds. Requires IRSB
instrumentation and so slows down some programs (malloc-light ones such as
bzip2) by about 20%, others by less.
- ms_print now doesn't overwrite the x-axis in the graphs.
- Added a test for --detailed-freq and --max-snapshots
Julian Seward [Sun, 25 Nov 2007 20:20:49 +0000 (20:20 +0000)]
Un-break 'make distdir'. Either by removing from EXTRA_DIST, file
names pertaining to tests which cannot be run (no associated .vgtest),
or by adding missing .stdout.exp files for tests which are to be run
(there is an associated .vgtest).
Julian Seward [Sun, 25 Nov 2007 00:55:11 +0000 (00:55 +0000)]
Create a new chapter in the Valgrind Manual: a chapter containing info
on some advanced aspects of the core (client requests, function
wrapping) and move stuff from the main core manual into it.
Julian Seward [Sat, 24 Nov 2007 23:37:07 +0000 (23:37 +0000)]
Attempt to shake out uses of uninitialised malloc'd memory by Valgrind
itself, if such exist. Attempt failed (or no such uses exist :-)
Commit does not change any code.