89 Commits

Author SHA1 Message Date
Donna Robinson
9888e86b06 Tidying up stuff re generating manpage from *.xml docs
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5277
2005-12-03 23:02:33 +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
81d6ed4433 Minor doc tweaks, mostly white space
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5201
2005-11-18 22:09:58 +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
Julian Seward
57e70cee23 Get rid of old flags that memcheck no longer has.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5039
2005-11-08 14:10:24 +00:00
Julian Seward
7f31b1528f memcheck: make --partial-loads-ok=yes work again, but now make it
the non-default (it's a hack after all).


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5035
2005-11-08 02:25:37 +00:00
Julian Seward
5be669c562 In the spirit of other changes over the past month aimed at supporting
monster-sized programs better, increase the default freelist volume
from 1M to 5M.  Maybe even that is too small.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4954
2005-10-20 00:31:31 +00:00
Nicholas Nethercote
39589630bf minor fixes (probably not worth backporting)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4434
2005-08-16 03:42:44 +00:00
Nicholas Nethercote
233a1fc175 How do you like this: there was no proper description in the manual
of leak error messages, nor any examples.  So I added one, and moved
what info there was about leaks out of its separate section, and into
the section describing all the kinds of error message.

BACKPORT TO 3_0_X



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4427
2005-08-16 02:20:17 +00:00
Nicholas Nethercote
b329702e3b A few minor manual updates.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4419
2005-08-15 04:26:13 +00:00
Nicholas Nethercote
63f82da63d fix breakage/wibbles
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4261
2005-07-25 23:30:24 +00:00
Nicholas Nethercote
a269d9cb78 Clean up command-line args info in the manual and man page for 3.0.0
release.  



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4259
2005-07-25 23:18:44 +00:00
Nicholas Nethercote
1f14543221 Update docs for 3.0.0 release. Still to do: update command line options.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4246
2005-07-25 00:12:19 +00:00
Nicholas Nethercote
93634bbe44 Add note about justified pedantry of overlap checking.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4174
2005-07-19 00:48:55 +00:00
Donna Robinson
23523d0ca9 Added some more targets to the docs.
Removed 'the' from 'the default' in 'parial' opt to be consistent
Added opt info for --avoid-strlen-errors (was missing)


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4017
2005-06-25 14:43:05 +00:00
Donna Robinson
b655e45a8e argh! there were loads of the little beggars ....
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3999
2005-06-23 00:17:51 +00:00
Nicholas Nethercote
b2f4f4cba0 Get "make dist" closer to working again.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3946
2005-06-19 05:43:21 +00:00
Donna Robinson
ff4eb2863e mc-tech-docs.xml:
- fixed link to comply with house-style
mc-manual.xml:
- rm'd unhelpful sentence + it's footnote
quick-start-guide.xml:
- fixed up some section ids + xreflabels 
  so we don't get cool filenames like 'bk01s02.html'.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3898
2005-06-12 10:23:23 +00:00
Nicholas Nethercote
6c7e08a8f5 Documentation update. This should bring the core of the documentation
up to date with reality.  Please give this a proofread.

I ran out of steam at memcheck/docs/mc_techdocs.html, which is even more
hopelessly out of date.  I will note that cacheprof.org is some kind of
dental insurance company now...

MERGED, PAINFULLY, FROM CVS HEAD



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3321
2005-03-12 22:14:42 +00:00
Nicholas Nethercote
71525a2d57 Updated docs with all the changes that I'm aware of that happened since
Donna converted them to XML.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3173
2004-12-01 00:02:36 +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
Nicholas Nethercote
398ce0c269 Cleanups, mostly for the baseBlock removal.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3095
2004-11-24 16:43:43 +00:00
Nicholas Nethercote
196e8dfd25 Removed the now-defunct files vg_from_ucode.c and vg_to_ucode.c.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3073
2004-11-22 21:23:08 +00:00
Nicholas Nethercote
b55751404f Improved Memcheck's error checking messages in two significant ways:
- All memory-related errors are now clear whether they are caused by
  unaddressable or uninitialised memory.  (Previously, writes were
  clearly addressability errors, but reads could be either.)  Mostly
  done by replacing the 'isWrite' field in MAC_Error with 'isUnaddr'.
  Also, mc_check_readable() now indicates not just if an error occurred,
  but what kind of error (ie. addressability or definedness).

- Put machinery into place in the core to inform tools when registers
  are being read by the core -- ie. a 'pre_reg_read' event.  Most
  notably, this facilitates syscall scalar arg definedness checking for
  Memcheck.  Currently this is only working for read(), write(), exit()
  and exit_group(), but it will be extended as the syscalls are
  overhauled as part of the arch-abstraction work.

  A consequence of this is that the ParamErr messages have changed.  This:

    Syscall param write(buf) contains uninitialised byte(s)

  now means that the pointer 'buf' is partially undefined.  If the memory
  pointed to by 'buf' is partially undefined or unaddressable, it says one of:

    Syscall param write(buf) points to uninitialised byte(s)
    Syscall param write(buf) points to unaddressable byte(s)

  The docs have been updated accordingly.

  I also added a couple of regression tests.

These two change sare notable for being the first improvements to
Memcheck's checking/errors in a long time.

I also folded mc_clientreqs.c into mc_main.c, which saves exporting a
whole bunch of things that are not used anywhere else.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2949
2004-11-08 19:20:09 +00:00
Nicholas Nethercote
c4cf15dc21 Arch-abstraction:
- Added include/x86-linux/ and include/linux/ subdirectories, with Makefile.am
  files.

- Overhauled the definitions of kernel types.  include/vg_kerneliface.h is now
  three files, include/linux/vki.h, include/x86-linux/vki_arch.h, and
  include/x86-linux/vki_arch_posixtypes.h.  These files separate the
  common/Linux and x86/Linux parts cleanly.  All code is copied verbatim from
  the relevant kernel headers, except that VKI_/vki_ prefixes are added as
  necessary to distinguish them from glibc types.  (This is done consistently,
  unlike previously when some types did not have the prefixes.)

  All code is clearly marked to show which particular header file it came from,
  and the Linux version used.  (I used 2.6.8.1, the most recent stable release,
  for all of them.)

  A few of the types changed;  this is because they changed between the older
  versions of Linux and the current 2.6.8.1.  I checked that all these changes
  were ok with respect to backwards compatibility for our purposes.

- vg_unsafe.h has been removed;  we are no longer including any kernel headers,
  as we have our own copies for everything.  This is because installed kernel
  headers are not reliable, and often cause compilation problems. (bug
  #92420 is a recent example)

- Removed some no-longer-needed header-presence tests from configure.in.

- Some code in the rest of Valgrind was changed to account for some slight
  changes in the names of our VKI_/vki_ kernel constants and types.

- Updated README_MISSING_SYSCALL_OR_IOCTL accordingly.

- Fixed off-by-one error with VKI_GDT_ENTRY_TLS_MAX (merged from stable branch)

The end result is that the kernel types situation should be much clearer, and
similar files can be created relatively easily for other architectures as
necessary.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2884
2004-10-31 18:48:21 +00:00
Tom Hughes
86ffb724c2 Remove reference to --tool=memcheck being the default.
CCMAIL: 90086-done@bugs.kde.org


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2729
2004-10-06 12:25:49 +00:00
Nicholas Nethercote
4a8d89cfdc Fix grammar
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2708
2004-09-13 11:18:13 +00:00
Nicholas Nethercote
3a59d9013f Update docs for filename change.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2652
2004-09-02 15:50:29 +00:00
Nicholas Nethercote
0db27515b1 Putting "dist_" in front of a "_DATA" variable means it is included in "make
dist".  This avoids the need to put it in "EXTRA_DIST", and saves a few lines
in all the docs Makefile.am files.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2614
2004-08-25 11:40:07 +00:00
Nicholas Nethercote
07b8e3438b Updated copyright dates for 2004. Also added a couple of missing headers and
footers to some new files.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2177
2004-01-04 16:43:23 +00:00
Nicholas Nethercote
18564d3066 Remove out-of-date limitations from tech docs.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2073
2003-11-30 17:41:45 +00:00
Nicholas Nethercote
d6d804d382 Updated all "report bugs to..." messages to point to valgrind.kde.org; also
updated the docs to refer to valgrind.kde.org instead of the old website.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2055
2003-11-20 16:20:55 +00:00
Nicholas Nethercote
fb2d543ee8 Started to rescind the name "skin", replacing it with "tool". Did this in all
the places that normal users will see:

  - command line: --tool=foo (although --skin=foo still works)
  - docs: removed all traces (included renaming coregrind_skins.html to
    coregrind_tools.html)
  - in the usage messages
  - in error messages

Also did in in some places that I judged were unlikely to cause clashes with
existing workspaces:

  - in the header comments of many files (eg. "This file is part of Memcheck, a
    Valgrind tool for...")
  - in the regtests script
  - in the .supp files
  - in AUTHORS
  - in README_MISSING_SYSCALL_OR_IOCTL

Also update the AUTHORS file to mention Jeremy.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2027
2003-11-14 17:47:54 +00:00
Nicholas Nethercote
4877ebb17e Moved the MALLOCLIKE and FREELIKE client requests out of memcheck.h, and into
valgrind.h.  Although these requests are not implemented by the core, they can
be implemented by skins that track heap blocks, eg. Memcheck, Annelid, Massif.
This is in preparation for committing Massif to the repository.

I think I managed to make the change in a binary-compatible way.  The only
inconvenience for users is that if they have a client program compiled with the
old requests in, Valgrind will abort with an explanatory message that tells
them to recompile.  Once they've done that (no changes to their program are
required), it works again.

I even updated the docs.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1881
2003-10-02 13:44:04 +00:00
Nicholas Nethercote
24b34c91c8 Fixed up the client request info in the docs, which required splitting the core
requests from the Memcheck requests and putting the descriptions in the
appropriate parts of the docs.

Removed the __VALGRIND_SOME_SKIN_H test -- it was designed to prevent people
#including valgrind.h when they probably want memcheck.h, but it's actually a
reasonable thing to do to #include valgrind.h alone, because there are some
requests in valgrind.h.

Removed references to VALGRIND_MAKE_NOACCESS_STACK from the docs, as it doesn't
exist in the implementation.

Fixed a few other minor things.

MERGE TO STABLE


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1880
2003-10-02 13:25:02 +00:00
Dirk Mueller
60f7936600 typo
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1829
2003-09-23 19:07:16 +00:00
Dirk Mueller
faf02201e5 spelling fixes
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1715
2003-07-04 16:18:15 +00:00
Nicholas Nethercote
36bbb35307 Added support for Value16 and Addr16 error suppressions.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1677
2003-06-12 09:58:41 +00:00
Nicholas Nethercote
5d5fbb5309 Fixed up docs a bit: did the core/skin split properly for suppressions.
Client requests still need to be fixed, though.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1647
2003-05-20 18:24:54 +00:00
Nicholas Nethercote
8c22ec62d9 Made memcpy()-et-al-overlap errors fully fledged errors, suppressible,
recordable, etc.  Thanks to Tom Hughes <thh@cyberscience.com> for the patch.

Also fixed a minor bug in the reporting -- the src/dst pointers given for
strncat(), strcpy(), strcat().

And I updated the relevent regression test.

And I even added relevant documentation.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1582
2003-05-02 17:24:29 +00:00
Nicholas Nethercote
ac7027c441 Updated copyright notices for 2003. Only 4 months late.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1526
2003-04-15 14:58:06 +00:00
Nicholas Nethercote
3cc0c8f8fa Minor HTML fixes in docs, thanks to Arnaud Desitter.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1522
2003-04-08 11:08:45 +00:00
Nicholas Nethercote
594c7fc446 This commit moves some skin-specific stuff out of core, and generally
neatens other things up.

Also, it adds the --gen-suppressions option for automatically generating
suppressions for each error.

Note that it changes the core/skin interface:
SK_(dup_extra_and_update)() is replaced by SK_(update_extra)(), and
SK_(get_error_name)() and SK_(print_extra_suppression_info)() are added.


-----------------------------------------------------------------------------
details
-----------------------------------------------------------------------------
Removed ac_common.c -- it just #included another .c file;  moved the
#include into ac_main.c.

Introduced "mac_" prefixes for files shared between Addrcheck and Memcheck,
to make it clearer which code is shared.  Also using a "MAC_" prefix for
functions and variables and types that are shared.  Addrcheck doesn't see
the "MC_" prefix at all.

Factored out almost-identical mc_describe_addr() and describe_addr()
(AddrCheck's version) into MAC_(describe_addr)().

Got rid of the "pp_ExeContext" closure passed to SK_(pp_SkinError)(), it
wasn't really necessary.

Introduced MAC_(pp_shared_SkinError)() for the error printing code shared by
Addrcheck and Memcheck.  Fixed some bogus stuff in Addrcheck error messages
about "uninitialised bytes" (there because of an imperfect conversion from
Memcheck).

Moved the leak checker out of core (vg_memory.c), into mac_leakcheck.c.
 - This meant the hacky way of recording Leak errors, which was different to
   normal errors, could be changed to something better:  introduced a
   function VG_(unique_error)(), which unlike VG_(maybe_record_error)() just
   prints the error (unless suppressed) but doesn't record it.  Used for
   leaks;  a much better solution all round as it allowed me to remove a lot
   of almost-identical code from leak handling (is_suppressible_leak(),
   leaksupp_matches_callers()).

 - As part of this, changed the horrible SK_(dup_extra_and_update) into the
   slightly less horrible SK_(update_extra), which returns the size of the
   `extra' part for the core to duplicate.

 - Also renamed it from VG_(generic_detect_memory_leaks)() to
   MAC_(do_detect_memory_leaks).  In making the code nicer w.r.t suppressions
   and error reporting, I tied it a bit more closely to Memcheck/Addrcheck,
   and got rid of some of the args.  It's not really "generic" any more, but
   then it never really was.  (This could be undone, but there doesn't seem
   to be much point.)

STREQ and STREQN were #defined in several places, and in two different ways.
Made global macros VG_STREQ, VG_CLO_STREQ and VG_CLO_STREQN in vg_skin.h.

Added the --gen-suppressions code.  This required adding the functions
SK_(get_error_name)() and SK_(print_extra_suppression_info)() for skins that
use the error handling need.

Added documentation for --gen-suppressions, and fixed some other minor document
problems.

Various other minor related changes too.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1517
2003-04-08 00:08:52 +00:00
Julian Seward
d720203edd Fix up the documentation to be just about OK for version 2.0.
MERGE TO STABLE


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1461
2003-03-16 01:12:16 +00:00
Julian Seward
0f6cf30022 Restructure the documentation to try and make it hang together better.
Majorly improved.  Still a lot to do, but the structure is better.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1324
2002-11-18 00:07:28 +00:00
Julian Seward
5fd0ef7ca3 Just call me Mr Brain-Dead Moron. Move the documentation sources to
where I _should_ have put them in the first place, and fix up the
Makefile.am's accordingly.  'make' and 'make install' now work.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1292
2002-11-13 21:24:57 +00:00
Julian Seward
50040b9ebc Delete all the old documentation ...
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1283
2002-11-11 00:11:22 +00:00
Julian Seward
e6f9adbd38 merge rev 1.35.2.6:
Change the capitalisation of Reuben's Mite.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1237
2002-10-16 19:41:41 +00:00
Julian Seward
9ea62d1526 Incorporate horrible hack to workaround problem of emitting bogus
uninit-value errors on code with inlined strlen() et al from gcc-3.1
and above.

MERGE TO STABLE


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1213
2002-10-13 00:57:26 +00:00
Nicholas Nethercote
ae9433672d Removed cachegrind docs (now in cachegrind/docs/)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1097
2002-09-23 13:13:45 +00:00