summaryrefslogtreecommitdiff
path: root/README
diff options
context:
space:
mode:
authornethercote <nethercote@a5019735-40e9-0310-863c-91ae7b9d1cf9>2003-12-02 15:30:28 +0000
committernethercote <nethercote@a5019735-40e9-0310-863c-91ae7b9d1cf9>2003-12-02 15:30:28 +0000
commited7e073fbad0e9eb656965410018724b3761d811 (patch)
tree9d13fcf3473902df24100c79be99f05f241aef68 /README
parent382a892fc19112264421b3ebf6e13f6598864b6b (diff)
Whoops... back out changes accidentally made to this file with the last,
unrelated, commit. Sorry. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2088 a5019735-40e9-0310-863c-91ae7b9d1cf9
Diffstat (limited to 'README')
-rw-r--r--README82
1 files changed, 60 insertions, 22 deletions
diff --git a/README b/README
index 6c7674f9..7eee2c42 100644
--- a/README
+++ b/README
@@ -1,17 +1,16 @@
Release notes for Valgrind, version 1.0.0
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-> We're well past 1.0.0. I propose removing the version number here;
-> it doesn't contribute anything, and just gets out-of-date.
-
KDE3 developers: please read also README_KDE3_FOLKS for guidance
about how to debug KDE3 applications with Valgrind.
-> I propose removing README_KDE3_FOLKS, and this reference to it; I
-> think Valgrind has been around long enough that KDE developers don't
-> need separate instructions.
+If you are building a binary package of Valgrind for distribution,
+please read README_PACKAGERS. It contains some important information.
+
+If you are developing Valgrind, please read README_DEVELOPERS. It contains
+some useful information.
-[snip]
+For instructions on how to build/install, see the end of this file.
Valgrind works best on systems with glibc-2.1.X or 2.2.X, and with gcc
versions prior to 3.1. gcc-3.1 works, but generates code which causes
@@ -19,15 +18,30 @@ valgrind to report many false errors. For now, try to use a gcc prior
to 3.1; if you can't, at least compile your application without
optimisation. Valgrind-1.0.X also can't handle glibc-2.3.X systems.
-> Out of date: I think glibc-2.3.X is ok, right? Also gcc-3.1 is ok?
Executive Summary
~~~~~~~~~~~~~~~~~
-
-> This summary doesn't account for the core/tool split. Should be
-> similar to the overview on the website.
-
-[snip]
+Valgrind is a tool to help you find memory-management problems in your
+programs. When a program is run under Valgrind's supervision, all
+reads and writes of memory are checked, and calls to
+malloc/new/free/delete are intercepted. As a result, Valgrind can
+detect problems such as:
+
+ Use of uninitialised memory
+ Reading/writing memory after it has been free'd
+ Reading/writing off the end of malloc'd blocks
+ Reading/writing inappropriate areas on the stack
+ Memory leaks -- where pointers to malloc'd blocks are lost forever
+ Passing of uninitialised and/or unaddressible memory to system calls
+ Mismatched use of malloc/new/new [] vs free/delete/delete []
+ Some abuses of the POSIX pthread API
+
+Problems like these can be difficult to find by other means, often
+lying undetected for long periods, then causing occasional,
+difficult-to-diagnose crashes.
+
+When Valgrind detects such a problem, it can, if you like, attach GDB
+to your program, so you can poke around and see what's going on.
Valgrind is closely tied to details of the CPU, operating system and
to a less extent, compiler and basic C libraries. This makes it
@@ -39,9 +53,6 @@ GNU libc 2.2.X, for example SuSE 7.1 and Mandrake 8.0. This version
1.0 release is known to work on Red Hats 6.2, 7.2 and 7.3, at the very
least.
-> Out of date... could make more generic, eg. works on most/all common
-> Linux distros
-
Valgrind is licensed under the GNU General Public License, version 2.
Read the file COPYING in the source distribution for details.
@@ -54,13 +65,40 @@ instead at docs/manual.html. There's also detailed, although somewhat
out of date, documentation of how valgrind works, in
docs/techdocs.html.
-> These paths are incorrect.
-[snip]
+Building and installing it
+~~~~~~~~~~~~~~~~~~~~~~~~~~
+To install from CVS :
-Julian Seward (jseward@acm.org)
-1 July 2002
+ 0. Check out the code from CVS, following the instructions at
+ http://developer.kde.org/source/anoncvs.html. The 'modulename' is
+ "valgrind".
+
+ 1. cd into the source directory.
+
+ 2. Run ./autogen.sh to setup the environment (you need the standard
+ autoconf tools to do so).
-> out of date, I suggest removing the date, and saying "report bugs to
-> valgrind.kde.org" or similar.
+To install from a tar.gz archive:
+ 3. Run ./configure, with some options if you wish. The standard
+ options are documented in the INSTALL file. The only interesting
+ one is the usual --prefix=/where/you/want/it/installed.
+
+ 4. Do "make".
+
+ 5. Do "make install", possibly as root if the destination permissions
+ require that.
+
+ 6. See if it works. Try "valgrind ls -l". Either this works,
+ or it bombs out complaining it can't find argc/argv/envp.
+ In that case, mail me a bug report.
+
+Important! Do not move the valgrind installation into a place
+different from that specified by --prefix at build time. This will
+cause things to break in subtle ways, mostly when Valgrind handles
+fork/exec calls.
+
+
+Julian Seward (jseward@acm.org)
+1 July 2002