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- S390X/Linux 43- MIPS32/Linux 44- MIPS64/Linux 45 46Note that AMD64 is just another name for x86_64, and Valgrind runs fine 47on Intel processors. Also note that the core of MacOSX is called 48"Darwin" and this name is used sometimes. 49 50Valgrind is licensed under the GNU General Public License, version 2. 51Read the file COPYING in the source distribution for details. 52 53However: if you contribute code, you need to make it available as GPL 54version 2 or later, and not 2-only. 55 56 57Documentation 58~~~~~~~~~~~~~ 59A comprehensive user guide is supplied. Point your browser at 60$PREFIX/share/doc/valgrind/manual.html, where $PREFIX is whatever you 61specified with --prefix= when building. 62 63 64Building and installing it 65~~~~~~~~~~~~~~~~~~~~~~~~~~ 66To install from the Subversion repository : 67 68 0. Check out the code from SVN, following the instructions at 69 http://www.valgrind.org/downloads/repository.html. 70 71 1. cd into the source directory. 72 73 2. Run ./autogen.sh to setup the environment (you need the standard 74 autoconf tools to do so). 75 76 3. Continue with the following instructions... 77 78To install from a tar.bz2 distribution: 79 80 4. Run ./configure, with some options if you wish. The only interesting 81 one is the usual --prefix=/where/you/want/it/installed. 82 83 5. Run "make". 84 85 6. Run "make install", possibly as root if the destination permissions 86 require that. 87 88 7. See if it works. Try "valgrind ls -l". Either this works, or it 89 bombs out with some complaint. In that case, please let us know 90 (see www.valgrind.org). 91 92Important! Do not move the valgrind installation into a place 93different from that specified by --prefix at build time. This will 94cause things to break in subtle ways, mostly when Valgrind handles 95fork/exec calls. 96 97 98The Valgrind Developers 99