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 © 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 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 © 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 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 © 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 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);