Commit Graph

167 Commits

Author SHA1 Message Date
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
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
fa7ee0dc5b Add an FAQ about attaching Valgrind to already-running programs.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8911
2009-01-06 05:54:45 +00:00
Julian Seward
5edaee8191 Bump the version stuff.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8875
2008-12-23 16:34:19 +00:00
Julian Seward
c7d583fcbd Minor updates for 3.4.0. Also fix a large number of missing <para>
and </para> tags.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8861
2008-12-22 01:00:15 +00:00
Nicholas Nethercote
18216143d9 Update an FAQ to account for --track-origins=yes.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8824
2008-12-13 22:27:05 +00:00
Dirk Mueller
706dd9fa67 ignore .valgrindrc files that are world writeable
or not owned by the current user (CVE-2008-4865)


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8798
2008-11-22 12:03:19 +00:00
Julian Seward
217f01f3e2 * add some assertions to frame-level wildcarding mechanism
* remove a couple of tabs

* clarify related documentation a bit



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8727
2008-11-04 11:29:19 +00:00
Julian Seward
279a7e01cf Update documentation on suppressions following addition of frame-level
wildcarding in suppressions (r8725).  Also clarify a couple of bits of
wording.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8726
2008-11-04 01:38:02 +00:00
Julian Seward
07ac95b348 Get rid of longstanding and now pointless restriction that disallowed
using --db-attach=yes and --trace-children=yes together.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8722
2008-10-30 13:26:29 +00:00
Julian Seward
a11c045d49 XML-ise exp-ptrcheck's documentation.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8702
2008-10-23 13:15:23 +00:00
Bart Van Assche
6e368a9f37 Renamed exp-drd directory into drd. Moved drd from the experimental tool class to the class of regular tools.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8361
2008-07-04 15:14:35 +00:00
Bart Van Assche
19747fa682 Added entry for DRD manual.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8238
2008-06-16 20:31:16 +00:00
Nicholas Nethercote
bb0819a3bb Fix a bug in Massif and Cachegrind, whereby if program's forked, the child
wrote into the parent's output file even if %p was specified.

Josef, I think Callgrind does not have this bug, but you might want to say
something about forking in the manual, as I have done for Massif and
Cachegrind.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8154
2008-05-29 23:09:52 +00:00
Julian Seward
112fc680c0 Update manual re number of suppression files allowed. See #161487.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8068
2008-05-14 06:43:10 +00:00
Nicholas Nethercote
8a2a6b99ce minor tweak
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7368
2008-02-03 22:35:21 +00:00
Julian Seward
4f282e99ce Improve handling of programs which require very large main thread
stacks.  Instead of hardwiring the main thread stack to a max of 16MB
and segfaulting the app beyond that point, allow the user to specify
the main stack size using the new flag --main-stacksize=<number>.

If said flag is not present, the current default, which is "MIN(16GB,
current ulimit -s value)", is used.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7302
2007-12-18 01:49:23 +00:00
Nicholas Nethercote
d17c45b9d1 Document flakiness of NON_SIMD_CALL* in comments and the manual.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7279
2007-12-05 21:51:50 +00:00
Julian Seward
2fc4ae0c18 - Remove extraneous 'o' (will be stored in svn server for possible
future use)

- Fix tag

- Fix long line which wraps around in html output



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7247
2007-11-28 01:55:29 +00:00
Nicholas Nethercote
5293c35183 Tweaked the tool-writing docs.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7237
2007-11-27 01:59:02 +00:00
Josef Weidendorfer
1752567fb4 callgrind: support for --callgrind-out-file
This removes the --base option, which is replaced by
--callgrind-out-file.
Plus manual update.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7235
2007-11-27 01:27:12 +00:00
Julian Seward
0993154060 Fix broken link.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7214
2007-11-25 14:09:26 +00:00