614 Commits

Author SHA1 Message Date
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
7c5dac3dcf Install all the new man pages. Include them in 'make dist' too (even if
BUILD_ALL_DOCS is false;  we've built them anyway).  Delete them with 'make
distclean' too (and FAQ.txt).


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10745
2009-08-07 08:31:58 +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
3334850c3c Update. Fortunately it's gotten a little simpler.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10741
2009-08-07 07:31:15 +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
12e1a2d601 Minor update.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10727
2009-08-06 01:26:14 +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
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
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
Julian Seward
226b8930d9 Update.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10585
2009-07-24 08:22:35 +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
Julian Seward
41a528f671 Update oprofiling notes a bit.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10393
2009-07-01 08:12:22 +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
07045477ca Merge the DARWIN branch onto the trunk.
I tried using 'svn merge' to do the merge but it did a terrible job and
there were bazillions of conflicts.  So instead I just took the diff between
the branch and trunk  at r10155, applied the diff to the trunk, 'svn add'ed
the added files (no files needed to be 'svn remove'd) and committed.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10156
2009-05-28 01:53:07 +00:00
Nicholas Nethercote
585caf2169 Add some info about building the docs on Ubuntu 9.04.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9903
2009-05-18 23:11:49 +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
Julian Seward
720956c6b5 Add a list of bugs reported since 3.4.1 was released. 50 new bug
reports in 60 days.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9649
2009-04-27 21:07:30 +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
e0af9ef621 Merge r9431 (remove old Darwin docs) from the DARWIN branch.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9432
2009-03-16 04:34:41 +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
Nicholas Nethercote
108768ee98 Merge r9175 (don't run inappropriate OS- and platform-specific tests) from
the DARWIN branch.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9176
2009-02-16 00:42:10 +00:00
Nicholas Nethercote
a8c9970a34 Cleaned up the mess that was the treatment of "below main" functions such as
'__libc_start_main', in Massif, m_debuginfo and m_stacktrace.  As part of
this, --show-below-main is now visible to tools, and Massif pays attention
to it.

Improved the description of --show-below-main=yes in the manual.

Replaced some instances of "__libc_start_main" in the test *.exp files with
"(below main)", which is what will actually be seen.  Also updated
scalar.stderr.exp*, which should make it get closer to actually passing.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9131
2009-02-10 06:48:00 +00:00
Nicholas Nethercote
ed322feb84 Rename all the arch/OS/platform-related variables in configure.in to make it
clearer what they mean:
- They all have VGCONF_ prefixes now, to indicate they come out of
  configure.in (and are clearly distinguished from the VGA_/VGO_/VGP_
  #defines passed in to C files).
- The ones that refer to the primary *or* secondary platform have _INCLUDES_
  in them.
- The ones that are in all-caps have a _CAPS suffix.

So, for example, what was VGP_X86_LINUX is now
VGCONF_PLATFORMS_INCLUDE_X86_LINUX, which is more verbose but also a lot
clearer.  The names of the #defines used in the C files (VGA_x86, VGO_linux,
etc) are unchanged.

cputest.c: changed to reflect the Valgrind installation's capabilities,
rather than the machine's capabilities.  In particular, if
--enable-only32bit is used on a 64-bit machine, then this program will claim
to only support 32-bits.  Also use the VGA/VGO/VGP macros which are clearer
than the __i386__ ones.  (This is partially merged from the DARWIN branch.)

configure.in: clean up the comments, distinguish different sections more
clearly, and generally make it more readable.

valgrind.pc.in: try to make this more accurate.  I doubt anyone's using it.
It doesn't appear to be set up to handle dual-architecture builds.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9031
2009-01-22 21:56:32 +00:00