Added basic docs for Helgrind, Lackey, CoreCheck.

Minor wibbles in AUTHORS.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1170
This commit is contained in:
Nicholas Nethercote 2002-10-03 10:07:34 +00:00
parent a0b3b768a1
commit a43fe4a74c
15 changed files with 246 additions and 8 deletions

View File

@ -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.

View File

@ -312,8 +312,11 @@ AC_OUTPUT(
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

View File

@ -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

View File

@ -0,0 +1,2 @@
Makefile.in
Makefile

View File

@ -0,0 +1,5 @@
docdir = $(datadir)/doc/valgrind
doc_DATA = index.html
EXTRA_DIST = $(doc_DATA)

66
corecheck/docs/index.html Normal file
View File

@ -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>

View File

@ -1,5 +1,5 @@
SUBDIRS = .
SUBDIRS = . docs
CFLAGS = $(WERROR) -DVG_LIBDIR="\"$(libdir)"\" \
-Winline -Wall -Wshadow -O -fomit-frame-pointer @PREFERRED_STACK_BOUNDARY@ -g

2
helgrind/docs/.cvsignore Normal file
View File

@ -0,0 +1,2 @@
Makefile.in
Makefile

View File

@ -0,0 +1,5 @@
docdir = $(datadir)/doc/valgrind
doc_DATA = index.html
EXTRA_DIST = $(doc_DATA)

80
helgrind/docs/index.html Normal file
View File

@ -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>

View File

@ -1,5 +1,5 @@
SUBDIRS = .
SUBDIRS = . docs
CFLAGS = $(WERROR) -DVG_LIBDIR="\"$(libdir)"\" \
-Winline -Wall -Wshadow -O -fomit-frame-pointer @PREFERRED_STACK_BOUNDARY@ -g

2
lackey/docs/.cvsignore Normal file
View File

@ -0,0 +1,2 @@
Makefile.in
Makefile

5
lackey/docs/Makefile.am Normal file
View File

@ -0,0 +1,5 @@
docdir = $(datadir)/doc/valgrind
doc_DATA = index.html
EXTRA_DIST = $(doc_DATA)

68
lackey/docs/index.html Normal file
View File

@ -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>

View File

@ -77,9 +77,9 @@ static void add_one_Jcc_untaken(void)
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);