Commit Graph

436 Commits

Author SHA1 Message Date
Bart Van Assche
6a68dfd48d Added regression test for ANNOTATE_IGNORE_READS_AND_WRITES_BEGIN() and
ANNOTATE_IGNORE_READS_AND_WRITES_END().


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10779
2009-08-11 15:00:54 +00:00
Nicholas Nethercote
643cc753ae add a missing script
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10772
2009-08-11 00:18:31 +00:00
Nicholas Nethercote
8ecd57ded4 Remove unnecessary #includes.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10766
2009-08-10 07:47:43 +00:00
Nicholas Nethercote
aeae3a302c wibble
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10760
2009-08-10 01:34:27 +00:00
Nicholas Nethercote
4e495edf4a Make "option" terminology consistent some more. Also tweaked the mempool
Memcheck section a little.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10759
2009-08-10 01:29:14 +00:00
Julian Seward
8ffe2fdefa Tidy up of messaging:
* For all tools and the core, don't show statistics when -v is in
  effect.  Instead, try to restrict -v to mostly user-useful
  stuff.

* A new flag --stats=no|yes [no] produces statistics output instead.

* Fix longstanding problem in that Memcheck's leak checker ran after
  the core's error manager module shut down, thereby not showing use
  counts of leak suppressions.  This fixes #186790.

* As a consequence, the leak checker text output of Memcheck has
  changed a bit -- leak check is done before the final error
  summary is done (much more logical), and the output has been
  tidied up a bit.

* Helgrind, Drd and Ptrcheck now also print "For counts of
  detected and suppressed errors, rerun with: -v", which makes
  them consistent with Memcheck in this regard.  These are
  filtered out by the regtest filter scripts.

For all tools except Memcheck, the regtests are unchanged.  On
Memcheck regtests still fail due to rearrangements of the leak
checker output.  This will be fixed by a followup commit.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10746
2009-08-07 15:46:56 +00:00
Bart Van Assche
dc6bc62d13 Updated DRD's to do list.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10743
2009-08-07 07:49:36 +00:00
Bart Van Assche
b4ae217683 Updated after r10688.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10739
2009-08-07 06:47:52 +00:00
Nicholas Nethercote
ec5c7aa4e5 Minor formatting and grammar changes to the DRD manual chapter, to make it
consistent with the rest of the documentation.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10735
2009-08-07 05:23:31 +00:00
Nicholas Nethercote
dbcea71779 More docs build tweaks:
- Actually remove the dead docs/images/massif*.png files (this was meant to
  happen in r10720).

- Inline $TOOL/docs/Makefile.am into $TOOL/Makefile.am for all 10 tools.  10
  fewer Makefile.am files FTW!


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10721
2009-08-05 08:08:18 +00:00
Nicholas Nethercote
8026c4766f Various option-related tweaks:
- Match the ordering of the non-tool-specific options in the usage message
  with the order in the user manual.  As a result, we now always print
  --alignment and --trace-malloc in the core's usage messages, which saves
  malloc-replacing tools from doing it themselves (and brings it in line
  with options that only apply to error-collecting tools).

- Improved the presentation of the Vex options with --help-debug.

- Removed documentation of -d in the manual because it's a debugging-only flag.

- Documented --read-var-info in the manual.  This fixes bug 201169.

- Renamed --auto-run-dsymutil as --dsymutil and documented it in the usage
  message.

- Fixed an XML error in manual-core-adv.xml.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10703
2009-08-04 02:32:55 +00:00
Nicholas Nethercote
d5b384f852 Various manual fix-ups:
- Use "heap blocks" rather than "malloc'd blocks" as heap blocks covers
  calloc, realloc, new, new[], memalign, etc.

- Used "GDB" and "GCC" throughout rather than "gcc" and "gdb".

- Made various tag uses more consistent.

- Greatly clarified the instructions on --xml=yes and its friends.

- Lots of other little improvements and fixes to out-of-date things and
  Linux-centric things, mostly in Section 2.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10701
2009-08-04 01:16:01 +00:00
Bart Van Assche
d05f228d57 Reverted to r10509.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10683
2009-07-31 19:00:05 +00:00
Bart Van Assche
f342398b6f Added an output variant for the pth_cancel_locked regression test.
Apparently when canceling a thread waiting inside pthread_cond_wait()
on Linux the specified mutex is left unlocked while on Darwin the
mutex specified in the pthread_cond_wait() call is reacquired before
the thread is terminated.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10682
2009-07-31 18:49:29 +00:00
Bart Van Assche
e42e9fb0e2 Report mutex errors for each different mutex even if the call stacks are identical.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10681
2009-07-31 18:45:49 +00:00
Bart Van Assche
dd123bf150 Builds again on Darwin.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10680
2009-07-31 17:59:28 +00:00
Bart Van Assche
22baa8bb07 Implemented a more systematic approach for intercepting POSIX threads
functions: for each function name to intercept, intercept the function
name itself, the function name with @* appended (versioned symbols on
Linux) and the function name with $* appended (versioned symbols on
Darwin). Updated filter_stderr such that symbol versions are removed.
Updated the expected output files that contain names of intercepted
functions.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10679
2009-07-31 17:31:44 +00:00
Julian Seward
d7ed7f6a13 (almost completely just function renaming):
* VG_(find_seginfo): incrementally rearrange the DebugInfo list, like
  most of the other list-searching functions do.

* rename all VG_(*seginfo*) functions exported from m_debuginfo to
  VG_(*DebugInfo*).  "seginfo" was a historical name which was mostly
  but not completely, done away with some time back.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10678
2009-07-31 09:41:29 +00:00
Bart Van Assche
f4fcc00330 Only consider two error contexts as equivalent if the contexts have another
type than "data race error" or if both data race error contexts refer to the
same access type and the same access size.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10675
2009-07-31 08:45:02 +00:00
Bart Van Assche
fd574c0b25 Report an error message instead of triggering an assertion failure when a non-existing thread ID is passed to pthread_join() or pthread_cancel().
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10674
2009-07-31 08:26:17 +00:00
Nicholas Nethercote
ac7761261a We currently use a mix of <option> and <computeroutput> tags for command
line options.  This commit changes them to all <option>.

Also make consistent how options with multiple names (eg. -h --help) are
shown.

Also, remove section describing --help and --version in Callgrind's chapter;
these aren't necessary and are presumably a hangover from when Callgrind was
a separate tool.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10659
2009-07-30 02:57:52 +00:00
Nicholas Nethercote
78b2e5c83e Started overhauling the documentation:
- There were detailed descriptions of all the tools in the Quick Start
  Guide, the Manual introduction, and the start of each tool chapter.  To
  avoid duplication/overlap, I removed these altogether from the Quick Start
  Guide, and shortened them in the intro.

- Improved the description of what errors Memcheck can find.

- Made all tool chapters start with "Overview" section, for consistency.

- Made the "run with --tool=XXX" bit consistent in each tool chapter.

- Made all tool chapter titles match the description given when running them.

- Added BBV to the User Manual intro.

- Generally clarified, updated, and future-proofed various bits of text in
  the Quick Start Guide and User Manual introduction. 

Also:
- Changed Nulgrind's start-up description to "the minimal Valgrind tool".

- Fixed some punctuation in the usage message.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10652
2009-07-29 02:36:21 +00:00
Bart Van Assche
7277e0aae0 Reran SPLASH-2 benchmark.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10649
2009-07-28 12:54:47 +00:00
Bart Van Assche
226db063ff Updated gcc version from 4.4.0 to 4.4.1.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10647
2009-07-28 08:01:40 +00:00
Bart Van Assche
ae27414328 Follow-up of r10638 and r10639: explained in the manual that DRD is now
able to perform rwlock type checking.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10640
2009-07-27 17:43:39 +00:00
Bart Van Assche
568200aa4a - Added more rwlock type checking.
- The rwlock_type_checking test should now no longer trigger a sporadic
  deadlock.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10639
2009-07-27 17:02:52 +00:00
Bart Van Assche
df0bcd77a8 Implemented type checking for reader-writer synchronization
objects: complain upon attempts to use a POSIX rwlock where a
user-defined rwlock is expected and vice versa.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10638
2009-07-27 16:03:51 +00:00
Bart Van Assche
c4a898250e Removed -q from the Valgrind options for the bar_bad and bar_trivial tests.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10636
2009-07-27 14:37:24 +00:00
Bart Van Assche
4854264dfa - Moved printing the thread number to the function that prints the
preamble.
- Matching suppression types with error contexts does now work properly.
- Cleanup: added more comments, renamed some functions, removed an unused
  function argument.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10634
2009-07-27 14:17:33 +00:00
Bart Van Assche
3770e93570 Made the error reporting behavior of DRD similar to that of other
Valgrind tools: if the same kind of error has been detected a second
time with an identical call stack, count it as an error but do not print
it a second time. The total number of detected errors remains unchanged
but the number of error contexts is now reported correctly.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10633
2009-07-27 14:04:46 +00:00
Bart Van Assche
fb1b7c8a7e Updated expected output of tc23_bogus_condwait for Darwin because the test program has been modified (r10623).
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10631
2009-07-27 08:30:52 +00:00
Bart Van Assche
9bbe7e3f20 Re-enabled the regression tests tc17_sembar and tc23_bogus_condwait for DRD on Darwin.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10630
2009-07-27 08:29:29 +00:00
Bart Van Assche
6073c6f851 Fixed typo.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10618
2009-07-26 16:21:00 +00:00
Bart Van Assche
1512511f11 Updated manual because of the new client request DRD_STOP_IGNORING_VAR().
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10617
2009-07-26 15:58:25 +00:00
Bart Van Assche
8235a379dd Suppress data race reports for the data race triggered by Darwin's pthread_once() implementation such that the pth_once test also passes on Darwin.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10616
2009-07-26 15:55:48 +00:00
Bart Van Assche
5b7cbb23e0 Added the macro DRD_STOP_IGNORING_VAR().
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10615
2009-07-26 15:46:47 +00:00
Bart Van Assche
ca91965fcb Should have been included in the previous commit (r10612).
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10613
2009-07-26 15:39:57 +00:00
Bart Van Assche
b347a9de7c Added regression test for pth_once().
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10612
2009-07-26 15:27:27 +00:00
Bart Van Assche
d41e7bcdaf Added regression test for %o (octal) format specifier.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10610
2009-07-26 09:16:56 +00:00
Bart Van Assche
0b293063de Made the semaphore name independent of the process ID.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10609
2009-07-26 09:16:29 +00:00
Bart Van Assche
fe099060e0 Trace the oflag parameter of sem_open() in hexadecimal format instead of decimal.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10608
2009-07-26 09:15:55 +00:00
Bart Van Assche
945f25de9d Updated drd/tests/omp_printf:
- Added command-line options -i and -t to the omp_printf test program.
- Modified the OpenMP directive such that this test program no longer
  triggers a data race on the loop variable 'i'.
- Increased number of iterations and number of threads used during the
  test.
- Changed error filtering from filter_error_summary to filter_stderr.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10607
2009-07-26 09:04:42 +00:00
Bart Van Assche
a0f1a0b56f Removed code that has been commented out recently.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10606
2009-07-26 08:48:49 +00:00
Bart Van Assche
6265c05b39 Display sem_open() mode in octal format instead of hexadecimal format.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10605
2009-07-26 08:40:51 +00:00
Bart Van Assche
f2a3a9901c DRD is no longer considered experimental on Darwin.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10603
2009-07-25 14:03:53 +00:00
Bart Van Assche
2c471edbb0 Updated testing instructions.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10601
2009-07-25 13:57:43 +00:00
Bart Van Assche
63a3fca401 Fixed an assertion failure that was triggered on Darwin by calling malloc_zone_realloc().
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10600
2009-07-25 13:28:24 +00:00
Bart Van Assche
60c7035beb Fixed bug in DRD's rwlock implementation that caused the regression test called rwlock_test to fail sometimes on Darwin. The fact that this test only failed on Darwin and not on Linux implies that on Linux after unlocking an rwlock that was locked for writing there always happens a context switch to another thread waiting for acquiring the rwlock, and that this is not the case on Darwin.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10598
2009-07-25 11:15:03 +00:00
Bart Van Assche
d6cc7becb2 Print an easy-to-understand message in case the client program tries to create more threads than what is currently supported by DRD.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10593
2009-07-24 11:11:30 +00:00
Bart Van Assche
ca485f98eb rwlock_test: added more internal error checking.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10592
2009-07-24 11:10:05 +00:00