Release notes for Valgrind, version 1.0
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
KDE3 developers: please read also README_KDE3_FOLKS for guidance
about how to debug KDE3 applications with Valgrind.
+If you are building a binary package of Valgrind for distribution,
+please read README_PACKAGERS. It contains some important information.
+
For instructions on how to build/install, see the end of this file.
concentrate on what I believe to be a widely used platform: Red Hat
Linux 7.2, on x86s. I believe that it will work without significant
difficulty on other x86 GNU/Linux systems which use the 2.4 kernel and
-GNU libc 2.2.X, for example SuSE 7.1 and Mandrake 8.0. Red Hat 6.2 is
-also supported. It has worked in the past, and probably still does,
-on RedHat 7.1 and 6.2. Note that I haven't compiled it on RedHat 7.1
-and 6.2 for a while, so they may no longer work now.
+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.
Valgrind is licensed under the GNU General Public License, version 2.
Read the file LICENSE in the source distribution for details.
Julian Seward (jseward@acm.org)
-19 June 2002
+1 July 2002
but once set up things work fairly well.
-* You need an x86 box running a Linux 2.4 kernel, with glibc-2.2.X and
- XFree86 4.1.0. In practice this means practically any recent,
- mainstream Linux distro. Valgrind is developed on a vanilla Red Hat
- 7.2 installation, so at least works ok there. I imagine Mandrake 8
- and SuSE 7.X would be ok too. It has been known to work (and still
- should) on Red Hat 7.1 and 6.2 too.
+* You need an x86 box running a Linux 2.2 or 2.4 kernel, with glibc
+ 2.1.X or 2.2.X and XFree86 3.X or 4.X. In practice this means
+ practically any recent Linux distro. Valgrind is developed on a
+ vanilla Red Hat 7.2 installation, so at least works ok there.
+ I imagine Mandrake 8 and SuSE 7.X would be ok too. It is known to
+ work on Red Hats 6.2, 7.2 and 7.3, at the very least.
* You need a reasonably fast machine, since programs run 25-100 x
- slower on Valgrind. I work with a 400 MHz AMD K6-III with 256 M of
- memory. Interactive programs like kate, konqueror, etc, are just
- about usable, but a faster machine would be better.
+ slower on Valgrind. I work with a 1133 MHz PIII with 512 M of
+ memory. Interactive programs like kate, konqueror, etc, are
+ usable, but in all, the faster your machine, the more useful
+ valgrind will be.
* You need at least 256M of memory for reasonable behaviour. Valgrind
- inflates the memory use of KDE apps approximately 4-5 x, so (eg)
- konqueror needs ~ 140M of memory to get started. This is very bad;
- I hope to improve it (the current memory manager has a design problem).
+ inflates the memory use of KDE apps approximately 3-4 x, so (eg)
+ konqueror needs ~ 140M of memory to get started, although to be fair,
+ at least 40 M of that is due to reading the debug info -- this is for
+ a konqueror and all libraries built with -O -g.
* You need to compile the KDE to be debugged, using a decent gcc/g++:
- gcc 2.96-*, which comes with Red Hat 7.2, is buggy. It sometimes
generates code with reads below %esp, even for simple functions.
This means you will be flooded with errors which are nothing to
- do with your program. As of 18 Feb 02, you can use the
- --workaround-gcc296-bugs=yes flag to ignore them. See the
- manual for details; this is not really a good solution.
+ do with your program. You can use the --workaround-gcc296-bugs=yes
+ flag to ignore them. See the manual for details; this is not really
+ a good solution.
- I recommend you use gcc/g++ 2.95.3. It seems to compile
KDE without problems, and does not suffer from the above bug. It's
what I have been using.
- - gcc-3.0.X -- I have not really tried gcc 3.0.X very much with
- Valgrind, but others seem to think it works ok.
+ - gcc-3. 3.0.4 was observed to have a scheduling bug causing it to
+ occasionally generate writes below the stack pointer. gcc-3.1 seems
+ better in that respect.
It's ok to build Valgrind with the default gcc on Red Hat 7.2.
-* So: build valgrind -- see the README file. (it's easy).
+* So: build valgrind -- see the README file. It's the standard
+ ./configure ; make ; make install deal.
* Build as much of KDE+Qt as you can with -g and without -O, for
the usual reasons.
<p>
Valgrind is licensed under the GNU General Public License, version
-2. Read the file LICENSE in the source distribution for details.
+2. Read the file LICENSE in the source distribution for details. Some
+of the PThreads test cases, <code>test/pth_*.c</code>, are taken from
+"Pthreads Programming" by Bradford Nichols, Dick Buttlar & Jacqueline
+Proulx Farrell, ISBN 1-56592-115-1, published by O'Reilly &
+Associates, Inc.
+
<a name="whatdoes">
<h3>1.2 What it does with your program</h3>
selected for them, but instead the test checks the server version.
This is just plain wrong.
+<p>
+If you are building a binary package of Valgrind for distribution,
+please read <code>README_PACKAGERS</code>. It contains some important
+information.
+
<p>
Apart from that there is no excitement here. Let me know if you have
build problems.
<p>
Valgrind is licensed under the GNU General Public License, version
-2. Read the file LICENSE in the source distribution for details.
+2. Read the file LICENSE in the source distribution for details. Some
+of the PThreads test cases, <code>test/pth_*.c</code>, are taken from
+"Pthreads Programming" by Bradford Nichols, Dick Buttlar & Jacqueline
+Proulx Farrell, ISBN 1-56592-115-1, published by O'Reilly &
+Associates, Inc.
+
<a name="whatdoes">
<h3>1.2 What it does with your program</h3>
selected for them, but instead the test checks the server version.
This is just plain wrong.
+<p>
+If you are building a binary package of Valgrind for distribution,
+please read <code>README_PACKAGERS</code>. It contains some important
+information.
+
<p>
Apart from that there is no excitement here. Let me know if you have
build problems.
<p>
Valgrind is licensed under the GNU General Public License, version
-2. Read the file LICENSE in the source distribution for details.
+2. Read the file LICENSE in the source distribution for details. Some
+of the PThreads test cases, <code>test/pth_*.c</code>, are taken from
+"Pthreads Programming" by Bradford Nichols, Dick Buttlar & Jacqueline
+Proulx Farrell, ISBN 1-56592-115-1, published by O'Reilly &
+Associates, Inc.
+
<a name="whatdoes">
<h3>1.2 What it does with your program</h3>
selected for them, but instead the test checks the server version.
This is just plain wrong.
+<p>
+If you are building a binary package of Valgrind for distribution,
+please read <code>README_PACKAGERS</code>. It contains some important
+information.
+
<p>
Apart from that there is no excitement here. Let me know if you have
build problems.
<p>
Valgrind is licensed under the GNU General Public License, version
-2. Read the file LICENSE in the source distribution for details.
+2. Read the file LICENSE in the source distribution for details. Some
+of the PThreads test cases, <code>test/pth_*.c</code>, are taken from
+"Pthreads Programming" by Bradford Nichols, Dick Buttlar & Jacqueline
+Proulx Farrell, ISBN 1-56592-115-1, published by O'Reilly &
+Associates, Inc.
+
<a name="whatdoes">
<h3>1.2 What it does with your program</h3>
selected for them, but instead the test checks the server version.
This is just plain wrong.
+<p>
+If you are building a binary package of Valgrind for distribution,
+please read <code>README_PACKAGERS</code>. It contains some important
+information.
+
<p>
Apart from that there is no excitement here. Let me know if you have
build problems.