valgrind fork with mmap tracing support
C C++ Assembly Perl Shell Haskell
Latest commit 10cfc45 Mar 14, 2016 @pierremoreau pierremoreau mmt: update to 3.11
Permalink
Failed to load latest commit information.
auxprogs
cachegrind Update copyright dates, to include 2015. No functional change. Aug 21, 2015
callgrind Rephrase Callgrind manual about limiting event aggregation Sep 7, 2015
coregrind Merge, from trunk, r15655,6,7 (Followup to r14908 (BZ #342603)) Sep 21, 2015
docs --> 3.11.0 final. Sep 23, 2015
drd Suppress unwanted clang 3.7 warnings. Sep 2, 2015
exp-bbv
exp-dhat Update copyright dates, to include 2015. No functional change. Aug 21, 2015
exp-sgcheck Update copyright dates, to include 2015. No functional change. Aug 21, 2015
gdbserver_tests Add a basic test for xb memcheck monitor command Sep 6, 2015
helgrind Correct expected output of tc18 and tc20 helgrind tests. Sep 5, 2015
include --> 3.11.0.TEST1 Sep 9, 2015
lackey Update copyright dates, to include 2015. No functional change. Aug 21, 2015
massif Update copyright dates, to include 2015. No functional change. Aug 21, 2015
memcheck Merge, from trunk, r15653 (Add Power PC ISA check to the vbit-test; b… Sep 21, 2015
mmt mmt: update to 3.11 Mar 13, 2016
mpi Make sure the result value of count_from_Status is defined. Sep 7, 2015
nightly
none libvex_test: Use arm64_[di]MinLine_lg2_szB values that make libvex ha… Sep 9, 2015
perf Suppress unwanted clang 3.7 warnings. Sep 2, 2015
shared Intercept platform_memchr$VARIANT$Haswell on OS X Aug 29, 2015
solaris Update script solaris/build_solaris_package to take into account Aug 15, 2015
tests Merge, from trunk, r15654 (Filter out glibc warning messages about un… Sep 21, 2015
.gitignore mmt/mmaptest: updates Mar 13, 2016
AUTHORS Merge the following revisions from 3_9_BRANCH to trunk: Nov 29, 2013
COPYING Update COPYING and COPYING.DOCS with new FSF address. Sep 4, 2015
COPYING.DOCS Update COPYING and COPYING.DOCS with new FSF address. Sep 4, 2015
Makefile.all.am Merge, from trunk, r15651 (Do not compile with -Wcast-align on arm.) Sep 21, 2015
Makefile.am mmt: import Mar 13, 2016
Makefile.tool-tests.am Bug 345248 - add support for Solaris OS in valgrind Jul 21, 2015
Makefile.tool.am Bug 345248 - add support for Solaris OS in valgrind Jul 21, 2015
Makefile.vex.am Add missing header file. Apr 18, 2015
NEWS --> 3.11.0 final. Sep 23, 2015
NEWS.old Move older news into its own file, NEWS.old, so as not to overrun TeX Aug 8, 2012
README mips: adding MIPS64LE support to Valgrind Feb 27, 2013
README.aarch64 Enable vgdb ptrace invoker for aarch64. May 17, 2014
README.android Adds initial support for AArch64 (arm64) on Android. Small programs Nov 4, 2014
README.android_emulator Improvements for Android: Sep 3, 2014
README.mips mips: update README.mips and NEWS for 3.9 Oct 19, 2013
README.s390 Minimal update to recognise z13 (s390). Mar 17, 2015
README.solaris Document another limitation of the Solaris port Aug 8, 2015
README_DEVELOPERS small refinement in the outer/inner doc May 10, 2015
README_DEVELOPERS_processes Add some internal documentation for 'svn ignore' maintenance; Apr 23, 2015
README_MISSING_SYSCALL_OR_IOCTL Bug 345248 - add support for Solaris OS in valgrind Jul 21, 2015
README_PACKAGERS Various minor tweaks to the distribution docs. Aug 4, 2009
autogen.sh Revert r12195 because it triggers suspicious error messages on system… Oct 22, 2011
bionic.supp
configure.ac mmt: import Mar 13, 2016
darwin10-drd.supp drd, Darwin: Generalize a suppression pattern Mar 31, 2013
darwin10.supp memcheck, Darwin 10: Add a suppression pattern Apr 1, 2013
darwin11.supp Silence some system library leaks on OS X 10.7. These same leaks sile… Jun 5, 2015
darwin12.supp valgrind --leak-check=full memleak errors from system libraries on OS… May 7, 2015
darwin13.supp Darwin13.supp should include suppression for known uninitialised read… Jan 9, 2015
darwin14.supp Silence some reachable system library reports on OS X 10.10 for simpl… May 19, 2015
darwin15.supp Resolve suppressions that changed in OS X 10.11 (DP5). n-i-bz Aug 3, 2015
darwin9-drd.supp Merged the MACOSX106 branch to the trunk. Merge command: Jul 1, 2010
darwin9.supp Another supp for 10.5.x. Aug 31, 2010
exp-sgcheck.supp Fedora 17 is merging /lib into /usr/lib so any suppression which Feb 23, 2012
glibc-2.2-LinuxThreads-helgrind.supp Add some Helgrind suppressions for LinuxThreads. Nov 11, 2007
glibc-2.2.supp
glibc-2.3.supp Remove old Helgrind suppressions. Nov 10, 2007
glibc-2.34567-NPTL-helgrind.supp Bug #352130 helgrind reports false races for printfs using mempcpy Sep 4, 2015
glibc-2.4.supp Supps for MVL 4.0.1 on ppc32 (Bart Van Assche) Jan 5, 2007
glibc-2.5.supp Supps for MVL 4.0.1 on ppc32 (Bart Van Assche) Jan 5, 2007
glibc-2.6.supp Even more suppressions for glibc-2.6. Nov 13, 2007
glibc-2.7.supp Preliminary support for Fedora 8, which includes initial support for Nov 18, 2007
glibc-2.X-drd.supp drd: Revert r14023 Jun 14, 2014
glibc-2.X.supp.in Fedora 17 is merging /lib into /usr/lib so any suppression which Feb 23, 2012
solaris11.supp Bug 345248 - add support for Solaris OS in valgrind Jul 21, 2015
solaris12.supp Bug 345248 - add support for Solaris OS in valgrind Jul 21, 2015
valgrind.pc.in Fix valt_load_address value in pkgconfig file. Oct 4, 2012
valgrind.spec.in Move older news into its own file, NEWS.old, so as not to overrun TeX Aug 8, 2012
vg-in-place vg-in-place: made sure that soft links to this script work fine too. Feb 3, 2011
xfree-3.supp Completely overhauled the internals of Memcheck's error handling. All… Dec 16, 2006
xfree-4.supp Generalise X11 suppressions somewhat, and add a suppression needed for Jan 8, 2010

README

Release notes for Valgrind
~~~~~~~~~~~~~~~~~~~~~~~~~~
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.

For instructions on how to build/install, see the end of this file.

If you have problems, consult the FAQ to see if there are workarounds.


Executive Summary
~~~~~~~~~~~~~~~~~
Valgrind is a framework for building dynamic analysis tools. There are
Valgrind tools that can automatically detect many memory management
and threading bugs, and profile your programs in detail. You can also
use Valgrind to build new tools.

The Valgrind distribution currently includes six production-quality
tools: a memory error detector, two thread error detectors, a cache
and branch-prediction profiler, a call-graph generating cache abd
branch-prediction profiler, and a heap profiler. It also includes
three experimental tools: a heap/stack/global array overrun detector,
a different kind of heap profiler, and a SimPoint basic block vector
generator.

Valgrind is closely tied to details of the CPU, operating system and to
a lesser extent, compiler and basic C libraries. This makes it difficult
to make it portable.  Nonetheless, it is available for the following
platforms: 

- X86/Linux
- AMD64/Linux
- PPC32/Linux
- PPC64/Linux
- ARM/Linux
- x86/MacOSX
- AMD64/MacOSX
- S390X/Linux
- MIPS32/Linux
- MIPS64/Linux

Note that AMD64 is just another name for x86_64, and Valgrind runs fine
on Intel processors.  Also note that the core of MacOSX is called
"Darwin" and this name is used sometimes.

Valgrind is licensed under the GNU General Public License, version 2. 
Read the file COPYING in the source distribution for details.

However: if you contribute code, you need to make it available as GPL
version 2 or later, and not 2-only.


Documentation
~~~~~~~~~~~~~
A comprehensive user guide is supplied.  Point your browser at
$PREFIX/share/doc/valgrind/manual.html, where $PREFIX is whatever you
specified with --prefix= when building.


Building and installing it
~~~~~~~~~~~~~~~~~~~~~~~~~~
To install from the Subversion repository :

  0. Check out the code from SVN, following the instructions at
     http://www.valgrind.org/downloads/repository.html.

  1. cd into the source directory.

  2. Run ./autogen.sh to setup the environment (you need the standard
     autoconf tools to do so).

  3. Continue with the following instructions...

To install from a tar.bz2 distribution:

  4. Run ./configure, with some options if you wish.  The only interesting
     one is the usual --prefix=/where/you/want/it/installed.

  5. Run "make".

  6. Run "make install", possibly as root if the destination permissions
     require that.

  7. See if it works.  Try "valgrind ls -l".  Either this works, or it
     bombs out with some complaint.  In that case, please let us know
     (see www.valgrind.org).

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.


The Valgrind Developers