Commit Graph

6826 Commits

Author SHA1 Message Date
Bart Van Assche
0f7984644a Removed obsolete function declaration.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9383
2009-03-12 17:47:23 +00:00
Bart Van Assche
89566c0694 Force thread scheduling order.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9382
2009-03-12 17:28:44 +00:00
Nicholas Nethercote
c57c87e1b1 Remove Helgrind .exp files which are out-of-date, because Helgrind's output
has changed since they were generated.  Also remove one
(tc23_bogus_condwait.stderr.exp-glibc25-x86) that was a duplicate.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9378
2009-03-12 05:58:05 +00:00
Nicholas Nethercote
e39c78cb35 Another filter_xml update.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9376
2009-03-12 05:50:51 +00:00
Nicholas Nethercote
091aee15fe Fix a .exp file.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9374
2009-03-12 05:20:46 +00:00
Nicholas Nethercote
190ad4143e - Removed leakotron. It was not a very useful test, and hard to make
portable.
- Rewrote leak-tree to be deterministic and clearer.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9372
2009-03-12 03:00:05 +00:00
Nicholas Nethercote
0e1eb4b6c9 A couple more VG_DMSG conversions.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9368
2009-03-12 00:07:35 +00:00
Nicholas Nethercote
5b758688bd Added some shortcuts for VG_(message)(), and used them in a few places (but
certainly not all).



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9367
2009-03-12 00:06:45 +00:00
Bart Van Assche
84b640cfd3 Force the order in which threads run.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9363
2009-03-11 19:13:34 +00:00
Bart Van Assche
085b0e7336 Added a comment that explains the purpose of the test program.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9362
2009-03-11 19:12:06 +00:00
Bart Van Assche
35dcaa5dbd Removed cross-tool dependency on helgrind/helgrind.h.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9361
2009-03-11 18:51:22 +00:00
Bart Van Assche
f8080bd125 Un-break 'make dist'.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9360
2009-03-11 18:30:59 +00:00
Bart Van Assche
ffad988a95 Reduced two expected output files to one for the test called atomic_var.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9359
2009-03-11 18:29:00 +00:00
Bart Van Assche
4afea227f6 Reverted to r8771. Please ignore the commit message of r9325.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9358
2009-03-11 11:09:35 +00:00
Nicholas Nethercote
1215cfe0d1 Another regtest fix for machines with debug info installed for libc.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9356
2009-03-11 06:12:59 +00:00
Nicholas Nethercote
0c4d4b5d1a Test fixes for systems that have debug info installed for libc and
libpthread.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9353
2009-03-10 23:39:12 +00:00
Nicholas Nethercote
39785f4f5d Make the leak-cases tests more robust.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9351
2009-03-10 23:08:02 +00:00
Nicholas Nethercote
6804f95a33 Tweaks to the 'nightly' script and docs.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9349
2009-03-10 22:33:29 +00:00
Nicholas Nethercote
47cc4b1a98 Fix an expected output for the recent large leak-checker rewrite.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9347
2009-03-10 22:30:44 +00:00
Nicholas Nethercote
2001629c3f Updated copyright years.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9344
2009-03-10 22:02:09 +00:00
Nicholas Nethercote
28084aaff9 Tweak the Memcheck manual, fixing bug #157154 in the process.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9341
2009-03-10 21:40:46 +00:00
Bart Van Assche
d9d43c3032 Added support for the VG_USERREQ__HG_CLEAN_MEMORY client request.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9340
2009-03-10 09:26:07 +00:00
Bart Van Assche
2f4734b795 Added DRD_(clean_memory)().
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9339
2009-03-10 09:25:32 +00:00
Bart Van Assche
9ab0d4001f Added DRD_(thread_address_on_any_stack)().
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9338
2009-03-10 09:22:13 +00:00
Bart Van Assche
5db5c21a04 Made sure that the tc19_shadowmem and tc24_nonzero_sem tests do something meaningful. Thanks to Nicholas for reporting this.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9337
2009-03-10 09:21:32 +00:00
Bart Van Assche
66a0470529 Added script filter_stderr_and_thread_no.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9336
2009-03-10 09:19:26 +00:00
Nicholas Nethercote
e928f54451 Change 'nightly' to print "(unchanged)" at the start of the email subject
line if the results are unchanged from 24 hours ago.  Makes it easier to see
(or filter) if results are unchanged.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9334
2009-03-10 03:38:05 +00:00
Nicholas Nethercote
1d75b1ac58 Some tweaks to make more tests pass, or get closer to passing, on
--enable-only32bit builds on my Ubuntu box:

- For all tests, replace all operator new/new[]/delete/delete[] variants
  with a common form, eg. "...operator new...".  This makes
  exp-ptrcheck/tests/ccc and memcheck/tests/mismatches pass.

- For Helgrind tests, replace all libpthread paths with "/...libpthread...",
  as is done for libc paths.  This avoids problems when /lib32/libpthread.so
  is the path.  No extra tests pass, but many of them get a lot closer to
  passing.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9333
2009-03-10 03:34:00 +00:00
Nicholas Nethercote
bafed25ae9 This commit completely overhauls the leak checker. In particular:
- It heavily refactors the code:  uses better names for things, splits up
  complex functions that behaved very differently depending on how they were
  called, removes some redundancies, and generally makes it much simpler and
  easier to follow.

- It adds lots of comments, both inline, and also a big explanatory one at
  the top which makes it clear exactly how the leak checker works and also
  exactly what is meant by definite, possible, and indirect leaks.  It also
  has some ideas for future improvements.

- All tabs have been converted to spaces.

It also improves the functionality:

- Previously if you did --leak-check=summary, indirect and suppressed
  blocks were counted as definite leaks.  Now they are done properly, and so
  the summary results from --leak-check=summary match those from
  --leak-check=yes.

- Previously, some possibly reachable blocks were miscategorised as
  definitely reachable, because only the pointer to the block itself was
  considered, not any preceding pointers in the chain.  This is now fixed.

- Added memcheck/tests/leak-cases, which fully tests all the possible
  combinations of directly/indirectly reachable and possibly/definitely
  reachable.

And it improves the manual quite a bit, and the FAQ a little bit.

This doesn't fix the leak checker to handle MALLOCLIKE_BLOCK works that have
been taken from within malloc'd blocks, but I think I know how to do it and
hope to do so in a subsequent commit.

It also changes all instances of "<constant>memcheck</constant>" in the
Memcheck manual to "Memcheck", for consistency and because "Memcheck" is
easier to write.  There's one similar case for DRD but I didn't change that.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9330
2009-03-09 22:52:24 +00:00
Tom Hughes
5df14931d9 Keep track of the svma and bias values for the debug data separately
as they may be different to those for other sections of the ELF file
if we have separated debug information and the main file has been
prelinked since they were split. Fixes bug #185816.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9329
2009-03-09 09:19:03 +00:00
Bart Van Assche
705d96dac4 Reverted last commit (r9326) -- its commit message did not make sense.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9328
2009-03-08 19:18:21 +00:00
Bart Van Assche
7e85b98bcc Added vgopts: --var-info=yes.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9327
2009-03-08 19:03:24 +00:00
Bart Van Assche
f21ce13492 Fixed another unintended data race.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9326
2009-03-08 19:02:59 +00:00
Bart Van Assche
17682cf1d8 Fixed an unintended data race in the bar_trivial test program.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9325
2009-03-08 18:58:06 +00:00
Nicholas Nethercote
344a003c5c Remove .exp64 files that are identical to their corresponding .exp files and
thus unnecessary.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9322
2009-03-06 02:58:12 +00:00
Bart Van Assche
2e2af4c91c - Added more comments.
- Removed DRD_() wrapper from around local functions and variables.
- Removed some obsolete code.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9320
2009-03-04 19:26:47 +00:00
Nicholas Nethercote
08da262266 Roll back accidental change that shouldn't have been in r9316.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9318
2009-03-04 04:28:34 +00:00
Nicholas Nethercote
f061fac766 This should have been added to the last commit.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9317
2009-03-04 04:18:33 +00:00
Nicholas Nethercote
4c23a0b3e9 tests/arch_test is currently being used for two purposes:
- by vg_regtest for determining if a directory name matches an architecture;
- by various .vgtest files for detecting x86/AMD64 features.

This commit splits it in two for the two different purposes, which makes
things clearer.

Specific changes

- Moved the x86/AMD64 feature detection stuff out of arch_test.c, and
  into the new x86_amd64_feature.c.  Updated the relevant .vgtest files for
  the change.

- In vg_regtest, now a prereq command must return 0 (prereq satisfied) or 1
  (prereq not satisfied).  Anything else makes vg_regtest abort.  This
  makes obvious any problems with prereq tests rather than just making the
  tests skip innocuously.  (We previously had exactly such a problem on the
  DARWIN branch;  the x86 feature detection tests caused segfaults so the
  tests were incorrectly skipped.  This change will catch any similar future
  problem.)

- Changed os_test from a script to a C program, matching cpu_test.

- Removed some unintentional darwin stuff from platform_test.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9316
2009-03-04 04:15:16 +00:00
Nicholas Nethercote
2bd30d545e Remove darwin code that crept into the trunk.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9314
2009-03-04 01:23:04 +00:00
Nicholas Nethercote
70150c5884 Use "status" as the argname for 'exit' and 'exit_group'.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9311
2009-03-03 05:39:23 +00:00
Nicholas Nethercote
e97076e0f3 Merge r9299..r9303 (various leak-check test fixes) from the DARWIN branch.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9304
2009-03-02 05:11:06 +00:00
Julian Seward
64b679b95b Get rid of the second argument ("PtrdiffT debug_offset") to
ML_(read_debuginfo_stabs) since it's always equal to di->text_bias.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9294
2009-02-28 21:23:11 +00:00
Nicholas Nethercote
74b7903711 Remove dead code relating to interface versions.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9289
2009-02-27 03:38:28 +00:00
Nicholas Nethercote
cc91604eb2 Merged r9287 (vgprintf fix) from the DARWIN branch.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9288
2009-02-27 03:23:42 +00:00
Nicholas Nethercote
b0d94067d7 Merge r9285 (match-overrun fixes) from the DARWIN branch.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9286
2009-02-26 22:38:42 +00:00
Nicholas Nethercote
c070233e77 Merge r9283 (lackey testing fixes) from the DARWIN branch.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9284
2009-02-26 22:26:45 +00:00
Nicholas Nethercote
9850e78e48 Make this pass on AIX (untested).
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9281
2009-02-26 22:09:53 +00:00
Nicholas Nethercote
fe2d771983 Clean up the diff -u test a little.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9279
2009-02-26 21:25:50 +00:00
Nicholas Nethercote
3bd63f485c Make the VKI_PAGE_SIZE conditional match that in m_vki.c.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9276
2009-02-26 21:17:39 +00:00