ports/devel/valgrind-devel/Makefile
Paul Floyd 05757c16c5 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
        instruction 0xD5380001 (MRS rT, midr_el1)
391148  Unhandled AVX instruction vmovq %xmm9,%xmm1
392146  aarch64: unhandled instruction 0xD5380001 (MRS rT, midr_el1)
412377  SIGILL on cache flushes on arm64
417572  vex amd64->IR: unhandled instruction bytes: 0xC5 0x79 0xD6 0xED 0xC5
447989  Support Armv8.2 SHA-512 instructions
453044  gbserver_tests failures in aarch64
479661  Valgrind leaks file descriptors
486293  memccpy false positives
487439  SIGILL in JDK11, JDK17
487993  Alignment error when using Eigen with Valgrind and -m32
488026  Use of `sizeof` instead of `strlen
488379  --track-fds=yes errors that cannot be suppressed with --xml-file=
488441  Add tests for --track-fds=yes --xml=yes and fd suppression tests
489040  massif trace change to show the location increasing the stack
489088  Valgrind throws unhandled instruction bytes: 0xC5 0x79 0xD6 0xE0 0xC5
489338  arm64: Instruction fcvtas should round 322.5 to 323, but result is 322.
489676  vgdb handle EINTR and EAGAIN more consistently
490651  Stop using -flto-partition=one
491394  (vgModuleLocal_addDiCfSI): Assertion 'di->fsm.have_rx_map &&
        di->fsm.rw_map_count' failed
492663  Valgrind ignores debug info for some binaries

PR:		281475
Event:		EuroBSDcon 2024
2024-09-25 08:28:05 +02:00

98 lines
2.5 KiB
Makefile

PORTNAME= valgrind
PORTVERSION= 3.24.0.g20240913
DISTVERSIONPREFIX= freebsd-
PORTEPOCH= 1
CATEGORIES= devel
MASTER_SITES= https://snapshots.sourceware.org/valgrind/trunk/2024-09-13_07-46_1726213561/
PKGNAMESUFFIX= -devel
DISTNAME= ${PORTNAME}-3.24.0.GIT
MAINTAINER= pjfloyd@wanadoo.fr
COMMENT= Memory debugging and profiling tool
WWW= https://www.valgrind.org/
LICENSE= GPLv2
LICENSE_FILE= ${WRKSRC}/COPYING
ONLY_FOR_ARCHS= aarch64 amd64 i386
USES= autoreconf cpe gmake pathfix perl5 pkgconfig shebangfix \
python:3.9+,run tar:bz2
USE_PERL5= build
SHEBANG_FILES= callgrind/callgrind_annotate.in callgrind/callgrind_control.in \
cachegrind/cg_merge.in cachegrind/cg_diff.in \
cachegrind/cg_annotate.in
GNU_CONFIGURE= yes
GNU_CONFIGURE_MANPREFIX=${PREFIX}/share
CONFIGURE_ENV+= ac_cv_path_PERL=${PERL}
SSP_UNSAFE= yes
LIB32_PATH?= /usr/lib32/libc.so
CONFLICTS= valgrind
# Valgrind needs to read debuginfo from its own preload shared libraries
# (quote from README_PACKAGERS
#-- Don't strip the debug info off lib/valgrind/$platform/vgpreload*.so
# in the installation tree. Either Valgrind won't work at all, or it
# will still work if you do, but will generate less helpful error
# messages.)
STRIP= # empty
PORTDOCS= html
OPTIONS_DEFINE= DOCS MANPAGES MPI
OPTIONS_DEFINE_amd64= 32BIT
OPTIONS_DEFAULT= MANPAGES
.if exists(${LIB32_PATH})
OPTIONS_DEFAULT_amd64= 32BIT
.endif
OPTIONS_SUB= yes
32BIT_DESC= Enable debugging of 32-bit programs (requires lib32)
MPI_DESC= Enable build of MPI wrappers
DOCS_BUILD_DEPENDS= docbook-xsl>=0:textproc/docbook-xsl \
xsltproc:textproc/libxslt
MANPAGES_BUILD_DEPENDS= docbook-xsl>=0:textproc/docbook-xsl \
xsltproc:textproc/libxslt
MPI_LIB_DEPENDS= libmpich.so:net/mpich
.include <bsd.port.options.mk>
.if ${ARCH} == "amd64"
PLIST_SUB+= AMD64=""
. if !${PORT_OPTIONS:M32BIT}
CONFIGURE_ARGS+= --enable-only64bit
PLIST_SUB+= X86="@comment "
. else
. if !exists(${LIB32_PATH})
IGNORE= please either install the lib32 distribution or unset the 32BIT option
. endif
PLIST_SUB+= X86=""
. endif
PLIST_SUB+= AARCH64="@comment "
.endif
.if ${ARCH} == "i386"
PLIST_SUB+= AMD64="@comment " \
X86="" \
AARCH64="@comment "
.endif
.if ${ARCH} == "aarch64"
PLIST_SUB+= AMD64="@comment " \
X86="@comment " \
AARCH64=""
.endif
post-patch-DOCS-off:
@${RM} -r ${WRKSRC}/docs/html
post-build-DOCS-on:
cd ${WRKSRC}/docs && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} html-docs
post-build-MANPAGES-on:
cd ${WRKSRC}/docs && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} man-pages
.include <bsd.port.mk>