38 Commits

Author SHA1 Message Date
Julian Seward
543f58ba79 Remove old Helgrind suppressions.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7137
2007-11-10 20:12:23 +00:00
Nicholas Nethercote
d162731a2c Completely overhauled the internals of Memcheck's error handling. All the
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
2006-12-16 00:54:12 +00:00
Nicholas Nethercote
033e3bd4e9 Removed the unused pthread_model and thread_model modules.
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
2006-12-14 02:55:58 +00:00
Nicholas Nethercote
b1ca5a2804 Remove some very old and incorrect info in the headers.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6398
2006-12-14 00:28:50 +00:00
Julian Seward
7bf13821e5 Back to the past: another Red Hat 7.3 suppression.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5946
2006-05-27 22:38:45 +00:00
Nicholas Nethercote
991367c922 Merge in the COMPVBITS branch to the trunk. This is a big change to
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
2006-03-27 11:37:07 +00:00
Tom Hughes
13f151db13 Suppress memory leaks from the linuxthread manager thread. Bug #111006.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4470
2005-08-20 12:05:32 +00:00
Tom Hughes
5cbc902c9f Add suppressions for some glibc 2.2 linuxthreads issues. Bug #111006.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4469
2005-08-20 11:46:57 +00:00
Nicholas Nethercote
f3b8c7430e Broaden a couple of suppressions so vgtest_ume passes on my machine.
(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
2005-06-24 03:26:54 +00:00
Julian Seward
8bf2c0926e Memcheck complains a lot at glibc-2.2.5 startup, for unclear reasons.
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
2005-03-15 03:00:46 +00:00
Julian Seward
0356d27ca6 Merge in changes from the 2.4.0 line. This basically brings in the
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
2005-03-10 23:59:00 +00:00
Tom Hughes
641597f8a5 Add some more data race suppressions for glibc 2.2.5.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2880
2004-10-31 10:13:18 +00:00
Tom Hughes
7b725714a1 Suppress data race in glibc 2.2.4.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2879
2004-10-30 20:39:10 +00:00
Tom Hughes
fa35e1a33c Make the _dl_relocate_object suppressions more general so that they
work on more systems. The glibc 2.3 suppressions are already like this.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2498
2004-07-17 14:16:03 +00:00
Nicholas Nethercote
71f39d90cc Fix supps for Valgrind's own libpthread leak.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2386
2004-04-25 12:02:31 +00:00
Tom Hughes
6548f1f733 Added some extra suppressions for glibc 2.2.5 on RedHat 7.3 systems.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2279
2004-02-29 13:00:51 +00:00
Dirk Mueller
18e5d09422 adding suppressions for Redhat 7.2, patch by Tom Hughes
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2273
2004-02-28 21:21:46 +00:00
Jeremy Fitzhardinge
e77d4b8d7e When merging multiple symbols with the same address, rather than always
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
2003-12-15 09:00:21 +00:00
Nicholas Nethercote
fb2d543ee8 Started to rescind the name "skin", replacing it with "tool". Did this in all
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
2003-11-14 17:47:54 +00:00
Nicholas Nethercote
36bbb35307 Added support for Value16 and Addr16 error suppressions.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1677
2003-06-12 09:58:41 +00:00
Nicholas Nethercote
b4894b2b23 Added a suppression for a leak in Valgrind's own libpthread.so :(
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1624
2003-05-08 07:53:52 +00:00
Julian Seward
698324554f Suppressions for SuSE 8.2.
MERGE TO STABLE


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1480
2003-03-16 10:55:06 +00:00
Julian Seward
a5596cae39 Suppressions for R H 8.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1383
2002-12-15 23:09:24 +00:00
Julian Seward
0cefc40a95 Merge patch from JeremyF:
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
2002-11-13 21:57:52 +00:00
Julian Seward
e6e71496fa merge rev 1.8.2.2:
Add a suppression for R H 7.3 on i686.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1243
2002-10-20 16:27:43 +00:00
Nicholas Nethercote
28823c33b3 Added support for multi-skin suppressions, of the form:
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
2002-10-07 14:42:59 +00:00
Julian Seward
f75a03682d Make suppressions work again after I messed with skin names. Sigh.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1200
2002-10-05 16:49:09 +00:00
Nicholas Nethercote
8bffd600d5 Qualifying suppression types with the skin name, like this:
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
2002-10-02 11:02:27 +00:00
Julian Seward
c97cab7c06 merge rev 1.8.2.1:
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
2002-09-27 00:58:10 +00:00
Nicholas Nethercote
afebe61b37 Files updated, added and removed in order to turn the ERASER branch into HEAD
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1086
2002-09-23 09:36:25 +00:00
Julian Seward
7b636956df Suppressions for R H Limbo (7.3.92)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@531
2002-07-25 02:21:53 +00:00
Julian Seward
67a4c735a2 At request of Ulrich Drepper, call __libc_freeres() after final __NR_exit
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
2002-07-16 01:43:15 +00:00
Julian Seward
30b5f40529 Suppress errors in __rawmemchr when called from anywhere at all.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@505
2002-07-14 13:04:38 +00:00
Julian Seward
8c8a705e02 More RH73 suppressions.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@398
2002-06-07 00:29:39 +00:00
Julian Seward
f3447878ca Add pthread suppressions.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@396
2002-06-06 09:02:11 +00:00
Julian Seward
a487ef1ce7 A new kind of error: PThread errors. Used to report detected misuse in
the pthread_* API.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@379
2002-06-04 22:54:20 +00:00
Julian Seward
b92b014633 Fix this for RH 7.3.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@280
2002-05-16 20:57:26 +00:00
Frédéric Gobry
8185e4582f splitted the suppression files so that default.supp can be created by picking
from the library specific supp files.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@45
2002-04-04 09:18:39 +00:00