dev-debug/valgrind: add 3.24.0_p1

Mark Wielaard (9):
      Set version to 3.24.1.GIT
      Prepare NEWS for branch 3.24 fixes
      vgdb.c (fork_and_exec_valgrind): Fix off-by-one error write
      vgdb.c (fork_and_exec_valgrind): Fix another off-by-one error write
      Add exp and supp patterns for missing main frame for ppc64le
      helgrind/tests/tc17_sembar.c: Remove bool typedef
      drd/tests/swapcontext.c: Rename typedef struct thread_local to threadlocal
      none/tests/bug234814.c: sa_handler take an int as argument
      Add open_tree, move_mount, fsopen, fsconfig, fsmount, fspick linux syswraps

Paul Floyd (2):
      regtest: add a fdleak filter for write on write on linux arm64
      Add additional exp-ppc64le files to EXTRA_DIST

Peter Seiderer (1):
      Add support for landlock_create_ruleset (444), landlock_add_rule (445) and landlock_restrict_self (446) syscalls

Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
Sam James 2024-11-27 06:20:27 +00:00
parent 44b5a7337f
commit c2d2acb206
No known key found for this signature in database
GPG Key ID: 738409F520DF9190
3 changed files with 199 additions and 1 deletions

View File

@ -1,5 +1,6 @@
DIST valgrind-3.23.0-patches-3.tar.xz 23084 BLAKE2B 4794143bd80f984d5dc07f792837faa139a4bf8cc6220c7c1e79b85f2c0e6ee579eb5e4220decc264a4e21424683554794d015e10aee20b9e34c16724d64eb58 SHA512 0144142d62552158d90a118591a50412d077d3e79fce333fb6da40aff8acd6c924d15c85f69293d1a189b2ecde66c184cf82c8ba3a134f95c439d50e147e331c
DIST valgrind-3.23.0.tar.bz2 16550038 BLAKE2B 9312761b0531006725f13270984b26c48f71ebe66e355b04410d7c01773c9b78ec21db3259cab398e58b3b68f93f5f074db06efe1f359bd7cf423515576191a4 SHA512 27d038faaaf6154cace2df18c3573291393548ba0738dbb6aba58eab6324c5beaa95fc5f3c0271663ca071baf829b15d806f7e81074f7cf087bef20ea0ed3117
DIST valgrind-3.23.0.tar.bz2.asc 488 BLAKE2B b06781577e3e84e506e56bd4acc7341aecacb6b5898d8f0daab627d24bc70c9c60edad11dc7e3723ac77aa9c7978f1e13af7734e7a37763c720e77ea4ff103a4 SHA512 e10b38c72ed1fb8d79a3fa84ab70c475ec7a15927a578ee6715aa74f9600453f0fb72551053b6c31583321c37dab100bafbf6e689c02a3bc06021f6092b4bc80
DIST valgrind-3.24.0-patches-1.tar.xz 10112 BLAKE2B 83e3b5970b4b4af60dacd90d0d7153359ece8f207f99e3325c8504a0fca123db3b803f2c745ed184f9aa3a4a54d1f922067dd060ce8d18d8b8bd4b936f676602 SHA512 054f5c9ee2676f172e896838e6fb50b1e51a842a8ede2dacb7def01c786bbd874f8099d9bd9ddb0ae88c7d1b32686dee80631ea7f6e27b0efd78a6c1fbdaaaec
DIST valgrind-3.24.0.tar.bz2 16632387 BLAKE2B e11ad08f0062bd39788cd71d7ce058dec7a7207fbbe25f0dbfc7fb5735667809681cec2c843659553fbd49bcc6c71bdb93d87ffda3589247e4ee87c98fe51332 SHA512 6c131ff93d1f432d8362a47285cc377cba224ebca4f18e922c6156f7736d43020ece14d8fd16913498ab00fd18c85e2042a7d5351c3901e80413c584ebb406f3
DIST valgrind-3.24.0.tar.bz2.asc 488 BLAKE2B f6307d10ee3ca26d837bf00471d179655ddbb0137920e175767a9d875aae355cea6727112deb788300a5196d94500bf9b341f8c70d46a1f83c40ae579ad45431 SHA512 37e9188756940960dcfe771d10275de7759ae652c94e710618948a8b366f66f3453f77b7751df0010b58304b203d7b3b56ac7a671d142d620916689ce5c84ae0

View File

@ -0,0 +1,195 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
# The Valgrind upstream maintainer also maintains it in Fedora and will
# backport fixes there which haven't yet made it into a release. Keep an eye
# on it for fixes we should cherry-pick too:
# https://src.fedoraproject.org/rpms/valgrind/tree/rawhide
#
# Also check the ${PV}_STABLE branch upstream for backports.
inherit autotools flag-o-matic toolchain-funcs multilib pax-utils
DESCRIPTION="An open-source memory debugger for GNU/Linux"
HOMEPAGE="https://valgrind.org"
if [[ ${PV} == 9999 ]]; then
EGIT_REPO_URI="https://sourceware.org/git/${PN}.git"
inherit git-r3
else
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/valgrind.gpg
inherit verify-sig
MY_P="${P/_rc/.RC}"
MY_P="${MY_P%%_p*}"
VALGRIND_PATCH_TARBALL="${MY_P}-patches-${PV##*_p}"
SRC_URI="
https://sourceware.org/pub/valgrind/${MY_P}.tar.bz2
verify-sig? ( https://sourceware.org/pub/valgrind/${MY_P}.tar.bz2.asc )
"
# Rollups of backports on ${PV}_STABLE branch upstream. This branch
# is usually announced on the mailing list and distros are encouraged
# to pull from it regularly.
if [[ ${PV} == *_p* ]] ; then
SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${VALGRIND_PATCH_TARBALL}.tar.xz"
fi
S="${WORKDIR}"/${MY_P}
if [[ ${PV} != *_rc* ]] ; then
KEYWORDS="-* ~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
fi
fi
LICENSE="GPL-2"
SLOT="0"
IUSE="mpi"
DEPEND="mpi? ( virtual/mpi )"
RDEPEND="${DEPEND}"
if [[ ${PV} == 9999 ]] ; then
# Needed for man pages
BDEPEND+="
app-text/docbook-xsl-stylesheets
dev-libs/libxslt
"
else
BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-valgrind )"
fi
PATCHES=(
# Respect CFLAGS, LDFLAGS
"${FILESDIR}"/${PN}-3.7.0-respect-flags.patch
"${FILESDIR}"/${PN}-3.15.0-Build-ldst_multiple-test-with-fno-pie.patch
"${FILESDIR}"/${PN}-3.21.0-glibc-2.34-suppressions.patch
)
QA_CONFIG_IMPL_DECL_SKIP+=(
# "checking if gcc accepts nested functions" but clang cannot handle good
# errors and reports both "function definition is not allowed here" and
# -Wimplicit-function-declaration. bug #900396
foo
)
src_unpack() {
if [[ ${PV} == 9999 ]] ; then
git-r3_src_unpack
elif use verify-sig ; then
# Needed for downloaded patch (which is unsigned, which is fine)
verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.bz2{,.asc}
fi
default
}
src_prepare() {
# Correct hard coded doc location
sed -i -e "s:doc/valgrind:doc/${PF}:" docs/Makefile.am || die
# Don't force multiarch stuff on OSX, bug #306467
sed -i -e 's:-arch \(i386\|x86_64\)::g' Makefile.all.am || die
if [[ ${CHOST} == *-solaris* ]] ; then
# upstream doesn't support this, but we don't build with
# Sun/Oracle ld, we have a GNU toolchain, so get some things
# working the Linux/GNU way
find "${S}" -name "Makefile.am" -o -name "Makefile.tool.am" | xargs \
sed -i -e 's:-M,/usr/lib/ld/map.noexstk:-z,noexecstack:' || die
cp "${S}"/coregrind/link_tool_exe_{linux,solaris}.in
fi
if [[ ${PV} != 9999 && -d "${WORKDIR}"/${VALGRIND_PATCH_TARBALL} ]] ; then
PATCHES+=( "${WORKDIR}"/${VALGRIND_PATCH_TARBALL} )
fi
default
eautoreconf
}
src_configure() {
local myconf=(
--with-gdbscripts-dir="${EPREFIX}"/usr/share/gdb/auto-load
)
tc-is-lto && myconf+=( --enable-lto )
# Respect ar, bug #468114
tc-export AR
# -fomit-frame-pointer "Assembler messages: Error: junk `8' after expression"
# while compiling insn_sse.c in none/tests/x86
# -fstack-protector more undefined references to __guard and __stack_smash_handler
# because valgrind doesn't link to glibc (bug #114347)
# -fstack-protector-all Fails same way as -fstack-protector/-fstack-protector-strong.
# Note: -fstack-protector-explicit is a no-op for Valgrind, no need to strip it
# -fstack-protector-strong See -fstack-protector (bug #620402)
# -m64 -mx32 for multilib-portage, bug #398825
# -fharden-control-flow-redundancy: breaks runtime ('jump to the invalid address stated on the next line')
filter-flags -fomit-frame-pointer
filter-flags -fstack-protector
filter-flags -fstack-protector-all
filter-flags -fstack-protector-strong
filter-flags -m64 -mx32
filter-flags -fsanitize -fsanitize=*
filter-flags -fharden-control-flow-redundancy
append-cflags $(test-flags-CC -fno-harden-control-flow-redundancy)
filter-lto
if use amd64 || use ppc64; then
! has_multilib_profile && myconf+=("--enable-only64bit")
fi
# Force bitness on darwin, bug #306467
use x64-macos && myconf+=("--enable-only64bit")
# Don't use mpicc unless the user asked for it (bug #258832)
if ! use mpi; then
myconf+=("--without-mpicc")
fi
econf "${myconf[@]}"
}
src_test() {
# fxsave.o, tronical.o have textrels
# -fno-strict-aliasing: https://bugs.kde.org/show_bug.cgi?id=486093
emake CFLAGS="${CFLAGS} -fno-strict-aliasing" LDFLAGS="${LDFLAGS} -Wl,-z,notext" check
}
src_install() {
if [[ ${PV} == 9999 ]]; then
# TODO: Could do HTML docs too with 'all-docs'
emake -C docs man-pages FAQ.txt
mv docs/FAQ.txt . || die "Couldn't move FAQ.txt"
fi
default
dodoc FAQ.txt
pax-mark m "${ED}"/usr/$(get_libdir)/valgrind/*-*-linux
# See README_PACKAGERS
dostrip -x /usr/libexec/valgrind/vgpreload* /usr/$(get_libdir)/valgrind/*
if [[ ${CHOST} == *-darwin* ]] ; then
# fix install_names on shared libraries, can't turn them into bundles,
# as dyld won't load them any more then, bug #306467
local l
for l in "${ED}"/usr/lib/valgrind/*.so ; do
install_name_tool -id "${EPREFIX}"/usr/lib/valgrind/${l##*/} "${l}"
done
fi
}
pkg_postinst() {
elog "Valgrind will not work if libc (e.g. glibc) does not have debug symbols."
elog "To fix this you can add splitdebug to FEATURES in make.conf"
elog "and remerge glibc. See:"
elog "https://bugs.gentoo.org/214065"
elog "https://bugs.gentoo.org/274771"
elog "https://bugs.gentoo.org/388703"
}

View File

@ -29,7 +29,9 @@ else
https://sourceware.org/pub/valgrind/${MY_P}.tar.bz2
verify-sig? ( https://sourceware.org/pub/valgrind/${MY_P}.tar.bz2.asc )
"
# Rollups of backports on ${PV}_STABLE branch upstream.
# Rollups of backports on ${PV}_STABLE branch upstream. This branch
# is usually announced on the mailing list and distros are encouraged
# to pull from it regularly.
if [[ ${PV} == *_p* ]] ; then
SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${VALGRIND_PATCH_TARBALL}.tar.xz"
fi