188 Commits

Author SHA1 Message Date
Julian Seward
b43eec1219 Documentation update for 3.6.0 (not including NEWS).
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11440
2010-10-13 21:47:29 +00:00
Julian Seward
32dd8e857c Add documentation for exp-dhat.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11438
2010-10-13 14:06:00 +00:00
Julian Seward
1375448f10 Make the --prefix-to-strip=... command-line option added in r11312
behave more like the original proposal in #245535.  This makes it
more flexible and general.  Also rename it.

* new name is --fullpath-after=

* allow multiple instances of --fullpath-after=

* don't require the specified strings to be prefixes, only substrings

But retain the elegant backwards-compatibility trick in Bart's r11312
commit: if --fullpath-after= is not specified at all, then behave
exactly as before.

Fixes #245535.  A mixture of patches from Bart Van Assche
(bart.vanassche@gmail.com), Alexander Potapenko (glider@google.com),
and me (integration and documentation).



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11430
2010-10-12 00:44:05 +00:00
Julian Seward
e28bd2b90e Un-break the docs build on Ubuntu 10.04 (Loïc Minier, lool@dooz.org).
Fixes #232509.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11351
2010-09-10 14:56:18 +00:00
Bart Van Assche
35eece7dd5 Added command-line option --prefix-to-strip=... Closes #245535.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11312
2010-08-31 15:18:32 +00:00
Bart Van Assche
b2c54dc273 Spelling fix.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11294
2010-08-27 10:01:32 +00:00
Bart Van Assche
8122b2aaef Added new memcheck command-line option --show-possibly-lost. Closes #201170.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11292
2010-08-26 10:56:27 +00:00
Nicholas Nethercote
f801f7b5d7 Make -h -h be equivalent to --help-debug.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11211
2010-07-06 04:25:12 +00:00
Julian Seward
2e6b7655d1 New flag --require-text-symbol=:sopatt:fnpatt, to be used to check
that specified shared objects contain specified symbols.  Along with a
couple of regtests that unfortunately will fail on MacOSX.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11125
2010-05-09 22:30:43 +00:00
Julian Seward
426c137045 New flag: --trace-children-skip=patt1,patt2,etc
Specifies a comma-separated list of executable-names
(with "*" and "?" wildcards allowed) that should not be traced into
even when --trace-children=yes.  Modified version of a patch
from Bill Hoffman.  Fixes #148932.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10927
2009-11-05 08:55:13 +00:00
Julian Seward
950461c895 Finalise 3.5.0.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10846
2009-08-19 11:38:54 +00:00
Julian Seward
f511ab0234 Bump version.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10833
2009-08-16 23:01:41 +00:00
Julian Seward
d5b1173d7b Minor changes w.r.t. --read-var-info=, threading support, and
supported glibc versions.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10830
2009-08-16 22:49:53 +00:00
Nicholas Nethercote
4ff6260a88 Remove bad explanations of mempool requests from the core manual, just point
to the Memcheck chapter.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10761
2009-08-10 01:43:20 +00:00
Nicholas Nethercote
0ea383e6b3 Be consistent in the naming of sections describing command-line options.
Also, use "option" rather than "flag" where possible, for consistency.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10758
2009-08-10 01:15:30 +00:00
Nicholas Nethercote
0db63a66bf Remove some cross-references that are broken in the man pages because they
only include a subset of the User Manual.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10757
2009-08-10 00:42:43 +00:00
Nicholas Nethercote
6fcbcab519 Add a manpage for cg_annotate. Now only valgrind-listener and cg_merge lack
a manpage, and they're so simple I can't be bothered doing ones for them
(they don't even have sections in the manual).

Also fixed a few minor things relating to manpages.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10744
2009-08-07 07:56:20 +00:00
Nicholas Nethercote
a5bcb4c0dd - Documented callgrind_{annotate,control} in the Callgrind manual chapter
and created man pages for them.  Renamed the XML files in the process for
  consistency.

- Inlined cg-entities.xml into vg-entities.xml.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10742
2009-08-07 07:44:31 +00:00
Nicholas Nethercote
e06f6f7164 Manpage improvements:
- Added a manpage for ms_print.

- Added docs/xml/manpages-index.xml, which is just used as a convenient
  single file to hang all the man pages off so they can be generated in a
  single command.

- Added facility whereby manpage generation will attempt to find the
  stylesheet in multiple places.  This means I don't have to constantly edit
  XSL_MAN_STYLE to build manpages on my machine.

- Changed vg-docs-path to start with $INSTALL instead of /usr/, because we
  can't assume that's the installation dir.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10740
2009-08-07 06:54:44 +00:00
Nicholas Nethercote
53ad023160 Remove a broken Cachegrind link, and include some extra DRD options.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10738
2009-08-07 06:08:51 +00:00
Nicholas Nethercote
56c2654c04 Overhauled the how-to-write-a-new-tool chapter.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10734
2009-08-07 04:55:15 +00:00
Nicholas Nethercote
c1a82c95fb Overhaul design+implementation chapter.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10733
2009-08-07 04:07:20 +00:00
Nicholas Nethercote
41876dfd59 Went over the FAQ. Also tweaked vg-entities.xml a bit.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10732
2009-08-07 02:58:11 +00:00
Nicholas Nethercote
48152e7a48 Overhaul the BBV manual chapter, mostly. Also tweak BBV's usage message to
match the docs better.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10724
2009-08-05 23:59:05 +00:00
Nicholas Nethercote
3514eb673b Various docs build tweaks:
- Remove roadmap.txt, as we haven't used it for a while and Bugzilla does it
  better.

- Inline docs/{internals,images,xml,lib}/Makefile.am into docs/Makefile.am,
  because they're very simple.  Fewer Makefile.am files is good.

- Remove the dead docs/images/massif*.png files and all references to them.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10720
2009-08-05 07:39:45 +00:00
Nicholas Nethercote
daa35cac73 Various clean-ups, mostly in chapter 3.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10705
2009-08-04 05:24:46 +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
fa2605d672 This wasn't supposed to be part of r10701.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10702
2009-08-04 01:16:57 +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
Nicholas Nethercote
5dfe01a847 With the recent VG_(message) change,
VALGRIND_{PRINTF,PRINTF_BACKTRACE,INTERNAL_PRINTF} were no longer appending
newlines.  This meant that --trace-malloc=yes spewed everything onto a
single line, among other things.

Rather than adding the newline back in, I chose to offically change their
behaviour to not add the newlines, as this is more flexible (and the reason
for the underlying VG_(message) change).  I updated all the relevant places
I could find.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10694
2009-08-03 01:38:56 +00:00
Nicholas Nethercote
45d3f87ab0 Man page fix.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10664
2009-07-30 04:27:26 +00:00
Nicholas Nethercote
669ec46d93 Remove lots of boilerplate text (tool descriptions) that tends to get out of
date from the man page.

Make the man page match the ordering in the user manual.

Put Nulgrind last in the user manual.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10662
2009-07-30 04:22:09 +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
a3fe17b34b Print the command being run at startup. It wraps to avoid going over 80
chars wide whenever possible.  Finishes off bug 197933.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10657
2009-07-29 23:34:49 +00:00
Nicholas Nethercote
d146644f30 Don't include "how to write a tool" in the user manual -- it's in the tech
docs, and the chapter/section numbering doesn't match the rest of the
numbering in the user manual.

Also change some of the names of the links in that file to match the
filename.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10653
2009-07-29 03:34:56 +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
0547c57052 Fixed spelling.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10486
2009-07-19 08:16:30 +00:00
Bart Van Assche
f7ac5b6425 Fixed spelling.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10485
2009-07-19 08:12:57 +00:00
Julian Seward
d3740f941f Merge docs/ changes from branches/MESSAGING_TIDYUP r10464.
See trunk r10465 commit message for details.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10477
2009-07-15 14:52:52 +00:00
Nicholas Nethercote
9c040c96bf Add exp-bbv to the tool-suite. I'm seeing a couple of amd64-linux test
failures, but they can be fixed up in-repo.  This resolves bug 198395.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10444
2009-07-14 01:39:54 +00:00
Nicholas Nethercote
b05a2a18d7 This commit merges the BUILD_TWEAKS branch onto the trunk. It has the
following improvements:

- Arch/OS/platform-specific files are now included/excluded via the
  preprocessor, rather than via the build system.  This is more consistent
  (we use the pre-processor for small arch/OS/platform-specific chunks
  within files) and makes the build system much simpler, as the sources for
  all programs are the same on all platforms.

- Vast amounts of cut+paste Makefile.am code has been factored out.  If a
  new platform is implemented, you need to add 11 extra Makefile.am lines.
  Previously it was over 100 lines.

- Vex has been autotoolised.  Dependency checking now works in Vex (no more
  incomplete builds).  Parallel builds now also work.  --with-vex no longer
  works;  it's little use and a pain to support.  VEX/Makefile is still in
  the Vex repository and gets overwritten at configure-time;  it should
  probably be renamed Makefile-gcc to avoid possible problems, such as
  accidentally committing a generated Makefile.  There's a bunch of hacky
  copying to deal with the fact that autotools don't handle same-named files
  in different directories.  Julian plans to rename the files to avoid this
  problem.

- Various small Makefile.am things have been made more standard automake
  style, eg. the use of pkginclude/pkglib prefixes instead of rolling our
  own.

- The existing five top-level Makefile.am include files have been
  consolidated into three.

- Most Makefile.am files now are structured more clearly, with comment
  headers separating sections, declarations relating to the same things next
  to each other, better spacing and layout, etc.

- Removed the unused exp-ptrcheck/tests/x86 directory.

- Renamed some XML files.

- Factored out some duplicated dSYM handling code.

- Split auxprogs/ into auxprogs/ and mpi/, which allowed the resulting
  Makefile.am files to be much more standard.

- Cleaned up m_coredump by merging a bunch of files that had been
  overzealously separated.

The net result is 630 fewer lines of Makefile.am code, or 897 if you exclude
the added Makefile.vex.am, or 997 once the hacky file copying for Vex is
removed.  And the build system is much simpler.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10364
2009-06-24 00:37:09 +00:00
Nicholas Nethercote
c019d97d9d Get rid of ACKNOWLEDGEMENTS, because it overlaps hugely with AUTHORS.
Improve AUTHORS a bit at the same time.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10309
2009-06-12 07:38:24 +00:00
Nicholas Nethercote
99f13531ec Remove references to the now-defunct INSTALL file.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10271
2009-06-06 21:54:59 +00:00
Nicholas Nethercote
455137340c Add descriptions of DRD and Ptrcheck in the manual intro. Bart, Julian,
please change these if you don't like what I've written, and merge the
changes to the 3.4.X branch.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10215
2009-06-02 23:20:40 +00:00
Julian Seward
b106f25f23 Document --auto-run-dsymutil flag.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10174
2009-05-31 09:34:05 +00:00
Nicholas Nethercote
7f0f76c228 Fix some broken XML tags.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9901
2009-05-18 23:03:52 +00:00
Nicholas Nethercote
96609c3972 Fix the installation instructions in the manual.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9559
2009-04-16 00:40:02 +00:00
Nicholas Nethercote
74b33a87de Made the Valgrind abort/crash message clearer about the fact that it can be
caused by heap corruption by the client.  Also clarified the FAQ about this.

Also updated the FAQ about decoding failures a little.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9556
2009-04-16 00:33:20 +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
Nicholas Nethercote
44b3b49c52 Fix an XML error spotted by Bart.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9218
2009-02-22 22:25:31 +00:00