Skip to content

License

GPL-2.0, Unknown licenses found

Licenses found

GPL-2.0
COPYING
Unknown
COPYING.DOCS
Notifications You must be signed in to change notification settings

rbernon/valgrind

Folders and files

NameName
Last commit message
Last commit date

Latest commit

4369128 · May 13, 2023
Apr 17, 2023
Apr 10, 2023
Apr 21, 2023
Apr 21, 2023
May 13, 2023
Apr 27, 2023
Apr 20, 2023
Mar 10, 2023
Oct 7, 2021
Apr 20, 2023
Mar 30, 2023
Apr 14, 2023
Feb 1, 2023
Apr 10, 2023
Apr 24, 2023
Apr 7, 2022
Apr 18, 2023
Apr 20, 2023
Jan 8, 2023
Apr 22, 2023
Aug 29, 2022
Apr 14, 2023
Apr 17, 2023
Dec 6, 2018
Apr 26, 2023
Apr 22, 2023
Mar 13, 2021
Sep 4, 2015
Sep 4, 2015
Oct 7, 2021
Oct 7, 2021
Jun 14, 2018
Apr 27, 2022
Aug 21, 2019
Apr 28, 2023
Aug 8, 2012
Apr 4, 2023
May 17, 2014
Nov 6, 2015
Nov 6, 2015
Feb 23, 2023
Jan 6, 2020
Mar 10, 2021
Aug 15, 2019
Apr 26, 2023
Aug 14, 2017
Jan 24, 2023
Mar 18, 2018
Apr 28, 2023
Sep 26, 2011
Apr 28, 2023
Mar 31, 2013
Apr 1, 2013
Jun 5, 2015
May 7, 2015
Jan 9, 2015
Sep 10, 2017
Sep 10, 2017
Sep 10, 2017
Apr 2, 2023
Jul 1, 2010
Aug 31, 2010
Apr 26, 2023
Jul 3, 2022
Apr 26, 2023
Nov 23, 2021
Nov 11, 2007
Nov 10, 2007
Nov 10, 2007
Jan 5, 2007
Jan 5, 2007
Nov 13, 2007
Nov 18, 2007
Feb 17, 2023
Apr 11, 2022
Mar 4, 2020
Dec 8, 2020
Jul 21, 2015
Jul 21, 2015
Oct 4, 2012
Aug 8, 2012
Apr 13, 2023
Dec 16, 2006
Jan 8, 2010

Repository files navigation

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 seven production-quality
tools: a memory error detector, two thread error detectors, a cache
and branch-prediction profiler, a call-graph generating cache and
branch-prediction profiler, and two heap profilers. It also includes
one experimental tool: 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
- ARM64/Linux
- x86/macOS
- AMD64/macOS
- S390X/Linux
- MIPS32/Linux
- MIPS64/Linux
- nanoMIPS/Linux
- X86/Solaris
- AMD64/Solaris
- X86/FreeBSD
- AMD64/FreeBSD

Note that AMD64 is just another name for x86_64, and Valgrind runs fine
on Intel processors.  Also note that the core of macOS 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 GIT repository:

  0. Clone the code from GIT:
     git clone https://sourceware.org/git/valgrind.git
     There are further 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 http://valgrind.org/support/bug_reports.html).

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