Compare commits
No commits in common. "rawhide" and "f35" have entirely different histories.
8 changed files with 406 additions and 463 deletions
21
.gitignore
vendored
21
.gitignore
vendored
|
|
@ -44,24 +44,3 @@
|
|||
/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
|
||||
|
|
|
|||
|
|
@ -36,14 +36,6 @@ annocheck:
|
|||
# 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
|
||||
|
|
|
|||
2
sources
2
sources
|
|
@ -1 +1 @@
|
|||
SHA512 (valgrind-3.27.1.tar.bz2) = 4522e345fe31bc10478f21ab261cf7b3e509d80fe98fd0c7c9778ac9a9f90e1d8fa6e54a37c2e23114c01c95131035103fc1e78661710d7f45f5d564a31c1015
|
||||
SHA512 (valgrind-3.19.0.tar.bz2) = f720a89dc4c4989cc5714bff9efe97529f71990bcfad7a92b889ce099c4326d6da07fa4d5fbab2e9125e20f352354f6178471e49e419b613a3c82c2a1c667ab2
|
||||
|
|
|
|||
|
|
@ -1,50 +1,69 @@
|
|||
commit d3c977726064ba09fed6dfc7daf22b16824c97b4
|
||||
Author: Mark Wielaard <mark@klomp.org>
|
||||
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 2b8703cf1a63..8cb828b85c57 100644
|
||||
index 1b7842b..e211eec 100644
|
||||
--- a/auxprogs/Makefile.am
|
||||
+++ b/auxprogs/Makefile.am
|
||||
@@ -50,7 +50,7 @@ valgrind_listener_SOURCES = valgrind-listener.c
|
||||
@@ -32,7 +32,7 @@ valgrind_listener_SOURCES = valgrind-listener.c
|
||||
valgrind_listener_CPPFLAGS = $(AM_CPPFLAGS_PRI) -I$(top_srcdir)/coregrind
|
||||
valgrind_listener_CFLAGS = $(AM_CFLAGS_PRI) -fhosted -fstack-protector-strong
|
||||
valgrind_listener_CFLAGS = $(AM_CFLAGS_PRI) -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
|
||||
@@ -69,7 +69,7 @@ valgrind_di_server_SOURCES = valgrind-di-server.c
|
||||
@@ -51,7 +51,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) -fhosted -fstack-protector-strong
|
||||
valgrind_di_server_CFLAGS = $(AM_CFLAGS_PRI) -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
|
||||
@@ -104,7 +104,7 @@ getoff_@VGCONF_ARCH_PRI@_@VGCONF_OS@_SOURCES = getoff.c
|
||||
@@ -86,7 +86,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@) -fhosted -fstack-protector-strong
|
||||
getoff_@VGCONF_ARCH_PRI@_@VGCONF_OS@_CFLAGS = $(AM_CFLAGS_@VGCONF_PLATFORM_PRI_CAPS@) -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 0bcb4a4f423f..59fc48052e50 100644
|
||||
index 3c73210..fb6b7bb 100644
|
||||
--- a/coregrind/Makefile.am
|
||||
+++ b/coregrind/Makefile.am
|
||||
@@ -64,7 +64,7 @@ RANLIB = ${LTO_RANLIB}
|
||||
@@ -57,7 +57,7 @@ RANLIB = ${LTO_RANLIB}
|
||||
valgrind_CPPFLAGS = $(AM_CPPFLAGS_PRI)
|
||||
valgrind_CFLAGS = $(AM_CFLAGS_PRI) $(LTO_CFLAGS) -fhosted -fstack-protector-strong
|
||||
valgrind_CFLAGS = $(AM_CFLAGS_PRI) $(LTO_CFLAGS) -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
|
||||
@@ -106,7 +106,7 @@ endif
|
||||
vgdb_CPPFLAGS = $(AM_CPPFLAGS_PRI) $(GDB_SCRIPTS_DIR)
|
||||
vgdb_CFLAGS = $(AM_CFLAGS_PRI) $(LTO_CFLAGS) -fhosted -fstack-protector-strong
|
||||
@@ -96,7 +96,7 @@ endif
|
||||
vgdb_CPPFLAGS = $(AM_CPPFLAGS_PRI)
|
||||
vgdb_CFLAGS = $(AM_CFLAGS_PRI) $(LTO_CFLAGS) -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
|
||||
|
|
@ -1,49 +1,59 @@
|
|||
commit b73fb7a614e1b5d60af23fb0752b5cead995e02e
|
||||
Author: Mark Wielaard <mark@klomp.org>
|
||||
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 d96e7fd0a968..2b8703cf1a63 100644
|
||||
index 56cc5ef..1b7842b 100644
|
||||
--- a/auxprogs/Makefile.am
|
||||
+++ b/auxprogs/Makefile.am
|
||||
@@ -48,7 +48,7 @@ bin_PROGRAMS = valgrind-listener valgrind-di-server
|
||||
@@ -30,7 +30,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) -fhosted
|
||||
+valgrind_listener_CFLAGS = $(AM_CFLAGS_PRI) -fhosted -fstack-protector-strong
|
||||
-valgrind_listener_CFLAGS = $(AM_CFLAGS_PRI)
|
||||
+valgrind_listener_CFLAGS = $(AM_CFLAGS_PRI) -fstack-protector-strong
|
||||
valgrind_listener_CCASFLAGS = $(AM_CCASFLAGS_PRI)
|
||||
valgrind_listener_LDFLAGS = $(AM_CFLAGS_PRI)
|
||||
if VGCONF_PLATVARIANT_IS_ANDROID
|
||||
@@ -67,7 +67,7 @@ endif
|
||||
@@ -49,7 +49,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) -fhosted
|
||||
+valgrind_di_server_CFLAGS = $(AM_CFLAGS_PRI) -fhosted -fstack-protector-strong
|
||||
-valgrind_di_server_CFLAGS = $(AM_CFLAGS_PRI)
|
||||
+valgrind_di_server_CFLAGS = $(AM_CFLAGS_PRI) -fstack-protector-strong
|
||||
valgrind_di_server_CCASFLAGS = $(AM_CCASFLAGS_PRI)
|
||||
valgrind_di_server_LDFLAGS = $(AM_CFLAGS_PRI)
|
||||
if VGCONF_PLATVARIANT_IS_ANDROID
|
||||
@@ -102,7 +102,7 @@ endif
|
||||
@@ -84,7 +84,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@) -fhosted
|
||||
+getoff_@VGCONF_ARCH_PRI@_@VGCONF_OS@_CFLAGS = $(AM_CFLAGS_@VGCONF_PLATFORM_PRI_CAPS@) -fhosted -fstack-protector-strong
|
||||
-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@_CCASFLAGS = $(AM_CCASFLAGS_PRI)
|
||||
getoff_@VGCONF_ARCH_PRI@_@VGCONF_OS@_LDFLAGS = $(AM_CFLAGS_PRI) @LIB_UBSAN@
|
||||
if HAVE_DLINFO_RTLD_DI_TLS_MODID
|
||||
@@ -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/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,
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 90fafaf1c557..84a3d22c5bff 100644
|
||||
index f8c798b..ccc8f52 100755
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -3004,24 +3004,24 @@
|
||||
fi
|
||||
@@ -2352,24 +2352,24 @@
|
||||
AM_CONDITIONAL([HAVE_ALIGNED_CXX_ALLOC], [test x$ac_have_aligned_cxx_alloc = xyes])
|
||||
|
||||
# does this compiler support -fno-stack-protector ?
|
||||
-AC_MSG_CHECKING([if gcc accepts -fno-stack-protector])
|
||||
|
|
@ -85,24 +95,24 @@ index 90fafaf1c557..84a3d22c5bff 100644
|
|||
|
||||
# does this compiler support -finline-functions ?
|
||||
diff --git a/coregrind/Makefile.am b/coregrind/Makefile.am
|
||||
index 4ead1542b0c7..0bcb4a4f423f 100644
|
||||
index 94030fd..3c73210 100644
|
||||
--- a/coregrind/Makefile.am
|
||||
+++ b/coregrind/Makefile.am
|
||||
@@ -62,7 +62,7 @@ AR = ${LTO_AR}
|
||||
@@ -55,7 +55,7 @@ AR = ${LTO_AR}
|
||||
RANLIB = ${LTO_RANLIB}
|
||||
|
||||
valgrind_CPPFLAGS = $(AM_CPPFLAGS_PRI)
|
||||
-valgrind_CFLAGS = $(AM_CFLAGS_PRI) $(LTO_CFLAGS) -fhosted
|
||||
+valgrind_CFLAGS = $(AM_CFLAGS_PRI) $(LTO_CFLAGS) -fhosted -fstack-protector-strong
|
||||
-valgrind_CFLAGS = $(AM_CFLAGS_PRI) $(LTO_CFLAGS)
|
||||
+valgrind_CFLAGS = $(AM_CFLAGS_PRI) $(LTO_CFLAGS) -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,
|
||||
@@ -104,7 +104,7 @@ vgdb_SOURCES += vgdb-invoker-freebsd.c
|
||||
@@ -94,7 +94,7 @@ vgdb_SOURCES += vgdb-invoker-solaris.c
|
||||
endif
|
||||
|
||||
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_CPPFLAGS = $(AM_CPPFLAGS_PRI)
|
||||
-vgdb_CFLAGS = $(AM_CFLAGS_PRI) $(LTO_CFLAGS)
|
||||
+vgdb_CFLAGS = $(AM_CFLAGS_PRI) $(LTO_CFLAGS) -fstack-protector-strong
|
||||
vgdb_CCASFLAGS = $(AM_CCASFLAGS_PRI)
|
||||
vgdb_LDFLAGS = $(AM_CFLAGS_PRI) @LIB_UBSAN@
|
||||
if VGCONF_PLATVARIANT_IS_ANDROID
|
||||
25
valgrind-3.19.0-ld-so-strncmp.patch
Normal file
25
valgrind-3.19.0-ld-so-strncmp.patch
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
commit 947388eb043ea1c44b37df94046e1eee790ad776
|
||||
Author: Mike Crowe <mac@mcrowe.com>
|
||||
Date: Mon Sep 9 14:16:16 2019 +0100
|
||||
|
||||
Intercept strncmp for glibc ld.so v2.28+
|
||||
|
||||
In glibc 5aad5f617892e75d91d4c8fb7594ff35b610c042 (first released in
|
||||
v2.28) a call to strncmp was added to dl-load.c:is_dst. This causes
|
||||
valgrind to complain about glibc's highly-optimised strncmp performing
|
||||
sixteen-byte reads on short strings in ld.so. Let's intercept strncmp in
|
||||
ld.so too so we use valgrind's simple version to avoid this problem.
|
||||
|
||||
diff --git a/shared/vg_replace_strmem.c b/shared/vg_replace_strmem.c
|
||||
index 3b42b3a87..5396e83be 100644
|
||||
--- a/shared/vg_replace_strmem.c
|
||||
+++ b/shared/vg_replace_strmem.c
|
||||
@@ -710,6 +710,8 @@ static inline void my_exit ( int x )
|
||||
STRNCMP(VG_Z_LIBC_SONAME, __GI_strncmp)
|
||||
STRNCMP(VG_Z_LIBC_SONAME, __strncmp_sse2)
|
||||
STRNCMP(VG_Z_LIBC_SONAME, __strncmp_sse42)
|
||||
+ STRNCMP(VG_Z_LD_LINUX_SO_2, strncmp)
|
||||
+ STRNCMP(VG_Z_LD_LINUX_X86_64_SO_2, strncmp)
|
||||
|
||||
#elif defined(VGO_freebsd)
|
||||
STRNCMP(VG_Z_LIBC_SONAME, strncmp)
|
||||
231
valgrind-3.19.0-s390x-memmem.patch
Normal file
231
valgrind-3.19.0-s390x-memmem.patch
Normal file
|
|
@ -0,0 +1,231 @@
|
|||
From 42ca1c480a5bca408a54c6a24d2be2c081d121ac Mon Sep 17 00:00:00 2001
|
||||
From: Andreas Arnez <arnez@linux.ibm.com>
|
||||
Date: Thu, 19 May 2022 13:54:06 +0200
|
||||
Subject: [PATCH] Bug 454040 - Add intercept for memmem on s390x
|
||||
|
||||
Since memcheck may report false positives in an optimized version of memmem on
|
||||
s390x, add an intercept for memmem on s390x platforms.
|
||||
---
|
||||
shared/vg_replace_strmem.c | 36 ++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 36 insertions(+)
|
||||
|
||||
diff --git a/shared/vg_replace_strmem.c b/shared/vg_replace_strmem.c
|
||||
index 5396e83be..d28e74206 100644
|
||||
--- a/shared/vg_replace_strmem.c
|
||||
+++ b/shared/vg_replace_strmem.c
|
||||
@@ -103,6 +103,7 @@
|
||||
20430 WMEMCHR
|
||||
20440 WCSNLEN
|
||||
20450 WSTRNCMP
|
||||
+ 20460 MEMMEM
|
||||
*/
|
||||
|
||||
#if defined(VGO_solaris)
|
||||
@@ -1785,6 +1786,41 @@ static inline void my_exit ( int x )
|
||||
|
||||
#endif
|
||||
|
||||
+/*---------------------- memmem ----------------------*/
|
||||
+
|
||||
+#define MEMMEM(soname, fnname) \
|
||||
+ void* VG_REPLACE_FUNCTION_EZU(20460,soname,fnname) \
|
||||
+ (const void* haystack, SizeT hlen, const void* needle, SizeT nlen); \
|
||||
+ void* VG_REPLACE_FUNCTION_EZU(20460,soname,fnname) \
|
||||
+ (const void* haystack, SizeT hlen, const void* needle, SizeT nlen) \
|
||||
+ { \
|
||||
+ const HChar* h = haystack; \
|
||||
+ const HChar* n = needle; \
|
||||
+ \
|
||||
+ /* If the needle is the empty string, match immediately. */ \
|
||||
+ if (nlen == 0) return CONST_CAST(void *,h); \
|
||||
+ \
|
||||
+ HChar n0 = n[0]; \
|
||||
+ \
|
||||
+ for (; hlen >= nlen; hlen--, h++) { \
|
||||
+ if (h[0] != n0) continue; \
|
||||
+ \
|
||||
+ UWord i; \
|
||||
+ for (i = 1; i < nlen; i++) { \
|
||||
+ if (n[i] != h[i]) \
|
||||
+ break; \
|
||||
+ } \
|
||||
+ if (i == nlen) \
|
||||
+ return CONST_CAST(HChar *,h); \
|
||||
+ \
|
||||
+ } \
|
||||
+ return NULL; \
|
||||
+ }
|
||||
+
|
||||
+#if defined(VGP_s390x_linux)
|
||||
+ MEMMEM(VG_Z_LIBC_SONAME, memmem)
|
||||
+#endif
|
||||
+
|
||||
|
||||
/*---------------------- strpbrk ----------------------*/
|
||||
|
||||
--
|
||||
2.31.1
|
||||
|
||||
From 4d675f309bcd2d4e9e2b9e6f4aba30f85116bb9b Mon Sep 17 00:00:00 2001
|
||||
From: Mark Wielaard <mark@klomp.org>
|
||||
Date: Thu, 19 May 2022 18:08:40 -0400
|
||||
Subject: [PATCH] Add memmem memcheck tests
|
||||
|
||||
---
|
||||
memcheck/tests/Makefile.am | 3 ++
|
||||
memcheck/tests/filter_memmem | 5 ++
|
||||
memcheck/tests/memmem.c | 81 ++++++++++++++++++++++++++++++++
|
||||
memcheck/tests/memmem.stderr.exp | 2 +
|
||||
memcheck/tests/memmem.vgtest | 3 ++
|
||||
5 files changed, 94 insertions(+)
|
||||
create mode 100755 memcheck/tests/filter_memmem
|
||||
create mode 100644 memcheck/tests/memmem.c
|
||||
create mode 100644 memcheck/tests/memmem.stderr.exp
|
||||
create mode 100644 memcheck/tests/memmem.vgtest
|
||||
|
||||
diff --git a/memcheck/tests/Makefile.am b/memcheck/tests/Makefile.am
|
||||
index eb9487272..4d181c1ac 100644
|
||||
--- a/memcheck/tests/Makefile.am
|
||||
+++ b/memcheck/tests/Makefile.am
|
||||
@@ -79,6 +79,7 @@ dist_noinst_SCRIPTS = \
|
||||
filter_strchr \
|
||||
filter_varinfo3 \
|
||||
filter_memcheck \
|
||||
+ filter_memmem \
|
||||
filter_overlaperror \
|
||||
filter_malloc_free \
|
||||
filter_sized_delete
|
||||
@@ -220,6 +221,7 @@ EXTRA_DIST = \
|
||||
memalign2.stderr.exp memalign2.vgtest \
|
||||
memcmptest.stderr.exp memcmptest.stderr.exp2 \
|
||||
memcmptest.stdout.exp memcmptest.vgtest \
|
||||
+ memmem.stderr.exp memmem.vgtest \
|
||||
mempool.stderr.exp mempool.vgtest \
|
||||
mempool2.stderr.exp mempool2.vgtest \
|
||||
metadata.stderr.exp metadata.stdout.exp metadata.vgtest \
|
||||
@@ -417,6 +419,7 @@ check_PROGRAMS = \
|
||||
malloc_usable malloc1 malloc2 malloc3 manuel1 manuel2 manuel3 \
|
||||
match-overrun \
|
||||
memalign_test memalign2 memcmptest mempool mempool2 mmaptest \
|
||||
+ memmem \
|
||||
mismatches new_override metadata \
|
||||
nanoleak_supp nanoleak2 new_nothrow \
|
||||
noisy_child \
|
||||
diff --git a/memcheck/tests/filter_memmem b/memcheck/tests/filter_memmem
|
||||
new file mode 100755
|
||||
index 000000000..f4a40b2d1
|
||||
--- /dev/null
|
||||
+++ b/memcheck/tests/filter_memmem
|
||||
@@ -0,0 +1,5 @@
|
||||
+#! /bin/sh
|
||||
+
|
||||
+# Too many memmem implementations and overrides.
|
||||
+# So just keep the main file lines.
|
||||
+./filter_stderr "$@" | grep " main (memmem.c:"
|
||||
diff --git a/memcheck/tests/memmem.c b/memcheck/tests/memmem.c
|
||||
new file mode 100644
|
||||
index 000000000..d627076e3
|
||||
--- /dev/null
|
||||
+++ b/memcheck/tests/memmem.c
|
||||
@@ -0,0 +1,81 @@
|
||||
+#define _GNU_SOURCE
|
||||
+#include <assert.h>
|
||||
+#include <string.h>
|
||||
+#include <stdlib.h>
|
||||
+
|
||||
+/* mallocs an mem block and fills it with A. A needs to be a zero
|
||||
+ terminated string. The A string chars, minus the terminating zero
|
||||
+ are copied into the returned mem block. */
|
||||
+static void *
|
||||
+create_mem (const char *a)
|
||||
+{
|
||||
+ size_t len = strlen (a);
|
||||
+ void *mem = malloc (len);
|
||||
+ memcpy (mem, a, len);
|
||||
+ return mem;
|
||||
+}
|
||||
+
|
||||
+int
|
||||
+main ()
|
||||
+{
|
||||
+ char *haystack;
|
||||
+ char *needle;
|
||||
+
|
||||
+ haystack = create_mem ("a");
|
||||
+ needle = create_mem ("a");
|
||||
+ assert (memmem (haystack, 0, needle, 0) == haystack);
|
||||
+ assert (memmem (haystack, 1, needle, 0) == haystack);
|
||||
+ assert (memmem (haystack, 0, needle, 1) == NULL);
|
||||
+ assert (memmem (haystack, 1, needle, 1) == haystack);
|
||||
+ free (haystack);
|
||||
+ free (needle);
|
||||
+
|
||||
+ haystack = create_mem ("abc");
|
||||
+ needle = create_mem ("bc");
|
||||
+ assert (memmem (haystack, 3, needle, 0) == haystack);
|
||||
+ assert (memmem (haystack, 3, needle, 2) == haystack + 1);
|
||||
+ assert (memmem (haystack + 1, 2, needle, 2) == haystack + 1);
|
||||
+ assert (memmem (haystack + 2, 1, needle, 2) == NULL);
|
||||
+ free (haystack);
|
||||
+ free (needle);
|
||||
+
|
||||
+ haystack = create_mem ("abcabcabc");
|
||||
+ needle = create_mem ("bca");
|
||||
+ assert (memmem (haystack, 9, needle, 3) == haystack + 1);
|
||||
+ free (haystack);
|
||||
+ free (needle);
|
||||
+
|
||||
+ haystack = create_mem ("abcabcabc");
|
||||
+ needle = create_mem ("bcad");
|
||||
+ assert (memmem (haystack, 9, needle, 4) == NULL);
|
||||
+ free (haystack);
|
||||
+ free (needle);
|
||||
+
|
||||
+ haystack = create_mem ("xxxxxxxxxxxxxxxxxABC");
|
||||
+ needle = create_mem ("ABCD");
|
||||
+ assert (memmem (haystack, 20, needle, 2) == haystack + 17);
|
||||
+ assert (memmem (haystack + 3, 17, needle, 2) == haystack + 17);
|
||||
+ assert (memmem (haystack + 15, 5, needle, 2) == haystack + 17);
|
||||
+ assert (memmem (haystack, 20, needle, 3) == haystack + 17);
|
||||
+ assert (memmem (haystack + 3, 17, needle, 3) == haystack + 17);
|
||||
+ assert (memmem (haystack + 15, 5, needle, 3) == haystack + 17);
|
||||
+ assert (memmem (haystack, 20, needle, 4) == NULL);
|
||||
+ assert (memmem (haystack + 3, 5, needle, 4) == NULL);
|
||||
+ assert (memmem (haystack + 15, 5, needle, 4) == NULL);
|
||||
+ free (haystack);
|
||||
+ free (needle);
|
||||
+
|
||||
+ haystack = malloc (1);
|
||||
+ needle = create_mem ("a");
|
||||
+ assert (memmem (haystack, 1, needle, 1) == NULL);
|
||||
+ free (haystack);
|
||||
+ free (needle);
|
||||
+
|
||||
+ haystack = create_mem ("A");
|
||||
+ needle = malloc (1);
|
||||
+ assert (memmem (haystack, 1, needle, 1) == NULL);
|
||||
+ free (haystack);
|
||||
+ free (needle);
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
diff --git a/memcheck/tests/memmem.stderr.exp b/memcheck/tests/memmem.stderr.exp
|
||||
new file mode 100644
|
||||
index 000000000..b4612fbd4
|
||||
--- /dev/null
|
||||
+++ b/memcheck/tests/memmem.stderr.exp
|
||||
@@ -0,0 +1,2 @@
|
||||
+ by 0x........: main (memmem.c:70)
|
||||
+ by 0x........: main (memmem.c:76)
|
||||
diff --git a/memcheck/tests/memmem.vgtest b/memcheck/tests/memmem.vgtest
|
||||
new file mode 100644
|
||||
index 000000000..6d12895df
|
||||
--- /dev/null
|
||||
+++ b/memcheck/tests/memmem.vgtest
|
||||
@@ -0,0 +1,3 @@
|
||||
+prog: memmem
|
||||
+vgopts: -q
|
||||
+stderr_filter: filter_memmem
|
||||
--
|
||||
2.18.4
|
||||
|
||||
469
valgrind.spec
469
valgrind.spec
|
|
@ -2,42 +2,36 @@
|
|||
|
||||
Summary: Dynamic analysis tools to detect memory or thread bugs and profile
|
||||
Name: %{?scl_prefix}valgrind
|
||||
Version: 3.27.1
|
||||
Release: 2%{?dist}
|
||||
Version: 3.19.0
|
||||
Release: 3%{?dist}
|
||||
Epoch: 1
|
||||
|
||||
# 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
|
||||
License: GPLv2+
|
||||
URL: https://www.valgrind.org/
|
||||
|
||||
# Only necessary for RHEL, will be ignored on Fedora
|
||||
|
||||
# Are we building for a Software Collection?
|
||||
%{?scl:%global is_scl 1}
|
||||
%{!?scl:%global is_scl 0}
|
||||
|
||||
# We never want the openmpi subpackage when building a software collecton.
|
||||
# We always want it for fedora.
|
||||
# We only want it for older rhel.
|
||||
# And on fedora > 39 i386 dropped openmpi.
|
||||
# We only want it for older rhel. But not s390x for too old rhel.
|
||||
%if %{is_scl}
|
||||
%global build_openmpi 0
|
||||
%else
|
||||
%if 0%{?fedora}
|
||||
%ifarch %{ix86}
|
||||
%global build_openmpi (%{?fedora} < 40)
|
||||
%else
|
||||
%global build_openmpi 1
|
||||
%endif
|
||||
%global build_openmpi 1
|
||||
%endif
|
||||
%if 0%{?rhel}
|
||||
%if 0%{?rhel} > 7
|
||||
%global build_openmpi 0
|
||||
%else
|
||||
%global build_openmpi 1
|
||||
%ifarch s390x
|
||||
%global build_openmpi (%{?rhel} > 6)
|
||||
%else
|
||||
%global build_openmpi 1
|
||||
%endif
|
||||
%endif
|
||||
%endif
|
||||
%endif
|
||||
|
|
@ -57,11 +51,17 @@ URL: https://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.
|
||||
# Don't run them when creating scl, the gdb_server tests might hang.
|
||||
# Only run full regtests on fedora, but not on older rhel
|
||||
# or when creating scl, the gdb_server tests might hang.
|
||||
%if %{is_scl}
|
||||
%global run_full_regtest 0
|
||||
%else
|
||||
%global run_full_regtest 1
|
||||
%if 0%{?fedora}
|
||||
%global run_full_regtest 1
|
||||
%endif
|
||||
%if 0%{?rhel}
|
||||
%global run_full_regtest (%rhel >= 7)
|
||||
%endif
|
||||
%endif
|
||||
|
||||
# Generating minisymtabs doesn't really work for the staticly linked
|
||||
|
|
@ -80,10 +80,16 @@ Patch1: valgrind-3.9.0-cachegrind-improvements.patch
|
|||
Patch2: valgrind-3.9.0-ldso-supp.patch
|
||||
|
||||
# Add some stack-protector
|
||||
Patch3: valgrind-3.26.0-some-stack-protector.patch
|
||||
Patch3: valgrind-3.16.0-some-stack-protector.patch
|
||||
|
||||
# Add some -Wl,z,now.
|
||||
Patch4: valgrind-3.26.0-some-Wl-z-now.patch
|
||||
Patch4: valgrind-3.16.0-some-Wl-z-now.patch
|
||||
|
||||
# KDE#434764 # iconv_open causes ld.so v2.28+ to execute optimised strncmp
|
||||
Patch5: valgrind-3.19.0-ld-so-strncmp.patch
|
||||
|
||||
# KDE#454040 s390x: False-positive memcheck:cond in memmem on arch13 systems
|
||||
Patch6: valgrind-3.19.0-s390x-memmem.patch
|
||||
|
||||
BuildRequires: make
|
||||
BuildRequires: glibc-devel
|
||||
|
|
@ -117,27 +123,24 @@ BuildRequires: docbook-dtds
|
|||
|
||||
# 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 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}
|
||||
%endif
|
||||
|
||||
# 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 riscv64
|
||||
ExclusiveArch: %{ix86} x86_64 ppc ppc64 ppc64le s390x armv7hl aarch64
|
||||
|
||||
# Define valarch, the architecture name that valgrind uses
|
||||
# And only_arch, the configure option to only build for that arch.
|
||||
|
|
@ -173,10 +176,6 @@ ExclusiveArch: %{ix86} x86_64 ppc ppc64 ppc64le s390x armv7hl aarch64 riscv64
|
|||
%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
|
||||
|
|
@ -191,48 +190,11 @@ profiler (callgrind), and a heap profiler (massif).
|
|||
|
||||
%package devel
|
||||
Summary: Development files for valgrind aware programs
|
||||
# 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}
|
||||
Requires: %{?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.
|
||||
|
|
@ -246,8 +208,6 @@ 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
|
||||
|
|
@ -259,23 +219,36 @@ Valgrind User Manual for details.
|
|||
%prep
|
||||
%setup -q -n %{?scl:%{pkg_name}}%{!?scl:%{name}}-%{version}
|
||||
|
||||
%patch -P1 -p1
|
||||
%patch -P2 -p1
|
||||
%patch -P3 -p1
|
||||
%patch -P4 -p1
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
|
||||
# Old rhel gcc doesn't have -fstack-protector-strong.
|
||||
%if 0%{?fedora} || 0%{?rhel} >= 7
|
||||
%patch3 -p1
|
||||
%patch4 -p1
|
||||
%endif
|
||||
|
||||
%patch5 -p1
|
||||
%patch6 -p1
|
||||
|
||||
%build
|
||||
# LTO triggers undefined symbols in valgrind. But valgrind has a
|
||||
# --enable-lto configure time option that we will use instead.
|
||||
# LTO triggers undefined symbols in valgrind. Valgrind has a --enable-lto
|
||||
# configure time option, but that doesn't seem to help.
|
||||
# Disable LTO for now.
|
||||
%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
|
||||
|
|
@ -326,9 +299,7 @@ export LDFLAGS
|
|||
%configure \
|
||||
--with-mpicc=%{mpiccpath} \
|
||||
%{only_arch} \
|
||||
GDB=%{_bindir}/gdb \
|
||||
--with-gdbscripts-dir=%{_datadir}/gdb/auto-load \
|
||||
--enable-lto
|
||||
GDB=%{_bindir}/gdb
|
||||
|
||||
%make_build
|
||||
|
||||
|
|
@ -434,49 +405,22 @@ echo ===============END TESTING===============
|
|||
%{!?_licensedir:%global license %%doc}
|
||||
|
||||
%files
|
||||
%license COPYING
|
||||
%{_bindir}/valgrind
|
||||
%dir %{_libexecdir}/valgrind
|
||||
# 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}-linux.so
|
||||
|
||||
%files docs
|
||||
%license COPYING.DOCS
|
||||
%license COPYING COPYING.DOCS
|
||||
%doc NEWS README_*
|
||||
%doc docs/installed/html docs/installed/*.pdf
|
||||
%{_bindir}/*
|
||||
%dir %{_libexecdir}/valgrind
|
||||
# Install everything in the libdir except the .so.
|
||||
# The vgpreload so files might need file mode adjustment.
|
||||
%{_libexecdir}/valgrind/*[^o]
|
||||
# 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
|
||||
%{_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
|
||||
|
|
@ -502,276 +446,19 @@ 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 <releng@fedoraproject.org> - 1:3.27.1-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild
|
||||
|
||||
* Wed May 20 2026 Mark Wielaard <mjw@fedoraproject.org> - 3.27.1-1
|
||||
- Valgrind 3.27.1 final
|
||||
|
||||
* Mon Apr 20 2026 Mark Wielaard <mjw@fedoraproject.org> - 3.27.0-1
|
||||
- Valgrind 3.27.0 final
|
||||
|
||||
* Fri Apr 17 2026 Mark Wielaard <mjw@fedoraproject.org> - 3.27.0-0.1.RC2
|
||||
- Upstream 3.27.0-RC2
|
||||
|
||||
* Mon Apr 13 2026 Mark Wielaard <mjw@fedoraproject.org> - 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 <mjw@fedoraproject.org> - 3.26.0-5
|
||||
- Add 0001-Refix-still_reachable-xml-closing-tag-and-add-testca.patch
|
||||
|
||||
* Mon Jan 26 2026 Mark Wielaard <mjw@fedoraproject.org> - 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 <releng@fedoraproject.org> - 1:3.26.0-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild
|
||||
|
||||
* Thu Jan 8 2026 Mark Wielaard <mjw@fedoraproject.org> - 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 <mjw@fedoraproject.org> - 3.26.0-1
|
||||
- Valgrind 3.26.0 final
|
||||
- Clarify License of valgrind-scripts.
|
||||
|
||||
* Sat Oct 18 2025 Mark Wielaard <mjw@fedoraproject.org> - 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 <mjw@fedoraproject.org> - 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 <mjw@fedoraproject.org> - 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 <releng@fedoraproject.org> - 1:3.25.1-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
|
||||
|
||||
* Tue May 20 2025 Mark Wielaard <mjw@fedoraproject.org> - 3.25.1-1
|
||||
- Valgrind 3.25.1 final
|
||||
|
||||
* Fri May 16 2025 Mark Wielaard <mjw@fedoraproject.org> - 3.25.0-3
|
||||
- Add 2 more VALGRIND_3_25_BRANCH patches
|
||||
|
||||
* Fri May 9 2025 Mark Wielaard <mjw@fedoraproject.org> - 3.25.0-2
|
||||
- Add VALGRIND_3_25_BRANCH patches
|
||||
|
||||
* Fri Apr 25 2025 Mark Wielaard <mjw@fedoraproject.org> - 3.25.0-1
|
||||
- Valgrind 3.25.0 final
|
||||
|
||||
* Wed Apr 23 2025 Mark Wielaard <mjw@fedoraproject.org> - 3.25.0-0.1.RC2
|
||||
- Upstream 3.25.0-RC2
|
||||
|
||||
* Fri Apr 18 2025 Mark Wielaard <mjw@fedoraproject.org> - 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 <mjw@fedoraproject.org> - 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 <mjw@fedoraproject.org> - 3.24.0-7
|
||||
- Add valgrind-3.24.0-syscall-cancel.patch
|
||||
|
||||
* Wed Mar 12 2025 Mark Wielaard <mjw@fedoraproject.org> - 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 <mjw@fedoraproject.org> - 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 <mjw@fedoraproject.org> - 3.24.0-4
|
||||
- Add 0015-ppc-test_dfp2-build-fix-for-GCC-15.patch
|
||||
|
||||
* Tue Jan 14 2025 Mark Wielaard <mjw@fedoraproject.org> - 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 <mjw@fedoraproject.org> - 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 <mjw@fedoraproject.org> - 3.24.0-1
|
||||
- Upstream 3.24.0 final
|
||||
|
||||
* Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.23.0-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
|
||||
|
||||
* Sat Jul 6 2024 Mark Wielaard <mjw@fedoraproject.org> - 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 <mjw@fedoraproject.org> - 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 <mjw@fedoraproject.org> - 3.23.0-2
|
||||
- Add upstream VALGRIND_3_23_BRANCH patches
|
||||
|
||||
* Fri Apr 26 2024 Mark Wielaard <mjw@fedoraproject.org> - 3.23.0-1
|
||||
- Upstream 3.23.0 final
|
||||
|
||||
* Thu Apr 25 2024 Mark Wielaard <mjw@fedoraproject.org> - 3.23.0-0.2.RC2
|
||||
- configure --enable-lto
|
||||
|
||||
* Wed Apr 24 2024 Mark Wielaard <mjw@fedoraproject.org> - 3.23.0-0.1.RC2
|
||||
- Upstream 3.23.0-RC2
|
||||
|
||||
* Sat Apr 20 2024 Mark Wielaard <mjw@fedoraproject.org> - 3.23.0-0.1.RC1
|
||||
+- Upstream 3.23.0-RC1
|
||||
+- Remove all upstreamed patches
|
||||
|
||||
* Sat Apr 13 2024 Mark Wielaard <mjw@fedoraproject.org> - 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 <mjw@fedoraproject.org> - 3.22.0-7
|
||||
- Add valgrind-3.22.0-gcc-builtin_strcmp-128-256-bit-vector.patch
|
||||
|
||||
* Mon Mar 4 2024 Mark Wielaard <mjw@fedoraproject.org>
|
||||
- Update Fedora license tags to spdx license tags
|
||||
|
||||
* Sat Jan 27 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.22.0-6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Mon Jan 22 2024 Mark Wielaard <mjw@fedoraproject.org> - 3.22.0-5
|
||||
- Add valgrind-3.22.0-x86-nop.patch
|
||||
|
||||
* Sat Dec 9 2023 Mark Wielaard <mjw@fedoraproject.org> - 3.22.0-4
|
||||
- Add valgrind-3.22.0-fchmodat2.patch
|
||||
- Prep for migration to SPDX identifiers
|
||||
|
||||
* Tue Dec 5 2023 Mark Wielaard <mjw@fedoraproject.org> - 3.22.0-3
|
||||
- Add valgrind-3.22.0-rodata.patch
|
||||
|
||||
* Fri Nov 17 2023 Mark Wielaard <mjw@fedoraproject.org> - 3.22.0-2
|
||||
- Add valgrind-3.22.0-valgrind-monitor-python-re.patch
|
||||
- Drop support for rhel6
|
||||
|
||||
* Tue Oct 31 2023 Mark Wielaard <mjw@fedoraproject.org> - 3.22.0-1
|
||||
- Upstream 3.22.0 final
|
||||
- BuildRequires elfutils-debuginfod for testing
|
||||
|
||||
* Mon Oct 30 2023 Mark Wielaard <mjw@fedoraproject.org> - 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 <mjw@fedoraproject.org> - 3.22.0-0.1.RC2
|
||||
- Upstream 3.22.0-RC2
|
||||
|
||||
* Tue Oct 17 2023 Mark Wielaard <mjw@fedoraproject.org> - 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 <mjw@fedoraproject.org> - 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 <mjw@fedoraproject.org> - 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 <releng@fedoraproject.org> - 1:3.21.0-8
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
||||
|
||||
* Thu Jun 22 2023 Mark Wielaard <mjw@fedoraproject.org> - 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 <mjw@fedoraproject.org> - 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 <mjw@fedoraproject.org> - 3.21.0-5
|
||||
- Update valgrind-3.21.0-no-memcpy-replace-check.patch (memcpy_chk)
|
||||
|
||||
* Wed May 17 2023 Mark Wielaard <mjw@fedoraproject.org> - 3.21.0-4
|
||||
- Add valgrind-3.21.0-epoll_pwait2.patch
|
||||
|
||||
* Tue May 16 2023 Alexandra Hájková <ahajkova@redhat.com> - 3.21.0-3
|
||||
- Add valgrind-3.21.0-Add-with-gdbscripts-dir.patch
|
||||
|
||||
* Fri May 5 2023 Mark Wielaard <mjw@fedoraproject.org> - 3.21.0-2
|
||||
- Add valgrind-3.21.0-no-memcpy-replace-check.patch
|
||||
|
||||
* Fri Apr 28 2023 Mark Wielaard <mjw@fedoraproject.org> - 3.21.0-1
|
||||
- Upstream 3.21.0 final
|
||||
|
||||
* Sat Apr 22 2023 Mark Wielaard <mjw@fedoraproject.org> - 3.21.0-0.1.RC2
|
||||
- Upstream 3.21.0-RC2
|
||||
|
||||
* Fri Apr 21 2023 Mark Wielaard <mjw@fedoraproject.org> - 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 <fweimer@redhat.com> - 1:3.20.0-2
|
||||
- Avoid using implicit int C89 feature
|
||||
|
||||
* Mon Oct 24 2022 Mark Wielaard <mjw@fedoraproject.org> - 3.20.0-1
|
||||
- Upgrade to valgrind 3.20.0. Drop old patches.
|
||||
|
||||
* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.19.0-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
||||
|
||||
* Wed May 25 2022 Mark Wielaard <mjw@fedoraproject.org> - 3.19.0-3
|
||||
- Add valgrind-3.19.0-s390x-memmem.patch
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue