4 Commits

Author SHA1 Message Date
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
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
Dirk Mueller
9ecbc853ae update suppression file
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6239
2006-10-16 17:18:01 +00:00
Dirk Mueller
4ecc0610b6 glibc 2.5 support. this is actually cheap so far,
given that the glibc 2.5 release tarball doesn't
have a 2.5 version - it is still labeled as 2.4.

However, I believe that they will eventually notice
this bug and fix it.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6210
2006-10-12 08:17:49 +00:00