Valgrind is a system for debugging and profiling un*x programs. With the tools
that come with Valgrind, you can automatically detect many memory management
and threading bugs, avoiding hours of frustrating bug-hunting, making your
programs more stable. You can also perform detailed profiling, to speed up and
reduce memory use of your programs.
The Valgrind distribution includes 10 tools:
- memcheck, the primary tool, a memory error detector
- helgrind and drd, thread error detectors
- callgrind and cachegrind, execution and cache profiling tools
- massif, a memory tracker
- dhat, a memory content profiler
- lackey, an example of using the framework
- none, does no instumentation and can check that Valgrind runs correctly
- exp-bbv, and experimental profiling tool using sampling
===> The following configuration options are available for valgrind-devel-3.26.0.g20250819,1:
32BIT=on: Enable debugging of 32-bit programs (requires lib32)
DOCS=on: Build and/or install documentation
MANPAGES=on: Build and/or install manual pages
MPI=off: Enable build of MPI wrappers
===> Use 'make config' to modify these settings
devel/valgrind-devel: Update 3.25.0.g20250530 => 3.26.0.g2025081
Changelist (from NEWS)
The most important one is 506499 which errors for each run with for CURRENT.
338803 Handling of dwz debug alt files or cross-CU is broken
418756 MAP_FIXED_NOREPLACE mmap flag unsupported
493430 Review all syscalls that use or return (new) file descriptors
493434 Add --track-fds=bad mode (no "leak" tracking)
505673 Valgrind crashes with an internal error and SIGBUS when
the guest tries to open its own file with O_WRONLY|O_CREAT|O_TRUNC
506076 unimplemented fcntl command: 1028 (F_CREATED_QUERY)
506499 Unhandled syscall 592 (exterrctl - FreeBSD
506795 Better report which clone flags are problematic
(Only the first 15 lines of the commit message are shown above )
devel/valgrind-devel: Update 3.25.0.g20250322 => 3.26.0.g20250530
Changelog extracted from NEWS.
Additions between 3.25.0.g20250322 and 3.25 release:
290061 pie elf always loaded at 0x108000
493433 Add --modify-fds=[no|high] option
501893 Missing suppression for __wcscat_avx2 (strcat-strlen-avx2.h.S:68)?
502871 Make Helgrind "pthread_cond_{signal,broadcast}: dubious: associated
lock is not held by any thread" optional
Additions since 3.25 relase:
504101 Add a "vgstack" script
504177 FILE DESCRIPTORS banner shows when closing some inherited fds
502359 Add --modify-fds=yes option
(Only the first 15 lines of the commit message are shown above )
devel/valgrind-devel: update to 3.25.0.g20250322
Changelist (general and FreeBSD specific with Valgrind bugzilla IDs). The
second item is the one that is the most important.
501119 memcheck/tests/pointer-trace fails when run on NFS filesystem
501850 FreeBSD syscall arguments 7 and 8 incorrect.
Other minor things
* improvement to utrace syscall wrapper
* removed and consolidated some of the default suppressions
* fix to file descriptor error report callstacks
* new header and doc files from Linux riscv64
PR: 285586
Reported by: pjfloyd@wanadoo.fr (maintainer)
devel/valgrind-devel: update to 20250128
* --track-fds=yes and --track-fds=all report erroneous information when fds 0,
1, or 2 are used as non-std
* Valgrind does not support zstd-compressed debug sections
* Recognize new DWARF5 DW_LANG constants
* Update drd/scripts/download-and-build-gcc
* Enabling Ada demangling breaks callgrind differentiation between overloaded
functions and procedures
* FdBadUse is not a valid CoreError type in a suppression even though it's
generated by --gen-suppressions=yes
* none/tests/amd64/lzcnt64 crashes on FreeBSD compiled with clang
* FreeBSD: differences in avx-vmovq output
* mmap() with MAP_ALIGNED() returns unaligned pointer
PR: 284426
Reported by: pjfloyd@wanadoo.fr (maintainer)
devel/valgrind-devel: update to 3.25.0.g20241104
Changes wrt. valgrind-3.24.0:
494327 Crash when running Helgrind built with #define TRACE_PTH_FNS 1
494337 All threaded applications cause still holding lock errors
495488 Add FreeBSD getrlimitusage syscall wrapper
PR: 282544
devel/valgrind-devel: update to 3.24.0.g20240913
- updated for FreeBSD 13.4
- aarch64 now supported
Excerpt from NEWS:
202770 open fd at exit --log-socket=127.0.0.1:1500 with --track-fds=yes
276780 An instruction in fftw (Fast Fourier Transform) is unhandled by
valgrind: vex x86->IR: unhandled instruction bytes:
0x66 0xF 0x3A 0x2
311655 --log-file=FILE leads to apparent fd leak
317127 Fedora18/x86_64 --sanity-level=3 : aspacem segment mismatch
337388 fcntl works on Valgrind's own file descriptors
377966 arm64 unhandled instruction dc zva392146 aarch64: unhandled
(Only the first 15 lines of the commit message are shown above )
devel/valgrind-devel: do not strip binaries
Valgrind binaries should not be stripped (at least, not the preload shared
libs).
PR: 273243
Reported by: pjfloyd@wanadoo.fr (maintainer)
Remove WWW entries moved into port Makefiles
Commit b7f05445c00f has added WWW entries to port Makefiles based on
WWW: lines in pkg-descr files.
This commit removes the WWW: lines of moved-over URLs from these
pkg-descr files.
Approved by: portmgr (tcberner)
Add WWW entries to port Makefiles
It has been common practice to have one or more URLs at the end of the
ports' pkg-descr files, one per line and prefixed with "WWW:". These
URLs should point at a project website or other relevant resources.
Access to these URLs required processing of the pkg-descr files, and
they have often become stale over time. If more than one such URL was
present in a pkg-descr file, only the first one was tarnsfered into
the port INDEX, but for many ports only the last line did contain the
port specific URL to further information.
There have been several proposals to make a project URL available as
a macro in the ports' Makefiles, over time.
(Only the first 15 lines of the commit message are shown above )
devel: remove 'Created by' lines
A big Thank You to the original contributors of these ports:
* "Waitman Gobble" <uzimac@da3m0n8t3r.com>
* <jkoshy@FreeBSD.org>
* Aaron Dalton <aaron@FreeBSD.org>
* Aaron Dalton <aaron@daltons.ca>
* Aaron H. K. Diep <ahkdiep@gmail.com>
* Aaron Hurt <ahurt@anbcs.com>
* Abel Chow <abel_chow@yahoo.com>
* Adam McLaurin
* Adam Saponara <as@php.net>
* Adam Weinberger <adamw@FreeBSD.org>
* Ade Lovett <ade@FreeBSD.org>
(Only the first 15 lines of the commit message are shown above )
*/*: Remove redundant '-[0-9]*' from CONFLICTS
The conflict checks compare the patterns first against the package
names without version (as reported by "pkg query "%n"), then - if
there was no match - agsinst the full package names including the
version (as reported by "pkg query "%n-%v").
Many CONFLICTS definitions used patterns like "bash-[0-9]*" to filter
for the bash package in any version. But that pattern is functionally
identical with just "bash".
Approved by: portmgr (blanket)
Clean up all commented PORTREVISION and PORTEPOCH lines
No revision bump tool that we have cleans them up or deals with
them, so we end up with duplicated lines. Instead of implementing
that just clean up the 51 ports that do this.
PORTREVISION and PORTEPOCH can be set to 0 explicitly instead if
you need a reminder or placeholder.
devel/valgrind-devel: Fix pkg-plist for option MANPAGES
It was accidentally broken by r568304.
PR: 254687
Approved by: Paul Floyd <pjfloyd@wanadoo.fr> (maintainer)
devel/valgrind-devel: update to Paul Floyd's FreeBSD valgrind branch
This branch rebases us forward to Valgrind 3.17.0, incredibly current as
of today. It also fixes a vast array of known issues, making valgrind-devel
actually functional on 13.0-CURRENT and fixing most of the regression tests
on clang/amd64.
All patches previously in the port have been incorporated into this branch.
There are still some open issues remaining:
- https://github.com/paulfloyd/freebsd_valgrind/issues
Paul has summarized the regtest status here:
- https://github.com/paulfloyd/freebsd_valgrind/wiki/Regtest-status
This port is believed to be largely functional enough to get wider testing.
Many, many thanks to the excellent work of Paul Floyd to modernize our
valgrind port.
Pass MAINTAINER over to Paul, as he intends to continue working on an effort
to upstream valgrind/FreeBSD support.
Approved by: zeising (maintainer)
Differential Revision: https://reviews.freebsd.org/D25452
devel/valgrind-devel: finish Makefile reordering, no functional change
Mea culpa, the rest of this re-ordering is due to having missed this line in
a bunch of portlint noise about the patches that will soon be disappearing:
WARN: Makefile: "USES" has to appear earlier.
Move conflicts/bb/options definitions further down, as is also done in the
conflated diff of D25452.
Approved by: zeising (maintainer, implicit)
devel/valgrind-devel: address portlint concerns, no functional change
portlint pointed out that the ordering of the Makefile was slightly wrong,
and the depends lines were using spaces for indentation instead of tabs.
This was included as part of D25452, but has been refactored out in advance
of the update.
Approved by: zeising (maintainer, implicit)
devel/valgrind(-devel): Fix compiler version detection hopefully forever
Every time a compiler major version is bumped, we run into this exact
same error:
===> Configuring for valgrind-3.10.1.20160113_7,1
...
checking for a supported version of gcc... no (10.0.0)
configure: error: please use gcc >= 3.0 or clang >= 2.9
Attempt to fix this for all versions in the future.
Other fix included: don't use undefined behavior to implement offsetof,
just use the official builtin function instead.
Approved by: zeising (maintainer)
MFH: 2020Q1
Grab valgrind ports
Grab valgrind ports, I know people outside the project who are interested in
this. Grab it in the interim.
If you are interested in helping out, please let me know!
Allow valgrind to build with Clang again.
This resolves runtime issues with deciphering clang-built binaries
using a newer dwarf format.
Reported by: adrian, dim
Bump PORTREVISIONs for ports depending on the canonical version of GCC and
lang/gcc which have moved from GCC 4.9.4 to GCC 5.4 (at least under some
circumstances such as versions of FreeBSD or platforms).
This includes ports
- with USE_GCC=yes or USE_GCC=any,
- with USES=fortran,
- using using Mk/bsd.octave.mk which in turn has USES=fortran, and
- with USES=compiler specifying openmp, nestedfct, c++11-lib, c++14-lang,
c++11-lang, c++0x, c11, or gcc-c++11-lib.
PR: 216707
devel/valgrind{,-devel}: unbreak with gcc6 or later
checking for a supported version of gcc... no (6.3.0)
configure: error: please use gcc >= 3.0 or clang >= 2.9
===> Script "configure" failed unexpectedly.
Bump PORTREVISIONS for ports depending on the canonical version of GCC and
lang/gcc which have moved from GCC 4.8.5 to GCC 4.9.4 (at least under some
circumstances such as versions of FreeBSD or platforms).
In particular that is ports with USE_GCC=yes, USE_GCC=any, or one of
gcc-c++11-lib, openmp, nestedfct, c++11-lib as well as c++14-lang,
c++11-lang, c++0x, c11 requested via USES=compiler.
Use USES=pathfix where applicable.
PR: 213195
Submitted by: mat
Exp-run by: antoine
Sponsored by: Absolight
Differential Revision: https://reviews.freebsd.org/D8093
Add a MANPAGES knob to devel/valgrind{-devel}
devel/valgrind/Makefile
devel/valgrind/pkg-plist
devel/valgrind-devel/Makefile
devel/valgrind-devel/pkg-plist
Add a MANPAGES option. valgrind's man pages are built with
docbook-xml, which has lots of dependencies. Disabling MANPAGES will
speed the build.
Reviewed by: bdrewery, brd
Approved by: bdrewery (ports, maintainer)
Sponsored by: Spectra Logic Corp
Differential Revision: https://reviews.freebsd.org/D6667
- Fix 32BIT build
- Fix plist under 32bit builds
- Fix build on 84amd64 by using GCC. Stass has suggested to me that
using clang may result in a broken runtime anyhow.
The error encountered was the one logged in r350881 about missing 'rdtscp'
instruction.
- Fix build occuring during 'make stage' phase.
Convert GMAKE to MAKE_CMD
Please note that lots of invocation of MAKE_CMD here are wrong as they do not
properly respect MAKE_ENV and friends
With hat: portmgr
- Bump PORTREVISION to ensure rebuild after HEAD r260290 to fix
on head, stable/10
PR: ports/185292
Reported by: Robert David <robert.david.public@gmail.com>