Age | Commit message (Collapse) | Author | Files | Lines |
|
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7137 a5019735-40e9-0310-863c-91ae7b9d1cf9
|
|
different error kinds were reusing the same struct for storing their
details. Each one used some but not all the fields, and the AddrInfo was
similar, and it was very confusing.
So I changed MC_Error and AddrInfo to be tagged unions, like Vex's IRExpr and
IRStmt types. The resulting code is a little more verbose but much easier
to understand. I also split up several error kinds, which also made things
simpler. The user-visible behaviour is identical except for a couple of
very minor things that I've documented in the NEWS file for the 3.3.0
release.
Ideally I'd get rid of the Addr and Char* fields in the core Error type,
which are not always used, and do them similarly within tools. But that
would require changing the core/tool interface, so I'm leaving it for the
moment.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6402 a5019735-40e9-0310-863c-91ae7b9d1cf9
|
|
Mostly commented out the unused stuff relating to ThreadErrs and MutexErrs,
which no longer exist.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6399 a5019735-40e9-0310-863c-91ae7b9d1cf9
|
|
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6398 a5019735-40e9-0310-863c-91ae7b9d1cf9
|
|
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5946 a5019735-40e9-0310-863c-91ae7b9d1cf9
|
|
Memcheck, replacing the 9-bits-per-byte shadow memory representation to a
2-bits-per-byte representation (with possibly a little more on the side) by
taking advantage of the fact that extremely few memory bytes are partially
defined.
For the SPEC2k benchmarks with "test" inputs, this speeds up Memcheck by a
(geometric mean) factor of 1.20, and reduces the size of shadow memory by a
(geometric mean) factor of 4.26.
At the same time, Addrcheck is removed. It hadn't worked for quite some
time, and with these improvements in Memcheck its raisons-d'etre have
shrivelled so much that it's not worth the effort to keep around. Hooray!
Nb: this code hasn't been tested on PPC. If things go wrong, look first in
the fast stack-handling functions (eg. mc_new_mem_stack_160,
MC_(helperc_MAKE_STACK_UNINIT)).
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5791 a5019735-40e9-0310-863c-91ae7b9d1cf9
|
|
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4470 a5019735-40e9-0310-863c-91ae7b9d1cf9
|
|
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4469 a5019735-40e9-0310-863c-91ae7b9d1cf9
|
|
(I wrote this in a commit message the other day, but I'd actually
edited the generated default.supp file rather than the glibc-2.2.supp.)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4008 a5019735-40e9-0310-863c-91ae7b9d1cf9
|
|
This tries to shut it up a bit. This may not be a good fix.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3363 a5019735-40e9-0310-863c-91ae7b9d1cf9
|
|
overhaul of the thread support. Many things are now probably broken,
but at least with --tool=none, simple and not-so-simple threaded and
non-thread programs work.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3265 a5019735-40e9-0310-863c-91ae7b9d1cf9
|
|
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2880 a5019735-40e9-0310-863c-91ae7b9d1cf9
|
|
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2879 a5019735-40e9-0310-863c-91ae7b9d1cf9
|
|
work on more systems. The glibc 2.3 suppressions are already like this.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2498 a5019735-40e9-0310-863c-91ae7b9d1cf9
|
|
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2386 a5019735-40e9-0310-863c-91ae7b9d1cf9
|
|
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2279 a5019735-40e9-0310-863c-91ae7b9d1cf9
|
|
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2273 a5019735-40e9-0310-863c-91ae7b9d1cf9
|
|
choosing the longest symbol, choose the longest ignoring any of the libc
junk prefixes like __libc_, __, __GI_*, etc. This makes the symbol
presented to the user in messages and used in *.supp files more consistent
and comprehensible.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2114 a5019735-40e9-0310-863c-91ae7b9d1cf9
|
|
the places that normal users will see:
- command line: --tool=foo (although --skin=foo still works)
- docs: removed all traces (included renaming coregrind_skins.html to
coregrind_tools.html)
- in the usage messages
- in error messages
Also did in in some places that I judged were unlikely to cause clashes with
existing workspaces:
- in the header comments of many files (eg. "This file is part of Memcheck, a
Valgrind tool for...")
- in the regtests script
- in the .supp files
- in AUTHORS
- in README_MISSING_SYSCALL_OR_IOCTL
Also update the AUTHORS file to mention Jeremy.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2027 a5019735-40e9-0310-863c-91ae7b9d1cf9
|
|
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1677 a5019735-40e9-0310-863c-91ae7b9d1cf9
|
|
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1624 a5019735-40e9-0310-863c-91ae7b9d1cf9
|
|
MERGE TO STABLE
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1480 a5019735-40e9-0310-863c-91ae7b9d1cf9
|
|
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1383 a5019735-40e9-0310-863c-91ae7b9d1cf9
|
|
22-mutex-destroy-unlock:
It seems that glibc assumes in its internal use of pthreads that
destroying a lock implicity unlocks it. This patch handles this case
so that lock ownership tracking is accurate.
Also handles the case of the dyanmic linker wanting to do locking
before Valgrind has started up. vg_libpthread now implements toy
lock/unlock functions to keep it happy and leave the locks in a
sensible state. Implements some untested code to handle the case where
a lock is taken before Valgrind is running but released afterwards.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1297 a5019735-40e9-0310-863c-91ae7b9d1cf9
|
|
Add a suppression for R H 7.3 on i686.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1243 a5019735-40e9-0310-863c-91ae7b9d1cf9
|
|
skin_name1,skin_name2:supp_name
No spaces are allowed on either side of the comma.
This is useful for sharing suppressions between Addrcheck and Memcheck.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1205 a5019735-40e9-0310-863c-91ae7b9d1cf9
|
|
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1200 a5019735-40e9-0310-863c-91ae7b9d1cf9
|
|
memcheck:Addr4
Changed the `name' need of the memcheck skin from "valgrind" to "memcheck" for
this. But the name Valgrind will return when I print core and skin names in
the startup message.
One issue is that some skins share suppression types, eg. memcheck and
addrcheck. Might be useful to allow multi-skin suppressions, viz:
memcheck,addrcheck:Addr4
This won't be too hard to tack on, though.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1163 a5019735-40e9-0310-863c-91ae7b9d1cf9
|
|
Add as many suppressions as I reasonably can for SuSE 8.1. There's
still a lot of junk, but that can only be fixed by a more direct
tackling of gcc-3.2's bad habits.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1112 a5019735-40e9-0310-863c-91ae7b9d1cf9
|
|
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1086 a5019735-40e9-0310-863c-91ae7b9d1cf9
|
|
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@531 a5019735-40e9-0310-863c-91ae7b9d1cf9
|
|
so as to free memory allocated by glibc. This reduces the leaks reported
in glibc, but causes a stack of read/write-after-free errors which have
to be suppressed :-(
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@507 a5019735-40e9-0310-863c-91ae7b9d1cf9
|
|
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@505 a5019735-40e9-0310-863c-91ae7b9d1cf9
|
|
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@398 a5019735-40e9-0310-863c-91ae7b9d1cf9
|
|
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@396 a5019735-40e9-0310-863c-91ae7b9d1cf9
|
|
the pthread_* API.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@379 a5019735-40e9-0310-863c-91ae7b9d1cf9
|
|
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@280 a5019735-40e9-0310-863c-91ae7b9d1cf9
|
|
from the library specific supp files.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@45 a5019735-40e9-0310-863c-91ae7b9d1cf9
|