This is very similar to what we do for Darwin directly below, but
we look up the FreeBSD version at eval time instead.
The .0 is prepended because our current FreeBSD system doubles only
include the major version. Valgrind ignores everything after the
dot anyway (but it wants the dot to be there).
Valgrind has to do lots of architecture- and OS-specific stuff, so it
only works on a defined set of platforms. So rather than marking
platforms as bad one by one, let's set meta.platforms to the actual
set of platforms supported by Valgrind, as listed in its configure
script.
Static-only Valgrind builds aren't supported, because it always tries
to build shared preload libraries. Marking it broken like this will
fix packages like pkgsStatic.libdrm that only use Valgrind if it's
available.
Version 3.17.0 contains support for sched_getattr and sched_setattr.
This fixes an issue where the following messages can be logged:
WARNING: unhandled amd64-linux syscall 315
See: https://bugs.kde.org/show_bug.cgi?id=369029
In addition to the version bump, this commit enables doCheck (as the
tests now pass) and provides a separate pname and version.
The upstream 3.17.0 also reorganized the output, placing the
default.supp file in libexec rather than lib. The postInstall hook was
adjusted accordingly.
A patch file which has not been used since upgrade to 3.15.0 in 2019
was also removed.
We fixed a race condition in #51505 and #51107. This required running
autoreconfHook to pick up the `coregrind-makefile-race.patch` patch.
Unfortunately this broke darwin's postPatch fixes as autoreconfHook would run
afterwards regenerating the fixed makefiles.
Moving the postPatch fixes to preConfigure should resolve the issue.
I left `postPatch = ""` in to avoid a rebuild on linux.
https://github.com/NixOS/nixpkgs/pull/51107 added a patch to Makefile.am to fix
a race condition in the build. It was unfortunately never picked up as we we're
using the generated makefile from the tarball.
The bzero-patch was merged upstream in
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@16103, so it does no
longer apply.
Additionally - to make the build succeed on darwin systems more recent
than our nixpkgs.darwin.xnu kernel version - we need to teach the build
the version of the xnu headers we provide, instead of letting the build
figure out the actual system version using `uname -r`.
The following parameters are now available:
* hardeningDisable
To disable specific hardening flags
* hardeningEnable
To enable specific hardening flags
Only the cc-wrapper supports this right now, but these may be reused by
other wrappers, builders or setup hooks.
cc-wrapper supports the following flags:
* fortify
* stackprotector
* pie (disabled by default)
* pic
* strictoverflow
* format
* relro
* bindnow