38 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
Julian Seward
5e2a8da202 Spelling fixes and misc tidying for the manual. (Brian Gough)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7173
2007-11-17 09:43:25 +00:00
Nicholas Nethercote
c970063ea0 Add an FAQ.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6910
2007-09-25 22:05:04 +00:00
Julian Seward
b91b51b42b Merge (from 3.2 branch) r6743 (Edit the manual to bring it up to date
and make some of the wording a bit more professional sounding.)



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6745
2007-05-23 21:58:33 +00:00
Nicholas Nethercote
3234c4c688 Add a FAQ.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6326
2006-10-20 22:16:57 +00:00
Nicholas Nethercote
994ecb6cac Add a FAQ.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5831
2006-04-06 14:04:48 +00:00
Nicholas Nethercote
991367c922 Merge in the COMPVBITS branch to the trunk. This is a big change to
Memcheck, replacing the 9-bits-per-byte shadow memory representation to a
2-bits-per-byte representation (with possibly a little more on the side) by
taking advantage of the fact that extremely few memory bytes are partially
defined.

For the SPEC2k benchmarks with "test" inputs, this speeds up Memcheck by a
(geometric mean) factor of 1.20, and reduces the size of shadow memory by a
(geometric mean) factor of 4.26.

At the same time, Addrcheck is removed.  It hadn't worked for quite some
time, and with these improvements in Memcheck its raisons-d'etre have
shrivelled so much that it's not worth the effort to keep around.  Hooray!

Nb: this code hasn't been tested on PPC.  If things go wrong, look first in
the fast stack-handling functions (eg. mc_new_mem_stack_160,
MC_(helperc_MAKE_STACK_UNINIT)).


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5791
2006-03-27 11:37:07 +00:00
Nicholas Nethercote
a375c52a0c update
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5380
2005-12-19 19:38:02 +00:00
Nicholas Nethercote
a86ed4ea7d clarify
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5280
2005-12-04 19:26:00 +00:00
Donna Robinson
e53a6fba14 The valgrind manpage is now auto-generated directly from the
*.xml docs.  No more groffly/nroffly editing.
How cool is docbook ?



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5276
2005-12-03 22:33:29 +00:00
Donna Robinson
9718e2344e mc-tech-docs.xml
- removed ref to cachegrind.org

vg-html-website.xsl
vg-html-chunk.xsl
- common stuff stripped out, and placed in
  vg-html-common.xsl

vg-entities.xml
- added 2 more website url entities to replace hard-coded urls
  in FAQ.xml



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5240
2005-11-27 18:19:40 +00:00
Donna Robinson
c2aa0a5eea Post-release changes:
- removed a reference to cachegrind dot org from mc-tech-docs.xml
- in an effort to simplify future borked links, replaced all valgrind 
  website urls with entities so now we just have to change one string.
- new stylesheet to create the docs to 'fit' into the website
- added build rules 'make website-docs' + make download-docs
  to /docs/Makefile.am




git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5239
2005-11-27 04:10:00 +00:00
Donna Robinson
2022dbf52c Due to package upgrades (docbook, passivetex), removed some
bug-patches and created some new ones in the stylesheets.
Also tweaked some files to structure the xml properly.
The FAQ and the Quick-Start are now 'articles' inside a book-wrapper,
which is as it should be.

FAQ.xml
- due to various passivetex bug fixes, the faq is now a properly 
  structured xml qandaset document

quick-start-guide.xml:
manual.xml
- Fixed some passivetex-workaround kludges:
  legalnotice -> author

manual-core.xml:
For readability, added '<command>' to varlistentry items 
since passivetex (sigh) will no longer indent the para text.

index.xml:
- loads of white-space readability tweaks here and there.

tech-docs.xml
dist-docs.xml
manual.xml
- additional entries to <bookinfo> for compatability with
  the rest of the docs.

/docs/Makefile.am
- added stuff to use the new vg-faq2txt.xsl stylesheet

/docs/lib/Makefile.am
- updated to reflect current contents of /docs/lib/
- removed refs to vg-html-single as is never ever used

/docs/lib/vg-fo.xsl
- massively updated to reflect losing old bugs and gaining new ones

/docs/lib/vg-common.xsl
- deleted as only contained two lines common to html and fo,
  so not worth the bother of hauling around

/docs/lib/vg-html-chunk.xsl
- added what was in vg-common.xsl

/docs/lib/line-wrap.xsl
/docs/lib/faq2text.xsl
- two new stylesheet files for transforming FAQ.xml to FAQ.txt



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5234
2005-11-25 05:36:48 +00:00
Donna Robinson
569b58b383 Few more doc tweaks for consistency's sake
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5205
2005-11-19 03:28:10 +00:00
Julian Seward
d07dbe4a52 Complete documentation trawl for 3.1.0.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5137
2005-11-15 20:56:23 +00:00
Nicholas Nethercote
6c502dc6b3 Clarify FAQ and Java and JITs.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4884
2005-10-06 19:30:40 +00:00
Nicholas Nethercote
97e0595797 Added an FAQ about Java.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4883
2005-10-06 18:58:33 +00:00
Nicholas Nethercote
e41c7abfe2 Commit Jeroen Witmond's xml-to-text translator, and use it for the FAQ.
Less double maintenance, hoorah!



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4830
2005-09-30 01:43:32 +00:00
Nicholas Nethercote
3499945a8b Fix broken links in the manual. Bug #113190.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4778
2005-09-26 01:11:40 +00:00
Nicholas Nethercote
d713ed9cc9 Fix XML bugs in the FAQ.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4528
2005-08-26 21:01:32 +00:00
Donna Robinson
ec68ded51c Minor tweaks to get the FAQ on one page, per nick's request
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4315
2005-08-03 20:28:33 +00:00
Nicholas Nethercote
3ae4d1a0ab A cleanup of the redirection stuff.
- Renamed VG_INTERCEPT as VG_REPLACE_FUNCTION to make its purpose
  clearer.

- Renamed VG_WRAPPER as VG_NOTIFY_ON_LOAD to make its purpose cleare.
  Started calling that stuff "load notification".

- Moved various things into m_redir.c, a much more sensible place for
  them.  This reduced the number of exported functions overall.  Renamed
  intercept_demangle() as Z_decode() as part of this.

- Improved the documentation of this stuff, especially in
  pub_core_redir.c.

- Got --run-libc-freeres=yes working again.  It was doing nothing.

- Renamed vg_inject.so as vg_preload_core.so to match
  vg_preload_<tool>.so

- Renamed vg_intercept.c as vg_preloaded.c.  (I kept the "vg_" prefix
  because this filename can appear in stack traces, so the "vg_" is a
  useful hint for users that it belongs to Valgrind.)

- Removed all the Memcheck-specific calls to add_redirect_sym_to_sym()
  from VG_(setup_redirect_table)(), instead using VG_REPLACE_FUNCTION in
  mac_replace_strmem.c, just like vg_replace_malloc.c.  This is the
  right way to do it.  This required moving some of
  coregrind/pub_core_redir.h into the newly added
  include/pub_tool_redir.h.  add_redirect_sym_to_sym() is no longer
  used...

- Now only handing off symbols to m_redir for inspection/decoding after
  they have been deemed to be interesting by the symbol table reader.

- Factored out commonality between the add_redirect_*_to_* functions
  into add_redirect_X_to_X().

- Added "Zh", meaning '-' ('h' for "hyphen"), to the Z-decoding scheme,
  to handle sonames like "ld-linux-x86-64.so.2".

- Added a FAQ explaining the newly found issue of glibc aliasing 
  sometimes causing the wrong function name to appear in stack traces.

- Added a new regtest strchr.c.  It's possible this will fail on some
  platforms.  If so, an alternative output file can be provided, but
  I'd like to see it in practice first.

It's possible that there will be minor breakage on other
platforms/setups, but it should be minimal and easily fixable.

Plus some ordinary cleanups in symtab.c:

- Removed the old optimisation from VG_(addStr)() whereby it kept track
  of the previous 5 added strings and avoiding duplicating any of them.
  Turns out it was barely having any effect any more, and just
  complicated things.

- Made read_symtab() more readable, by introducing a new variable
  "sym_name" and introducing the auxiliary function
  is_symbol_interesting().

- renamed the module variable 'segInfo' as 'segInfo_list' to make it
  more obvious it's a module variable and not just some ordinary local
  variable (which was an easy mistake to make).

-----------------------------------------------------------------------------

XXX: [later] remove add_redirect_sym_to_sym, and everything related to
     X_to_sym?  (ie. only need X_to_addr)

XXX: better function names?  all those 'resolved' names...
     [later...]




git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3916
2005-06-16 03:56:58 +00:00
Nicholas Nethercote
09cb7d57d1 Add note to FAQ about unloaded shared objects and leak errors.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3719
2005-05-15 14:49:24 +00:00
Nicholas Nethercote
0ed704cb75 Update FAQ about GLIBCXX_FORCE_NEW name-change.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3678
2005-05-12 13:45:56 +00:00
Nicholas Nethercote
d1017a6cd9 Fix two typos.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3531
2005-04-16 14:58:34 +00:00
Nicholas Nethercote
1a0b185acf Remove an out-of-date FAQ, putting the still-relevant part in another
question.  Man, double maintenance sucks.  And when/how does the website FAQ
get updated...?



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3465
2005-03-27 17:05:08 +00:00
Nicholas Nethercote
eed8fe1fb2 Remove now-unnecessary FAQ. (Was removed from the text FAQ.txt a while
ago.)


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3273
2005-03-11 04:38:00 +00:00
Nicholas Nethercote
b03e168042 Remove now-irrelevant FAQ.
(This change went into the text FAQ.txt a while ago.)



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3272
2005-03-11 04:36:46 +00:00
Nicholas Nethercote
7a75a9f583 Overhauled the docs. Removed all the HTML files, put in XML files as
converted by Donna.  Hooked it into the build system so they are only
built when specifically asked for, and when doing "make dist".

They're not perfect;  in particular, there are the following problems:
- The plain-text FAQ should be built from FAQ.xml, but this is not
  currently done.  (The text FAQ has been left in for now.)

- The PS/PDF building doesn't work -- it fails with an incomprehensible
  error message which I haven't yet deciphered.

Nonetheless, I'm putting it in so others can see it.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3153
2004-11-30 10:43:45 +00:00