Commit Graph

4958 Commits

Author SHA1 Message Date
Julian Seward
e9b8a2cd36 64-bit followup to r6404: fix and simplify the inline assembly, so it
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
2006-12-16 14:25:04 +00:00
Julian Seward
6a8ac7c1e9 Fix and simplify the inline assembly, so it works right when compiled
by gcc-4.1.0.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6404
2006-12-16 05:00:38 +00:00
Julian Seward
f290b3f904 Fix version.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6403
2006-12-16 04:58:59 +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
52dfe4cb39 Remove defunct constant.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6401
2006-12-15 04:37:25 +00:00
Nicholas Nethercote
21dee9ebc3 Make VG_STREQ return True or False, rather than any integer.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6400
2006-12-14 03:29:18 +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
bd211db8f5 Include missing files in tarball.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6397
2006-12-13 14:35:03 +00:00
Julian Seward
dfa95416d2 Fix error in aix zeropage handling.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6396
2006-12-13 03:16:40 +00:00
Julian Seward
043bf89f2a Minor tidying for regtests on AIX.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6395
2006-12-12 01:38:15 +00:00
Julian Seward
b650be145e Fix various regtests, mostly by adding 64-bit outputs.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6394
2006-12-11 03:23:41 +00:00
Julian Seward
8961a73ab5 Update expected output.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6393
2006-12-11 02:19:16 +00:00
Julian Seward
1d56e9ddad On SuSE 10.1 (amd64) fd 4 seems to be open at process start. Close it
so as to get consistent test results.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6392
2006-12-11 01:12:18 +00:00
Julian Seward
52cf6ff843 Tidy fd-leak stuff a bit.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6391
2006-12-11 01:11:02 +00:00
Julian Seward
b0c6a889c2 Update a couple of expected outputs.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6390
2006-12-11 00:19:28 +00:00
Julian Seward
62d6f5c373 Fix 'make html-docs' and 'make print-docs'.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6389
2006-12-10 02:59:16 +00:00
Julian Seward
c9d6e1c3af Update.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6388
2006-12-10 02:58:27 +00:00
Julian Seward
508ef80b0d Fix installation of libmpiwrap.so on the primary platform.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6387
2006-12-10 02:26:50 +00:00
Julian Seward
99eb8260a2 Get rid of the use of explicit register variables in the ppc32-linux
magic macros.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6386
2006-12-08 21:29:46 +00:00
Dirk Mueller
1ef58269c7 rename as _SOURCES is a reserved keywoard and breaks with newer
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
2006-12-07 15:31:57 +00:00
Julian Seward
18f9d5c215 Update some expected outputs following r6382. There may be more ..
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6383
2006-12-06 18:53:07 +00:00
Julian Seward
80a670f93c Fix confusing and contradictory "Rerun with ..." messages printed at
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
2006-12-06 18:05:54 +00:00
Julian Seward
b6c6c4de07 Update.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6381
2006-12-06 17:39:16 +00:00
Julian Seward
abce15a799 Only read $HOME/.valgrindrc if HOME is actually set.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6380
2006-12-06 17:38:32 +00:00
Nicholas Nethercote
59cdea4c78 Add a regression test, courtesy of Bart Van Assche.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6379
2006-12-06 06:32:37 +00:00
Julian Seward
34a8fb5292 Fix suppression-matching bogon (Paul Floyd).
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6378
2006-12-06 03:36:24 +00:00
Julian Seward
771e4abcc9 When generating suppressions, remember to Z-demangle function names,
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
2006-12-06 03:35:38 +00:00
Julian Seward
5246f753ff When failing, fail a bit more informatively.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6376
2006-12-01 18:48:56 +00:00
Julian Seward
d1034ee415 When being an 'inner valgrind' on 64-bit platforms, ensure the stack
is allocated below the magic 32G mark as it would be normally.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6375
2006-12-01 02:35:02 +00:00
Julian Seward
7fe15db883 Make it possible to suppress, and auto-generate suppressions for,
"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
2006-11-28 00:15:35 +00:00
Nicholas Nethercote
8b2049f475 Update a comment.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6373
2006-11-26 22:49:58 +00:00
Nicholas Nethercote
2c3a6359bb Use the newly-added dopyIRBBExceptStmts() in tools.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6372
2006-11-25 22:38:11 +00:00
Julian Seward
cb4767c699 - remove some 'inline' directives so as to make stack backtraces
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
2006-11-24 15:18:15 +00:00
Julian Seward
68926403fa Fix compilation warning, and partially de-leak.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6370
2006-11-23 15:14:18 +00:00
Josef Weidendorfer
cbe9835fa9 Cachegrind/Callgrind: Fix cache parameter detection
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
2006-11-23 13:04:30 +00:00
Josef Weidendorfer
0ca7165fc1 Update
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6368
2006-11-22 21:07:10 +00:00
Josef Weidendorfer
39550a1d81 Fix same cache simulation bug in callgrind as fixed
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
2006-11-22 21:00:53 +00:00
Nicholas Nethercote
fa1430e87f Update.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6366
2006-11-22 11:41:07 +00:00
Nicholas Nethercote
38011f7248 Fix obscure bug in cache simulation, found by Ulrich Drepper.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6365
2006-11-22 11:38:07 +00:00
Nicholas Nethercote
eef723fbcc An extension of the previous commit: the vg_perf --tools option is so useful
that I got rid of the "tools:" line in the .vg_perf files.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6364
2006-11-22 00:52:00 +00:00
Nicholas Nethercote
7a2f3512f4 Add a useful --tools option to vg_perf, which lets you override the "tools"
line in the .vgperf files from the command line.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6363
2006-11-22 00:39:08 +00:00
Nicholas Nethercote
688b71e4a1 Clarify NON_SIMD_CALL instructions.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6362
2006-11-20 22:02:40 +00:00
Julian Seward
90f0ccef58 Update the statement of vex's amd64 register uses which was beginning
to look like a work of fiction.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6361
2006-11-19 01:36:44 +00:00
Julian Seward
86b6d06695 Regtest for #135421 (long-form encoding of 'push{l,w} %reg')
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6360
2006-11-18 23:00:23 +00:00
Julian Seward
4bcb6276b1 Minor tidying: make initial_client_SP be a mandatory field in struct
_IIFinaliseImageInfo.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6359
2006-11-18 14:32:30 +00:00
Julian Seward
47e5c2135a Update.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6358
2006-11-17 20:04:43 +00:00
Julian Seward
d4577533d1 Redo the interface to m_initimg (module for setting up the initial
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
2006-11-17 20:00:57 +00:00
Julian Seward
cf7e9dbc05 CFI reader: when decoding the single (address) argument to
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
2006-11-16 12:21:52 +00:00
Julian Seward
1b24f88e87 A test for JECXZ and JCXZ.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6355
2006-11-16 11:01:48 +00:00