Commit Graph

461 Commits

Author SHA1 Message Date
Bart Van Assche
ff27022ed0 Added a script to the repository for generating a PowerPC cross compiler.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10879
2009-08-29 11:59:27 +00:00
Bart Van Assche
1bdac0e905 Updated expected output after r10874.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10875
2009-08-27 18:09:16 +00:00
Bart Van Assche
f291b29d30 Fixed a typo.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10874
2009-08-27 06:16:24 +00:00
Bart Van Assche
b3c9d22708 Added explicit constructor and destructor to class IncThread.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10843
2009-08-18 20:29:26 +00:00
Julian Seward
5b1edb07f6 When generating XML output for suppressions, print the suppression
both wrapped up in XML tags (as before) but also in plain text in a
sequence of CDATA blocks.  Normally only one, but in the worst case
the raw data will have ]]> in it, in which case it needs to be split
across two CDATA blocks.

This apparently simple change involved a lot of refactoring of the
suppression printing machinery:

* in the core-tool iface, change "print_extra_suppression_info" (which
  prints any auxiliary info) to "get_extra_suppression_info", which
  parks the text in a caller-supplied buffer.  Adjust tools to match.

* VG_(apply_StackTrace): accept a void* argument, which is passed to
  each invokation of the functional parameter (a poor man's closure
  implementation).

* move PRINTF_CHECK into put_tool_basics.h, where it should have been
  all along

* move private printf-into-an-XArray-of-character functions from
  m_debuginfo into m_xarray, and make them public

* gen_suppression itself: use all the above changes.  Basically we
  always generate the plaintext version into an XArray.  In text mode
  that's just printed.  In XML mode, we print the XMLery as before,
  but the plaintext version is dumped into a CDATA block too.

* update the Protocol 4 specification to match all this.

This still isn't 100% right in the sense that the CDATA block data
needs to be split across multiple blocks if it should ever contain the
CDATA end mark "]]>".  The Protocol 4 spec has this right even though
the implementation currently doesn't.

Fixes #191189.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10822
2009-08-15 22:41:51 +00:00
Bart Van Assche
fc81353aa2 Minor manual update.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10820
2009-08-15 13:31:41 +00:00
Bart Van Assche
80fdc5a9e9 - Made the ANNOTATE_RWLOCK_*() macros binary compatible with Helgrind.
- Added two additional regression tests.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10819
2009-08-15 10:50:35 +00:00
Bart Van Assche
3eb7d935d1 Made ANNOTATE_HAPPENS_BEFORE()/_AFTER() binary compatible with Helgrind.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10814
2009-08-14 13:25:38 +00:00
Bart Van Assche
abf69a6f30 Should compile again on Darwin.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10809
2009-08-14 10:19:26 +00:00
Bart Van Assche
7599be6bac Removed the tc20_verifywrap and tc20_verifywrap2 regression tests because their behavior depends too much on implementation details of libc.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10808
2009-08-14 06:53:06 +00:00
Bart Van Assche
f8433bbd9d Reverted r10802.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10807
2009-08-14 06:45:16 +00:00
Bart Van Assche
cd962ae854 More expected output updates because of r10783.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10803
2009-08-13 18:08:08 +00:00
Bart Van Assche
6d04c6fd8f Removed two regression tests because the output (number of errors) varied between runs.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10802
2009-08-13 14:30:55 +00:00
Bart Van Assche
ea3ccead52 Made behavior of tsan_unittest again identical to the original behavior.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10801
2009-08-13 14:12:49 +00:00
Bart Van Assche
7e42fd6653 Added test program for the ANNOTATE_IGNORE_WRITES_*() annotation
macro's.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10800
2009-08-13 09:30:57 +00:00
Bart Van Assche
a7a1f97503 Third and last type-punned pointer fix.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10797
2009-08-12 17:40:32 +00:00
Bart Van Assche
44432a5c42 Fixed more gcc warnings about type-punned pointers breaking strict
aliasing / reworked changes applied through previous commit.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10796
2009-08-12 14:56:01 +00:00
Bart Van Assche
2236b87798 Fixed compiler warnings triggered by annotate_rwlock.c
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10795
2009-08-12 13:30:55 +00:00
Bart Van Assche
5e1086e053 Fixed gcc warnings about type-punned pointers breaking strict aliasing.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10793
2009-08-12 12:52:23 +00:00
Bart Van Assche
fc111dbbc9 Added recently added regression test output files.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10791
2009-08-12 09:45:18 +00:00
Bart Van Assche
ecfd26301f Added expected output for glibc 2.10 (Fedora 11). The test tc20_verifywrap2 has to be reviewed -- the results of this test depend on glibc internals, which is not good.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10790
2009-08-12 09:44:43 +00:00
Bart Van Assche
a5b5859976 More expected output updates because of r10783.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10788
2009-08-12 08:21:13 +00:00
Bart Van Assche
684792c22d Modified annotate_ignore_rw test such that it now verifies that
ANNOTATE_IGNORE_READS_AND_WRITES_END() really works.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10787
2009-08-12 07:03:30 +00:00
Nicholas Nethercote
71694b3c20 Darwin .exp fixes following r10783.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10785
2009-08-12 00:32:44 +00:00
Nicholas Nethercote
86be4a7cf3 Update .exp files for r10783.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10784
2009-08-12 00:14:44 +00:00
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