sewardj | de4a1d0 | 2002-03-22 01:27:54 +0000 | [diff] [blame] | 1 | |
nethercote | 5da1e17 | 2003-12-03 21:44:45 +0000 | [diff] [blame] | 2 | Release notes for Valgrind |
| 3 | ~~~~~~~~~~~~~~~~~~~~~~~~~~ |
nethercote | ed7e073 | 2003-12-02 15:30:28 +0000 | [diff] [blame] | 4 | If you are building a binary package of Valgrind for distribution, |
| 5 | please read README_PACKAGERS. It contains some important information. |
sewardj | 365a851 | 2002-07-01 08:30:05 +0000 | [diff] [blame] | 6 | |
nethercote | ed7e073 | 2003-12-02 15:30:28 +0000 | [diff] [blame] | 7 | If you are developing Valgrind, please read README_DEVELOPERS. It contains |
| 8 | some useful information. |
| 9 | |
| 10 | For instructions on how to build/install, see the end of this file. |
sewardj | de4a1d0 | 2002-03-22 01:27:54 +0000 | [diff] [blame] | 11 | |
njn | 4be4e2a | 2009-06-12 23:40:04 +0000 | [diff] [blame] | 12 | If you have problems, consult the FAQ to see if there are workarounds. |
| 13 | |
sewardj | de4a1d0 | 2002-03-22 01:27:54 +0000 | [diff] [blame] | 14 | |
| 15 | Executive Summary |
| 16 | ~~~~~~~~~~~~~~~~~ |
sewardj | e089f01 | 2010-10-13 21:47:29 +0000 | [diff] [blame] | 17 | Valgrind is a framework for building dynamic analysis tools. There are |
| 18 | Valgrind tools that can automatically detect many memory management |
| 19 | and threading bugs, and profile your programs in detail. You can also |
| 20 | use Valgrind to build new tools. |
sewardj | de4a1d0 | 2002-03-22 01:27:54 +0000 | [diff] [blame] | 21 | |
njn | 4be4e2a | 2009-06-12 23:40:04 +0000 | [diff] [blame] | 22 | The Valgrind distribution currently includes six production-quality |
sewardj | e089f01 | 2010-10-13 21:47:29 +0000 | [diff] [blame] | 23 | tools: a memory error detector, two thread error detectors, a cache |
| 24 | and branch-prediction profiler, a call-graph generating cache abd |
| 25 | branch-prediction profiler, and a heap profiler. It also includes |
| 26 | three experimental tools: a heap/stack/global array overrun detector, |
| 27 | a different kind of heap profiler, and a SimPoint basic block vector |
njn | 57b87ea | 2009-07-14 04:24:18 +0000 | [diff] [blame] | 28 | generator. |
nethercote | 5da1e17 | 2003-12-03 21:44:45 +0000 | [diff] [blame] | 29 | |
njn | 4be4e2a | 2009-06-12 23:40:04 +0000 | [diff] [blame] | 30 | Valgrind is closely tied to details of the CPU, operating system and to |
| 31 | a lesser extent, compiler and basic C libraries. This makes it difficult |
| 32 | to make it portable. Nonetheless, it is available for the following |
| 33 | platforms: |
nethercote | 5da1e17 | 2003-12-03 21:44:45 +0000 | [diff] [blame] | 34 | |
sewardj | ca456c7 | 2012-08-05 13:44:15 +0000 | [diff] [blame] | 35 | - X86/Linux |
njn | 4be4e2a | 2009-06-12 23:40:04 +0000 | [diff] [blame] | 36 | - AMD64/Linux |
| 37 | - PPC32/Linux |
| 38 | - PPC64/Linux |
sewardj | e089f01 | 2010-10-13 21:47:29 +0000 | [diff] [blame] | 39 | - ARM/Linux |
njn | 4be4e2a | 2009-06-12 23:40:04 +0000 | [diff] [blame] | 40 | - x86/MacOSX |
| 41 | - AMD64/MacOSX |
florian | dec4a56 | 2011-11-26 04:12:01 +0000 | [diff] [blame] | 42 | - S390X/Linux |
sewardj | ca456c7 | 2012-08-05 13:44:15 +0000 | [diff] [blame] | 43 | - MIPS32/Linux |
petarj | 4df0bfc | 2013-02-27 23:17:33 +0000 | [diff] [blame] | 44 | - MIPS64/Linux |
njn | 567c014 | 2006-03-31 12:24:37 +0000 | [diff] [blame] | 45 | |
sewardj | ca456c7 | 2012-08-05 13:44:15 +0000 | [diff] [blame] | 46 | Note that AMD64 is just another name for x86_64, and Valgrind runs fine |
njn | 4be4e2a | 2009-06-12 23:40:04 +0000 | [diff] [blame] | 47 | on Intel processors. Also note that the core of MacOSX is called |
| 48 | "Darwin" and this name is used sometimes. |
sewardj | de4a1d0 | 2002-03-22 01:27:54 +0000 | [diff] [blame] | 49 | |
| 50 | Valgrind is licensed under the GNU General Public License, version 2. |
njn25 | e49d8e7 | 2002-09-23 09:36:25 +0000 | [diff] [blame] | 51 | Read the file COPYING in the source distribution for details. |
sewardj | de4a1d0 | 2002-03-22 01:27:54 +0000 | [diff] [blame] | 52 | |
sewardj | e089f01 | 2010-10-13 21:47:29 +0000 | [diff] [blame] | 53 | However: if you contribute code, you need to make it available as GPL |
| 54 | version 2 or later, and not 2-only. |
| 55 | |
sewardj | de4a1d0 | 2002-03-22 01:27:54 +0000 | [diff] [blame] | 56 | |
| 57 | Documentation |
| 58 | ~~~~~~~~~~~~~ |
| 59 | A comprehensive user guide is supplied. Point your browser at |
nethercote | 5da1e17 | 2003-12-03 21:44:45 +0000 | [diff] [blame] | 60 | $PREFIX/share/doc/valgrind/manual.html, where $PREFIX is whatever you |
| 61 | specified with --prefix= when building. |
sewardj | de4a1d0 | 2002-03-22 01:27:54 +0000 | [diff] [blame] | 62 | |
| 63 | |
nethercote | ed7e073 | 2003-12-02 15:30:28 +0000 | [diff] [blame] | 64 | Building and installing it |
| 65 | ~~~~~~~~~~~~~~~~~~~~~~~~~~ |
njn | 0d733b8 | 2005-07-26 22:01:04 +0000 | [diff] [blame] | 66 | To install from the Subversion repository : |
nethercote | ed7e073 | 2003-12-02 15:30:28 +0000 | [diff] [blame] | 67 | |
njn | 0d733b8 | 2005-07-26 22:01:04 +0000 | [diff] [blame] | 68 | 0. Check out the code from SVN, following the instructions at |
njn | 1b70e82 | 2005-11-08 19:38:58 +0000 | [diff] [blame] | 69 | http://www.valgrind.org/downloads/repository.html. |
nethercote | ed7e073 | 2003-12-02 15:30:28 +0000 | [diff] [blame] | 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 | |
njn | 0d733b8 | 2005-07-26 22:01:04 +0000 | [diff] [blame] | 76 | 3. Continue with the following instructions... |
| 77 | |
nethercote | 5da1e17 | 2003-12-03 21:44:45 +0000 | [diff] [blame] | 78 | To install from a tar.bz2 distribution: |
nethercote | ed7e073 | 2003-12-02 15:30:28 +0000 | [diff] [blame] | 79 | |
njn | 801288e | 2009-08-04 07:02:54 +0000 | [diff] [blame] | 80 | 4. Run ./configure, with some options if you wish. The only interesting |
nethercote | ed7e073 | 2003-12-02 15:30:28 +0000 | [diff] [blame] | 81 | one is the usual --prefix=/where/you/want/it/installed. |
| 82 | |
njn | 8b68b64 | 2009-06-24 00:37:09 +0000 | [diff] [blame] | 83 | 5. Run "make". |
nethercote | ed7e073 | 2003-12-02 15:30:28 +0000 | [diff] [blame] | 84 | |
njn | 8b68b64 | 2009-06-24 00:37:09 +0000 | [diff] [blame] | 85 | 6. Run "make install", possibly as root if the destination permissions |
nethercote | ed7e073 | 2003-12-02 15:30:28 +0000 | [diff] [blame] | 86 | require that. |
| 87 | |
njn | 0d733b8 | 2005-07-26 22:01:04 +0000 | [diff] [blame] | 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). |
nethercote | ed7e073 | 2003-12-02 15:30:28 +0000 | [diff] [blame] | 91 | |
| 92 | Important! Do not move the valgrind installation into a place |
| 93 | different from that specified by --prefix at build time. This will |
| 94 | cause things to break in subtle ways, mostly when Valgrind handles |
| 95 | fork/exec calls. |
| 96 | |
sewardj | de4a1d0 | 2002-03-22 01:27:54 +0000 | [diff] [blame] | 97 | |
njn | 1b70e82 | 2005-11-08 19:38:58 +0000 | [diff] [blame] | 98 | The Valgrind Developers |