Added basic docs for Helgrind, Lackey, CoreCheck.

Minor wibbles in AUTHORS.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1170 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/AUTHORS b/AUTHORS
index 5940d60..13a7041 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -2,12 +2,12 @@
 Julian Seward, jseward@acm.org, is the main author.
 
 Nicholas Nethercote, njn25@cam.ac.uk, did the core/skin
-generalisation, and wrote Cachegrind.
+generalisation, and wrote Cachegrind and some of the other skins.
 
 readelf's dwarf2 source line reader, written by Nick Clifton, was
 modified to be used in Valgrind by Daniel Berlin.
 
-Michael Matz and Simon Hausmann modified in the GNU binutils
+Michael Matz and Simon Hausmann modified the GNU binutils
 demangler(s) for use in Valgrind.
 
 Dirk Mueller contrib'd the malloc-free mismatch checking stuff.
diff --git a/configure.in b/configure.in
index f34b3dd..107d8df 100644
--- a/configure.in
+++ b/configure.in
@@ -312,8 +312,11 @@
    cachegrind/docs/Makefile
    corecheck/Makefile
    corecheck/tests/Makefile
+   corecheck/docs/Makefile
    helgrind/Makefile
+   helgrind/docs/Makefile
    lackey/Makefile
+   lackey/docs/Makefile
    none/Makefile
    none/tests/Makefile
    none/docs/Makefile
diff --git a/corecheck/Makefile.am b/corecheck/Makefile.am
index d4cb7c3..40d0356 100644
--- a/corecheck/Makefile.am
+++ b/corecheck/Makefile.am
@@ -1,5 +1,5 @@
 
-SUBDIRS = . tests
+SUBDIRS = . tests docs
 
 CFLAGS = $(WERROR) -DVG_LIBDIR="\"$(libdir)"\" \
 		-Winline -Wall -Wshadow -O -fomit-frame-pointer @PREFERRED_STACK_BOUNDARY@ -g
diff --git a/corecheck/docs/.cvsignore b/corecheck/docs/.cvsignore
new file mode 100644
index 0000000..3dda729
--- /dev/null
+++ b/corecheck/docs/.cvsignore
@@ -0,0 +1,2 @@
+Makefile.in
+Makefile
diff --git a/corecheck/docs/Makefile.am b/corecheck/docs/Makefile.am
new file mode 100644
index 0000000..39b9008
--- /dev/null
+++ b/corecheck/docs/Makefile.am
@@ -0,0 +1,5 @@
+docdir = $(datadir)/doc/valgrind
+
+doc_DATA = index.html
+
+EXTRA_DIST = $(doc_DATA)
diff --git a/corecheck/docs/index.html b/corecheck/docs/index.html
new file mode 100644
index 0000000..e56954d
--- /dev/null
+++ b/corecheck/docs/index.html
@@ -0,0 +1,66 @@
+<html>
+  <head>
+    <style type="text/css">
+      body      { background-color: #ffffff;
+                  color:            #000000;
+                  font-family:      Times, Helvetica, Arial;
+                  font-size:        14pt}
+      h4        { margin-bottom:    0.3em}
+      code      { color:            #000000;
+                  font-family:      Courier; 
+                  font-size:        13pt }
+      pre       { color:            #000000;
+                  font-family:      Courier; 
+                  font-size:        13pt }
+      a:link    { color:            #0000C0;
+                  text-decoration:  none; }
+      a:visited { color:            #0000C0; 
+                  text-decoration:  none; }
+      a:active  { color:            #0000C0;
+                  text-decoration:  none; }
+    </style>
+    <title>Cachegrind</title>
+  </head>
+
+<body bgcolor="#ffffff">
+
+<a name="title"></a>
+<h1 align=center>CoreCheck</h1>
+<center>This manual was last updated on 2002-10-03</center>
+<p>
+
+<center>
+<a href="mailto:njn25@cam.ac.uk">njn25@cam.ac.uk</a><br>
+Copyright &copy; 2000-2002 Nicholas Nethercote
+<p>
+CoreCheck is licensed under the GNU General Public License, 
+version 2<br>
+CoreCheck is a Valgrind skin that does very basic error checking.
+</center>
+
+<p>
+
+<h2>1&nbsp; CoreCheck</h2>
+
+CoreCheck is a very simple skin for Valgrind.  It adds no instrumentation to
+the program's code, and only reports the few kinds of errors detected by
+Valgrind's core.  It is mainly of use for Valgrind's developers for debugging
+and regression testing.
+<p>
+The errors detected are those found by the core when
+<code>VG_(needs).core_errors</code> is set.  These include:
+
+<ul>
+<li>Pthread API errors (many;  eg. unlocking a non-locked mutex)<p>
+<li>Silly arguments to <code>malloc() </code> et al (eg. negative size)<p>
+<li>Invalid file descriptors to blocking syscalls <code>read()</code> and 
+    <code>write()</code><p>
+<li>Bad signal numbers passed to <code>sigaction()</code><p>
+<li>Attempts to install signal handler for <code>SIGKILL</code> or
+    <code>SIGSTOP</code> <p>
+</ul>
+
+<hr width="100%">
+</body>
+</html>
+
diff --git a/helgrind/Makefile.am b/helgrind/Makefile.am
index 4674156..677ef16 100644
--- a/helgrind/Makefile.am
+++ b/helgrind/Makefile.am
@@ -1,5 +1,5 @@
 
-SUBDIRS = .
+SUBDIRS = . docs
 
 CFLAGS = $(WERROR) -DVG_LIBDIR="\"$(libdir)"\" \
 		-Winline -Wall -Wshadow -O -fomit-frame-pointer @PREFERRED_STACK_BOUNDARY@ -g
diff --git a/helgrind/docs/.cvsignore b/helgrind/docs/.cvsignore
new file mode 100644
index 0000000..3dda729
--- /dev/null
+++ b/helgrind/docs/.cvsignore
@@ -0,0 +1,2 @@
+Makefile.in
+Makefile
diff --git a/helgrind/docs/Makefile.am b/helgrind/docs/Makefile.am
new file mode 100644
index 0000000..39b9008
--- /dev/null
+++ b/helgrind/docs/Makefile.am
@@ -0,0 +1,5 @@
+docdir = $(datadir)/doc/valgrind
+
+doc_DATA = index.html
+
+EXTRA_DIST = $(doc_DATA)
diff --git a/helgrind/docs/index.html b/helgrind/docs/index.html
new file mode 100644
index 0000000..b9d72f9
--- /dev/null
+++ b/helgrind/docs/index.html
@@ -0,0 +1,80 @@
+<html>
+  <head>
+    <style type="text/css">
+      body      { background-color: #ffffff;
+                  color:            #000000;
+                  font-family:      Times, Helvetica, Arial;
+                  font-size:        14pt}
+      h4        { margin-bottom:    0.3em}
+      code      { color:            #000000;
+                  font-family:      Courier; 
+                  font-size:        13pt }
+      pre       { color:            #000000;
+                  font-family:      Courier; 
+                  font-size:        13pt }
+      a:link    { color:            #0000C0;
+                  text-decoration:  none; }
+      a:visited { color:            #0000C0; 
+                  text-decoration:  none; }
+      a:active  { color:            #0000C0;
+                  text-decoration:  none; }
+    </style>
+    <title>Cachegrind</title>
+  </head>
+
+<body bgcolor="#ffffff">
+
+<a name="title"></a>
+<h1 align=center>Helgrind</h1>
+<center>This manual was last updated on 2002-10-03</center>
+<p>
+
+<center>
+<a href="mailto:njn25@cam.ac.uk">njn25@cam.ac.uk</a><br>
+Copyright &copy; 2000-2002 Nicholas Nethercote
+<p>
+Helgrind is licensed under the GNU General Public License, 
+version 2<br>
+Helgrind is a Valgrind skin for detecting data races in threaded programs.
+</center>
+
+<p>
+
+<h2>1&nbsp; Helgrind</h2>
+
+Helgrind is a Valgrind skin for detecting data races in C and C++ programs
+that use the Pthreads library.
+<p>
+It uses the Eraser algorithm described in 
+<blockquote>
+    Eraser: A Dynamic Data Race Detector for Multithreaded Programs<br>
+    Stefan Savage, Michael Burrows, Greg Nelson, Patrick Sobalvarro and 
+    Thomas Anderson<br>
+    ACM Transactions on Computer Systems, 15(4):391-411<br>
+    November 1997.
+</blockquote>
+
+It is unfortunately in a rather mangy state and probably doesn't work at all.
+We include it partly because it may serve as a useful example skin, and partly
+in case anybody is inspired to improve it and get it working.
+<p>
+If you are inspired, we'd love to hear from you.  And if you are successful,
+you might like to include some improvements to the basic Eraser algorithm
+described in Section 4.2 of
+
+<blockquote>
+    Runtime Checking of Multithreaded Applications with Visual Threads
+    Jerry J. Harrow, Jr.<br>
+    Proceedings of the 7th International SPIN Workshop on Model Checking of 
+    Software<br>
+    Stanford, California, USA<br>
+    August 2000<br>
+    LNCS 1885, pp331--342<br>
+    K. Havelund, J. Penix, and W. Visser, editors.<br>
+</blockquote>
+
+
+<hr width="100%">
+</body>
+</html>
+
diff --git a/lackey/Makefile.am b/lackey/Makefile.am
index a923313..da6e4e0 100644
--- a/lackey/Makefile.am
+++ b/lackey/Makefile.am
@@ -1,5 +1,5 @@
 
-SUBDIRS = .
+SUBDIRS = . docs
 
 CFLAGS = $(WERROR) -DVG_LIBDIR="\"$(libdir)"\" \
 		-Winline -Wall -Wshadow -O -fomit-frame-pointer @PREFERRED_STACK_BOUNDARY@ -g
diff --git a/lackey/docs/.cvsignore b/lackey/docs/.cvsignore
new file mode 100644
index 0000000..3dda729
--- /dev/null
+++ b/lackey/docs/.cvsignore
@@ -0,0 +1,2 @@
+Makefile.in
+Makefile
diff --git a/lackey/docs/Makefile.am b/lackey/docs/Makefile.am
new file mode 100644
index 0000000..39b9008
--- /dev/null
+++ b/lackey/docs/Makefile.am
@@ -0,0 +1,5 @@
+docdir = $(datadir)/doc/valgrind
+
+doc_DATA = index.html
+
+EXTRA_DIST = $(doc_DATA)
diff --git a/lackey/docs/index.html b/lackey/docs/index.html
new file mode 100644
index 0000000..72f1e84
--- /dev/null
+++ b/lackey/docs/index.html
@@ -0,0 +1,68 @@
+<html>
+  <head>
+    <style type="text/css">
+      body      { background-color: #ffffff;
+                  color:            #000000;
+                  font-family:      Times, Helvetica, Arial;
+                  font-size:        14pt}
+      h4        { margin-bottom:    0.3em}
+      code      { color:            #000000;
+                  font-family:      Courier; 
+                  font-size:        13pt }
+      pre       { color:            #000000;
+                  font-family:      Courier; 
+                  font-size:        13pt }
+      a:link    { color:            #0000C0;
+                  text-decoration:  none; }
+      a:visited { color:            #0000C0; 
+                  text-decoration:  none; }
+      a:active  { color:            #0000C0;
+                  text-decoration:  none; }
+    </style>
+    <title>Cachegrind</title>
+  </head>
+
+<body bgcolor="#ffffff">
+
+<a name="title"></a>
+<h1 align=center>Lackey</h1>
+<center>This manual was last updated on 2002-10-03</center>
+<p>
+
+<center>
+<a href="mailto:njn25@cam.ac.uk">njn25@cam.ac.uk</a><br>
+Copyright &copy; 2000-2002 Nicholas Nethercote
+<p>
+Lackey is licensed under the GNU General Public License, 
+version 2<br>
+Lackey is an example Valgrind skin that does some very basic program
+measurement.
+</center>
+
+<p>
+
+<h2>1&nbsp; Lackey</h2>
+
+Lackey is a simple Valgrind skin that does some basic program measurement.
+It adds quite a lot of simple instrumentation to the program's code.  It is
+primarily intended to be of use as an example skin.
+<p>
+It measures three things:
+
+<ol>
+<li>The number of calls to <code>_dl_runtime_resolve()</code>, the function
+    in glibc's dynamic linker that resolves function lookups into shared 
+    objects.<p>
+
+<li>The number of UCode instructions (UCode is Valgrind's RISC-like
+    intermediate language), x86 instructions, and basic blocks executed by the
+    program, and some ratios between the three counts.<p>
+
+<li>The number of conditional branches encountered and the proportion of those
+    taken.<p>
+</ol>
+
+<hr width="100%">
+</body>
+</html>
+
diff --git a/lackey/lk_main.c b/lackey/lk_main.c
index 95015d3..5a22152 100644
--- a/lackey/lk_main.c
+++ b/lackey/lk_main.c
@@ -77,9 +77,9 @@
 
 void SK_(pre_clo_init)(VgNeeds* needs, VgTrackEvents* not_used)
 {
-   needs->name        = "lackey";
-   needs->description = "a UInstr counter";
-   needs->description = "njn25@cam.ac.uk";
+   needs->name           = "lackey";
+   needs->description    = "an example Valgrind skin";
+   needs->bug_reports_to = "njn25@cam.ac.uk";
 
    VG_(register_compact_helper)((Addr) & add_one_dlrr_call);
    VG_(register_compact_helper)((Addr) & add_one_BB);