works right when compiled by gcc-4.1.0. Also add a new flag, -A, to
test all available instructions.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6405
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
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
auto*foo:
Makefile.am:110: variable `VEX_PRIMARY_SOURCES' is defined but no
program or
Makefile.am:110: library has `VEX_PRIMARY' as canonic name (possible
typo)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6384
the end of MC_(do_detect_memory_leaks). This causes various leak
regression tests to fail; will fix shortly.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6382
since the suppression-matching machinery does the same. Not doing so
causes auto-generated suppressions involving Z-mangled fn names to not
work.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6377
"User" errors; that is, errors resulting from client requests (check
memory range is addressible / defined).
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6374
involving this library easier to make sense of
- try to handle 'long double' better. The problem is that the
library needs to know how many bytes are written when a 'long double'
is stored, which is sometimes not the same as what sizeof(long double)
says.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6371
On Intel processors, CPUIDs cache parameter code 0x49 is
reused both for L2 and L3 parameters.
Thanks to Ulrich Drepper.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6369
in r6365 for cachegrind.
This needs 3 fixes (the 4th is ifdef'd out) for the
3 versions of the simulator in callgrind.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6367
client image) so it's less of an incomprehensible mess. Basically the
idea is to have two standard functions, VG_(ii_create_image) and
VG_(ii_finalise_image), which communicate using the structure types
IICreateImageInfo and IIFinaliseImageInfo. The types hold various
OS-specific bits of info. A nice side effect is that m_main is tidied
up somewhat.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6357
DW_CFA_set_loc, take into account any encoding info conveyed by the
augmentation string. See big comment in the code.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6356