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 five tools: two memory error detectors, a
thread error detector, a cache profiler and a heap profiler. Several other
tools have been built with Valgrind.
Valgrind was initially ported to FreeBSD by
Doug Rabson (http://www.rabson.org/).
WWW: https://bitbucket.org/stass/valgrind-freebsd/overview
WWW: http://www.valgrind.org/
===> The following configuration options are available for valgrind-snapshot-3.8.1,1:
32BIT=off: Enable debugging of 32-bit programs (requires lib32)
MPI=off: Enable build of MPI wrappers
===> Use 'make config' to modify these settings
This changes almost all the "gnomehack" only USE_GNOME cases to USES= pathfix.
If a port used other USE_GNOME items it was untouched.
The ports that used other USES were fixed by hand.
PR: ports/177081
Reviewed by: bapt
Approved by: portmgr (miwi)
- Fix build on amd64 with WITHOUT_LIB32 on 9+
- Use the same check for /usr/lib32/libc.so as the
virtualbox ports for consistency.
PR: ports/174563
Reported by: 4721@hushmail.com
new devel/pkgconf added to replace devel/pkg-config. new version of pkg-config
are no more self hosting so we are stuck with 0.25 version while pkgconf provide
the same set of features as 0.27 and a compatible frontend. A symlink to
pkg-config has been added for convenience and compatibility
This also introduces a new macro to use pkgconf in your ports:
USE_PKGCONFIG
it can take the following arguments:
- yes (meaning build only dep)
- build (meaning build only dep)
- run (meaning run only dep)
- both (meaning run and build dep)
From now USE_GNOME= pkgconfig is deprecated in favour of USE_PKGCONFIG
The old gnome macro has been modified to use pkgconf but still the sameway: run
and build dep to avoid large breakage.
While here fix some ports relying on pkg-config but not specifying it, fix some
ports broken because testing wrong .pc files, and fix ports using pkg-config
--version to determine pkg-config version instead of
pkg-config --modversion pkg-config like recommanded by pkg-config
With Hat: portmgr
Exp-runs by: bapt (pointhat-west), beat (pointyhat)
For ports maintained by ports@ where pkgconfig is one of the USE_GNOME deps
convert it to BUILD_DEPENDS. This avoids the problem of the bogus run dep
added by bsd.gnome.mk.
- Return my ports back to the pool. I was unable to make any fixes to
my ports in the past 3 weeks while ports were broken on any 10.x
machines, which means I'm unable to maintain them. So let people know
that there's no available support for them until things are back to
normal (which also means that anyone with spare time will be able
to fix them without getting approval).
Update CONFIGURE_ARGS for how we pass CONFIGURE_TARGET to configure script.
Specifically, newer autoconf (> 2.13) has different semantic of the
configure target. In short, one should use --build=CONFIGURE_TARGET
instead of CONFIGURE_TARGET directly. Otherwise, you will get a warning
and the old semantic may be removed in later autoconf releases.
To workaround this issue, many ports hack the CONFIGURE_TARGET variable
so that it contains the ``--build='' prefix.
To solve this issue, under the fact that some ports still have
configure script generated by the old autoconf, we use runtime detection
in the do-configure target so that the proper argument can be used.
Changes to Mk/*:
- Add runtime detection magic in bsd.port.mk
(Only the first 15 lines of the commit message are shown above )
Welcome bsd.perl.mk. Add support for constructs such as USE_PERL5=5.8.0+.
Drop support for antique perl.
Work done by: gabor
Sponsored by: Google Summer of Code 2007
Hat: portmgr
- Fix build on 7-current by avoiding conflict in si_band macro, that
is already defined in the sys/signal.h header
Submitted by: Niklas Sorensson <nik@cs.chalmers.se>
Prodded by: kris via pointyhat
- Fix on FreeBSD 6 and above: [1] [2]
Valgrind did not handle the following sysarch calls, and thus crashed
immediately
o get_fsbase
o set_fsbase
o get_gsbase
o set_fsbase
- Valgrind no longer dumps core when its client application does. [2]
Valgrind-snapshot does contain for safing the client's core dump,
but it does not work (it resulted in a crash) and has therefore been
disabled.
(Only the first 15 lines of the commit message are shown above )
- Mark valgrind ports IGNORE when /proc is not mounted, previously, only
a warning was printed.
A mounted procfs is a runtime dependency of valgrind, but since the
implementation of automatic suppression file generation the valgrind
binary is run in the post-install stage.
- An exception needs to be made for the ports cluster: The machine compiling
the list of IGNOREd ports does not have a mounted /proc, so the check (and
the generation of supression files is disabled there).
Users who want to suppress false positives in valgrinds output should build
the port instead of installing the package (so the rules can be customized to
their specific installation).
Reported by: Paul Ledbetter III <aeacides@gmail.com>
Approved by: portmgr (kris)
Fix generation of suppression files: Valgrind puts parts of its output
on stderr, so the redirection into a file did not work.
Submitted by: Eugene Kilachkoff <zeus@samaramail.ru>
PR: ports/81249
- Starting from some point after FreeBSD 5.2.1, valgrind did not terminate
correctly, but got stuck in state ``umtx''. This was mentioned on the lists
and in kern/68992 [closed], but I was never able to fix the problem.
On FreeBSD >= 502120, the kernel's and valgrind's definition of
UMTX_CONTESTED flag were out of sync, which is why valgrind did not terminate
on these systems.
PR: ports/74903
Submitted by: Simon Barner <barner@gmx.de> (maintainer)
Instead of just checking for PACKAGE_BUILDING, don't let the check for
procfs stop the portbuild at all. Displaying a warning is fine, breaking
the build over a runtime requirement that does not break building the port
is not.
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.
This version is based on a more recent snapshot of
devel/valgrind and supports some older AMD processors.
Submitted by: Doug Rabson <dfr@FreeBSD.org> and Simon Barner
<barner@in.tum.de>