svn2git clone of SVN repo svn://svn.valgrind.org/valgrind
C C++ Assembly Perl Shell XSLT Other
Latest commit d1308df Mar 27, 2014 dejanj mips32: Additional .exp files for mips32.
Add a regression tests output file variants.
Permalink
Failed to load latest commit information.
auxprogs Show a line in the output log when the client connects but the Feb 5, 2014
cachegrind Add support for ARMv8 AArch64 (the 64 bit ARM instruction set). Jan 12, 2014
callgrind VG_(strlen) ( const HChar* str ) does not count the null terminator '… Mar 19, 2014
coregrind Add client requests Mar 20, 2014
docs Make SGCheck fail with a meaningful message on unsupported platforms. Feb 22, 2014
drd mips32: When we are accessing elements via double pointer MIPS compil… Mar 20, 2014
exp-bbv Update copyright dates (20XY-2012 ==> 20XY-2013) Oct 18, 2013
exp-dhat Update copyright dates (20XY-2012 ==> 20XY-2013) Oct 18, 2013
exp-sgcheck Make SGCheck fail with a meaningful message on unsupported platforms. Feb 22, 2014
gdbserver_tests Implement gdbsrv "v.info stats" command giving statistics for valgrin… Dec 15, 2013
helgrind mips32: Additional .exp files for mips32. Mar 27, 2014
include Add client requests Mar 20, 2014
lackey Update copyright dates (20XY-2012 ==> 20XY-2013) Oct 18, 2013
massif VG_(strlen) ( const HChar* str ) does not count the null terminator '… Mar 19, 2014
memcheck mips32: Additional .exp file for mips32. Mar 26, 2014
mpi
nightly ensure nightly regression tests can (optionally) run perf tests Sep 27, 2013
none More test cases: Mar 7, 2014
perf Update copyright dates (20XY-2012 ==> 20XY-2013) Oct 18, 2013
shared strmem intercepts: Add mempcpy() intercepts for ld-linux on x86 Mar 15, 2014
tests mips: Disable test on mips32/64 big-endian platforms. Mar 19, 2014
AUTHORS Merge the following revisions from 3_9_BRANCH to trunk: Nov 29, 2013
COPYING Overhauled the docs. Removed all the HTML files, put in XML files as Nov 30, 2004
COPYING.DOCS Overhauled the docs. Removed all the HTML files, put in XML files as Nov 30, 2004
Makefile.all.am
Makefile.am Make sure all files under the new shared dir are included in make dist. Mar 11, 2014
Makefile.tool-tests.am Adjust CFLAGS and CXXFLAGS for compilation with clang. The current Oct 4, 2013
Makefile.tool.am Add support for ARMv8 AArch64 (the 64 bit ARM instruction set). Jan 12, 2014
Makefile.vex.am Add support for ARMv8 AArch64 (the 64 bit ARM instruction set). Jan 12, 2014
NEWS Add client requests Mar 20, 2014
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 Update. Mar 18, 2014
README.android
README.android_emulator Fix 303624 segmentation fault on Android 4.1 (e.g. on android emulato… Jul 18, 2012
README.mips mips: update README.mips and NEWS for 3.9 Oct 19, 2013
README.s390 Remove autotools requirement as it is not specific to s390. Oct 19, 2013
README_DEVELOPERS clarify that vg-in-place cannot be used as an outer in outer/inner setup Sep 12, 2013
README_DEVELOPERS_processes
README_MISSING_SYSCALL_OR_IOCTL
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 Initial suppressions from Android 2.3.5 (on ARM). Sep 26, 2011
configure.ac Make sure all files under the new shared dir are included in make dist. Mar 11, 2014
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 A couple more leak supps for OSX10.7. Fixes #307557. Oct 14, 2013
darwin12.supp Add some suppresssions for leaks (really?) in dyld (the dynamic linker) Oct 22, 2013
darwin9-drd.supp
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 Remove old Helgrind suppressions. Nov 10, 2007
glibc-2.3.supp Remove old Helgrind suppressions. Nov 10, 2007
glibc-2.34567-NPTL-helgrind.supp Helgrind: Suppress false positive reports on _dl_allocate_tls_init() Dec 2, 2013
glibc-2.4.supp Supps for MVL 4.0.1 on ppc32 (Bart Van Assche) Jan 5, 2007
glibc-2.5.supp
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
glibc-2.X.supp.in Fedora 17 is merging /lib into /usr/lib so any suppression which Feb 23, 2012
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
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