1 2Release notes for Valgrind 3~~~~~~~~~~~~~~~~~~~~~~~~~~ 4If you are building a binary package of Valgrind for distribution, 5please read README_PACKAGERS. It contains some important information. 6 7If you are developing Valgrind, please read README_DEVELOPERS. It contains 8some useful information. 9 10For instructions on how to build/install, see the end of this file. 11 12If you have problems, consult the FAQ to see if there are workarounds. 13 14 15Executive Summary 16~~~~~~~~~~~~~~~~~ 17Valgrind is a framework for building dynamic analysis tools. There are 18Valgrind tools that can automatically detect many memory management 19and threading bugs, and profile your programs in detail. You can also 20use Valgrind to build new tools. 21 22The Valgrind distribution currently includes six production-quality 23tools: a memory error detector, two thread error detectors, a cache 24and branch-prediction profiler, a call-graph generating cache abd 25branch-prediction profiler, and a heap profiler. It also includes 26three experimental tools: a heap/stack/global array overrun detector, 27a different kind of heap profiler, and a SimPoint basic block vector 28generator. 29 30Valgrind is closely tied to details of the CPU, operating system and to 31a lesser extent, compiler and basic C libraries. This makes it difficult 32to make it portable. Nonetheless, it is available for the following 33platforms: 34 35- x86/Linux 36- AMD64/Linux 37- PPC32/Linux 38- PPC64/Linux 39- ARM/Linux 40- x86/MacOSX 41- AMD64/MacOSX 42 43Note that AMD64 is just another name for x86-64, and Valgrind runs fine 44on Intel processors. Also note that the core of MacOSX is called 45"Darwin" and this name is used sometimes. 46 47Valgrind is licensed under the GNU General Public License, version 2. 48Read the file COPYING in the source distribution for details. 49 50However: if you contribute code, you need to make it available as GPL 51version 2 or later, and not 2-only. 52 53 54Documentation 55~~~~~~~~~~~~~ 56A comprehensive user guide is supplied. Point your browser at 57$PREFIX/share/doc/valgrind/manual.html, where $PREFIX is whatever you 58specified with --prefix= when building. 59 60 61Building and installing it 62~~~~~~~~~~~~~~~~~~~~~~~~~~ 63To install from the Subversion repository : 64 65 0. Check out the code from SVN, following the instructions at 66 http://www.valgrind.org/downloads/repository.html. 67 68 1. cd into the source directory. 69 70 2. Run ./autogen.sh to setup the environment (you need the standard 71 autoconf tools to do so). 72 73 3. Continue with the following instructions... 74 75To install from a tar.bz2 distribution: 76 77 4. Run ./configure, with some options if you wish. The only interesting 78 one is the usual --prefix=/where/you/want/it/installed. 79 80 5. Run "make". 81 82 6. Run "make install", possibly as root if the destination permissions 83 require that. 84 85 7. See if it works. Try "valgrind ls -l". Either this works, or it 86 bombs out with some complaint. In that case, please let us know 87 (see www.valgrind.org). 88 89Important! Do not move the valgrind installation into a place 90different from that specified by --prefix at build time. This will 91cause things to break in subtle ways, mostly when Valgrind handles 92fork/exec calls. 93 94 95The Valgrind Developers 96