No description
Find a file
2024-12-21 21:32:19 +01:00
auxprogs s390x: Update instruction list with arch15 insns 2024-12-04 17:03:12 +01:00
cachegrind Add prereqs for tests using python 3.9+ 2024-04-24 21:30:48 +02:00
callgrind Bug 497723 - forgot to restore callgrind output cleanup 2024-12-21 21:32:19 +01:00
coregrind Command line help - demangling isn't just for C++ 2024-12-21 21:30:45 +01:00
dhat Update emitted Copyright years to include 2024 2024-04-20 04:13:04 +02:00
docs s390x: Update instruction list with arch15 insns 2024-12-04 17:03:12 +01:00
drd Bug 497455 - Update drd/scripts/download-and-build-gcc 2024-12-15 15:10:33 +01:00
exp-bbv FreeBSD support, patch 9 2021-10-07 22:41:22 +02:00
gdbserver_tests Illumos regtest: add filters to gdbserver tests 2024-11-09 18:20:26 +01:00
helgrind helgrind/tests/tc17_sembar.c: Remove bool typedef 2024-11-23 23:15:44 +01:00
include Add support for landlock_create_ruleset (444), landlock_add_rule (445) and landlock_restrict_self (446) syscalls 2024-11-25 02:44:43 +01:00
lackey Update emitted Copyright years to include 2024 2024-04-20 04:13:04 +02:00
massif Bug 489040 massif trace change to show the location increasing the stack 2024-06-30 16:06:50 +02:00
memcheck FreeBSD regtest: update getrlimit for FreeBSD 14.2 2024-12-10 08:49:04 +01:00
mpi coverity: mostly deadcode warnings that depend on platform macros 2023-12-04 09:16:37 +01:00
nightly FreeBSD nightly: increase parallel build to 4 jobs 2024-09-09 07:51:51 +02:00
none Command line help - demangling isn't just for C++ 2024-12-21 21:30:45 +01:00
perf regtest: fix compiler warnings with clang 16 2023-08-27 16:57:24 +02:00
shared Bug 486293 - memccpy false positives 2024-05-04 14:44:00 +02:00
solaris Replace git:// URLs with https:// URLs 2022-08-29 10:13:47 +02:00
tests Illumos regtest: filter more signal messages from bash 2024-11-09 20:05:03 +01:00
VEX VEX/priv/ir_opt.c: Also fold Iop_And1 expressions when possible 2024-12-21 01:47:42 +01:00
.clang-format Bug 468401 - [PATCH] Add a style file for clang-format 2023-04-17 22:05:30 +02:00
.dir-locals.el Add Emacs configuration files 2018-12-05 18:15:57 -08:00
.git-blame-ignore-revs Add a .git-blame-ignore-revs file. 2023-04-26 16:54:15 +10:00
.gitignore Bug 469782 - Valgrind does not support zstd-compressed debug sections 2024-11-19 08:59:16 +01:00
AUTHORS Add myself to AUTHORS 2024-02-07 21:11:53 +01:00
autogen.sh Only do git configuration if in a git repo. 2023-04-28 10:30:56 +10:00
bionic.supp Initial suppressions from Android 2.3.5 (on ARM). 2011-09-26 20:18:29 +00:00
configure.ac Bug 469782 - Valgrind does not support zstd-compressed debug sections 2024-11-19 08:59:16 +01:00
COPYING Update COPYING and COPYING.DOCS with new FSF address. 2015-09-04 10:21:38 +00:00
COPYING.DOCS Update COPYING and COPYING.DOCS with new FSF address. 2015-09-04 10:21:38 +00:00
darwin9-drd.supp Merged the MACOSX106 branch to the trunk. Merge command: 2010-07-01 00:20:20 +00:00
darwin9.supp Another supp for 10.5.x. 2010-08-31 13:43:06 +00:00
darwin10-drd.supp drd, Darwin: Generalize a suppression pattern 2013-03-31 07:40:53 +00:00
darwin10.supp memcheck, Darwin 10: Add a suppression pattern 2013-04-01 08:23:32 +00:00
darwin11.supp Silence some system library leaks on OS X 10.7. These same leaks silenced on later OS X already. n-i-bz. 2015-06-05 09:58:27 +00:00
darwin12.supp valgrind --leak-check=full memleak errors from system libraries on OS X 10.8 2015-05-07 13:17:50 +00:00
darwin13.supp Darwin13.supp should include suppression for known uninitialised read in pthread_rwlock_init() as required to pass the memcheck/tests/darwin/pth-supp test. Patch and discussion per BZ #339780. 2015-01-09 15:41:15 +00:00
darwin14.supp Fix syscall param msg->desc.port.name on macOS 10.12. bz#379373 2017-09-10 10:50:06 -04:00
darwin15.supp Fix syscall param msg->desc.port.name on macOS 10.12. bz#379373 2017-09-10 10:50:06 -04:00
darwin16.supp Fix syscall param msg->desc.port.name on macOS 10.12. bz#379373 2017-09-10 10:50:06 -04:00
darwin17.supp Darwin: Helgrind suppressions for macOS 10.13 2024-03-29 14:16:06 +01:00
freebsd-drd.supp FreeBSD regtest: various fixes for x86 FreeBSD 14.1 2024-05-08 16:40:36 +02:00
freebsd-helgrind-dbgrtld.supp Simplify FreeeBSD Helgrind suppresssions 2022-07-03 09:04:33 +02:00
freebsd-helgrind.supp Bug 481874 - Add arm64 support for FreeBSD 2024-04-16 07:39:33 +02:00
freebsd.supp FreeBSD: add a suppression for reachable from __cxa_exit 2024-12-14 07:32:12 +01:00
glibc-2.2-LinuxThreads-helgrind.supp Add some Helgrind suppressions for LinuxThreads. 2007-11-11 06:13:01 +00:00
glibc-2.2.supp Remove old Helgrind suppressions. 2007-11-10 20:12:23 +00:00
glibc-2.3.supp Remove old Helgrind suppressions. 2007-11-10 20:12:23 +00:00
glibc-2.4.supp Supps for MVL 4.0.1 on ppc32 (Bart Van Assche) 2007-01-05 15:09:53 +00:00
glibc-2.5.supp Supps for MVL 4.0.1 on ppc32 (Bart Van Assche) 2007-01-05 15:09:53 +00:00
glibc-2.6.supp Even more suppressions for glibc-2.6. 2007-11-13 20:51:26 +00:00
glibc-2.7.supp Preliminary support for Fedora 8, which includes initial support for 2007-11-18 14:40:02 +00:00
glibc-2.X-drd.supp.in DRD s390: add a suppression for _dl_exception_create_format 2023-09-19 07:31:17 +02:00
glibc-2.X-helgrind.supp.in glibc-2.X-helgrind.supp.in: Also recognize variants on gethostbyname2_r 2024-04-24 22:11:42 +02:00
glibc-2.X.supp.in Linux: broaden one of the dynamic thread vector reachable suppressions 2023-12-12 17:26:16 +00:00
Makefile.all.am Turn off unused result warnings 2024-11-23 08:14:15 +01:00
Makefile.am valgrind testing: extend vg_regtest to emit automake-style .trs/.log files 2024-08-22 11:20:00 -04:00
Makefile.tool-tests.am mips64: add N32 ABI support 2018-06-14 17:40:08 +00:00
Makefile.tool.am Bug 481874 - Add arm64 support for FreeBSD 2024-04-16 07:39:33 +02:00
Makefile.vex.am amd64: Implement VFMADD213 for Iop_MAddF32 and Iop_MAddF64 2024-04-13 14:49:21 +02:00
musl.supp musl: updates to suppressions and drd pthread detection script 2024-02-17 18:24:36 +01:00
NEWS Bug 497723 - Enabling Ada demangling breaks callgrind differentiation between overloaded functions and procedures 2024-12-21 20:46:40 +01:00
NEWS.old Correct typos and spelling mistakes 2024-11-03 10:55:57 +01:00
NEWS.older Update version to 3.23.0.GIT, split NEWS files and create NEWS.older 2023-11-01 10:56:39 +01:00
README Add FreeBSD arm64 to README list of platforms 2024-04-18 20:53:58 +02:00
README.aarch64 Bug 480126 - Build failure on Raspberry Pi 5 / OS 6.1.0-rpi7-rpi-v8 2024-01-21 21:33:06 +01:00
README.android Fix documentation of command line flag 2015-11-06 22:08:46 +00:00
README.android_emulator Fix documentation of command line flag 2015-11-06 22:08:46 +00:00
README.freebsd Bug 494218 - Remove FREEBSD_VERS from configure and build 2024-10-13 16:57:33 +02:00
README.mips mips: update NEWS and README.mips 2020-01-06 16:51:37 +00:00
README.s390 Update README.s390 2024-10-01 13:26:27 +02:00
README.solaris Make references from README_DEVELOPERS/README.solaris to README for build/install 2019-08-15 16:55:26 +02:00
README_DEVELOPERS Bug 469782 - Valgrind does not support zstd-compressed debug sections 2024-11-19 08:59:16 +01:00
README_DEVELOPERS_processes Change SVN to GIT in various places and simple scripts. 2017-08-14 15:27:27 +02:00
README_MISSING_SYSCALL_OR_IOCTL FreeBSD: switch to FreeBSD 12 versions of syscalls for fstat etc 2023-01-24 20:41:15 +01:00
README_PACKAGERS Update README_PACKAGERS 2024-02-15 20:48:07 +01:00
solaris11.supp Solaris: add a Helgrind suppression 2024-02-18 07:44:53 +01:00
solaris12.supp Bug 345248 - add support for Solaris OS in valgrind 2015-07-21 14:44:28 +00:00
valgrind.pc.in Fix valt_load_address value in pkgconfig file. 2012-10-04 20:01:50 +00:00
valgrind.spec.in Move older news into its own file, NEWS.old, so as not to overrun TeX 2012-08-08 20:38:03 +00:00
vg-in-place vgdb: implement the extended-remote protocol 2023-04-14 00:08:53 +02:00
xfree-3.supp Completely overhauled the internals of Memcheck's error handling. All the 2006-12-16 00:54:12 +00:00
xfree-4.supp Bug 466884 - Missing writev uninit padding suppression for _XSend 2023-11-18 09:38:25 +01:00

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
- ARM64/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