diff --git a/.fmf/version b/.fmf/version new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/.fmf/version @@ -0,0 +1 @@ +1 diff --git a/.gitignore b/.gitignore index bd162ca..1b94371 100644 --- a/.gitignore +++ b/.gitignore @@ -37,3 +37,31 @@ /valgrind-3.16.0.GIT.tar.bz2 /valgrind-3.16.0.RC2.tar.bz2 /valgrind-3.16.0.tar.bz2 +/valgrind-3.16.1.tar.bz2 +/valgrind-3.17.0.RC1.tar.bz2 +/valgrind-3.17.0.RC2.tar.bz2 +/valgrind-3.17.0.tar.bz2 +/valgrind-3.18.0.RC1.tar.bz2 +/valgrind-3.18.1.tar.bz2 +/valgrind-3.19.0.tar.bz2 +/valgrind-3.20.0.tar.bz2 +/valgrind-3.21.0.RC1.tar.bz2 +/valgrind-3.21.0.RC2.tar.bz2 +/valgrind-3.21.0.tar.bz2 +/valgrind-3.22.0.RC1.tar.bz2 +/valgrind-3.22.0.RC2.tar.bz2 +/valgrind-3.22.0.tar.bz2 +/valgrind-3.23.0.RC1.tar.bz2 +/valgrind-3.23.0.RC2.tar.bz2 +/valgrind-3.23.0.tar.bz2 +/valgrind-3.24.0.tar.bz2 +/valgrind-3.25.0.RC1.tar.bz2 +/valgrind-3.25.0.RC2.tar.bz2 +/valgrind-3.25.0.tar.bz2 +/valgrind-3.25.1.tar.bz2 +/valgrind-3.26.0.RC1.tar.bz2 +/valgrind-3.26.0.tar.bz2 +/valgrind-3.27.0.RC1.tar.bz2 +/valgrind-3.27.0.RC2.tar.bz2 +/valgrind-3.27.0.tar.bz2 +/valgrind-3.27.1.tar.bz2 diff --git a/gating.yaml b/gating.yaml new file mode 100644 index 0000000..0ae927e --- /dev/null +++ b/gating.yaml @@ -0,0 +1,20 @@ +--- !Policy +product_versions: + - fedora-* +decision_context: bodhi_update_push_stable +subject_type: koji_build +rules: + - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional} + - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.rpminspect.static-analysis} +--- !Policy +product_versions: + - rhel-8 +decision_context: osci_compose_gate +rules: + - !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional} +--- !Policy +product_versions: + - rhel-9 +decision_context: osci_compose_gate +rules: + - !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional} diff --git a/plans/ci.fmf b/plans/ci.fmf new file mode 100644 index 0000000..fc00c44 --- /dev/null +++ b/plans/ci.fmf @@ -0,0 +1,6 @@ +summary: CI test plan, runs all tests from tests repo. +discover: + how: fmf + url: https://src.fedoraproject.org/tests/valgrind +execute: + how: tmt diff --git a/rpminspect.yaml b/rpminspect.yaml new file mode 100644 index 0000000..0ebee4b --- /dev/null +++ b/rpminspect.yaml @@ -0,0 +1,52 @@ +--- +inspections: + # xml files shipped are GDB register set descriptions which can only be + # verified with gdb/features/gdb-target.dtd, provided in GDB sources. + xml: off + +annocheck: + # Currently lto is disabled globally for valgrind, it should be able + # to be enabled through upstream configure --enable-lto in the future. + # Note that all (default hardened) flags need to be repeated here, if + # you override some config flags it will completely overwrite the + # defaults (--ignore-unknown --verbose). + jobs: + - hardened: --ignore-unknown --verbose --skip-lto + # Ignore files built specially without hardening flags + ignore: + # Valgrind tools themselves (memcheck, cachegrind, massif, etc) are + # statically linked and need to be built without PIE to be loaded at + # a fixed address in the program's address space. + # Also need to be built without stack protection so the generated + # code (valgrind VEX jit) interacts correctly with their own static code. + - /usr/libexec/valgrind/*-*-linux + # Wrappers for various string and mem functions such as memcpy, strlen, etc + # that valgrind uses to keep track of memory usage. Hardening settings such + # as optimizations need to be disabled so they don't interfere or break + # the checks that valgrind does internally. + - /usr/libexec/valgrind/vgpreload*so + # libmpiwrap is special since it is a LD_PRELOAD wrapper used by valgrind + # memcheck for MPI using programs, the wrapper is against a specific MPI + # implementation though, in our case openmpi. We don't want to have a hard + # dependency on openmpi however, so a user can use the wrapper without + # explicitly pulling in openmpi unless the program explicitly uses it. + - /usr/lib*/openmpi/valgrind/libmpiwrap-*-linux.so + # These static archives (to create custom valgrind tools) are only + # distributed in valgrind-tools-devel and don't have hardening flags + # for the same reason as the standard tools (see above). + - /usr/lib*/valgrind/*-*linux.a + +debuginfo: + ignore: + # We add the debuginfo to vgpreload libraries because we want to show the + # user exactly where the issue is, which we cannot without always having + # the symtab around. The vgpreload libraries are really tiny, so it doesn't + # have a big impact on the package size. + - /usr/libexec/valgrind/vgpreload*.so + +runpath: + allowed_paths: + # As described above, libmpiwrap is a wrapper against openmpi + # so we set DT_RUNPATH to openmpi libs path + - /usr/lib/openmpi/lib + - /usr/lib64/openmpi/lib diff --git a/sources b/sources index 5f318d3..f885857 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (valgrind-3.16.0.tar.bz2) = 6c82a0121e0ffde79f84943ea0f5791159ad3e37a490c1a18ff23f41cd4de62b62110e9c4d48b95b06d542f2a6d638492ecaeba9fed48f7e909e959aa4b4856d +SHA512 (valgrind-3.27.1.tar.bz2) = 4522e345fe31bc10478f21ab261cf7b3e509d80fe98fd0c7c9778ac9a9f90e1d8fa6e54a37c2e23114c01c95131035103fc1e78661710d7f45f5d564a31c1015 diff --git a/valgrind-3.16.0-pkglibexecdir.patch b/valgrind-3.16.0-pkglibexecdir.patch deleted file mode 100644 index cd52729..0000000 --- a/valgrind-3.16.0-pkglibexecdir.patch +++ /dev/null @@ -1,117 +0,0 @@ -diff --git a/Makefile.all.am b/Makefile.all.am -index 3786e34..1befef5 100644 ---- a/Makefile.all.am -+++ b/Makefile.all.am -@@ -50,20 +50,20 @@ inplace-noinst_DSYMS: build-noinst_DSYMS - done - - # This is used by coregrind/Makefile.am and by /Makefile.am for doing --# "make install". It copies $(noinst_PROGRAMS) into $prefix/lib/valgrind/. -+# "make install". It copies $(noinst_PROGRAMS) into $prefix/libexec/valgrind/. - # It needs to be depended on by an 'install-exec-local' rule. - install-noinst_PROGRAMS: $(noinst_PROGRAMS) -- $(mkinstalldirs) $(DESTDIR)$(pkglibdir); \ -+ $(mkinstalldirs) $(DESTDIR)$(pkglibexecdir); \ - for f in $(noinst_PROGRAMS); do \ -- $(INSTALL_PROGRAM) $$f $(DESTDIR)$(pkglibdir); \ -+ $(INSTALL_PROGRAM) $$f $(DESTDIR)$(pkglibexecdir); \ - done - - # This is used by coregrind/Makefile.am and by /Makefile.am for doing --# "make uninstall". It removes $(noinst_PROGRAMS) from $prefix/lib/valgrind/. -+# "make uninstall". It removes $(noinst_PROGRAMS) from $prefix/libexec/valgrind/. - # It needs to be depended on by an 'uninstall-local' rule. - uninstall-noinst_PROGRAMS: - for f in $(noinst_PROGRAMS); do \ -- rm -f $(DESTDIR)$(pkglibdir)/$$f; \ -+ rm -f $(DESTDIR)$(pkglibexecdir)/$$f; \ - done - - # Similar to install-noinst_PROGRAMS. -@@ -71,15 +71,15 @@ uninstall-noinst_PROGRAMS: - # directories. XXX: not sure whether the resulting permissions will be - # correct when using 'cp -R'... - install-noinst_DSYMS: build-noinst_DSYMS -- $(mkinstalldirs) $(DESTDIR)$(pkglibdir); \ -+ $(mkinstalldirs) $(DESTDIR)$(pkglibexecdir); \ - for f in $(noinst_DSYMS); do \ -- cp -R $$f.dSYM $(DESTDIR)$(pkglibdir); \ -+ cp -R $$f.dSYM $(DESTDIR)$(pkglibexecdir); \ - done - - # Similar to uninstall-noinst_PROGRAMS. - uninstall-noinst_DSYMS: - for f in $(noinst_DSYMS); do \ -- rm -f $(DESTDIR)$(pkglibdir)/$$f.dSYM; \ -+ rm -f $(DESTDIR)$(pkglibexecdir)/$$f.dSYM; \ - done - - # This needs to be depended on by a 'clean-local' rule. -diff --git a/Makefile.am b/Makefile.am -index 242b38a..3b7c806 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -58,7 +58,7 @@ DEFAULT_SUPP_FILES = @DEFAULT_SUPP@ - # default.supp, as it is built from the base .supp files at compile-time. - dist_noinst_DATA = $(SUPP_FILES) - --vglibdir = $(pkglibdir) -+vglibdir = $(pkglibexecdir) - vglib_DATA = default.supp - - pkgconfigdir = $(libdir)/pkgconfig -diff --git a/coregrind/Makefile.am b/coregrind/Makefile.am -index 94030fd..f09763a 100644 ---- a/coregrind/Makefile.am -+++ b/coregrind/Makefile.am -@@ -11,12 +11,12 @@ include $(top_srcdir)/Makefile.all.am - - AM_CPPFLAGS_@VGCONF_PLATFORM_PRI_CAPS@ += \ - -I$(top_srcdir)/coregrind \ -- -DVG_LIBDIR="\"$(pkglibdir)"\" \ -+ -DVG_LIBDIR="\"$(pkglibexecdir)"\" \ - -DVG_PLATFORM="\"@VGCONF_ARCH_PRI@-@VGCONF_OS@\"" - if VGCONF_HAVE_PLATFORM_SEC - AM_CPPFLAGS_@VGCONF_PLATFORM_SEC_CAPS@ += \ - -I$(top_srcdir)/coregrind \ -- -DVG_LIBDIR="\"$(pkglibdir)"\" \ -+ -DVG_LIBDIR="\"$(pkglibexecdir)"\" \ - -DVG_PLATFORM="\"@VGCONF_ARCH_SEC@-@VGCONF_OS@\"" - endif - -@@ -714,7 +714,7 @@ GDBSERVER_XML_FILES = \ - m_gdbserver/mips64-fpu.xml - - # so as to make sure these get copied into the install tree --vglibdir = $(pkglibdir) -+vglibdir = $(pkglibexecdir) - vglib_DATA = $(GDBSERVER_XML_FILES) - - # so as to make sure these get copied into the tarball -diff --git a/mpi/Makefile.am b/mpi/Makefile.am -index 7ad9a25..471fee0 100644 ---- a/mpi/Makefile.am -+++ b/mpi/Makefile.am -@@ -18,16 +18,18 @@ EXTRA_DIST = \ - # libmpiwrap-.so - #---------------------------------------------------------------------------- - --noinst_PROGRAMS = -+# These are really real libraries, so they should go to libdir, not libexec. -+mpidir = $(pkglibdir) -+mpi_PROGRAMS = - if BUILD_MPIWRAP_PRI --noinst_PROGRAMS += libmpiwrap-@VGCONF_ARCH_PRI@-@VGCONF_OS@.so -+mpi_PROGRAMS += libmpiwrap-@VGCONF_ARCH_PRI@-@VGCONF_OS@.so - endif - if BUILD_MPIWRAP_SEC --noinst_PROGRAMS += libmpiwrap-@VGCONF_ARCH_SEC@-@VGCONF_OS@.so -+mpi_PROGRAMS += libmpiwrap-@VGCONF_ARCH_SEC@-@VGCONF_OS@.so - endif - - if VGCONF_OS_IS_DARWIN --noinst_DSYMS = $(noinst_PROGRAMS) -+mpi_DSYMS = $(mpi_PROGRAMS) - endif - - diff --git a/valgrind-3.16.0-some-Wl-z-now.patch b/valgrind-3.26.0-some-Wl-z-now.patch similarity index 56% rename from valgrind-3.16.0-some-Wl-z-now.patch rename to valgrind-3.26.0-some-Wl-z-now.patch index 79c3662..ccf867b 100644 --- a/valgrind-3.16.0-some-Wl-z-now.patch +++ b/valgrind-3.26.0-some-Wl-z-now.patch @@ -1,69 +1,50 @@ -commit d3c977726064ba09fed6dfc7daf22b16824c97b4 -Author: Mark Wielaard -Date: Fri May 24 18:24:56 2019 +0200 - - Add -Wl,-z,now to some binaries. - diff --git a/auxprogs/Makefile.am b/auxprogs/Makefile.am -index 1b7842b..e211eec 100644 +index 2b8703cf1a63..8cb828b85c57 100644 --- a/auxprogs/Makefile.am +++ b/auxprogs/Makefile.am -@@ -32,7 +32,7 @@ valgrind_listener_SOURCES = valgrind-listener.c +@@ -50,7 +50,7 @@ valgrind_listener_SOURCES = valgrind-listener.c valgrind_listener_CPPFLAGS = $(AM_CPPFLAGS_PRI) -I$(top_srcdir)/coregrind - valgrind_listener_CFLAGS = $(AM_CFLAGS_PRI) -fstack-protector-strong + valgrind_listener_CFLAGS = $(AM_CFLAGS_PRI) -fhosted -fstack-protector-strong valgrind_listener_CCASFLAGS = $(AM_CCASFLAGS_PRI) -valgrind_listener_LDFLAGS = $(AM_CFLAGS_PRI) +valgrind_listener_LDFLAGS = $(AM_CFLAGS_PRI) -Wl,-z,now if VGCONF_PLATVARIANT_IS_ANDROID valgrind_listener_CFLAGS += -static endif -@@ -51,7 +51,7 @@ valgrind_di_server_SOURCES = valgrind-di-server.c +@@ -69,7 +69,7 @@ valgrind_di_server_SOURCES = valgrind-di-server.c valgrind_di_server_CPPFLAGS = $(AM_CPPFLAGS_PRI) -I$(top_srcdir)/coregrind - valgrind_di_server_CFLAGS = $(AM_CFLAGS_PRI) -fstack-protector-strong + valgrind_di_server_CFLAGS = $(AM_CFLAGS_PRI) -fhosted -fstack-protector-strong valgrind_di_server_CCASFLAGS = $(AM_CCASFLAGS_PRI) -valgrind_di_server_LDFLAGS = $(AM_CFLAGS_PRI) +valgrind_di_server_LDFLAGS = $(AM_CFLAGS_PRI) -Wl,-z,now if VGCONF_PLATVARIANT_IS_ANDROID valgrind_di_server_CFLAGS += -static endif -@@ -86,7 +86,7 @@ getoff_@VGCONF_ARCH_PRI@_@VGCONF_OS@_SOURCES = getoff.c +@@ -104,7 +104,7 @@ getoff_@VGCONF_ARCH_PRI@_@VGCONF_OS@_SOURCES = getoff.c getoff_@VGCONF_ARCH_PRI@_@VGCONF_OS@_CPPFLAGS = $(AM_CPPFLAGS_@VGCONF_PLATFORM_PRI_CAPS@) - getoff_@VGCONF_ARCH_PRI@_@VGCONF_OS@_CFLAGS = $(AM_CFLAGS_@VGCONF_PLATFORM_PRI_CAPS@) -fstack-protector-strong + getoff_@VGCONF_ARCH_PRI@_@VGCONF_OS@_CFLAGS = $(AM_CFLAGS_@VGCONF_PLATFORM_PRI_CAPS@) -fhosted -fstack-protector-strong getoff_@VGCONF_ARCH_PRI@_@VGCONF_OS@_CCASFLAGS = $(AM_CCASFLAGS_PRI) -getoff_@VGCONF_ARCH_PRI@_@VGCONF_OS@_LDFLAGS = $(AM_CFLAGS_PRI) @LIB_UBSAN@ +getoff_@VGCONF_ARCH_PRI@_@VGCONF_OS@_LDFLAGS = $(AM_CFLAGS_PRI) @LIB_UBSAN@ -Wl,-z,now if HAVE_DLINFO_RTLD_DI_TLS_MODID getoff_@VGCONF_ARCH_PRI@_@VGCONF_OS@_LDADD = $(LDADD) -ldl endif -diff --git a/cachegrind/Makefile.am b/cachegrind/Makefile.am -index f572741..1c07e50 100644 ---- a/cachegrind/Makefile.am -+++ b/cachegrind/Makefile.am -@@ -27,7 +27,7 @@ cg_merge_SOURCES = cg_merge.c - cg_merge_CPPFLAGS = $(AM_CPPFLAGS_PRI) - cg_merge_CFLAGS = $(AM_CFLAGS_PRI) -fstack-protector-strong - cg_merge_CCASFLAGS = $(AM_CCASFLAGS_PRI) --cg_merge_LDFLAGS = $(AM_CFLAGS_PRI) -+cg_merge_LDFLAGS = $(AM_CFLAGS_PRI) -Wl,-z,now - # If there is no secondary platform, and the platforms include x86-darwin, - # then the primary platform must be x86-darwin. Hence: - if ! VGCONF_HAVE_PLATFORM_SEC diff --git a/coregrind/Makefile.am b/coregrind/Makefile.am -index 3c73210..fb6b7bb 100644 +index 0bcb4a4f423f..59fc48052e50 100644 --- a/coregrind/Makefile.am +++ b/coregrind/Makefile.am -@@ -57,7 +57,7 @@ RANLIB = ${LTO_RANLIB} +@@ -64,7 +64,7 @@ RANLIB = ${LTO_RANLIB} valgrind_CPPFLAGS = $(AM_CPPFLAGS_PRI) - valgrind_CFLAGS = $(AM_CFLAGS_PRI) $(LTO_CFLAGS) -fstack-protector-strong + valgrind_CFLAGS = $(AM_CFLAGS_PRI) $(LTO_CFLAGS) -fhosted -fstack-protector-strong valgrind_CCASFLAGS = $(AM_CCASFLAGS_PRI) -valgrind_LDFLAGS = $(AM_CFLAGS_PRI) @LIB_UBSAN@ +valgrind_LDFLAGS = $(AM_CFLAGS_PRI) @LIB_UBSAN@ -Wl,-z,now # If there is no secondary platform, and the platforms include x86-darwin, # then the primary platform must be x86-darwin. Hence: if ! VGCONF_HAVE_PLATFORM_SEC -@@ -96,7 +96,7 @@ endif - vgdb_CPPFLAGS = $(AM_CPPFLAGS_PRI) - vgdb_CFLAGS = $(AM_CFLAGS_PRI) $(LTO_CFLAGS) -fstack-protector-strong +@@ -106,7 +106,7 @@ endif + vgdb_CPPFLAGS = $(AM_CPPFLAGS_PRI) $(GDB_SCRIPTS_DIR) + vgdb_CFLAGS = $(AM_CFLAGS_PRI) $(LTO_CFLAGS) -fhosted -fstack-protector-strong vgdb_CCASFLAGS = $(AM_CCASFLAGS_PRI) -vgdb_LDFLAGS = $(AM_CFLAGS_PRI) @LIB_UBSAN@ +vgdb_LDFLAGS = $(AM_CFLAGS_PRI) @LIB_UBSAN@ -Wl,-z,now diff --git a/valgrind-3.16.0-some-stack-protector.patch b/valgrind-3.26.0-some-stack-protector.patch similarity index 60% rename from valgrind-3.16.0-some-stack-protector.patch rename to valgrind-3.26.0-some-stack-protector.patch index bde2aa5..ca00eac 100644 --- a/valgrind-3.16.0-some-stack-protector.patch +++ b/valgrind-3.26.0-some-stack-protector.patch @@ -1,59 +1,49 @@ -commit b73fb7a614e1b5d60af23fb0752b5cead995e02e -Author: Mark Wielaard -Date: Sun Apr 14 00:30:05 2019 +0200 - - Remove no-stack-protector, add stack-protector-strong to some. - diff --git a/auxprogs/Makefile.am b/auxprogs/Makefile.am -index 56cc5ef..1b7842b 100644 +index d96e7fd0a968..2b8703cf1a63 100644 --- a/auxprogs/Makefile.am +++ b/auxprogs/Makefile.am -@@ -30,7 +30,7 @@ bin_PROGRAMS = valgrind-listener valgrind-di-server +@@ -48,7 +48,7 @@ bin_PROGRAMS = valgrind-listener valgrind-di-server valgrind_listener_SOURCES = valgrind-listener.c valgrind_listener_CPPFLAGS = $(AM_CPPFLAGS_PRI) -I$(top_srcdir)/coregrind --valgrind_listener_CFLAGS = $(AM_CFLAGS_PRI) -+valgrind_listener_CFLAGS = $(AM_CFLAGS_PRI) -fstack-protector-strong +-valgrind_listener_CFLAGS = $(AM_CFLAGS_PRI) -fhosted ++valgrind_listener_CFLAGS = $(AM_CFLAGS_PRI) -fhosted -fstack-protector-strong valgrind_listener_CCASFLAGS = $(AM_CCASFLAGS_PRI) valgrind_listener_LDFLAGS = $(AM_CFLAGS_PRI) if VGCONF_PLATVARIANT_IS_ANDROID -@@ -49,7 +49,7 @@ endif +@@ -67,7 +67,7 @@ endif valgrind_di_server_SOURCES = valgrind-di-server.c valgrind_di_server_CPPFLAGS = $(AM_CPPFLAGS_PRI) -I$(top_srcdir)/coregrind --valgrind_di_server_CFLAGS = $(AM_CFLAGS_PRI) -+valgrind_di_server_CFLAGS = $(AM_CFLAGS_PRI) -fstack-protector-strong +-valgrind_di_server_CFLAGS = $(AM_CFLAGS_PRI) -fhosted ++valgrind_di_server_CFLAGS = $(AM_CFLAGS_PRI) -fhosted -fstack-protector-strong valgrind_di_server_CCASFLAGS = $(AM_CCASFLAGS_PRI) valgrind_di_server_LDFLAGS = $(AM_CFLAGS_PRI) if VGCONF_PLATVARIANT_IS_ANDROID -@@ -84,7 +84,7 @@ endif +@@ -102,7 +102,7 @@ endif getoff_@VGCONF_ARCH_PRI@_@VGCONF_OS@_SOURCES = getoff.c getoff_@VGCONF_ARCH_PRI@_@VGCONF_OS@_CPPFLAGS = $(AM_CPPFLAGS_@VGCONF_PLATFORM_PRI_CAPS@) --getoff_@VGCONF_ARCH_PRI@_@VGCONF_OS@_CFLAGS = $(AM_CFLAGS_@VGCONF_PLATFORM_PRI_CAPS@) -+getoff_@VGCONF_ARCH_PRI@_@VGCONF_OS@_CFLAGS = $(AM_CFLAGS_@VGCONF_PLATFORM_PRI_CAPS@) -fstack-protector-strong +-getoff_@VGCONF_ARCH_PRI@_@VGCONF_OS@_CFLAGS = $(AM_CFLAGS_@VGCONF_PLATFORM_PRI_CAPS@) -fhosted ++getoff_@VGCONF_ARCH_PRI@_@VGCONF_OS@_CFLAGS = $(AM_CFLAGS_@VGCONF_PLATFORM_PRI_CAPS@) -fhosted -fstack-protector-strong getoff_@VGCONF_ARCH_PRI@_@VGCONF_OS@_CCASFLAGS = $(AM_CCASFLAGS_PRI) getoff_@VGCONF_ARCH_PRI@_@VGCONF_OS@_LDFLAGS = $(AM_CFLAGS_PRI) @LIB_UBSAN@ if HAVE_DLINFO_RTLD_DI_TLS_MODID -diff --git a/cachegrind/Makefile.am b/cachegrind/Makefile.am -index f8447a1..f572741 100644 ---- a/cachegrind/Makefile.am -+++ b/cachegrind/Makefile.am -@@ -25,7 +25,7 @@ bin_PROGRAMS = cg_merge - - cg_merge_SOURCES = cg_merge.c - cg_merge_CPPFLAGS = $(AM_CPPFLAGS_PRI) --cg_merge_CFLAGS = $(AM_CFLAGS_PRI) -+cg_merge_CFLAGS = $(AM_CFLAGS_PRI) -fstack-protector-strong - cg_merge_CCASFLAGS = $(AM_CCASFLAGS_PRI) - cg_merge_LDFLAGS = $(AM_CFLAGS_PRI) - # If there is no secondary platform, and the platforms include x86-darwin, +@@ -119,7 +119,7 @@ endif + if VGCONF_HAVE_PLATFORM_SEC + getoff_@VGCONF_ARCH_SEC@_@VGCONF_OS@_SOURCES = getoff.c + getoff_@VGCONF_ARCH_SEC@_@VGCONF_OS@_CPPFLAGS = $(AM_CPPFLAGS_@VGCONF_PLATFORM_SEC_CAPS@) +-getoff_@VGCONF_ARCH_SEC@_@VGCONF_OS@_CFLAGS = $(AM_CFLAGS_@VGCONF_PLATFORM_SEC_CAPS@) -fhosted ++getoff_@VGCONF_ARCH_SEC@_@VGCONF_OS@_CFLAGS = $(AM_CFLAGS_@VGCONF_PLATFORM_SEC_CAPS@) -fhosted -fstack-protector-strong + getoff_@VGCONF_ARCH_SEC@_@VGCONF_OS@_CCASFLAGS = $(AM_CCASFLAGS_SEC) + getoff_@VGCONF_ARCH_SEC@_@VGCONF_OS@_LDFLAGS = $(AM_CFLAGS_SEC) + if HAVE_DLINFO_RTLD_DI_TLS_MODID diff --git a/configure.ac b/configure.ac -index f8c798b..ccc8f52 100755 +index 90fafaf1c557..84a3d22c5bff 100644 --- a/configure.ac +++ b/configure.ac -@@ -2188,24 +2188,24 @@ AC_LANG(C) - AC_SUBST(FLAG_FALIGNED_NEW) +@@ -3004,24 +3004,24 @@ + fi # does this compiler support -fno-stack-protector ? -AC_MSG_CHECKING([if gcc accepts -fno-stack-protector]) @@ -95,24 +85,24 @@ index f8c798b..ccc8f52 100755 # does this compiler support -finline-functions ? diff --git a/coregrind/Makefile.am b/coregrind/Makefile.am -index 94030fd..3c73210 100644 +index 4ead1542b0c7..0bcb4a4f423f 100644 --- a/coregrind/Makefile.am +++ b/coregrind/Makefile.am -@@ -55,7 +55,7 @@ AR = ${LTO_AR} +@@ -62,7 +62,7 @@ AR = ${LTO_AR} RANLIB = ${LTO_RANLIB} valgrind_CPPFLAGS = $(AM_CPPFLAGS_PRI) --valgrind_CFLAGS = $(AM_CFLAGS_PRI) $(LTO_CFLAGS) -+valgrind_CFLAGS = $(AM_CFLAGS_PRI) $(LTO_CFLAGS) -fstack-protector-strong +-valgrind_CFLAGS = $(AM_CFLAGS_PRI) $(LTO_CFLAGS) -fhosted ++valgrind_CFLAGS = $(AM_CFLAGS_PRI) $(LTO_CFLAGS) -fhosted -fstack-protector-strong valgrind_CCASFLAGS = $(AM_CCASFLAGS_PRI) valgrind_LDFLAGS = $(AM_CFLAGS_PRI) @LIB_UBSAN@ # If there is no secondary platform, and the platforms include x86-darwin, -@@ -94,7 +94,7 @@ vgdb_SOURCES += vgdb-invoker-solaris.c +@@ -104,7 +104,7 @@ vgdb_SOURCES += vgdb-invoker-freebsd.c endif - vgdb_CPPFLAGS = $(AM_CPPFLAGS_PRI) --vgdb_CFLAGS = $(AM_CFLAGS_PRI) $(LTO_CFLAGS) -+vgdb_CFLAGS = $(AM_CFLAGS_PRI) $(LTO_CFLAGS) -fstack-protector-strong + vgdb_CPPFLAGS = $(AM_CPPFLAGS_PRI) $(GDB_SCRIPTS_DIR) +-vgdb_CFLAGS = $(AM_CFLAGS_PRI) $(LTO_CFLAGS) -fhosted ++vgdb_CFLAGS = $(AM_CFLAGS_PRI) $(LTO_CFLAGS) -fhosted -fstack-protector-strong vgdb_CCASFLAGS = $(AM_CCASFLAGS_PRI) vgdb_LDFLAGS = $(AM_CFLAGS_PRI) @LIB_UBSAN@ if VGCONF_PLATVARIANT_IS_ANDROID diff --git a/valgrind-3.9.0-helgrind-race-supp.patch b/valgrind-3.9.0-helgrind-race-supp.patch deleted file mode 100644 index 759d151..0000000 --- a/valgrind-3.9.0-helgrind-race-supp.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- valgrind/glibc-2.34567-NPTL-helgrind.supp.jj 2009-08-19 15:37:48.000000000 +0200 -+++ valgrind/glibc-2.34567-NPTL-helgrind.supp 2009-10-21 16:46:31.000000000 +0200 -@@ -88,6 +88,12 @@ - obj:*/lib*/libpthread-2.*so* - } - { -+ helgrind-glibc2X-102a -+ Helgrind:Race -+ fun:mythread_wrapper -+ obj:*vgpreload_helgrind*.so -+} -+{ - helgrind-glibc2X-103 - Helgrind:Race - fun:pthread_cond_*@@GLIBC_2.* diff --git a/valgrind.spec b/valgrind.spec index 9ca2d76..f620ab3 100644 --- a/valgrind.spec +++ b/valgrind.spec @@ -1,14 +1,19 @@ %{?scl:%scl_package valgrind} -Summary: Tool for finding memory management bugs in programs +Summary: Dynamic analysis tools to detect memory or thread bugs and profile Name: %{?scl_prefix}valgrind -Version: 3.16.0 -Release: 1%{?dist} +Version: 3.27.1 +Release: 2%{?dist} Epoch: 1 -License: GPLv2+ -URL: http://www.valgrind.org/ -# Only necessary for RHEL, will be ignored on Fedora +# This ignores licenses that are only found in the test or perf sources +# we only care about those license statements found in sources that end +# up in the binary packages. One piece of code for which we don't have +# a license specifier is in coregrind/m_main.c for some Hacker's Delight +# public domain code, which is only compiled into Darwin binaries, which +# we don't create. Also some subpackages have their own license tags. +License: GPL-3.0-or-later AND bzip2-1.0.6 AND (GPL-3.0-or-later AND LGPL-2.0-or-later) AND (GPL-3.0-or-later AND ISC) AND (GPL-3.0-or-later AND Unlicense) AND (GPL-3.0-or-later AND Zlib) AND (GPL-3.0-or-later WITH GCC-exception-2.0) AND (LGPL-2.0-or-later WITH GCC-exception-2.0) AND (GPL-3.0-or-later AND BSD-3-Clause) AND (GPL-3.0-or-later AND (MIT OR NCSA)) AND CMU-Mach AND (GPL-3.0-or-later AND X11 AND BSD-3-Clause) AND X11 AND (GPL-3.0-or-later AND LGPL-2.0-or-later) AND (GPL-2.0-or-later WITH Autoconf-exception-generic) AND (GPL-3.0-or-later WITH Autoconf-exception-generic-3.0) AND FSFULLR AND FSFAP AND FSFUL AND FSFULLRWD +URL: https://www.valgrind.org/ # Are we building for a Software Collection? %{?scl:%global is_scl 1} @@ -16,22 +21,23 @@ URL: http://www.valgrind.org/ # We never want the openmpi subpackage when building a software collecton. # We always want it for fedora. -# We only want it for older rhel. But not s390x for too old rhel. +# We only want it for older rhel. +# And on fedora > 39 i386 dropped openmpi. %if %{is_scl} %global build_openmpi 0 %else %if 0%{?fedora} - %global build_openmpi 1 + %ifarch %{ix86} + %global build_openmpi (%{?fedora} < 40) + %else + %global build_openmpi 1 + %endif %endif %if 0%{?rhel} %if 0%{?rhel} > 7 %global build_openmpi 0 %else - %ifarch s390x - %global build_openmpi (%{?rhel} > 6) - %else - %global build_openmpi 1 - %endif + %global build_openmpi 1 %endif %endif %endif @@ -51,17 +57,11 @@ URL: http://www.valgrind.org/ # Whether to run the full regtest or only a limited set # The full regtest includes gdb_server integration tests # and experimental tools. -# Only run full regtests on fedora, but not on older rhel -# or when creating scl, the gdb_server tests might hang. +# Don't run them when creating scl, the gdb_server tests might hang. %if %{is_scl} %global run_full_regtest 0 %else - %if 0%{?fedora} - %global run_full_regtest 1 - %endif - %if 0%{?rhel} - %global run_full_regtest (%rhel >= 7) - %endif + %global run_full_regtest 1 %endif # Generating minisymtabs doesn't really work for the staticly linked @@ -71,28 +71,21 @@ URL: http://www.valgrind.org/ # So those will already have their full symbol table. %undefine _include_minidebuginfo -Source0: ftp://sourceware.org/pub/valgrind/valgrind-%{version}.tar.bz2 +Source0: https://sourceware.org/pub/valgrind/valgrind-%{version}.tar.bz2 # Needs investigation and pushing upstream Patch1: valgrind-3.9.0-cachegrind-improvements.patch -# KDE#211352 - helgrind races in helgrind's own mythread_wrapper -Patch2: valgrind-3.9.0-helgrind-race-supp.patch - # Make ld.so supressions slightly less specific. -Patch3: valgrind-3.9.0-ldso-supp.patch - -# We want all executables and libraries in libexec instead of lib -# so they are only available for valgrind usage itself and so the -# same directory is used independent of arch. -Patch4: valgrind-3.16.0-pkglibexecdir.patch +Patch2: valgrind-3.9.0-ldso-supp.patch # Add some stack-protector -Patch5: valgrind-3.16.0-some-stack-protector.patch +Patch3: valgrind-3.26.0-some-stack-protector.patch # Add some -Wl,z,now. -Patch6: valgrind-3.16.0-some-Wl-z-now.patch +Patch4: valgrind-3.26.0-some-Wl-z-now.patch +BuildRequires: make BuildRequires: glibc-devel %if %{build_openmpi} @@ -122,19 +115,29 @@ BuildRequires: autoconf # For make check validating the documentation BuildRequires: docbook-dtds -%{?scl:Requires:%scl_runtime} - -# We need to fixup selinux file context when doing a scl build. -# In RHEL6 we might need to fix up the labels even though the -# meta package sets up a fs equivalence. See post. -%if 0%{?rhel} == 6 -%{?scl:Requires(post): /sbin/restorecon} +# For testing debuginfod-find +%if 0%{?fedora} > 29 || 0%{?rhel} > 7 +BuildRequires: elfutils-debuginfod +BuildRequires: elfutils-debuginfod-client +# For using debuginfod at runtime +Recommends: elfutils-debuginfod-client %endif +# Optional subpackages +Recommends: %{?scl_prefix}valgrind-docs = %{epoch}:%{version}-%{release} +Recommends: %{?scl_prefix}valgrind-scripts = %{epoch}:%{version}-%{release} +Recommends: %{?scl_prefix}valgrind-gdb = %{epoch}:%{version}-%{release} + +# For running the testsuite. +# Some of the python scripts require python 3.9+ +BuildRequires: python3-devel + +%{?scl:Requires:%scl_runtime} + # We could use %%valgrind_arches as defined in redhat-rpm-config # But that is really for programs using valgrind, it defines the # set of architectures that valgrind works correctly on. -ExclusiveArch: %{ix86} x86_64 ppc ppc64 ppc64le s390x armv7hl aarch64 +ExclusiveArch: %{ix86} x86_64 ppc ppc64 ppc64le s390x armv7hl aarch64 riscv64 # Define valarch, the architecture name that valgrind uses # And only_arch, the configure option to only build for that arch. @@ -170,6 +173,10 @@ ExclusiveArch: %{ix86} x86_64 ppc ppc64 ppc64le s390x armv7hl aarch64 %define valarch arm64 %define only_arch --enable-only64bit %endif +%ifarch riscv64 +%define valarch riscv64 +%define only_arch --enable-only64bit +%endif %description Valgrind is an instrumentation framework for building dynamic analysis @@ -184,11 +191,48 @@ profiler (callgrind), and a heap profiler (massif). %package devel Summary: Development files for valgrind aware programs -Requires: %{?scl_prefix}valgrind = %{epoch}:%{version}-%{release} +# This is really Hybrid-BSD +# https://fedoraproject.org/wiki/Licensing:BSD#Hybrid_BSD_(half_BSD,_half_zlib) +# But that doesnt have a SPDX identifier yet +# https://gitlab.com/fedora/legal/fedora-license-data/-/issues/422 +License: bzip2-1.0.6 +# These are just the header files, so strictly speaking you don't +# need valgrind itself unless you are testing your builds. This used +# to be a Requires, so people might depend on the package pulling in +# the core valgrind package, so make it at least a weak dependency. +Recommends: %{?scl_prefix}valgrind = %{epoch}:%{version}-%{release} %description devel Header files and libraries for development of valgrind aware programs. +%package docs +Summary: Documentation for valgrind tools, scripts and gdb integration +License: GFDL-1.2-or-later + +%description docs +Documentation in html and pdf, plus man pages for valgrind tools and scripts. + +%package scripts +Summary: Scripts for post-processing valgrind tool output +License: GPL-3.0-or-later AND (GPL-3.0-or-later OR MPL-2.0) +# Most scripts can be used as is for post-processing a valgrind tool run. +# But callgrind_control uses vgdb. +Recommends: %{?scl_prefix}valgrind-gdb = %{epoch}:%{version}-%{release} + +%description scripts +Perl and Python scripts for post-processing valgrind tool output. + +%package gdb +Summary: Tools for integrating valgrind and gdb +License: GPL-3.0-or-later +Requires: %{?scl_prefix}valgrind = %{epoch}:%{version}-%{release} +# vgdb can be used without gdb, just to control valgrind. +# But normally you use it together with both valgrind and gdb. +Recommends: gdb + +%description gdb +Tools and support files for integrating valgrind and gdb. + %if %{build_tools_devel} %package tools-devel Summary: Development files for building valgrind tools. @@ -202,6 +246,8 @@ Header files and libraries for development of valgrind tools. %if %{build_openmpi} %package openmpi Summary: OpenMPI support for valgrind +# See above, Hybrid-BSD like. +License: bzip2-1.0.6 Requires: %{?scl_prefix}valgrind = %{epoch}:%{version}-%{release} %description openmpi @@ -213,25 +259,23 @@ Valgrind User Manual for details. %prep %setup -q -n %{?scl:%{pkg_name}}%{!?scl:%{name}}-%{version} -%patch1 -p1 -%patch2 -p1 -%patch3 -p1 -%patch4 -p1 +%patch -P1 -p1 +%patch -P2 -p1 +%patch -P3 -p1 +%patch -P4 -p1 %build +# LTO triggers undefined symbols in valgrind. But valgrind has a +# --enable-lto configure time option that we will use instead. +%define _lto_cflags %{nil} # Some patches (might) touch Makefile.am or configure.ac files. # Just always autoreconf so we don't need patches to prebuild files. ./autogen.sh -# Old openmpi-devel has version depended paths for mpicc. %if %{build_openmpi} -%if 0%{?fedora} >= 13 || 0%{?rhel} >= 6 %define mpiccpath %{!?scl:%{_libdir}}%{?scl:%{_root_libdir}}/openmpi/bin/mpicc %else -%define mpiccpath %{!?scl:%{_libdir}}%{?scl:%{_root_libdir}}/openmpi/*/bin/mpicc -%endif -%else # We explicitly don't want the libmpi wrapper. So make sure that configure # doesn't pick some random mpi compiler that happens to be installed. %define mpiccpath /bin/false @@ -282,13 +326,15 @@ export LDFLAGS %configure \ --with-mpicc=%{mpiccpath} \ %{only_arch} \ - GDB=%{_bindir}/gdb + GDB=%{_bindir}/gdb \ + --with-gdbscripts-dir=%{_datadir}/gdb/auto-load \ + --enable-lto -make %{?_smp_mflags} +%make_build %install rm -rf $RPM_BUILD_ROOT -make DESTDIR=$RPM_BUILD_ROOT install +%make_install mkdir docs/installed mv $RPM_BUILD_ROOT%{_datadir}/doc/valgrind/* docs/installed/ rm -f docs/installed/*.ps @@ -350,7 +396,7 @@ cat /proc/cpuinfo %{?scl:PATH=%{_bindir}${PATH:+:${PATH}}} # Make sure no extra CFLAGS, CXXFLAGS or LDFLAGS leak through, # the testsuite sets all flags necessary. See also configure above. -make %{?_smp_mflags} CFLAGS="" CXXFLAGS="" LDFLAGS="" check +%make_build CFLAGS="" CXXFLAGS="" LDFLAGS="" check # Workaround https://bugzilla.redhat.com/show_bug.cgi?id=1434601 # for gdbserver tests. @@ -385,30 +431,62 @@ fi cat diffs echo ===============END TESTING=============== +%{!?_licensedir:%global license %%doc} + %files -%doc COPYING NEWS README_* -%doc docs/installed/html docs/installed/*.pdf -%{_bindir}/* +%license COPYING +%{_bindir}/valgrind %dir %{_libexecdir}/valgrind -# Install everything in the libdir except the .so. -# The vgpreload so files might need file mode adjustment. -%{_libexecdir}/valgrind/*[^o] +# Install just the core tools, default suppression and vgpreload libraries. +%{_libexecdir}/valgrind/default.supp +%{_libexecdir}/valgrind/*-*-linux # Turn on executable bit again for vgpreload libraries. # Was disabled in %%install to prevent debuginfo stripping. -%attr(0755,root,root) %{_libexecdir}/valgrind/vgpreload*-%{valarch}-*so +%attr(0755,root,root) %{_libexecdir}/valgrind/vgpreload_*-%{valarch}-linux.so + +%files docs +%license COPYING.DOCS +%doc NEWS README_* +%doc docs/installed/html docs/installed/*.pdf %{_mandir}/man1/* +%files scripts +%license COPYING +%{_bindir}/callgrind_annotate +%{_bindir}/callgrind_control +%{_bindir}/cg_annotate +%{_bindir}/cg_diff +%{_bindir}/cg_merge +%{_bindir}/ms_print +%{_libexecdir}/valgrind/dh_view.css +%{_libexecdir}/valgrind/dh_view.html +%{_libexecdir}/valgrind/dh_view.js + +%files gdb +%license COPYING +%{_bindir}/valgrind-di-server +%{_bindir}/valgrind-listener +%{_bindir}/vgdb +%{_bindir}/vgstack +# gdb register descriptions +%{_libexecdir}/valgrind/*.xml +%{_datadir}/gdb/auto-load/valgrind-monitor.py +%{_datadir}/gdb/auto-load/valgrind-monitor-def.py + %files devel %dir %{_includedir}/valgrind %{_includedir}/valgrind/valgrind.h +%{_includedir}/valgrind/cachegrind.h %{_includedir}/valgrind/callgrind.h %{_includedir}/valgrind/drd.h %{_includedir}/valgrind/helgrind.h %{_includedir}/valgrind/memcheck.h +%{_includedir}/valgrind/dhat.h %{_libdir}/pkgconfig/valgrind.pc %if %{build_tools_devel} %files tools-devel +%license COPYING %{_includedir}/valgrind/config.h %{_includedir}/valgrind/libvex*h %{_includedir}/valgrind/pub_tool_*h @@ -424,19 +502,470 @@ echo ===============END TESTING=============== %{_libdir}/valgrind/libmpiwrap*.so %endif -%if 0%{?rhel} == 6 -%post -# There is a bug in rpm (rhbz#214737) that might cause post to be run -# even thought the binary isn't installed when installing two multilib -# versions at the same time. -if [ -x %{_bindir}/valgrind ]; then -# On RHEL6 the fs equivalency should be setup by the devtoolset meta -# package, but because of a rpm bug (rhbz#924044) it might not work. -%{?scl:/sbin/restorecon %{_bindir}/valgrind}%{!?scl:true} -fi -%endif - %changelog +* Fri Jul 17 2026 Fedora Release Engineering - 1:3.27.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild + +* Wed May 20 2026 Mark Wielaard - 3.27.1-1 +- Valgrind 3.27.1 final + +* Mon Apr 20 2026 Mark Wielaard - 3.27.0-1 +- Valgrind 3.27.0 final + +* Fri Apr 17 2026 Mark Wielaard - 3.27.0-0.1.RC2 +- Upstream 3.27.0-RC2 + +* Mon Apr 13 2026 Mark Wielaard - 3.27.0-0.1.RC1 +- Upstream 3.27.0-RC1 +- Remove all VALGRIND_3_26_BRANCH and proposed upstream patches + +* Thu Jan 29 2026 Mark Wielaard - 3.26.0-5 + - Add 0001-Refix-still_reachable-xml-closing-tag-and-add-testca.patch + +* Mon Jan 26 2026 Mark Wielaard - 3.26.0-4 + - Add more VALGRIND_3_26_BRANCH patches + - 0007-Bug-514613-Unclosed-leak_summary-still_reachable-tag.patch + - 0008-Bug-514206-Assertion-sr_isError-sr-failed-mmap-fd-po.patch + +* Sat Jan 17 2026 Fedora Release Engineering - 1:3.26.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild + +* Thu Jan 8 2026 Mark Wielaard - 3.26.0-2 + - Add VALGRIND_3_26_BRANCH patches + - 0001-Prepare-NEWS-for-branch-3.26-fixes.patch + - 0002-Bug-511972-valgrind-3.26.0-tests-fail-to-build-on-up.patch + - 0003-readlink-proc-self-exe-overwrites-buffer-beyond-its-.patch + - 0004-Linux-DRD-suppression-add-an-entry-for-__is_decorate.patch + - 0005-Linux-Helgrind-add-a-suppression-for-_dl_allocate_tl.patch + - 0006-Disable-linux-madvise-MADV_GUARD_INSTALL.patch + +* Fri Oct 24 2025 Mark Wielaard - 3.26.0-1 +- Valgrind 3.26.0 final +- Clarify License of valgrind-scripts. + +* Sat Oct 18 2025 Mark Wielaard - 3.26.0-0.1.RC1 +- Upstream 3.26.0-RC1 +- Remove all VALGRIND_3_25_BRANCH and proposed upstream patches +- Refresh some-stack-protector and some-Wl-z-now patches. +- Add vgstack to valgrind-gdb. +- Update License to GPL-3.0-or-later + +* Mon Aug 11 2025 Mark Wielaard - 3.25.1-4 +- Add ppc64-strcmp-ld.patch +- Add 0003-Add-several-missing-syscall-hooks-to-ppc64-linux.patch + +* Tue Aug 5 2025 Mark Wielaard - 3.25.1-3 +- Add VALGRIND_3_25_BRANCH patches + - 0001-Prepare-NEWS-for-branch-3.25.x-fixes.patch + - 0002-Bug-503241-s390x-Support-z17-changes-to-the-NNPA-ins.patch + +* Fri Jul 25 2025 Fedora Release Engineering - 1:3.25.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Tue May 20 2025 Mark Wielaard - 3.25.1-1 +- Valgrind 3.25.1 final + +* Fri May 16 2025 Mark Wielaard - 3.25.0-3 +- Add 2 more VALGRIND_3_25_BRANCH patches + +* Fri May 9 2025 Mark Wielaard - 3.25.0-2 +- Add VALGRIND_3_25_BRANCH patches + +* Fri Apr 25 2025 Mark Wielaard - 3.25.0-1 +- Valgrind 3.25.0 final + +* Wed Apr 23 2025 Mark Wielaard - 3.25.0-0.1.RC2 +- Upstream 3.25.0-RC2 + +* Fri Apr 18 2025 Mark Wielaard - 3.25.0-0.1.RC1 +- Upstream 3.25.0-RC1 +- Remove all VALGRIND_3_24_BRANCH patches +- Enable riscv64 arch support + +* Sun Mar 30 2025 Mark Wielaard - 3.24.0-8 +- Add new VALGRIND_3_24_BRANCH patches + - 0019-filter_gdb.in-__syscall_cancel_arch-is-just-in-a-sys.patch + - 0020-Bug-501893-Missing-suppression-for-__wcscat_avx2-str.patch + - 0021-filter_gdb.in-filter-out-__libc_do_syscall.patch + - 0022-Handle-top-__syscall_cancel-frames-when-getting-stac.patch +- Remove valgrind-3.24.0-syscall-cancel.patch (replaced by 0022). + +* Fri Mar 28 2025 Mark Wielaard - 3.24.0-7 +- Add valgrind-3.24.0-syscall-cancel.patch + +* Wed Mar 12 2025 Mark Wielaard - 3.24.0-6 +- More VALGRIND_3_24_BRANCH patches + 0016-syswrap-generic-Emit-pp_ExeContext-after-the-file-de.patch + 0017-add_hardwired_spec-for-ld-linux-x86-64.so.2-memcmp.patch + 0018-gdbserver_tests-filter-out-new-Missing-rpms-message.patch + +* Fri Jan 17 2025 Mark Wielaard - 3.24.0-5 +- valgrind-devel now Recommends, instead of Requires, valgrind. +- valgrind-gdb now Requires valgrind, instead of valgrind-devel. +- valgrind-scripts now Recommends valgrind-gdb +- valgrind-gdb now Recommends gdb + +* Wed Jan 15 2025 Mark Wielaard - 3.24.0-4 +- Add 0015-ppc-test_dfp2-build-fix-for-GCC-15.patch + +* Tue Jan 14 2025 Mark Wielaard - 3.24.0-3 +- Add more VALGRIND_3_24_BRANCH patches + 0012-Recognize-new-DWARF5-DW_LANG-constants.patch + 0013-Bug-498317-FdBadUse-is-not-a-valid-CoreError-type-in.patch + 0014-linux-support-EVIOCGRAB-ioctl.patch +- Split main valgrind package into several subpackages: + - valgrind now contains just the core tools. + - valgrind-scripts contains the post-processing scripts for callgrind, + cachegrind, massif and dhat which depend on perl and python. + - valgrind-gdb contains the debuginfo client/server and (v)gdb support. + - valgrind-docs contains the man pages, html and pdf manual. +* Tue Nov 26 2024 Mark Wielaard - 3.24.0-2 +- Add VALGRIND_3_24_BRANCH patches + 0001-Prepare-NEWS-for-branch-3.24-fixes.patch + 0002-vgdb.c-fork_and_exec_valgrind-Fix-off-by-one-error-w.patch + 0003-vgdb.c-fork_and_exec_valgrind-Fix-another-off-by-one.patch + 0004-regtest-add-a-fdleak-filter-for-write-on-write-on-li.patch + 0005-Add-exp-and-supp-patterns-for-missing-main-frame-for.patch + 0006-Add-additional-exp-ppc64le-files-to-EXTRA_DIST.patch + 0007-Add-support-for-landlock_create_ruleset-444-landlock.patch + 0008-helgrind-tests-tc17_sembar.c-Remove-bool-typedef.patch + 0009-drd-tests-swapcontext.c-Rename-typedef-struct-thread.patch + 0010-none-tests-bug234814.c-sa_handler-take-an-int-as-arg.patch + 0011-Add-open_tree-move_mount-fsopen-fsconfig-fsmount-fsp.patch + +* Mon Nov 4 2024 Mark Wielaard - 3.24.0-1 +- Upstream 3.24.0 final + +* Sat Jul 20 2024 Fedora Release Engineering - 1:3.23.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Sat Jul 6 2024 Mark Wielaard - 3.23.0-4 +- Add more upstream VALGRIND_3_23_BRANCH patches + 0016-mips-skip-using-shared-syscall-numbers-for-mips64.patch + 0017-gdbserver_tests-filters-remove-python-rpm-module-loa.patch + 0018-Implement-VMOVQ-xmm1-xmm2-m64.patch + 0019-arm64-Fix-fcvtas-instruction.patch + 0020-gdbserver_tests-filters-remove-more-verbose-python-r.patch + 0021-Avoid-dev-inode-check-on-btrfs-with-sanity-level-3.patch + +* Sun Jun 23 2024 Mark Wielaard - 3.23.0-3 +- Add more upstream VALGRIND_3_23_BRANCH patches + 0012-Bug-487439-SIGILL-in-JDK11-JDK17.patch + 0013-Don-t-leave-fds-created-with-log-file-xml-file-or-lo.patch + 0014-Close-both-internal-pipe-fds-after-VG_-fork-in-paren.patch + 0015-Don-t-allow-programs-calling-fnctl-on-valgrind-s-own.patch + +* Mon Jun 10 2024 Mark Wielaard - 3.23.0-2 +- Add upstream VALGRIND_3_23_BRANCH patches + +* Fri Apr 26 2024 Mark Wielaard - 3.23.0-1 +- Upstream 3.23.0 final + +* Thu Apr 25 2024 Mark Wielaard - 3.23.0-0.2.RC2 +- configure --enable-lto + +* Wed Apr 24 2024 Mark Wielaard - 3.23.0-0.1.RC2 +- Upstream 3.23.0-RC2 + +* Sat Apr 20 2024 Mark Wielaard - 3.23.0-0.1.RC1 ++- Upstream 3.23.0-RC1 ++- Remove all upstreamed patches + +* Sat Apr 13 2024 Mark Wielaard - 3.22.0-8 +- Add BuildRequires: python3-devel for running testsuite. +- Add valgrind-3.22.0-gdb-thread-exited.patch +- Add valgrind-3.22.0-set_vma_name-supp.patch +- Add valgrind-3.22.0-pth_mempcpy_false_races.patch +- Add valgrind-3.22.0-amd64-VFMADD213.patch +- Add valgrind-3.22.0-amd64-redir-strcmp.patch + +* Mon Mar 11 2024 Mark Wielaard - 3.22.0-7 +- Add valgrind-3.22.0-gcc-builtin_strcmp-128-256-bit-vector.patch + +* Mon Mar 4 2024 Mark Wielaard +- Update Fedora license tags to spdx license tags + +* Sat Jan 27 2024 Fedora Release Engineering - 1:3.22.0-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Mon Jan 22 2024 Mark Wielaard - 3.22.0-5 +- Add valgrind-3.22.0-x86-nop.patch + +* Sat Dec 9 2023 Mark Wielaard - 3.22.0-4 +- Add valgrind-3.22.0-fchmodat2.patch +- Prep for migration to SPDX identifiers + +* Tue Dec 5 2023 Mark Wielaard - 3.22.0-3 +- Add valgrind-3.22.0-rodata.patch + +* Fri Nov 17 2023 Mark Wielaard - 3.22.0-2 +- Add valgrind-3.22.0-valgrind-monitor-python-re.patch +- Drop support for rhel6 + +* Tue Oct 31 2023 Mark Wielaard - 3.22.0-1 +- Upstream 3.22.0 final +- BuildRequires elfutils-debuginfod for testing + +* Mon Oct 30 2023 Mark Wielaard - 3.22.0-0.2.RC2 +- Update valgrind-3.21.0-no-memcpy-replace-check.patch +- Fedora 40 dropped openmpi support on i386 + +* Thu Oct 26 2023 Mark Wielaard - 3.22.0-0.1.RC2 +- Upstream 3.22.0-RC2 + +* Tue Oct 17 2023 Mark Wielaard - 3.22.0-0.1.RC1 +- Upstream 3.22.0-RC1 +- Remove all upstreamed patches +- Adjust valgrind-3.16.0-some-stack-protector.patch +- Adjust valgrind-3.16.0-some-Wl-z-now.patch +- Add cachegrind.h to valgrind-devel package + +* Mon Aug 21 2023 Mark Wielaard - 3.21.0-10 +- Add valgrind-3.21.0-lazy-debuginfo.patch +- Add valgrind-3.21.0-cleanup-read_elf_object.patch + +* Thu Aug 17 2023 Mark Wielaard - 3.21.0-9 +- Add valgrind-3.21.0-gdb-multi-mode-stdout-redirecting-to-stderr.patch +- Use %%patch -Pn instead of deprecated %%patchn + +* Sat Jul 22 2023 Fedora Release Engineering - 1:3.21.0-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Thu Jun 22 2023 Mark Wielaard - 3.21.0-7 +- Add valgrind-3.21.0-vgm.patch and valgrind-3.21.0-vgm-tests.patch +- Add valgrind-3.21.0-pgste.patch + +* Thu Jun 1 2023 Mark Wielaard - 3.21.0-6 +- Add valgrind-3.21.0-callgrind_control-no-strict.patch +- Add valgrind-3.21.0-realloc-again.patch + +* Tue May 30 2023 Mark Wielaard - 3.21.0-5 +- Update valgrind-3.21.0-no-memcpy-replace-check.patch (memcpy_chk) + +* Wed May 17 2023 Mark Wielaard - 3.21.0-4 +- Add valgrind-3.21.0-epoll_pwait2.patch + +* Tue May 16 2023 Alexandra Hájková - 3.21.0-3 +- Add valgrind-3.21.0-Add-with-gdbscripts-dir.patch + +* Fri May 5 2023 Mark Wielaard - 3.21.0-2 +- Add valgrind-3.21.0-no-memcpy-replace-check.patch + +* Fri Apr 28 2023 Mark Wielaard - 3.21.0-1 +- Upstream 3.21.0 final + +* Sat Apr 22 2023 Mark Wielaard - 3.21.0-0.1.RC2 +- Upstream 3.21.0-RC2 + +* Fri Apr 21 2023 Mark Wielaard - 3.21.0-0.1.RC1 +- Upstream 3.21.0-RC1 +- Remove upstreamed valgrind-faultstatus-implicit-int.patch +- Adjust valgrind-3.16.0-some-{Wl-z-now,stack-protector}.patch + cg_merge is now a pything script. + +* Fri Nov 18 2022 Florian Weimer - 1:3.20.0-2 +- Avoid using implicit int C89 feature + +* Mon Oct 24 2022 Mark Wielaard - 3.20.0-1 +- Upgrade to valgrind 3.20.0. Drop old patches. + +* Sat Jul 23 2022 Fedora Release Engineering - 1:3.19.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Wed May 25 2022 Mark Wielaard - 3.19.0-3 +- Add valgrind-3.19.0-s390x-memmem.patch + +* Fri May 13 2022 Mark Wielaard - 3.19.0-2 +- Add valgrind-3.19.0-ld-so-strncmp.patch + +* Tue Apr 12 2022 Mark Wielaard - 3.19.0-1 +- Upgrade to valgrind 3.19.0. Drop old patches. + +* Tue Feb 8 2022 Mark Wielaard +- Add valgrind-3.18.1-ppc64-cmov.patch +- Add valgrind-3.18.1-arm64-atomics-rdm.patch +- Add valgrind-3.18.1-rust-demangle-suffix.patch + +* Sat Jan 22 2022 Fedora Release Engineering - 1:3.18.1-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Wed Jan 12 2022 Mark Wielaard - 3.18.1-8 +- Add valgrind-3.18.1-ppc-hwcaps.patch +- Add valgrind-3.18.1-s390x-wflrx.patch + +* Sat Dec 11 2021 Mark Wielaard - 3.18.1-7 +-Add valgrind-3.18.1-s390x-vdso.patch + +* Fri Dec 10 2021 Mark Wielaard - 3.18.1-6 +- Add valgrind-3.18.1-rseq-enosys.patch + +* Mon Nov 22 2021 Mark Wielaard - 3.18.1-5 +- Add valgrind-3.18.1-demangle-namespace.patch + +* Fri Nov 19 2021 Mark Wielaard - 3.18.1-4 +- Add valgrind-3.18.1-condvar.patch + +* Wed Nov 17 2021 Mark Wielaard - 3.18.1-3 +- Add valgrind-3.18.1-ppc-pstq.patch +- Add valgrind-3.18.1-ppc-pstq-tests.patch +- Add valgrind-3.18.1-gdbserver_tests-hwcap.patch +- Add valgrind-3.18.1-rust-v0-demangle.patch +- Add valgrind-3.18.1-arm64-doubleword-cas.patch +- Add valgrind-3.18.1-arm64-ldaxp-stlxp.patch +- Add valgrind-3.18.1-arm64-atomic-align.patch +- Add valgrind-3.18.1-amd64-more-spec-rules.patch + +* Mon Nov 1 2021 Mark Wielaard - 3.18.1-2 +- Add valgrind-3.18.1-dhat-tests-copy.patch +- Add valgrind-3.18.1-s390x-EXRL.patch +- Add valgrind-3.18.1-ppc64-lxsibzx-lxsihzx.patch + +* Fri Oct 15 2021 Mark Wielaard - 3.18.0-1 +- Update to upstream 3.18.1 final + +* Wed Oct 13 2021 Mark Wielaard - 3.18.0-0.1.RC1 +- Update to upstream 3.18.0-RC1 +- Drop all upstreamed patches + +* Mon Sep 20 2021 Mark Wielaard - 3.17.0-13 +- Add valgrind-3.17.0-dwarf-atomic_type.patch +- Add valgrind-3.17.0-faster-readdwarf3.patch + +* Wed Sep 8 2021 Mark Wielaard +- Add valgrind-3.17.0-ppc64-test_isa_3_1_VRT.patch + +* Wed Aug 25 2021 Mark Wielaard - 3.17.0-12 +- Add valgrind-3.17.0-vgdb-queued-signals.patch +- Add valgrind-3.17.0-ppc64-test-isa-3-1.patch +- Add valgrind-3.17.0-ppc64-pstxvp.patch + +* Fri Aug 6 2021 Mark Wielaard - 3.17.0-11 +- Add valgrind-3.17.0-ppc64-statfs64.patch + +* Fri Jul 23 2021 Fedora Release Engineering - 1:3.17.0-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Wed Jul 21 2021 Mark Wielaard +- Add valgrind-3.17.0_start.patch + +* Wed Jul 21 2021 Mark Wielaard - 3.17.0-9 +- Add valgrind-3.17.0-clone3.patch + +* Sat Jul 17 2021 Mark Wielaard - 3.17.0-8 +- Update drd suppression for native ld.so names. + +* Sat Jul 17 2021 Mark Wielaard - 3.17.0-7 +- Add gdbserver_tests-update-filters-for-newer-glibc-gdb.patch +- Add helgrind-and-drd-suppression-libc-and-libpthread.patch +- Remove valgrind-3.9.0-helgrind-race-supp.patch + +* Fri Jul 9 2021 Mark Wielaard - 3.17.0-6 +- Update to include fixed CI gating tests. + +* Fri Jun 18 2021 Mark Wielaard - 3.17.0-5 +- Add valgrind-3.17.0-s390-prep.patch +- Add valgrind-3.17.0-s390-z15.patch +- Add valgrind-3.17.0-s390-z13-vec-fix.patch + +* Thu Jun 3 2021 Mark Wielaard - 3.17.0-4 +- Add valgrind-3.17.0-s390_insn_as_string.patch +- Add valgrind-3.17.0-debuginfod.patch +- Add valgrind-3.17.0-clone-parent-res.patch + +* Tue May 4 2021 Mark Wielaard - 3.17.0-3 +- Add valgrind-3.17.0-ppc64-isa-3.1{,tests}.patch + +* Fri Apr 16 2021 Mark Wielaard - 3.17.0-2 +- Add CI gating + +* Mon Mar 22 2021 Mark Wielaard - 3.17.0-1 +- Update to upstream 3.17.0 final. + +* Wed Mar 17 2021 Mark Wielaard - 3.17.0-0.1.RC2 +- Update to upstream 3.17.0-RC2 + +* Mon Mar 15 2021 Mark Wielaard - 3.17.0-0.1.RC1 +- Update to upstream 3.17.0-RC1 +- Drop all upstreamed patches + +* Wed Mar 3 2021 Mark Wielaard - 3.16.1-20 +- Add valgrind-3.16.1-arm64_sp_lr_fp_DwReg.patch + +* Sun Feb 21 2021 Mark Wielaard - 3.16.1-19 +- Add valgrind-3.16.1-readdwarf-line.patch + +* Sat Feb 6 2021 Mark Wielaard - 3.16.1-18 +- Update valgrind-3.16.1-open-proc-self-exe.patch to handle openat + +* Sat Feb 6 2021 Mark Wielaard - 3.16.1-17 +- Add valgrind-3.16.1-open-proc-self-exe.patch + +* Wed Feb 3 2021 Mark Wielaard - 3.16.1-16 +- Add valgrind-3.16.0-shmctl.patch + +* Wed Jan 27 2021 Fedora Release Engineering - 1:3.16.1-15 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Mon Jan 25 2021 Mark Wielaard - 3.16.1-14 +- Add valgrind-3.16.1-dwarf5.patch + +* Fri Jan 8 2021 Mark Wielaard - 3.16.1-13 +- Add valgrind-3.16.1-ppc64-scv-hwcap.patch + +* Sun Dec 20 2020 Mark Wielaard - 3.16.1-12 +- Add valgrind-3.16.1-ficlone.patch +- Add valgrind-3.16.1-arm64-expensive-cmp.patch + +* Thu Dec 17 2020 Mark Wielaard - 3.16.1-11 +- Update valgrind-3.16.1-arm64-fma.patch + +* Tue Dec 15 2020 Mark Wielaard - 3.16.1-10 +- Add valgrind-3.16.1-arm64-fma.patch + +* Sun Dec 13 2020 Mark Wielaard - 3.16.1-9 +- Add valgrind-3.16.1-stxsibx-stxsihx.patch + +* Thu Dec 3 2020 Mark Wielaard - 3.16.1-8 +- Update valgrind-3.16.1-s390x-z14-vector.patch + +* Thu Dec 3 2020 Mark Wielaard - 3.16.1-7 +- Add valgrind-3.16.1-pthread-intercept.patch +- Add valgrind-3.16.1-s390_emit_load_mem.patch +- Add valgrind-3.16.1-s390x-z14-vector.patch + +* Mon Nov 9 2020 Mark Wielaard +- Add BuildRequires which (#1895773) + +* Fri Oct 16 2020 Mark Wielaard - 3.16.1-6 +- Add valgrind-3.16.1-faccessat2.patch +- Add valgrind-3.16.1-gdbserver_nlcontrolc.patch +- Add valgrind-3.16.1-PPC64BE-lsw.patch + +* Tue Aug 18 2020 Mark Wielaard - 3.16.1-5 +- Update valgrind-3.16.1-epoll.patch + +* Mon Jul 27 2020 Mark Wielaard - 3.16.1-4 +- Add valgrind-3.16.1-REX-prefix-JMP.patch +- Add valgrind-3.16.1-epoll.patch +- Add valgrind-3.16.1-sched_getsetattr.patch +- Add valgrind-3.16.1-dl_runtime_resolve.patch + +* Tue Jul 14 2020 Tom Stellard - 3.16.1-3 +- Use make macros +- https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro + +* Wed Jul 8 2020 Jeff Law - 3.16.1-2 +- Disable LTO + +* Tue Jun 23 2020 Mark Wielaard - 3.16.1-1 +- Update to upstream valgrind 3.16.1. + +* Fri Jun 19 2020 Mark Wielaard - 3.16.0-3 +- Add valgrind-3.16.0-ppc-L-field.patch + +* Wed May 27 2020 Mark Wielaard - 3.16.0-2 +- Apply stack-protector and -Wl,z,now patches. + * Wed May 27 2020 Mark Wielaard - 3.16.0-1 - Update to upstream valgrind 3.16.0 final.