Compare commits
No commits in common. "c8" and "c9-beta" have entirely different histories.
2
.gitignore
vendored
2
.gitignore
vendored
@ -1 +1 @@
|
||||
SOURCES/valgrind-3.22.0.tar.bz2
|
||||
SOURCES/valgrind-3.26.0.tar.bz2
|
||||
|
||||
@ -1 +1 @@
|
||||
60894cbf59d480c1794674da24a8406518a8df59 SOURCES/valgrind-3.22.0.tar.bz2
|
||||
c32f135761724db05f018fff67e06c4edf328770 SOURCES/valgrind-3.26.0.tar.bz2
|
||||
|
||||
32
SOURCES/0001-Prepare-NEWS-for-branch-3.26-fixes.patch
Normal file
32
SOURCES/0001-Prepare-NEWS-for-branch-3.26-fixes.patch
Normal file
@ -0,0 +1,32 @@
|
||||
From 0f4968e8aaaacbb9700c09d88b20a195118f6ae4 Mon Sep 17 00:00:00 2001
|
||||
From: Mark Wielaard <mark@klomp.org>
|
||||
Date: Wed, 7 Jan 2026 15:11:59 +0100
|
||||
Subject: [PATCH 1/6] Prepare NEWS for branch 3.26 fixes
|
||||
|
||||
---
|
||||
NEWS | 12 ++++++++++++
|
||||
1 file changed, 12 insertions(+)
|
||||
|
||||
diff --git a/NEWS b/NEWS
|
||||
index fdeebfaead90..d176b0aa2ebe 100644
|
||||
--- a/NEWS
|
||||
+++ b/NEWS
|
||||
@@ -1,3 +1,15 @@
|
||||
+Branch 3.26
|
||||
+~~~~~~~~~~~
|
||||
+
|
||||
+* ==================== FIXED BUGS ====================
|
||||
+
|
||||
+The following bugs have been fixed or resolved on this branch.
|
||||
+
|
||||
+To see details of a given bug, visit
|
||||
+ https://bugs.kde.org/show_bug.cgi?id=XXXXXX
|
||||
+where XXXXXX is the bug number as listed above.
|
||||
+
|
||||
+
|
||||
Release 3.26.0 (24 Oct 2025)
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
--
|
||||
2.52.0
|
||||
|
||||
@ -0,0 +1,352 @@
|
||||
From a4e37741625163fe3e9fde5f21dc4d3e9167fd9a Mon Sep 17 00:00:00 2001
|
||||
From: Paul Floyd <pjfloyd@wanadoo.fr>
|
||||
Date: Thu, 29 Jan 2026 12:18:08 +0100
|
||||
Subject: [PATCH] Refix still_reachable xml closing tag and add testcases
|
||||
|
||||
https://bugs.kde.org/show_bug.cgi?id=514613
|
||||
---
|
||||
memcheck/mc_leakcheck.c | 16 ++--
|
||||
memcheck/tests/Makefile.am | 14 ++-
|
||||
memcheck/tests/nothing.c | 5 ++
|
||||
memcheck/tests/nothing_xml.stderr.exp | 0
|
||||
memcheck/tests/nothing_xml.vgtest | 4 +
|
||||
memcheck/tests/simple_leak.c | 10 +++
|
||||
memcheck/tests/simple_leak_xml.stderr.exp | 0
|
||||
memcheck/tests/simple_leak_xml.vgtest | 4 +
|
||||
memcheck/tests/simple_reachable.c | 9 ++
|
||||
.../tests/simple_reachable_xml.stderr.exp | 0
|
||||
memcheck/tests/simple_reachable_xml.vgtest | 4 +
|
||||
memcheck/tests/xmas_tree.cpp | 90 +++++++++++++++++++
|
||||
memcheck/tests/xmas_tree_xml.stderr.exp | 0
|
||||
memcheck/tests/xmas_tree_xml.supp | 7 ++
|
||||
memcheck/tests/xmas_tree_xml.vgtest | 4 +
|
||||
16 files changed, 162 insertions(+), 9 deletions(-)
|
||||
create mode 100644 memcheck/tests/nothing.c
|
||||
create mode 100644 memcheck/tests/nothing_xml.stderr.exp
|
||||
create mode 100644 memcheck/tests/nothing_xml.vgtest
|
||||
create mode 100644 memcheck/tests/simple_leak.c
|
||||
create mode 100644 memcheck/tests/simple_leak_xml.stderr.exp
|
||||
create mode 100644 memcheck/tests/simple_leak_xml.vgtest
|
||||
create mode 100644 memcheck/tests/simple_reachable.c
|
||||
create mode 100644 memcheck/tests/simple_reachable_xml.stderr.exp
|
||||
create mode 100644 memcheck/tests/simple_reachable_xml.vgtest
|
||||
create mode 100644 memcheck/tests/xmas_tree.cpp
|
||||
create mode 100644 memcheck/tests/xmas_tree_xml.stderr.exp
|
||||
create mode 100644 memcheck/tests/xmas_tree_xml.supp
|
||||
create mode 100644 memcheck/tests/xmas_tree_xml.vgtest
|
||||
|
||||
diff --git a/memcheck/mc_leakcheck.c b/memcheck/mc_leakcheck.c
|
||||
index 4df0b180d5d1..b0056b65bd3e 100644
|
||||
--- a/memcheck/mc_leakcheck.c
|
||||
+++ b/memcheck/mc_leakcheck.c
|
||||
@@ -1768,23 +1768,23 @@ static void print_results(ThreadId tid, LeakCheckParams* lcp)
|
||||
umsg_or_xml(VG_(clo_xml) ?
|
||||
" <still_reachable>\n"
|
||||
" <bytes>%'lu%s</bytes>\n"
|
||||
- " <blocks>%'lu%s</blocks>\n"
|
||||
- " </still_reachable>\n" :
|
||||
+ " <blocks>%'lu%s</blocks>\n" :
|
||||
" still reachable: %'lu%s bytes in %'lu%s blocks\n",
|
||||
MC_(bytes_reachable),
|
||||
DBY (MC_(bytes_reachable), old_bytes_reachable),
|
||||
MC_(blocks_reachable),
|
||||
DBL (MC_(blocks_reachable), old_blocks_reachable));
|
||||
- for (i = 0; i < N_LEAK_CHECK_HEURISTICS; i++)
|
||||
+ for (i = 0; i < N_LEAK_CHECK_HEURISTICS; i++) {
|
||||
if (old_blocks_heuristically_reachable[i] > 0
|
||||
|| MC_(blocks_heuristically_reachable)[i] > 0) {
|
||||
umsg_or_xml(VG_(clo_xml) ? "" : " of which "
|
||||
"reachable via heuristic:\n");
|
||||
break;
|
||||
}
|
||||
- for (i = 0; i < N_LEAK_CHECK_HEURISTICS; i++)
|
||||
- if (old_blocks_heuristically_reachable[i] > 0
|
||||
- || MC_(blocks_heuristically_reachable)[i] > 0)
|
||||
+ }
|
||||
+ for (i = 0; i < N_LEAK_CHECK_HEURISTICS; i++) {
|
||||
+ if (old_blocks_heuristically_reachable[i] > 0
|
||||
+ || MC_(blocks_heuristically_reachable)[i] > 0) {
|
||||
umsg_or_xml(VG_(clo_xml) ?
|
||||
" <reachable_heuristic>\n"
|
||||
" <kind>%ls</kind>\n"
|
||||
@@ -1800,7 +1800,9 @@ static void print_results(ThreadId tid, LeakCheckParams* lcp)
|
||||
MC_(blocks_heuristically_reachable)[i],
|
||||
DBL (MC_(blocks_heuristically_reachable)[i],
|
||||
old_blocks_heuristically_reachable[i]));
|
||||
- if (VG_(clo_xml) && MC_(bytes_reachable)) {
|
||||
+ }
|
||||
+ }
|
||||
+ if (VG_(clo_xml)) {
|
||||
umsg_or_xml(" </still_reachable>\n");
|
||||
}
|
||||
umsg_or_xml(VG_(clo_xml) ?
|
||||
diff --git a/memcheck/tests/Makefile.am b/memcheck/tests/Makefile.am
|
||||
index 4bdca487aa51..c8469f1265cb 100644
|
||||
--- a/memcheck/tests/Makefile.am
|
||||
+++ b/memcheck/tests/Makefile.am
|
||||
@@ -307,6 +307,7 @@ EXTRA_DIST = \
|
||||
new_nothrow.stderr.exp new_nothrow.vgtest \
|
||||
new_override.stderr.exp new_override.stdout.exp new_override.vgtest \
|
||||
noisy_child.vgtest noisy_child.stderr.exp noisy_child.stdout.exp \
|
||||
+ nothing_xml.vgtest nothing_xml.stderr.exp \
|
||||
null_socket.stderr.exp null_socket.vgtest \
|
||||
origin1-yes.vgtest origin1-yes.stdout.exp origin1-yes.stderr.exp \
|
||||
origin1-yes.stderr.exp-freebsd \
|
||||
@@ -403,6 +404,8 @@ EXTRA_DIST = \
|
||||
sigkill.stderr.exp-glibc-2.28 sigkill.vgtest \
|
||||
signal2.stderr.exp signal2.stdout.exp signal2.vgtest \
|
||||
sigprocmask.stderr.exp sigprocmask.stderr.exp2 sigprocmask.vgtest \
|
||||
+ simple_leak_xml.vgtest simple_reachable_xml.vgtest \
|
||||
+ simple_leak_xml.stderr.exp simple_reachable_xml.stderr.exp \
|
||||
sized_delete.stderr.exp sized_delete.stderr.exp-x86 sized_delete.vgtest \
|
||||
static_malloc.stderr.exp static_malloc.vgtest \
|
||||
stpncpy.vgtest stpncpy.stderr.exp stpncpy.stdout.exp \
|
||||
@@ -478,6 +481,7 @@ EXTRA_DIST = \
|
||||
wrapmallocstatic.vgtest wrapmallocstatic.stdout.exp \
|
||||
wrapmallocstatic.stderr.exp \
|
||||
writev1.stderr.exp writev1.stderr.exp-solaris writev1.vgtest \
|
||||
+ xmas_tree_xml.vgtest xmas_tree_xml.supp xmas_tree_xml.stderr.exp \
|
||||
xml1.stderr.exp xml1.stdout.exp xml1.vgtest xml1.stderr.exp-s390x-mvc
|
||||
|
||||
check_PROGRAMS = \
|
||||
@@ -539,6 +543,7 @@ check_PROGRAMS = \
|
||||
mismatches new_override metadata \
|
||||
nanoleak_supp nanoleak2 new_nothrow \
|
||||
noisy_child \
|
||||
+ nothing \
|
||||
null_socket \
|
||||
origin1-yes origin2-not-quite origin3-no \
|
||||
origin4-many origin5-bz2 origin6-fp \
|
||||
@@ -556,7 +561,9 @@ check_PROGRAMS = \
|
||||
sbfragment \
|
||||
sendmsg \
|
||||
sh-mem sh-mem-random \
|
||||
- sigaltstack signal2 sigprocmask static_malloc sigkill \
|
||||
+ sigaltstack signal2 sigprocmask \
|
||||
+ simple_leak simple_reachable \
|
||||
+ static_malloc sigkill \
|
||||
strchr \
|
||||
str_tester \
|
||||
supp_unknown supp1 supp2 suppfree \
|
||||
@@ -575,7 +582,8 @@ check_PROGRAMS = \
|
||||
wmemcmp \
|
||||
wrap1 wrap2 wrap3 wrap4 wrap5 wrap6 wrap7 wrap7so.so wrap8 \
|
||||
wrapmalloc wrapmallocso.so wrapmallocstatic \
|
||||
- writev1
|
||||
+ writev1 \
|
||||
+ xmas_tree
|
||||
|
||||
if !SOLARIS_SUN_STUDIO_AS
|
||||
# Sun Studio assembler fails on "IDENT too long"
|
||||
@@ -950,3 +958,5 @@ endif
|
||||
writev1_CFLAGS = $(AM_CFLAGS) @FLAG_W_NO_STRINGOP_OVERFLOW@ @FLAG_W_NO_STRINGOP_OVERREAD@
|
||||
xml1_CFLAGS = $(AM_CFLAGS) -D_GNU_SOURCE @FLAG_W_NO_UNINITIALIZED@ @FLAG_W_NO_USE_AFTER_FREE@
|
||||
|
||||
+xmas_tree_SOURCES = xmas_tree.cpp
|
||||
+xmas_tree_CXXFLAGS = ${AM_CXXFLAGS} @FLAG_W_NO_UNINITIALIZED@
|
||||
diff --git a/memcheck/tests/nothing.c b/memcheck/tests/nothing.c
|
||||
new file mode 100644
|
||||
index 000000000000..2e424a58ded8
|
||||
--- /dev/null
|
||||
+++ b/memcheck/tests/nothing.c
|
||||
@@ -0,0 +1,5 @@
|
||||
+/* no errors, except Darwin */
|
||||
+int main()
|
||||
+{
|
||||
+}
|
||||
+
|
||||
diff --git a/memcheck/tests/nothing_xml.stderr.exp b/memcheck/tests/nothing_xml.stderr.exp
|
||||
new file mode 100644
|
||||
index 000000000000..e69de29bb2d1
|
||||
diff --git a/memcheck/tests/nothing_xml.vgtest b/memcheck/tests/nothing_xml.vgtest
|
||||
new file mode 100644
|
||||
index 000000000000..db2eca402af1
|
||||
--- /dev/null
|
||||
+++ b/memcheck/tests/nothing_xml.vgtest
|
||||
@@ -0,0 +1,4 @@
|
||||
+prereq: which xmllint > /dev/null
|
||||
+prog: nothing
|
||||
+args: | xmllint --noout -
|
||||
+vgopts: --xml=yes --xml-fd=1
|
||||
diff --git a/memcheck/tests/simple_leak.c b/memcheck/tests/simple_leak.c
|
||||
new file mode 100644
|
||||
index 000000000000..b94dade4c24c
|
||||
--- /dev/null
|
||||
+++ b/memcheck/tests/simple_leak.c
|
||||
@@ -0,0 +1,10 @@
|
||||
+#include <stdlib.h>
|
||||
+
|
||||
+static void *p;
|
||||
+
|
||||
+int main ()
|
||||
+{
|
||||
+ p = malloc (1024);
|
||||
+ p = NULL;
|
||||
+}
|
||||
+
|
||||
diff --git a/memcheck/tests/simple_leak_xml.stderr.exp b/memcheck/tests/simple_leak_xml.stderr.exp
|
||||
new file mode 100644
|
||||
index 000000000000..e69de29bb2d1
|
||||
diff --git a/memcheck/tests/simple_leak_xml.vgtest b/memcheck/tests/simple_leak_xml.vgtest
|
||||
new file mode 100644
|
||||
index 000000000000..9652b32764b8
|
||||
--- /dev/null
|
||||
+++ b/memcheck/tests/simple_leak_xml.vgtest
|
||||
@@ -0,0 +1,4 @@
|
||||
+prereq: which xmllint > /dev/null
|
||||
+prog: simple_leak
|
||||
+args: | xmllint --noout -
|
||||
+vgopts: --xml=yes --xml-fd=1
|
||||
diff --git a/memcheck/tests/simple_reachable.c b/memcheck/tests/simple_reachable.c
|
||||
new file mode 100644
|
||||
index 000000000000..4fe1adaf4556
|
||||
--- /dev/null
|
||||
+++ b/memcheck/tests/simple_reachable.c
|
||||
@@ -0,0 +1,9 @@
|
||||
+#include <stdlib.h>
|
||||
+
|
||||
+static void *p;
|
||||
+
|
||||
+int main ()
|
||||
+{
|
||||
+ p = malloc (1024);
|
||||
+}
|
||||
+
|
||||
diff --git a/memcheck/tests/simple_reachable_xml.stderr.exp b/memcheck/tests/simple_reachable_xml.stderr.exp
|
||||
new file mode 100644
|
||||
index 000000000000..e69de29bb2d1
|
||||
diff --git a/memcheck/tests/simple_reachable_xml.vgtest b/memcheck/tests/simple_reachable_xml.vgtest
|
||||
new file mode 100644
|
||||
index 000000000000..a64cb2ac5d69
|
||||
--- /dev/null
|
||||
+++ b/memcheck/tests/simple_reachable_xml.vgtest
|
||||
@@ -0,0 +1,4 @@
|
||||
+prereq: which xmllint > /dev/null
|
||||
+prog: simple_reachable
|
||||
+args: | xmllint --noout -
|
||||
+vgopts: --xml=yes --xml-fd=1
|
||||
diff --git a/memcheck/tests/xmas_tree.cpp b/memcheck/tests/xmas_tree.cpp
|
||||
new file mode 100644
|
||||
index 000000000000..680833b46dac
|
||||
--- /dev/null
|
||||
+++ b/memcheck/tests/xmas_tree.cpp
|
||||
@@ -0,0 +1,90 @@
|
||||
+#include <new>
|
||||
+#include <cstdlib>
|
||||
+#include <cstring>
|
||||
+#include <unistd.h>
|
||||
+#include "../memcheck.h"
|
||||
+
|
||||
+struct Ae
|
||||
+{
|
||||
+ virtual ~Ae()
|
||||
+ {
|
||||
+ }
|
||||
+};
|
||||
+struct Be
|
||||
+{
|
||||
+ virtual ~Be()
|
||||
+ {
|
||||
+ }
|
||||
+};
|
||||
+struct Ce : public Ae, public Be
|
||||
+{
|
||||
+ virtual ~Ce()
|
||||
+ {
|
||||
+ }
|
||||
+};
|
||||
+
|
||||
+void* reachable;
|
||||
+Be *interior;
|
||||
+
|
||||
+int suppress_me()
|
||||
+{
|
||||
+ int qqq;
|
||||
+ if (qqq)
|
||||
+ return 2;
|
||||
+ return 1;
|
||||
+}
|
||||
+
|
||||
+int main()
|
||||
+{
|
||||
+ std::align_val_t misalign(static_cast<std::align_val_t>(63U));
|
||||
+ std::align_val_t align(static_cast<std::align_val_t>(64U));
|
||||
+ std::align_val_t align2(static_cast<std::align_val_t>(32U));
|
||||
+ std::size_t size(32);
|
||||
+ std::size_t badsize(42);
|
||||
+ std::nothrow_t tag;
|
||||
+ int count{0};
|
||||
+
|
||||
+ char *mem = static_cast<char*>(operator new[](size, tag));
|
||||
+ if (mem[31])
|
||||
+ ++count;
|
||||
+ if (mem[32])
|
||||
+ ++count;
|
||||
+ operator delete(mem, misalign, tag);
|
||||
+
|
||||
+ mem = static_cast<char*>(operator new(size, align, tag));
|
||||
+ operator delete(mem, align2, tag);
|
||||
+
|
||||
+ mem = static_cast<char*>(malloc(20));
|
||||
+ mem = static_cast<char*>(realloc(mem, 0));
|
||||
+ delete mem;
|
||||
+
|
||||
+ mem = static_cast<char*>(operator new[](size));
|
||||
+ memcpy(mem+10, mem+5, 10);
|
||||
+ operator delete[](mem, badsize);
|
||||
+
|
||||
+ mem = static_cast<char*>(malloc(-1));
|
||||
+
|
||||
+ int fd{42};
|
||||
+ int bad;
|
||||
+ fd += bad;
|
||||
+ fd -= bad;
|
||||
+ char* buf{nullptr};
|
||||
+ ++buf;
|
||||
+ write(fd, buf, fd);
|
||||
+
|
||||
+ int zzz;
|
||||
+ VALGRIND_CHECK_MEM_IS_DEFINED(&zzz, 4);
|
||||
+
|
||||
+ reachable = malloc(10);
|
||||
+ mem = static_cast<char*>(malloc(20));
|
||||
+
|
||||
+ char* indirect = static_cast<char*>(malloc(30));
|
||||
+ memcpy(&mem[8], &indirect, sizeof(indirect));
|
||||
+ mem = nullptr;
|
||||
+
|
||||
+ count += suppress_me();
|
||||
+
|
||||
+ interior = new Ce; // interior ptr.
|
||||
+
|
||||
+ return count;
|
||||
+}
|
||||
diff --git a/memcheck/tests/xmas_tree_xml.stderr.exp b/memcheck/tests/xmas_tree_xml.stderr.exp
|
||||
new file mode 100644
|
||||
index 000000000000..e69de29bb2d1
|
||||
diff --git a/memcheck/tests/xmas_tree_xml.supp b/memcheck/tests/xmas_tree_xml.supp
|
||||
new file mode 100644
|
||||
index 000000000000..2643371609d3
|
||||
--- /dev/null
|
||||
+++ b/memcheck/tests/xmas_tree_xml.supp
|
||||
@@ -0,0 +1,7 @@
|
||||
+{
|
||||
+ Hello, suppression World!
|
||||
+ Memcheck:Cond
|
||||
+ fun:_Z11suppress_mev
|
||||
+ fun:main
|
||||
+}
|
||||
+
|
||||
diff --git a/memcheck/tests/xmas_tree_xml.vgtest b/memcheck/tests/xmas_tree_xml.vgtest
|
||||
new file mode 100644
|
||||
index 000000000000..5061ad12a466
|
||||
--- /dev/null
|
||||
+++ b/memcheck/tests/xmas_tree_xml.vgtest
|
||||
@@ -0,0 +1,4 @@
|
||||
+prereq: which xmllint > /dev/null
|
||||
+prog: xmas_tree
|
||||
+args: | xmllint --noout -
|
||||
+vgopts: --xml=yes --xml-fd=1 --leak-check=full --suppressions=xmas_tree_xml.supp --leak-check-heuristics=multipleinheritance
|
||||
--
|
||||
2.52.0
|
||||
|
||||
@ -0,0 +1,125 @@
|
||||
From fc9cf49c2f2e0e2282b000557df80ce2f755f191 Mon Sep 17 00:00:00 2001
|
||||
From: Paul Floyd <pjfloyd@wanadoo.fr>
|
||||
Date: Wed, 12 Nov 2025 21:46:23 +0100
|
||||
Subject: [PATCH 2/6] Bug 511972 - valgrind-3.26.0 tests fail to build on
|
||||
upcomig gcc-16: unrecognized command-line option
|
||||
'-Wno-alloc-size-larger-than=18446744073709551615'
|
||||
|
||||
Initial patch from Sergei Trofimovich, thanks.
|
||||
|
||||
(cherry picked from commit 51c5973d9d1f096b9472df75638f2a53324fafed)
|
||||
---
|
||||
NEWS | 4 ++++
|
||||
configure.ac | 4 ++--
|
||||
memcheck/tests/Makefile.am | 8 ++++----
|
||||
memcheck/tests/amd64-freebsd/Makefile.am | 2 +-
|
||||
memcheck/tests/amd64-linux/Makefile.am | 2 +-
|
||||
memcheck/tests/x86-freebsd/Makefile.am | 2 +-
|
||||
6 files changed, 13 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/NEWS b/NEWS
|
||||
index d176b0aa2ebe..4e6cb3de9125 100644
|
||||
--- a/NEWS
|
||||
+++ b/NEWS
|
||||
@@ -5,6 +5,10 @@ Branch 3.26
|
||||
|
||||
The following bugs have been fixed or resolved on this branch.
|
||||
|
||||
+511972 valgrind-3.26.0 tests fail to build on upcomig gcc-16:
|
||||
+ unrecognized command-line option
|
||||
+ '-Wno-alloc-size-larger-than=18446744073709551615'
|
||||
+
|
||||
To see details of a given bug, visit
|
||||
https://bugs.kde.org/show_bug.cgi?id=XXXXXX
|
||||
where XXXXXX is the bug number as listed above.
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 371dcf235c7d..9d62a7d27a2c 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -2538,7 +2538,7 @@ fi
|
||||
AC_DEFUN([AC_GCC_WARNING_SUBST_NO],[
|
||||
AC_MSG_CHECKING([if gcc accepts -W$1])
|
||||
safe_CFLAGS=$CFLAGS
|
||||
- CFLAGS="-W$1 -Werror"
|
||||
+ CFLAGS="-W$1 -Wno-$1 -Werror"
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[;]])], [
|
||||
AC_SUBST([$2], [-Wno-$1])
|
||||
AC_MSG_RESULT([yes])], [
|
||||
@@ -2591,7 +2591,6 @@ AC_GCC_WARNING_SUBST_NO([unused-result], [FLAG_W_NO_UNUSED_RESULT])
|
||||
AC_GCC_WARNING_SUBST_NO([infinite-recursion], [FLAG_W_NO_INFINITE_RECURSION])
|
||||
AC_GCC_WARNING_SUBST_NO([deprecated], [FLAG_W_NO_DEPRECATED])
|
||||
# OK for 32 and 64 bit
|
||||
-AC_GCC_WARNING_SUBST_NO([alloc-size-larger-than=18446744073709551615], [FLAG_W_NO_ALLOC_SIZE_LARGER_THAN])
|
||||
AC_GCC_WARNING_SUBST_NO([alloc-size], [FLAG_W_NO_ALLOC_SIZE])
|
||||
|
||||
AC_GCC_WARNING_SUBST([write-strings], [FLAG_W_WRITE_STRINGS])
|
||||
@@ -2605,6 +2604,7 @@ AC_GCC_WARNING_SUBST([missing-parameter-type], [FLAG_W_MISSING_PARAMETER_TYPE])
|
||||
AC_GCC_WARNING_SUBST([logical-op], [FLAG_W_LOGICAL_OP])
|
||||
AC_GCC_WARNING_SUBST([enum-conversion], [FLAG_W_ENUM_CONVERSION])
|
||||
AC_GCC_WARNING_SUBST([implicit-fallthrough=2], [FLAG_W_IMPLICIT_FALLTHROUGH])
|
||||
+AC_GCC_WARNING_SUBST([alloc-size-larger-than=18446744073709551616], [FLAG_W_ALLOC_SIZE_LARGER_THAN])
|
||||
|
||||
# as above, C++ flags
|
||||
AC_DEFUN([AC_GXX_WARNING_SUBST_NO],[
|
||||
diff --git a/memcheck/tests/Makefile.am b/memcheck/tests/Makefile.am
|
||||
index 920f262a68cf..4bdca487aa51 100644
|
||||
--- a/memcheck/tests/Makefile.am
|
||||
+++ b/memcheck/tests/Makefile.am
|
||||
@@ -689,18 +689,18 @@ leak_cpp_interior_SOURCES = leak_cpp_interior.cpp
|
||||
|
||||
# Suppress various gcc warnings which are correct, but for things
|
||||
# we are actually testing for at runtime.
|
||||
-accounting_CFLAGS = $(AM_CFLAGS) @FLAG_W_NO_ALLOC_SIZE_LARGER_THAN@
|
||||
+accounting_CFLAGS = $(AM_CFLAGS) @FLAG_W_ALLOC_SIZE_LARGER_THAN@
|
||||
badfree_CFLAGS = $(AM_CFLAGS) @FLAG_W_NO_FREE_NONHEAP_OBJECT@
|
||||
-bug155125_CFLAGS = $(AM_CFLAGS) @FLAG_W_NO_UNUSED_RESULT@ @FLAG_W_NO_ALLOC_SIZE_LARGER_THAN@
|
||||
+bug155125_CFLAGS = $(AM_CFLAGS) @FLAG_W_NO_UNUSED_RESULT@ @FLAG_W_ALLOC_SIZE_LARGER_THAN@
|
||||
bug472219_CFLAGS = $(AM_CFLAGS) @FLAG_W_NO_UNINITIALIZED@
|
||||
-calloc_overflow_CFLAGS = ${AM_CFLAGS} @FLAG_W_NO_ALLOC_SIZE_LARGER_THAN@
|
||||
+calloc_overflow_CFLAGS = ${AM_CFLAGS} @FLAG_W_ALLOC_SIZE_LARGER_THAN@
|
||||
malloc_usable_CFLAGS = ${AM_CFLAGS} @FLAG_W_NO_MAYBE_UNINITIALIZED@ @FLAG_W_NO_UNINITIALIZED@
|
||||
mallinfo_CFLAGS = $(AM_CFLAGS) -Wno-deprecated-declarations
|
||||
if VGCONF_OS_IS_SOLARIS
|
||||
mallinfo_LDADD = -lmalloc
|
||||
endif
|
||||
mallinfo2_CFLAGS = $(AM_CFLAGS) -Wno-deprecated-declarations
|
||||
-malloc3_CFLAGS = $(AM_CFLAGS) @FLAG_W_NO_ALLOC_SIZE_LARGER_THAN@ @FLAG_W_NO_ALLOC_SIZE@
|
||||
+malloc3_CFLAGS = $(AM_CFLAGS) @FLAG_W_ALLOC_SIZE_LARGER_THAN@ @FLAG_W_NO_ALLOC_SIZE@
|
||||
sbfragment_CFLAGS = $(AM_CFLAGS) -Wno-deprecated-declarations
|
||||
if VGCONF_OS_IS_SOLARIS
|
||||
sbfragment_LDADD = -lmalloc
|
||||
diff --git a/memcheck/tests/amd64-freebsd/Makefile.am b/memcheck/tests/amd64-freebsd/Makefile.am
|
||||
index 378446d4cf45..1eff95fce3b7 100644
|
||||
--- a/memcheck/tests/amd64-freebsd/Makefile.am
|
||||
+++ b/memcheck/tests/amd64-freebsd/Makefile.am
|
||||
@@ -24,5 +24,5 @@ AM_CCASFLAGS += @FLAG_M64@
|
||||
|
||||
posix_fallocate_CFLAGS = $(AM_CFLAGS) @FLAG_W_NO_UNINITIALIZED@
|
||||
posix_fadvise_CFLAGS = $(AM_CFLAGS) @FLAG_W_NO_UNINITIALIZED@
|
||||
-reallocarray_CFLAGS = ${AM_CFLAGS} @FLAG_W_NO_ALLOC_SIZE_LARGER_THAN@
|
||||
+reallocarray_CFLAGS = ${AM_CFLAGS} @FLAG_W_ALLOC_SIZE_LARGER_THAN@
|
||||
|
||||
diff --git a/memcheck/tests/amd64-linux/Makefile.am b/memcheck/tests/amd64-linux/Makefile.am
|
||||
index a3b5df5a6742..69a84ffdfc8f 100644
|
||||
--- a/memcheck/tests/amd64-linux/Makefile.am
|
||||
+++ b/memcheck/tests/amd64-linux/Makefile.am
|
||||
@@ -32,5 +32,5 @@ AM_CCASFLAGS += @FLAG_M64@
|
||||
|
||||
defcfaexpr_SOURCES = defcfaexpr.S
|
||||
defcfaexpr_CFLAGS = $(AM_CFLAGS) @FLAG_NO_PIE@
|
||||
-reallocarray_CFLAGS = $(AM_CFLAGS) @FLAG_W_NO_ALLOC_SIZE_LARGER_THAN@
|
||||
+reallocarray_CFLAGS = $(AM_CFLAGS) @FLAG_W_ALLOC_SIZE_LARGER_THAN@
|
||||
scalar_CFLAGS = $(AM_CFLAGS) @FLAG_W_NO_UNINITIALIZED@
|
||||
diff --git a/memcheck/tests/x86-freebsd/Makefile.am b/memcheck/tests/x86-freebsd/Makefile.am
|
||||
index 8c48506c2be7..7839bb309588 100644
|
||||
--- a/memcheck/tests/x86-freebsd/Makefile.am
|
||||
+++ b/memcheck/tests/x86-freebsd/Makefile.am
|
||||
@@ -23,4 +23,4 @@ AM_CCASFLAGS += @FLAG_M32@
|
||||
|
||||
posix_fallocate_CFLAGS = $(AM_CFLAGS) @FLAG_W_NO_UNINITIALIZED@
|
||||
posix_fadvise_CFLAGS = $(AM_CFLAGS) @FLAG_W_NO_UNINITIALIZED@
|
||||
-reallocarray_CFLAGS = ${AM_CFLAGS} @FLAG_W_NO_ALLOC_SIZE_LARGER_THAN@
|
||||
+reallocarray_CFLAGS = ${AM_CFLAGS} @FLAG_W_ALLOC_SIZE_LARGER_THAN@
|
||||
--
|
||||
2.52.0
|
||||
|
||||
@ -0,0 +1,520 @@
|
||||
From 7de247c998049db64c4df8cb8bc8e481493f3b8e Mon Sep 17 00:00:00 2001
|
||||
From: Paul Floyd <pjfloyd@wanadoo.fr>
|
||||
Date: Sat, 3 Jan 2026 18:24:34 +0100
|
||||
Subject: [PATCH 3/6] readlink("/proc/self/exe") overwrites buffer beyond its
|
||||
return value
|
||||
|
||||
https://bugs.kde.org/show_bug.cgi?id=514094
|
||||
|
||||
Squashed cherry-picks:
|
||||
|
||||
Solaris: set VG_(resolved_exename) in load_client()
|
||||
|
||||
Haven't needed it yet, but I would like to try using it in the
|
||||
readlink syscall wrapper.
|
||||
|
||||
(cherry picked from commit bf154d815a9fd7f4aaae97e31aa03cecf69448d4)
|
||||
|
||||
Bug 514094 - readlink("/proc/self/exe") overwrites buffer beyond its return value
|
||||
|
||||
Used the reproducer as the basis for a test on Solaris and Linux.
|
||||
|
||||
(cherry picked from commit 5c0f5e604bc3a4e8822ea59c488c123af6284afd)
|
||||
|
||||
readlink[at] syswrap: limit copy to bufsiz when path is proc self exe
|
||||
|
||||
(cherry picked from commit bd9edb8fcd0a8692d865e08fab2a573a4cde4c16)
|
||||
|
||||
Regtest: add missing readlinkat_self files
|
||||
|
||||
(cherry picked from commit 987034c44105cdc2f6f8d84751135d23bd5c37b6)
|
||||
|
||||
regtest: fix warning
|
||||
|
||||
Added a nice const named variable then didn't use it
|
||||
|
||||
(cherry picked from commit dae37ecd2692e0e5beba77c296c2648ebbf47637)
|
||||
|
||||
Fix bug514094,vgtest typo in none/tests/Makefile.am
|
||||
|
||||
(cherry picked from commit 294742a2d9f431fd2dcd73db161f67fb12ddd833)
|
||||
|
||||
syswrap readlink and linux readlinkat: check that buf is accessible for proc self exe case
|
||||
|
||||
Also update the t testcases to cover this.
|
||||
|
||||
(cherry picked from commit 8d8023d107699c7c2d97acf2dcb77bae71c0b1cf)
|
||||
|
||||
solaris readlinkat: check that buf is accessible for proc self path a.out
|
||||
|
||||
(cherry picked from commit 827a1b8c307a2eafa001788565e14af3445f2151)
|
||||
---
|
||||
.gitignore | 3 ++
|
||||
NEWS | 1 +
|
||||
coregrind/m_initimg/initimg-solaris.c | 9 ++++
|
||||
coregrind/m_syswrap/syswrap-generic.c | 29 +++++++----
|
||||
coregrind/m_syswrap/syswrap-linux.c | 28 +++++++----
|
||||
coregrind/m_syswrap/syswrap-solaris.c | 13 +++--
|
||||
none/tests/Makefile.am | 3 ++
|
||||
none/tests/bug514094.c | 48 +++++++++++++++++++
|
||||
none/tests/bug514094.stderr.exp | 2 +
|
||||
none/tests/bug514094.vgtest | 2 +
|
||||
none/tests/linux/Makefile.am | 3 ++
|
||||
none/tests/linux/readlinkat_self.c | 34 +++++++++++++
|
||||
none/tests/linux/readlinkat_self.stderr.exp | 2 +
|
||||
none/tests/linux/readlinkat_self.vgtest | 1 +
|
||||
none/tests/solaris/Makefile.am | 3 ++
|
||||
none/tests/solaris/readlinkat_self.c | 34 +++++++++++++
|
||||
none/tests/solaris/readlinkat_self.stderr.exp | 2 +
|
||||
none/tests/solaris/readlinkat_self.vgtest | 1 +
|
||||
18 files changed, 194 insertions(+), 24 deletions(-)
|
||||
create mode 100644 none/tests/bug514094.c
|
||||
create mode 100644 none/tests/bug514094.stderr.exp
|
||||
create mode 100644 none/tests/bug514094.vgtest
|
||||
create mode 100644 none/tests/linux/readlinkat_self.c
|
||||
create mode 100644 none/tests/linux/readlinkat_self.stderr.exp
|
||||
create mode 100644 none/tests/linux/readlinkat_self.vgtest
|
||||
create mode 100644 none/tests/solaris/readlinkat_self.c
|
||||
create mode 100644 none/tests/solaris/readlinkat_self.stderr.exp
|
||||
create mode 100644 none/tests/solaris/readlinkat_self.vgtest
|
||||
|
||||
diff --git a/NEWS b/NEWS
|
||||
index 4e6cb3de9125..cca48f513138 100644
|
||||
--- a/NEWS
|
||||
+++ b/NEWS
|
||||
@@ -8,6 +8,7 @@ The following bugs have been fixed or resolved on this branch.
|
||||
511972 valgrind-3.26.0 tests fail to build on upcomig gcc-16:
|
||||
unrecognized command-line option
|
||||
'-Wno-alloc-size-larger-than=18446744073709551615'
|
||||
+514094 readlink("/proc/self/exe") overwrites buffer beyond its return value
|
||||
|
||||
To see details of a given bug, visit
|
||||
https://bugs.kde.org/show_bug.cgi?id=XXXXXX
|
||||
diff --git a/coregrind/m_initimg/initimg-solaris.c b/coregrind/m_initimg/initimg-solaris.c
|
||||
index 79072f3a85df..bd2d822e5d20 100644
|
||||
--- a/coregrind/m_initimg/initimg-solaris.c
|
||||
+++ b/coregrind/m_initimg/initimg-solaris.c
|
||||
@@ -94,6 +94,15 @@ static void load_client(/*OUT*/ExeInfo *info,
|
||||
/*NOTREACHED*/
|
||||
}
|
||||
VG_(strcpy)(out_exe_name, exe_name);
|
||||
+ if (VG_(resolved_exename) == NULL) {
|
||||
+ HChar interp_name[VKI_PATH_MAX];
|
||||
+ if (VG_(try_get_interp)(exe_name, interp_name, VKI_PATH_MAX)) {
|
||||
+ exe_name = interp_name;
|
||||
+ }
|
||||
+ HChar resolved_name[VKI_PATH_MAX];
|
||||
+ VG_(realpath)(exe_name, resolved_name);
|
||||
+ VG_(resolved_exename) = VG_(strdup)("initimg-solaris.lc.1", resolved_name);
|
||||
+ }
|
||||
|
||||
/* Set initial brk values. */
|
||||
if (info->ldsoexec) {
|
||||
diff --git a/coregrind/m_syswrap/syswrap-generic.c b/coregrind/m_syswrap/syswrap-generic.c
|
||||
index 37f312fe8f4b..f39dbcdba055 100644
|
||||
--- a/coregrind/m_syswrap/syswrap-generic.c
|
||||
+++ b/coregrind/m_syswrap/syswrap-generic.c
|
||||
@@ -5060,20 +5060,16 @@ POST(sys_poll)
|
||||
|
||||
PRE(sys_readlink)
|
||||
{
|
||||
- FUSE_COMPATIBLE_MAY_BLOCK();
|
||||
PRINT("sys_readlink ( %#" FMT_REGWORD "x(%s), %#" FMT_REGWORD "x, %llu )",
|
||||
ARG1, (char*)(Addr)ARG1, ARG2, (ULong)ARG3);
|
||||
PRE_REG_READ3(long, "readlink",
|
||||
const char *, path, char *, buf, int, bufsiz);
|
||||
PRE_MEM_RASCIIZ( "readlink(path)", ARG1 );
|
||||
PRE_MEM_WRITE( "readlink(buf)", ARG2,ARG3 );
|
||||
-}
|
||||
|
||||
-POST(sys_readlink)
|
||||
-{
|
||||
+ Bool fuse_may_block = True;
|
||||
#if defined(VGO_linux) || defined(VGO_solaris)
|
||||
{
|
||||
- Word saved = SYSNO;
|
||||
#if defined(VGO_linux)
|
||||
#define PID_EXEPATH "/proc/%d/exe"
|
||||
#define SELF_EXEPATH "/proc/self/exe"
|
||||
@@ -5092,14 +5088,27 @@ POST(sys_readlink)
|
||||
VG_(sprintf)(name, PID_EXEPATH, VG_(getpid)());
|
||||
if (ML_(safe_to_deref)(arg1s, 1)
|
||||
&& (VG_STREQ(arg1s, name) || VG_STREQ(arg1s, SELF_EXEPATH))) {
|
||||
- VG_(sprintf)(name, SELF_EXEFD, VG_(cl_exec_fd));
|
||||
- SET_STATUS_from_SysRes( VG_(do_syscall3)(saved, (UWord)name,
|
||||
- ARG2, ARG3));
|
||||
+ HChar* out_name = (HChar*)ARG2;
|
||||
+ SizeT res = VG_(strlen)(VG_(resolved_exename));
|
||||
+ res = VG_MIN(res, ARG3);
|
||||
+ if (ML_(safe_to_deref)(out_name, res)) {
|
||||
+ VG_(strncpy)(out_name, VG_(resolved_exename), res);
|
||||
+ SET_STATUS_Success(res);
|
||||
+ } else {
|
||||
+ SET_STATUS_Failure(VKI_EFAULT);
|
||||
+ }
|
||||
+ fuse_may_block = False;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
- if (SUCCESS && RES > 0)
|
||||
- POST_MEM_WRITE( ARG2, RES );
|
||||
+
|
||||
+ if (fuse_may_block)
|
||||
+ FUSE_COMPATIBLE_MAY_BLOCK();
|
||||
+}
|
||||
+
|
||||
+POST(sys_readlink)
|
||||
+{
|
||||
+ POST_MEM_WRITE( ARG2, RES );
|
||||
}
|
||||
|
||||
PRE(sys_readv)
|
||||
diff --git a/coregrind/m_syswrap/syswrap-linux.c b/coregrind/m_syswrap/syswrap-linux.c
|
||||
index e8b200385b8f..f1970cd8be9f 100644
|
||||
--- a/coregrind/m_syswrap/syswrap-linux.c
|
||||
+++ b/coregrind/m_syswrap/syswrap-linux.c
|
||||
@@ -6468,14 +6468,10 @@ PRE(sys_readlinkat)
|
||||
ML_(fd_at_check_allowed)(SARG1, (const HChar*)ARG2, "readlinkat", tid, status);
|
||||
PRE_MEM_RASCIIZ( "readlinkat(path)", ARG2 );
|
||||
PRE_MEM_WRITE( "readlinkat(buf)", ARG3,ARG4 );
|
||||
-}
|
||||
|
||||
-POST(sys_readlinkat)
|
||||
-{
|
||||
+ Bool fuse_may_block = True;
|
||||
HChar name[30]; // large enough
|
||||
- Word saved = SYSNO;
|
||||
|
||||
- // @todo PJF why is this done in POST and not in PRE?
|
||||
/*
|
||||
* Handle the case where readlinkat is looking at /proc/self/exe or
|
||||
* /proc/<pid>/exe.
|
||||
@@ -6484,13 +6480,25 @@ POST(sys_readlinkat)
|
||||
if (ML_(safe_to_deref)((void*)(Addr)ARG2, 1)
|
||||
&& (VG_(strcmp)((HChar *)(Addr)ARG2, name) == 0
|
||||
|| VG_(strcmp)((HChar *)(Addr)ARG2, "/proc/self/exe") == 0)) {
|
||||
- VG_(sprintf)(name, "/proc/self/fd/%d", VG_(cl_exec_fd));
|
||||
- SET_STATUS_from_SysRes( VG_(do_syscall4)(saved, ARG1, (UWord)name,
|
||||
- ARG3, ARG4));
|
||||
+ HChar* out_name = (HChar*)ARG3;
|
||||
+ SizeT res = VG_(strlen)(VG_(resolved_exename));
|
||||
+ res = VG_MIN(res, ARG4);
|
||||
+ if (ML_(safe_to_deref)(out_name, res)) {
|
||||
+ VG_(strncpy)(out_name, VG_(resolved_exename), res);
|
||||
+ SET_STATUS_Success(res);
|
||||
+ } else {
|
||||
+ SET_STATUS_Failure(VKI_EFAULT);
|
||||
+ }
|
||||
+ fuse_may_block = False;
|
||||
}
|
||||
|
||||
- if (SUCCESS && RES > 0)
|
||||
- POST_MEM_WRITE( ARG3, RES );
|
||||
+ if (fuse_may_block)
|
||||
+ FUSE_COMPATIBLE_MAY_BLOCK();
|
||||
+}
|
||||
+
|
||||
+POST(sys_readlinkat)
|
||||
+{
|
||||
+ POST_MEM_WRITE( ARG3, RES );
|
||||
}
|
||||
|
||||
PRE(sys_fchmodat)
|
||||
diff --git a/coregrind/m_syswrap/syswrap-solaris.c b/coregrind/m_syswrap/syswrap-solaris.c
|
||||
index 2665633f435f..57af54fdc3be 100644
|
||||
--- a/coregrind/m_syswrap/syswrap-solaris.c
|
||||
+++ b/coregrind/m_syswrap/syswrap-solaris.c
|
||||
@@ -2295,7 +2295,6 @@ PRE(sys_readlinkat)
|
||||
/* ssize_t readlinkat(int dfd, const char *path, char *buf,
|
||||
size_t bufsiz); */
|
||||
HChar name[30]; // large enough
|
||||
- Word saved = SYSNO;
|
||||
|
||||
/* Interpret the first argument as 32-bit value even on 64-bit architecture.
|
||||
This is different from Linux, for example, where glibc sign-extends it. */
|
||||
@@ -2317,9 +2316,15 @@ PRE(sys_readlinkat)
|
||||
if (ML_(safe_to_deref)((void*)ARG2, 1) &&
|
||||
(!VG_(strcmp)((HChar*)ARG2, name) ||
|
||||
!VG_(strcmp)((HChar*)ARG2, "/proc/self/path/a.out"))) {
|
||||
- VG_(sprintf)(name, "/proc/self/path/%d", VG_(cl_exec_fd));
|
||||
- SET_STATUS_from_SysRes(VG_(do_syscall4)(saved, dfd, (UWord)name, ARG3,
|
||||
- ARG4));
|
||||
+ HChar* out_name = (HChar*)ARG3;
|
||||
+ SizeT res = VG_(strlen)(VG_(resolved_exename));
|
||||
+ res = VG_MIN(res, ARG4);
|
||||
+ if (ML_(safe_to_deref)(out_name, res)) {
|
||||
+ VG_(strncpy)(out_name, VG_(resolved_exename), res);
|
||||
+ SET_STATUS_Success(res);
|
||||
+ } else {
|
||||
+ SET_STATUS_Failure(VKI_EFAULT);
|
||||
+ }
|
||||
}
|
||||
}
|
||||
|
||||
diff --git a/none/tests/Makefile.am b/none/tests/Makefile.am
|
||||
index a95d66436df8..a5e03de77cbb 100644
|
||||
--- a/none/tests/Makefile.am
|
||||
+++ b/none/tests/Makefile.am
|
||||
@@ -111,6 +111,7 @@ EXTRA_DIST = \
|
||||
bug290061.vgtest bug290061.stderr.exp \
|
||||
bug491394.vgtest bug491394.stderr.exp \
|
||||
bug492678.vgtest bug492678.stderr.exp \
|
||||
+ bug514094.vgtest bug514094.stderr.exp \
|
||||
closeall.stderr.exp closeall.vgtest \
|
||||
cmdline0.stderr.exp cmdline0.stdout.exp cmdline0.vgtest \
|
||||
cmdline1.stderr.exp cmdline1.stdout.exp cmdline1.vgtest \
|
||||
@@ -287,6 +288,7 @@ check_PROGRAMS = \
|
||||
bug129866 bug234814 \
|
||||
bug290061 \
|
||||
bug492678 \
|
||||
+ bug514094 \
|
||||
closeall coolo_strlen \
|
||||
discard exec-sigmask execve faultstatus fcntl_setown \
|
||||
fdleak_cmsg fdleak_creat fdleak_doubleclose0 fdleak_dup fdleak_dup2 \
|
||||
@@ -392,6 +394,7 @@ bug290061_LDFLAGS = @FLAG_PIE@
|
||||
bug491394_LDADD = -lc
|
||||
bug491394_LDFLAGS = -nostdlib -static
|
||||
bug491394_CFLAGS = ${AM_CFLAGS} -Os
|
||||
+bug514094_CFLAGS = ${AM_CFLAGS} @FLAG_W_NO_STRINGOP_OVERFLOW@
|
||||
execve_CFLAGS = $(AM_CFLAGS) @FLAG_W_NO_NONNULL@
|
||||
if VGCONF_OS_IS_SOLARIS
|
||||
fcntl_setown_LDADD = -lsocket -lnsl
|
||||
diff --git a/none/tests/bug514094.c b/none/tests/bug514094.c
|
||||
new file mode 100644
|
||||
index 000000000000..a62a6406b722
|
||||
--- /dev/null
|
||||
+++ b/none/tests/bug514094.c
|
||||
@@ -0,0 +1,48 @@
|
||||
+#include <stdio.h>
|
||||
+#include <unistd.h>
|
||||
+#include <string.h>
|
||||
+#include <stdio.h>
|
||||
+#include <stdlib.h>
|
||||
+#include <assert.h>
|
||||
+#include <limits.h>
|
||||
+#include <errno.h>
|
||||
+#include "../../config.h"
|
||||
+
|
||||
+int main(int argc, char** argv)
|
||||
+{
|
||||
+ char buf[PATH_MAX];
|
||||
+ memset(buf, 0, PATH_MAX);
|
||||
+#if defined(VGO_solaris)
|
||||
+ int ret = readlink("/proc/self/path/a.out", buf, PATH_MAX);
|
||||
+#else
|
||||
+ // Linux, and maybe one day NetBSD
|
||||
+ // other platforms excluded by .vgtest prereq
|
||||
+ int ret = readlink("/proc/self/exe", buf, PATH_MAX);
|
||||
+#endif
|
||||
+ if (argc > 1) {
|
||||
+ printf("ret = %d, buf = %.64s\n", ret, buf);
|
||||
+ }
|
||||
+ char resolved[PATH_MAX];
|
||||
+ realpath(argv[0], resolved);
|
||||
+ assert(strcmp(resolved, buf) == 0);
|
||||
+
|
||||
+ const size_t small_buf_size = 11;
|
||||
+ char small_buf[small_buf_size];
|
||||
+ memset(small_buf, '#', small_buf_size);
|
||||
+#if defined(VGO_solaris)
|
||||
+ ret = readlink("/proc/self/path/a.out", small_buf, 10);
|
||||
+#else
|
||||
+ ret = readlink("/proc/self/exe", small_buf, 10);
|
||||
+#endif
|
||||
+ assert(strncmp(resolved, small_buf, 10) == 0);
|
||||
+ assert(small_buf[10] == '#');
|
||||
+
|
||||
+#if defined(VGO_solaris)
|
||||
+ ret = readlink("/proc/self/path/a.out", (char*)1, 100);
|
||||
+#else
|
||||
+ ret = readlink("/proc/self/exe", (char*)1, 100);
|
||||
+#endif
|
||||
+ assert(ret == -1);
|
||||
+ assert(errno = EFAULT);
|
||||
+}
|
||||
+
|
||||
diff --git a/none/tests/bug514094.stderr.exp b/none/tests/bug514094.stderr.exp
|
||||
new file mode 100644
|
||||
index 000000000000..139597f9cb07
|
||||
--- /dev/null
|
||||
+++ b/none/tests/bug514094.stderr.exp
|
||||
@@ -0,0 +1,2 @@
|
||||
+
|
||||
+
|
||||
diff --git a/none/tests/bug514094.vgtest b/none/tests/bug514094.vgtest
|
||||
new file mode 100644
|
||||
index 000000000000..292428cb7696
|
||||
--- /dev/null
|
||||
+++ b/none/tests/bug514094.vgtest
|
||||
@@ -0,0 +1,2 @@
|
||||
+prereq: ../../tests/os_test solaris || ../../tests/os_test linux
|
||||
+prog: bug514094
|
||||
diff --git a/none/tests/linux/Makefile.am b/none/tests/linux/Makefile.am
|
||||
index 55426e2b2664..3692c6ff1f2a 100644
|
||||
--- a/none/tests/linux/Makefile.am
|
||||
+++ b/none/tests/linux/Makefile.am
|
||||
@@ -21,6 +21,7 @@ EXTRA_DIST = \
|
||||
mremap6.stderr.exp mremap6.vgtest \
|
||||
open_client.stderr.exp open_client.vgtest \
|
||||
pthread-stack.stderr.exp pthread-stack.vgtest \
|
||||
+ readlinkat_self.stderr.exp readlinkat_self.vgtest \
|
||||
stack-overflow.stderr.exp stack-overflow.vgtest
|
||||
|
||||
check_PROGRAMS = \
|
||||
@@ -37,6 +38,7 @@ check_PROGRAMS = \
|
||||
mremap5 \
|
||||
mremap6 \
|
||||
pthread-stack \
|
||||
+ readlinkat_self \
|
||||
stack-overflow
|
||||
|
||||
if HAVE_OPENAT2
|
||||
@@ -58,6 +60,7 @@ open_client_SOURCES = open_client.cpp
|
||||
endif
|
||||
clonev_LDADD = -lpthread
|
||||
pthread_stack_LDADD = -lpthread
|
||||
+readlinkat_self_CFLAGS = ${AM_CFLAGS} @FLAG_W_NO_STRINGOP_OVERFLOW@
|
||||
|
||||
stack_overflow_CFLAGS = $(AM_CFLAGS) @FLAG_W_NO_UNINITIALIZED@ \
|
||||
@FLAG_W_NO_INFINITE_RECURSION@
|
||||
diff --git a/none/tests/linux/readlinkat_self.c b/none/tests/linux/readlinkat_self.c
|
||||
new file mode 100644
|
||||
index 000000000000..586581a0d966
|
||||
--- /dev/null
|
||||
+++ b/none/tests/linux/readlinkat_self.c
|
||||
@@ -0,0 +1,34 @@
|
||||
+#include <stdio.h>
|
||||
+#include <unistd.h>
|
||||
+#include <string.h>
|
||||
+#include <stdio.h>
|
||||
+#include <stdlib.h>
|
||||
+#include <assert.h>
|
||||
+#include <limits.h>
|
||||
+#include <errno.h>
|
||||
+#include "../../config.h"
|
||||
+
|
||||
+int main(int argc, char** argv)
|
||||
+{
|
||||
+ char buf[PATH_MAX];
|
||||
+ memset(buf, 0, PATH_MAX);
|
||||
+ int ret = readlinkat(99, "/proc/self/exe", buf, PATH_MAX);
|
||||
+ if (argc > 1) {
|
||||
+ printf("ret = %d, buf = %.64s\n", ret, buf);
|
||||
+ }
|
||||
+ char resolved[PATH_MAX];
|
||||
+ realpath(argv[0], resolved);
|
||||
+ assert(strcmp(resolved, buf) == 0);
|
||||
+
|
||||
+ const size_t small_buf_size = 11;
|
||||
+ char small_buf[small_buf_size];
|
||||
+ memset(small_buf, '#', small_buf_size);
|
||||
+ ret = readlinkat(100, "/proc/self/exe", small_buf, 10);
|
||||
+ assert(strncmp(resolved, small_buf, 10) == 0);
|
||||
+ assert(small_buf[10] == '#');
|
||||
+
|
||||
+ ret = readlinkat(101, "/proc/self/exe", (char*)1, 100);
|
||||
+ assert(ret == -1);
|
||||
+ assert(errno = EFAULT);
|
||||
+}
|
||||
+
|
||||
diff --git a/none/tests/linux/readlinkat_self.stderr.exp b/none/tests/linux/readlinkat_self.stderr.exp
|
||||
new file mode 100644
|
||||
index 000000000000..139597f9cb07
|
||||
--- /dev/null
|
||||
+++ b/none/tests/linux/readlinkat_self.stderr.exp
|
||||
@@ -0,0 +1,2 @@
|
||||
+
|
||||
+
|
||||
diff --git a/none/tests/linux/readlinkat_self.vgtest b/none/tests/linux/readlinkat_self.vgtest
|
||||
new file mode 100644
|
||||
index 000000000000..3b91da54c53d
|
||||
--- /dev/null
|
||||
+++ b/none/tests/linux/readlinkat_self.vgtest
|
||||
@@ -0,0 +1 @@
|
||||
+prog: readlinkat_self
|
||||
diff --git a/none/tests/solaris/Makefile.am b/none/tests/solaris/Makefile.am
|
||||
index 861c9ff56222..c488c782de6d 100644
|
||||
--- a/none/tests/solaris/Makefile.am
|
||||
+++ b/none/tests/solaris/Makefile.am
|
||||
@@ -23,6 +23,7 @@ EXTRA_DIST = \
|
||||
proc_psinfo.stderr.exp proc_psinfo.stdout.exp proc_psinfo.vgtest \
|
||||
posix_spawn.stderr.exp posix_spawn.stdout.exp posix_spawn.vgtest \
|
||||
pthread-stack.stderr.exp pthread-stack.vgtest \
|
||||
+ readlinkat_self.stderr.exp readlinkat_self.vgtest \
|
||||
reserve_sysstat_addr.map reserve_sysstat_addr.stderr.exp reserve_sysstat_addr.vgtest \
|
||||
reserve_sysstat_zone_addr.map reserve_sysstat_zone_addr.stderr.exp reserve_sysstat_zone_addr.vgtest \
|
||||
resolv.stdout.exp resolv.stderr.exp resolv.vgtest \
|
||||
@@ -47,6 +48,7 @@ check_PROGRAMS = \
|
||||
proc_psinfo \
|
||||
posix_spawn \
|
||||
pthread-stack \
|
||||
+ readlinkat_self \
|
||||
resolv \
|
||||
sigresend \
|
||||
stack_overflow \
|
||||
@@ -57,6 +59,7 @@ AM_CFLAGS += $(AM_FLAG_M3264_PRI)
|
||||
AM_CXXFLAGS += $(AM_FLAG_M3264_PRI)
|
||||
|
||||
pthread_stack_LDADD = -lpthread
|
||||
+readlinkat_self_CFLAGS = ${AM_CFLAGS} @FLAG_W_NO_STRINGOP_OVERFLOW@
|
||||
resolv_LDADD = -lresolv
|
||||
stack_overflow_CFLAGS = ${AM_CFLAGS} @FLAG_W_NO_INFINITE_RECURSION@
|
||||
stack_prot_LDFLAGS = -Wl,-M,/usr/lib/ld/map.noexstk
|
||||
diff --git a/none/tests/solaris/readlinkat_self.c b/none/tests/solaris/readlinkat_self.c
|
||||
new file mode 100644
|
||||
index 000000000000..ca60834aeb5e
|
||||
--- /dev/null
|
||||
+++ b/none/tests/solaris/readlinkat_self.c
|
||||
@@ -0,0 +1,34 @@
|
||||
+#include <stdio.h>
|
||||
+#include <unistd.h>
|
||||
+#include <string.h>
|
||||
+#include <stdio.h>
|
||||
+#include <stdlib.h>
|
||||
+#include <assert.h>
|
||||
+#include <limits.h>
|
||||
+#include <errno.h>
|
||||
+#include "../../config.h"
|
||||
+
|
||||
+int main(int argc, char** argv)
|
||||
+{
|
||||
+ char buf[PATH_MAX];
|
||||
+ memset(buf, 0, PATH_MAX);
|
||||
+ int ret = readlinkat(99, "/proc/self/path/a.out", buf, PATH_MAX);
|
||||
+ if (argc > 1) {
|
||||
+ printf("ret = %d, buf = %.64s\n", ret, buf);
|
||||
+ }
|
||||
+ char resolved[PATH_MAX];
|
||||
+ realpath(argv[0], resolved);
|
||||
+ assert(strcmp(resolved, buf) == 0);
|
||||
+
|
||||
+ const size_t small_buf_size = 11;
|
||||
+ char small_buf[small_buf_size];
|
||||
+ memset(small_buf, '#', small_buf_size);
|
||||
+ ret = readlinkat(100, "/proc/self/path/a.out", small_buf, 10);
|
||||
+ assert(strncmp(resolved, small_buf, 10) == 0);
|
||||
+ assert(small_buf[10] == '#');
|
||||
+
|
||||
+ ret = readlinkat(101, "/proc/self/path/a.out", (char*)1, 100);
|
||||
+ assert(ret == -1);
|
||||
+ assert(errno = EFAULT);
|
||||
+}
|
||||
+
|
||||
diff --git a/none/tests/solaris/readlinkat_self.stderr.exp b/none/tests/solaris/readlinkat_self.stderr.exp
|
||||
new file mode 100644
|
||||
index 000000000000..139597f9cb07
|
||||
--- /dev/null
|
||||
+++ b/none/tests/solaris/readlinkat_self.stderr.exp
|
||||
@@ -0,0 +1,2 @@
|
||||
+
|
||||
+
|
||||
diff --git a/none/tests/solaris/readlinkat_self.vgtest b/none/tests/solaris/readlinkat_self.vgtest
|
||||
new file mode 100644
|
||||
index 000000000000..3b91da54c53d
|
||||
--- /dev/null
|
||||
+++ b/none/tests/solaris/readlinkat_self.vgtest
|
||||
@@ -0,0 +1 @@
|
||||
+prog: readlinkat_self
|
||||
--
|
||||
2.52.0
|
||||
|
||||
@ -0,0 +1,46 @@
|
||||
From 4a1d79be47ead6918053f649f66107b8d8df4310 Mon Sep 17 00:00:00 2001
|
||||
From: Paul Floyd <pjfloyd@wanadoo.fr>
|
||||
Date: Mon, 1 Dec 2025 08:12:30 +0100
|
||||
Subject: [PATCH 4/6] Linux DRD suppression: add an entry for
|
||||
__is_decorate_maps_enabled
|
||||
|
||||
Seen on Fedora 43
|
||||
|
||||
(cherry picked from commit cfc8b0706a9a0fbf05525a0ce142e2bf4cc53fed)
|
||||
---
|
||||
drd/tests/std_thread2.supp | 7 +++++++
|
||||
glibc-2.X-drd.supp.in | 6 ++++++
|
||||
2 files changed, 13 insertions(+)
|
||||
|
||||
diff --git a/drd/tests/std_thread2.supp b/drd/tests/std_thread2.supp
|
||||
index 40741b06f889..39a201da9af7 100644
|
||||
--- a/drd/tests/std_thread2.supp
|
||||
+++ b/drd/tests/std_thread2.supp
|
||||
@@ -98,3 +98,10 @@
|
||||
drd:ConflictingAccess
|
||||
fun:__set_vma_name
|
||||
}
|
||||
+
|
||||
+{
|
||||
+ drd-libc-__is_decorate_maps_enabled
|
||||
+ drd:ConflictingAccess
|
||||
+ fun:__is_decorate_maps_enabled
|
||||
+}
|
||||
+
|
||||
diff --git a/glibc-2.X-drd.supp.in b/glibc-2.X-drd.supp.in
|
||||
index 419ff2256c92..6866904470d6 100644
|
||||
--- a/glibc-2.X-drd.supp.in
|
||||
+++ b/glibc-2.X-drd.supp.in
|
||||
@@ -369,3 +369,9 @@
|
||||
fun:_dl_exception_create_format
|
||||
}
|
||||
|
||||
+{
|
||||
+ drd-libc-__is_decorate_maps_enabled
|
||||
+ drd:ConflictingAccess
|
||||
+ fun:__is_decorate_maps_enabled
|
||||
+}
|
||||
+
|
||||
--
|
||||
2.52.0
|
||||
|
||||
@ -0,0 +1,30 @@
|
||||
From c080f583dc41a779d339ffd2a08863bd05a80904 Mon Sep 17 00:00:00 2001
|
||||
From: Paul Floyd <pjfloyd@wanadoo.fr>
|
||||
Date: Mon, 1 Dec 2025 08:18:56 +0100
|
||||
Subject: [PATCH 5/6] Linux Helgrind: add a suppression for
|
||||
_dl_allocate_tls_init
|
||||
|
||||
Seen on Fedora 43 amd64
|
||||
|
||||
(cherry picked from commit b599858486bb7db6d2ff3e6ddc4e7f71791d393d)
|
||||
---
|
||||
glibc-2.X-helgrind.supp.in | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
diff --git a/glibc-2.X-helgrind.supp.in b/glibc-2.X-helgrind.supp.in
|
||||
index 9b1ef9ae485b..61d4e1d724d0 100644
|
||||
--- a/glibc-2.X-helgrind.supp.in
|
||||
+++ b/glibc-2.X-helgrind.supp.in
|
||||
@@ -356,3 +356,9 @@
|
||||
obj:/usr/lib/*/libnss_mdns4*.so.*
|
||||
}
|
||||
|
||||
+{
|
||||
+ helgrind---_dl_allocate_tls_init
|
||||
+ Helgrind:Race
|
||||
+ fun:mempcpy
|
||||
+ fun:_dl_allocate_tls_init
|
||||
+}
|
||||
--
|
||||
2.52.0
|
||||
|
||||
95
SOURCES/0006-Disable-linux-madvise-MADV_GUARD_INSTALL.patch
Normal file
95
SOURCES/0006-Disable-linux-madvise-MADV_GUARD_INSTALL.patch
Normal file
@ -0,0 +1,95 @@
|
||||
From dbdfc2b4522bb210786bddbc16e3ad855d5fa62a Mon Sep 17 00:00:00 2001
|
||||
From: Mark Wielaard <mark@klomp.org>
|
||||
Date: Wed, 7 Jan 2026 22:20:49 +0100
|
||||
Subject: [PATCH 6/6] Disable linux madvise MADV_GUARD_INSTALL
|
||||
|
||||
glibc 2.42+ (with linux 6.13+) uses MADV_GUARD_INSTALL to setup stack
|
||||
guard pages. valgrind currently isn't able to track this and such
|
||||
guard pages also don't show up in /proc maps (only in /proc pagemap
|
||||
since linux 6.14). For now valgrind fails a madvise MADV_GUARD_INSTALL
|
||||
syscall with EINVAL. This causes glibc to fall back to mprotect
|
||||
PROT_NONE which valgrind is able to track.
|
||||
|
||||
https://bugs.kde.org/show_bug.cgi?id=511717
|
||||
|
||||
(cherry picked from commit 19a34d1d9376f459cf0a19feb39ea4ab27690390)
|
||||
---
|
||||
NEWS | 14 ++++++++++++++
|
||||
coregrind/m_syswrap/syswrap-generic.c | 10 ++++++++++
|
||||
include/vki/vki-linux.h | 7 +++++++
|
||||
3 files changed, 31 insertions(+)
|
||||
|
||||
diff --git a/NEWS b/NEWS
|
||||
index cca48f513138..28409915e1a1 100644
|
||||
--- a/NEWS
|
||||
+++ b/NEWS
|
||||
@@ -1,6 +1,18 @@
|
||||
Branch 3.26
|
||||
~~~~~~~~~~~
|
||||
|
||||
+* ==================== CORE CHANGES ===================
|
||||
+
|
||||
+* linux madvise MADV_GUARD_INSTALL unsupported
|
||||
+
|
||||
+ glibc 2.42+ (with linux 6.13+) uses MADV_GUARD_INSTALL to setup
|
||||
+ stack guard pages. valgrind currently isn't able to track this and
|
||||
+ such guard pages also don't show up in /proc maps (only in /proc
|
||||
+ pagemap since linux 6.14). For now valgrind fails a madvise
|
||||
+ MADV_GUARD_INSTALL syscall with EINVAL. This causes glibc to fall
|
||||
+ back to mprotect PROT_NONE which valgrind is able to track.
|
||||
+ See also https://bugs.kde.org/show_bug.cgi?id=514297
|
||||
+
|
||||
* ==================== FIXED BUGS ====================
|
||||
|
||||
The following bugs have been fixed or resolved on this branch.
|
||||
@@ -8,6 +20,8 @@ The following bugs have been fixed or resolved on this branch.
|
||||
511972 valgrind-3.26.0 tests fail to build on upcomig gcc-16:
|
||||
unrecognized command-line option
|
||||
'-Wno-alloc-size-larger-than=18446744073709551615'
|
||||
+511717 gdbserver (valgrind_read_memory) the 'impossible' happened:
|
||||
+ Killed by fatal signal (SIGSEGV)
|
||||
514094 readlink("/proc/self/exe") overwrites buffer beyond its return value
|
||||
|
||||
To see details of a given bug, visit
|
||||
diff --git a/coregrind/m_syswrap/syswrap-generic.c b/coregrind/m_syswrap/syswrap-generic.c
|
||||
index f39dbcdba055..668acc4605a8 100644
|
||||
--- a/coregrind/m_syswrap/syswrap-generic.c
|
||||
+++ b/coregrind/m_syswrap/syswrap-generic.c
|
||||
@@ -3112,6 +3112,16 @@ PRE(sys_madvise)
|
||||
ARG1, ARG2, SARG3);
|
||||
PRE_REG_READ3(long, "madvise",
|
||||
unsigned long, start, vki_size_t, length, int, advice);
|
||||
+ /* Ugly hack to try to bypass the problem of guard pages not being
|
||||
+ understood by valgrind aspace manager.
|
||||
+ By making the syscall fail, we expect glibc to fallback
|
||||
+ on implementing guard pages with mprotect PROT_NONE to ensure
|
||||
+ the valgrind address space manager is not confused wrongly
|
||||
+ believing the guard page is rw. */
|
||||
+#ifdef VKI_MADV_GUARD_INSTALL
|
||||
+ if (ARG3 == VKI_MADV_GUARD_INSTALL)
|
||||
+ SET_STATUS_Failure( VKI_EINVAL );
|
||||
+#endif
|
||||
}
|
||||
|
||||
#if HAVE_MREMAP
|
||||
diff --git a/include/vki/vki-linux.h b/include/vki/vki-linux.h
|
||||
index 3f9272f4d18e..96c181a85775 100644
|
||||
--- a/include/vki/vki-linux.h
|
||||
+++ b/include/vki/vki-linux.h
|
||||
@@ -1364,6 +1364,13 @@ struct vki_seminfo {
|
||||
#define VKI_MREMAP_MAYMOVE 1
|
||||
#define VKI_MREMAP_FIXED 2
|
||||
|
||||
+//----------------------------------------------------------------------
|
||||
+// Common madvise flags mman-common.h
|
||||
+//----------------------------------------------------------------------
|
||||
+
|
||||
+#define VKI_MADV_GUARD_INSTALL 102
|
||||
+#define VKI_MADV_GUARD_REMOVE 103
|
||||
+
|
||||
//----------------------------------------------------------------------
|
||||
// From linux-2.6.31-rc4/include/linux/futex.h
|
||||
//----------------------------------------------------------------------
|
||||
--
|
||||
2.52.0
|
||||
|
||||
@ -0,0 +1,41 @@
|
||||
From 0a95412527ecba22cdb0f96a905a7a5ce45a14bc Mon Sep 17 00:00:00 2001
|
||||
From: Paul Floyd <pjfloyd@wanadoo.fr>
|
||||
Date: Thu, 15 Jan 2026 08:44:52 +0100
|
||||
Subject: [PATCH 7/8] Bug 514613 - Unclosed leak_summary/still_reachable tag in
|
||||
xml output
|
||||
|
||||
(cherry picked from commit 758b0f55e878fd7bd9dcd1ff3e74f10a7a00a771)
|
||||
---
|
||||
NEWS | 1 +
|
||||
memcheck/mc_leakcheck.c | 3 ++-
|
||||
2 files changed, 3 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/NEWS b/NEWS
|
||||
index 28409915e1a1..164218c14e76 100644
|
||||
--- a/NEWS
|
||||
+++ b/NEWS
|
||||
@@ -23,6 +23,7 @@ The following bugs have been fixed or resolved on this branch.
|
||||
511717 gdbserver (valgrind_read_memory) the 'impossible' happened:
|
||||
Killed by fatal signal (SIGSEGV)
|
||||
514094 readlink("/proc/self/exe") overwrites buffer beyond its return value
|
||||
+514613 Unclosed leak_summary/still_reachable tag in xml output
|
||||
|
||||
To see details of a given bug, visit
|
||||
https://bugs.kde.org/show_bug.cgi?id=XXXXXX
|
||||
diff --git a/memcheck/mc_leakcheck.c b/memcheck/mc_leakcheck.c
|
||||
index 586bff448bfb..4df0b180d5d1 100644
|
||||
--- a/memcheck/mc_leakcheck.c
|
||||
+++ b/memcheck/mc_leakcheck.c
|
||||
@@ -1768,7 +1768,8 @@ static void print_results(ThreadId tid, LeakCheckParams* lcp)
|
||||
umsg_or_xml(VG_(clo_xml) ?
|
||||
" <still_reachable>\n"
|
||||
" <bytes>%'lu%s</bytes>\n"
|
||||
- " <blocks>%'lu%s</blocks>\n" :
|
||||
+ " <blocks>%'lu%s</blocks>\n"
|
||||
+ " </still_reachable>\n" :
|
||||
" still reachable: %'lu%s bytes in %'lu%s blocks\n",
|
||||
MC_(bytes_reachable),
|
||||
DBY (MC_(bytes_reachable), old_bytes_reachable),
|
||||
--
|
||||
2.52.0
|
||||
|
||||
@ -0,0 +1,45 @@
|
||||
From 2ddba5ddc12312386b019b4a785c80ce8633ba57 Mon Sep 17 00:00:00 2001
|
||||
From: Paul Floyd <pjfloyd@wanadoo.fr>
|
||||
Date: Tue, 20 Jan 2026 07:44:31 +0100
|
||||
Subject: [PATCH 8/8] Bug 514206 - Assertion '!sr_isError(sr)' failed - mmap fd
|
||||
points to an open descriptor to a PCI device
|
||||
|
||||
(cherry picked from commit 38609f9b87eb6908a4a04ed5882db337edaec765)
|
||||
---
|
||||
NEWS | 2 ++
|
||||
coregrind/m_debuginfo/debuginfo.c | 5 ++++-
|
||||
2 files changed, 6 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/NEWS b/NEWS
|
||||
index 164218c14e76..a09cf7e1bba3 100644
|
||||
--- a/NEWS
|
||||
+++ b/NEWS
|
||||
@@ -23,6 +23,8 @@ The following bugs have been fixed or resolved on this branch.
|
||||
511717 gdbserver (valgrind_read_memory) the 'impossible' happened:
|
||||
Killed by fatal signal (SIGSEGV)
|
||||
514094 readlink("/proc/self/exe") overwrites buffer beyond its return value
|
||||
+514206 Assertion '!sr_isError(sr)' failed - mmap fd points to an open
|
||||
+ descriptor to a PCI device
|
||||
514613 Unclosed leak_summary/still_reachable tag in xml output
|
||||
|
||||
To see details of a given bug, visit
|
||||
diff --git a/coregrind/m_debuginfo/debuginfo.c b/coregrind/m_debuginfo/debuginfo.c
|
||||
index 18152b9e25e4..196fe8d98811 100644
|
||||
--- a/coregrind/m_debuginfo/debuginfo.c
|
||||
+++ b/coregrind/m_debuginfo/debuginfo.c
|
||||
@@ -1177,8 +1177,11 @@ ULong VG_(di_notify_mmap)( Addr a, Bool allow_SkFileV, Int use_fd )
|
||||
* --20208-- WARNING: Serious error when reading debug info
|
||||
* --20208-- When reading debug info from /proc/xen/privcmd:
|
||||
* --20208-- can't read file to inspect ELF header
|
||||
+ *
|
||||
+ * Also PCI devices, see bug 514206
|
||||
*/
|
||||
- if (VG_(strncmp)(filename, "/proc/xen/", 10) == 0)
|
||||
+ if (VG_(strncmp)(filename, "/proc/xen/", 10) == 0 ||
|
||||
+ VG_(strncmp)(filename, "/sys/devices/pci", 16) == 0)
|
||||
return 0;
|
||||
|
||||
if (debug)
|
||||
--
|
||||
2.52.0
|
||||
|
||||
@ -1,122 +0,0 @@
|
||||
commit 1d00e5ce0fb069911c4b525ec38289fb5d9021b0
|
||||
Author: Paul Floyd <pjfloyd@wanadoo.fr>
|
||||
Date: Sat Nov 18 08:49:34 2023 +0100
|
||||
|
||||
Bug 476548 - valgrind 3.22.0 fails on assertion when loading debuginfo file produced by mold
|
||||
|
||||
(cherry picked from commit 9ea4ae66707a4dcc6f4328e11911652e4418c585)
|
||||
|
||||
diff --git a/coregrind/m_debuginfo/image.c b/coregrind/m_debuginfo/image.c
|
||||
index 02e509071..445f95555 100644
|
||||
--- a/coregrind/m_debuginfo/image.c
|
||||
+++ b/coregrind/m_debuginfo/image.c
|
||||
@@ -1221,6 +1221,20 @@ Int ML_(img_strcmp_c)(DiImage* img, DiOffT off1, const HChar* str2)
|
||||
}
|
||||
}
|
||||
|
||||
+Int ML_(img_strcmp_n)(DiImage* img, DiOffT off1, const HChar* str2, Word n)
|
||||
+{
|
||||
+ ensure_valid(img, off1, 1, "ML_(img_strcmp_c)");
|
||||
+ while (n) {
|
||||
+ UChar c1 = get(img, off1);
|
||||
+ UChar c2 = *(const UChar*)str2;
|
||||
+ if (c1 < c2) return -1;
|
||||
+ if (c1 > c2) return 1;
|
||||
+ if (c1 == 0) return 0;
|
||||
+ off1++; str2++; --n;
|
||||
+ }
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
UChar ML_(img_get_UChar)(DiImage* img, DiOffT offset)
|
||||
{
|
||||
ensure_valid(img, offset, 1, "ML_(img_get_UChar)");
|
||||
diff --git a/coregrind/m_debuginfo/priv_image.h b/coregrind/m_debuginfo/priv_image.h
|
||||
index a49846f14..c91e49f01 100644
|
||||
--- a/coregrind/m_debuginfo/priv_image.h
|
||||
+++ b/coregrind/m_debuginfo/priv_image.h
|
||||
@@ -115,6 +115,10 @@ Int ML_(img_strcmp)(DiImage* img, DiOffT off1, DiOffT off2);
|
||||
cast to HChar before comparison. */
|
||||
Int ML_(img_strcmp_c)(DiImage* img, DiOffT off1, const HChar* str2);
|
||||
|
||||
+/* Do strncmp of a C string in the image vs a normal one. Chars are
|
||||
+ cast to HChar before comparison. */
|
||||
+Int ML_(img_strcmp_n)(DiImage* img, DiOffT off1, const HChar* str2, Word n);
|
||||
+
|
||||
/* Do strlen of a C string in the image. */
|
||||
SizeT ML_(img_strlen)(DiImage* img, DiOffT off);
|
||||
|
||||
diff --git a/coregrind/m_debuginfo/readelf.c b/coregrind/m_debuginfo/readelf.c
|
||||
index fb64ed976..46f8c8343 100644
|
||||
--- a/coregrind/m_debuginfo/readelf.c
|
||||
+++ b/coregrind/m_debuginfo/readelf.c
|
||||
@@ -2501,8 +2501,7 @@ Bool ML_(read_elf_object) ( struct _DebugInfo* di )
|
||||
di->rodata_avma += inrw1->bias;
|
||||
di->rodata_bias = inrw1->bias;
|
||||
di->rodata_debug_bias = inrw1->bias;
|
||||
- }
|
||||
- else {
|
||||
+ } else {
|
||||
BAD(".rodata"); /* should not happen? */
|
||||
}
|
||||
di->rodata_present = True;
|
||||
@@ -2977,6 +2976,46 @@ Bool ML_(read_elf_object) ( struct _DebugInfo* di )
|
||||
return retval;
|
||||
}
|
||||
|
||||
+static void find_rodata(Word i, Word shnum, DiImage* dimg, struct _DebugInfo* di, DiOffT shdr_dioff,
|
||||
+ UWord shdr_dent_szB, DiOffT shdr_strtab_dioff, PtrdiffT rw_dbias)
|
||||
+{
|
||||
+ ElfXX_Shdr a_shdr;
|
||||
+ ElfXX_Shdr a_extra_shdr;
|
||||
+ ML_(img_get)(&a_shdr, dimg,
|
||||
+ INDEX_BIS(shdr_dioff, i, shdr_dent_szB),
|
||||
+ sizeof(a_shdr));
|
||||
+ if (di->rodata_present &&
|
||||
+ 0 == ML_(img_strcmp_c)(dimg, shdr_strtab_dioff
|
||||
+ + a_shdr.sh_name, ".rodata")) {
|
||||
+ Word sh_size = a_shdr.sh_size;
|
||||
+ Word j;
|
||||
+ Word next_addr = a_shdr.sh_addr + a_shdr.sh_size;
|
||||
+ for (j = i + 1; j < shnum; ++j) {
|
||||
+ ML_(img_get)(&a_extra_shdr, dimg,
|
||||
+ INDEX_BIS(shdr_dioff, j, shdr_dent_szB),
|
||||
+ sizeof(a_shdr));
|
||||
+ if (0 == ML_(img_strcmp_n)(dimg, shdr_strtab_dioff
|
||||
+ + a_extra_shdr.sh_name, ".rodata", 7)) {
|
||||
+ if (a_extra_shdr.sh_addr ==
|
||||
+ VG_ROUNDUP(next_addr, a_extra_shdr.sh_addralign)) {
|
||||
+ sh_size = VG_ROUNDUP(sh_size, a_extra_shdr.sh_addralign) + a_extra_shdr.sh_size;
|
||||
+ }
|
||||
+ next_addr = a_extra_shdr.sh_addr + a_extra_shdr.sh_size;
|
||||
+ } else {
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+ vg_assert(di->rodata_size == sh_size);
|
||||
+ vg_assert(di->rodata_avma + a_shdr.sh_addr + rw_dbias);
|
||||
+ di->rodata_debug_svma = a_shdr.sh_addr;
|
||||
+ di->rodata_debug_bias = di->rodata_bias +
|
||||
+ di->rodata_svma - di->rodata_debug_svma;
|
||||
+ TRACE_SYMTAB("acquiring .rodata debug svma = %#lx .. %#lx\n",
|
||||
+ di->rodata_debug_svma,
|
||||
+ di->rodata_debug_svma + di->rodata_size - 1);
|
||||
+ TRACE_SYMTAB("acquiring .rodata debug bias = %#lx\n", (UWord)di->rodata_debug_bias);
|
||||
+ }
|
||||
+}
|
||||
Bool ML_(read_elf_debug) ( struct _DebugInfo* di )
|
||||
{
|
||||
Word i, j;
|
||||
@@ -3391,7 +3430,11 @@ Bool ML_(read_elf_debug) ( struct _DebugInfo* di )
|
||||
FIND(text, rx)
|
||||
FIND(data, rw)
|
||||
FIND(sdata, rw)
|
||||
- FIND(rodata, rw)
|
||||
+ // https://bugs.kde.org/show_bug.cgi?id=476548
|
||||
+ // special handling for rodata as adjacent
|
||||
+ // rodata sections may have been merged in ML_(read_elf_object)
|
||||
+ //FIND(rodata, rw)
|
||||
+ find_rodata(i, ehdr_dimg.e_shnum, dimg, di, shdr_dioff, shdr_dent_szB, shdr_strtab_dioff, rw_dbias);
|
||||
FIND(bss, rw)
|
||||
FIND(sbss, rw)
|
||||
|
||||
@ -1,34 +1,28 @@
|
||||
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 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
|
||||
@ -36,21 +30,21 @@ index 1b7842b..e211eec 100644
|
||||
getoff_@VGCONF_ARCH_PRI@_@VGCONF_OS@_LDADD = $(LDADD) -ldl
|
||||
endif
|
||||
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
|
||||
@@ -104,7 +104,7 @@
|
||||
@@ -106,7 +106,7 @@ endif
|
||||
vgdb_CPPFLAGS = $(AM_CPPFLAGS_PRI) $(GDB_SCRIPTS_DIR)
|
||||
vgdb_CFLAGS = $(AM_CFLAGS_PRI) $(LTO_CFLAGS) -fstack-protector-strong
|
||||
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
|
||||
@ -1,45 +1,48 @@
|
||||
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 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
|
||||
@@ -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
|
||||
@@ -2352,24 +2352,24 @@
|
||||
@@ -2764,24 +2764,24 @@ AC_LANG(C)
|
||||
AM_CONDITIONAL([HAVE_ALIGNED_CXX_ALLOC], [test x$ac_have_aligned_cxx_alloc = xyes])
|
||||
|
||||
# does this compiler support -fno-stack-protector ?
|
||||
@ -82,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,
|
||||
@@ -102,7 +102,7 @@
|
||||
@@ -104,7 +104,7 @@ vgdb_SOURCES += vgdb-invoker-freebsd.c
|
||||
endif
|
||||
|
||||
vgdb_CPPFLAGS = $(AM_CPPFLAGS_PRI) $(GDB_SCRIPTS_DIR)
|
||||
-vgdb_CFLAGS = $(AM_CFLAGS_PRI) $(LTO_CFLAGS)
|
||||
+vgdb_CFLAGS = $(AM_CFLAGS_PRI) $(LTO_CFLAGS) -fstack-protector-strong
|
||||
-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
|
||||
@ -2,12 +2,11 @@
|
||||
|
||||
Summary: Dynamic analysis tools to detect memory or thread bugs and profile
|
||||
Name: %{?scl_prefix}valgrind
|
||||
Version: 3.22.0
|
||||
Release: 3%{?dist}
|
||||
Version: 3.26.0
|
||||
Release: 5%{?dist}
|
||||
Epoch: 1
|
||||
License: GPLv2+
|
||||
License: GPLv3+
|
||||
URL: https://www.valgrind.org/
|
||||
Group: Development/Debuggers
|
||||
|
||||
# Are we building for a Software Collection?
|
||||
%{?scl:%global is_scl 1}
|
||||
@ -15,7 +14,7 @@ Group: Development/Debuggers
|
||||
|
||||
# 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
|
||||
@ -31,11 +30,7 @@ Group: Development/Debuggers
|
||||
%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
|
||||
@ -55,17 +50,11 @@ Group: Development/Debuggers
|
||||
# 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
|
||||
@ -84,14 +73,23 @@ Patch1: valgrind-3.9.0-cachegrind-improvements.patch
|
||||
Patch2: valgrind-3.9.0-ldso-supp.patch
|
||||
|
||||
# Add some stack-protector
|
||||
Patch3: valgrind-3.16.0-some-stack-protector.patch
|
||||
Patch3: valgrind-3.26.0-some-stack-protector.patch
|
||||
|
||||
# Add some -Wl,z,now.
|
||||
Patch4: valgrind-3.16.0-some-Wl-z-now.patch
|
||||
Patch4: valgrind-3.26.0-some-Wl-z-now.patch
|
||||
|
||||
# valgrind 3.22.0 fails on assertion when loading debuginfo
|
||||
# https://bugs.kde.org/show_bug.cgi?id=476548
|
||||
Patch5: valgrind-3.22.0-rodata.patch
|
||||
# VALGRIND_3_26_BRANCH patches
|
||||
Patch5: 0001-Prepare-NEWS-for-branch-3.26-fixes.patch
|
||||
Patch6: 0002-Bug-511972-valgrind-3.26.0-tests-fail-to-build-on-up.patch
|
||||
Patch7: 0003-readlink-proc-self-exe-overwrites-buffer-beyond-its-.patch
|
||||
Patch8: 0004-Linux-DRD-suppression-add-an-entry-for-__is_decorate.patch
|
||||
Patch9: 0005-Linux-Helgrind-add-a-suppression-for-_dl_allocate_tl.patch
|
||||
Patch10: 0006-Disable-linux-madvise-MADV_GUARD_INSTALL.patch
|
||||
Patch11: 0007-Bug-514613-Unclosed-leak_summary-still_reachable-tag.patch
|
||||
Patch12: 0008-Bug-514206-Assertion-sr_isError-sr-failed-mmap-fd-po.patch
|
||||
|
||||
# Refix for https://bugs.kde.org/show_bug.cgi?id=514613
|
||||
Patch100: 0001-Refix-still_reachable-xml-closing-tag-and-add-testca.patch
|
||||
|
||||
BuildRequires: make
|
||||
BuildRequires: glibc-devel
|
||||
@ -136,23 +134,16 @@ 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.11
|
||||
BuildRequires: python3.11-rpm-macros
|
||||
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
|
||||
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.
|
||||
@ -188,6 +179,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
|
||||
@ -202,7 +197,6 @@ profiler (callgrind), and a heap profiler (massif).
|
||||
|
||||
%package devel
|
||||
Summary: Development files for valgrind aware programs
|
||||
Group: Development/Debuggers
|
||||
# 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
|
||||
@ -221,7 +215,7 @@ 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-2.0-or-later
|
||||
License: GPL-3.0-or-later
|
||||
# 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}
|
||||
@ -231,7 +225,7 @@ Perl and Python scripts for post-processing valgrind tool output.
|
||||
|
||||
%package gdb
|
||||
Summary: Tools for integrating valgrind and gdb
|
||||
License: GPL-2.0-or-later
|
||||
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.
|
||||
@ -243,7 +237,6 @@ Tools and support files for integrating valgrind and gdb.
|
||||
%if %{build_tools_devel}
|
||||
%package tools-devel
|
||||
Summary: Development files for building valgrind tools.
|
||||
Group: Development/Debuggers
|
||||
Requires: %{?scl_prefix}valgrind-devel = %{epoch}:%{version}-%{release}
|
||||
Provides: %{name}-static = %{epoch}:%{version}-%{release}
|
||||
|
||||
@ -254,7 +247,6 @@ Header files and libraries for development of valgrind tools.
|
||||
%if %{build_openmpi}
|
||||
%package openmpi
|
||||
Summary: OpenMPI support for valgrind
|
||||
Group: Development/Debuggers
|
||||
Requires: %{?scl_prefix}valgrind = %{epoch}:%{version}-%{release}
|
||||
|
||||
%description openmpi
|
||||
@ -268,29 +260,32 @@ Valgrind User Manual for details.
|
||||
|
||||
%patch -P1 -p1
|
||||
%patch -P2 -p1
|
||||
|
||||
# Old rhel gcc doesn't have -fstack-protector-strong.
|
||||
%if 0%{?fedora} || 0%{?rhel} >= 7
|
||||
%patch -P3 -p1
|
||||
%patch -P4 -p1
|
||||
%endif
|
||||
|
||||
%patch -P5 -p1
|
||||
%patch -P6 -p1
|
||||
%patch -P7 -p1
|
||||
%patch -P8 -p1
|
||||
%patch -P9 -p1
|
||||
%patch -P10 -p1
|
||||
%patch -P11 -p1
|
||||
%patch -P12 -p1
|
||||
|
||||
%patch -P100 -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
|
||||
@ -342,13 +337,13 @@ export LDFLAGS
|
||||
--with-mpicc=%{mpiccpath} \
|
||||
%{only_arch} \
|
||||
GDB=%{_bindir}/gdb \
|
||||
--without-gdbscripts-dir
|
||||
--with-gdbscripts-dir=%{_datadir}/gdb/auto-load
|
||||
|
||||
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
|
||||
@ -410,7 +405,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.
|
||||
@ -481,8 +476,11 @@ echo ===============END TESTING===============
|
||||
%{_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
|
||||
@ -513,20 +511,44 @@ 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 Jan 24 2025 Mark Wielaard <mjw@redhat.com> - 3.22.0-3
|
||||
* Thu Jan 29 2026 Mark Wielaard <mjw@redhat.com> - 3.26.0-5
|
||||
- Add 0001-Refix-still_reachable-xml-closing-tag-and-add-testca.patch
|
||||
|
||||
* Tue Jan 27 2026 Mark Wielaard <mjw@redhat.com> - 3.26.0-4
|
||||
- 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
|
||||
- 0007-Bug-514613-Unclosed-leak_summary-still_reachable-tag.patch
|
||||
- 0008-Bug-514206-Assertion-sr_isError-sr-failed-mmap-fd-po.patch
|
||||
|
||||
* Tue Nov 4 2025 Mark Wielaard <mjw@redhat.com> - 3.26.0-1
|
||||
- Valgrind 3.26.0 final
|
||||
- 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 18 2025 Mark Wielaard <mjw@redhat.com> - 3.25.1-3
|
||||
- Add ppc64-strcmp-ld.patch
|
||||
- Add 0003-Add-several-missing-syscall-hooks-to-ppc64-linux.patch
|
||||
|
||||
* Tue Aug 5 2025 Mark Wielaard <mjw@redhat.com> - 3.25.1-2
|
||||
- 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
|
||||
|
||||
* Thu May 22 2025 Mark Wielaard <mjw@redhat.com> - 3.25.1-1
|
||||
- Valgrind 3.25.1 final
|
||||
|
||||
* Fri Apr 25 2025 Mark Wielaard <mjw@redhat.com> - 3.25.0-1
|
||||
- Valgrind 3.25.0 final
|
||||
|
||||
* Wed Feb 26 2025 Mark Wielaard <mjw@redhat.com> - 3.24.0-4
|
||||
- Split main valgrind package into several subpackages:
|
||||
- valgrind now contains just the core tools.
|
||||
- valgrind-scripts contains the post-processing scripts for callgrind,
|
||||
@ -539,6 +561,56 @@ fi
|
||||
- valgrind-scripts Recommends valgrind-gdb
|
||||
- valgrind-gdb Recommends gdb
|
||||
|
||||
* Tue Jan 14 2025 Mark Wielaard <mjw@redhat.com> - 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
|
||||
|
||||
* Tue Nov 26 2024 Mark Wielaard <mjw@redhat.com> - 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@redhat.com> - 3.24.0-1
|
||||
- Upstream 3.24.0 final
|
||||
|
||||
* Fri Jul 12 2024 Mark Wielaard <mjw@redhat.com> - 3.23.0-4
|
||||
Add upstream VALGRIND_3_23_BRANCH patches
|
||||
0001-Prepare-NEWS-for-branch-3.23-fixes.patch
|
||||
0002-486180-MIPS-VexGuestArchState-has-no-member-named-gu.patch
|
||||
0003-Bug-486293-memccpy-false-positives.patch
|
||||
0004-Bug-486569-linux-inotify_init-syscall-wrapper-missin.patch
|
||||
0005-aarch64-frinta-and-frinta-vector-instructions.patch
|
||||
0006-mips-skip-using-shared-syscall-numbers-for-mips32.patch
|
||||
0007-Fix-uninitialized-err-in-handle_extension.patch
|
||||
0008-Avoid-use-of-guest_IP_AT_SYSCALL-in-handle_extension.patch
|
||||
0009-s390x-Minor-fixes-in-extension-s390x.c.patch
|
||||
0010-Bug-453044-gbserver_tests-failures-in-aarch64.patch
|
||||
0011-Linux-regtest-reallocarray-needs-malloc.h.patch
|
||||
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
|
||||
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
|
||||
|
||||
* Fri Apr 26 2024 Mark Wielaard <mjw@redhat.com> - 3.23.0-1
|
||||
- Upstream 3.23.0 final
|
||||
|
||||
* Wed Dec 6 2023 Mark Wielaard <mjw@redhat.com> - 3.22.0-2
|
||||
- Add valgrind-3.22.0-rodata.patch
|
||||
|
||||
@ -551,9 +623,6 @@ fi
|
||||
- Add cachegrind.h to valgrind-devel package
|
||||
- Use %%patch -Pn instead of deprecated %%patchn
|
||||
|
||||
* Tue Jun 27 2023 Mark Wielaard <mjw@redhat.com> - 3.21.0-8
|
||||
- BuildRequire python3.11
|
||||
|
||||
* Fri Jun 23 2023 Mark Wielaard <mjw@redhat.com> - 3.21.0-7
|
||||
- Add valgrind-3.21.0-callgrind_control-no-strict.patch
|
||||
- Add valgrind-3.21.0-realloc-again.patch
|
||||
@ -569,14 +638,23 @@ fi
|
||||
- Remove upstreamed patches
|
||||
- Add valgrind-3.21.0-no-memcpy-replace-check.patch
|
||||
|
||||
* Wed May 25 2022 Mark Wielaard <mjw@redhat.com> - 3.19.0-3
|
||||
- Add valgrind-3.19.0-s390x-memmem.patch
|
||||
- Add valgrind-3.19.0-ld-so-strncmp.patch
|
||||
|
||||
* Tue Apr 19 2022 Mark Wielaard <mjw@redhat.com> - 3.19.0-1
|
||||
- Upgrade to valgrind 3.19.0. Drop old patches.
|
||||
|
||||
* Thu Feb 10 2022 Mark Wielaard <mjw@redhat.com> - 3.18.1-7
|
||||
* Thu Feb 10 2022 Mark Wielaard <mjw@redhat.com> - 3.18.1-9
|
||||
- Add valgrind-3.18.1-arm64-atomics-rdm.patch
|
||||
|
||||
* Tue Nov 30 2021 Mark Wielaard <mjw@redhat.com> - 3.18.1-6
|
||||
- Rebuild against fresh toolchain
|
||||
* Thu Jan 13 2022 Mark Wielaard <mjw@redhat.com> - 3.18.1-8
|
||||
- Add valgrind-3.18.1-ppc-hwcaps.patch
|
||||
- Add valgrind-3.18.1-s390x-wflrx.patch
|
||||
|
||||
* Tue Dec 14 2021 Mark Wielaard <mjw@redhat.com> - 3.18.1-6
|
||||
- Add valgrind-3.18.1-rseq-enosys.patch
|
||||
- Add valgrind-3.18.1-s390x-vdso.patch
|
||||
|
||||
* Wed Nov 24 2021 Mark Wielaard <mjw@redhat.com> - 3.18.1-5
|
||||
- Add valgrind-3.18.1-dhat-tests-copy.patch
|
||||
@ -593,52 +671,204 @@ fi
|
||||
- Add valgrind-3.18.1-condvar.patch
|
||||
- Add valgrind-3.18.1-demangle-namespace.patch
|
||||
|
||||
* Wed Oct 20 2021 Mark Wielaard <mjw@redhat.com> - 3.18.1-1
|
||||
* Thu Oct 21 2021 Mark Wielaard <mjw@redhat.com> - 3.18.1-1
|
||||
- Update to upstream 3.18.1 final
|
||||
|
||||
* Thu Jun 24 2021 Mark Wielaard <mjw@redhat.com> - 3.17.0-5
|
||||
* Tue Aug 10 2021 Mohan Boddu <mboddu@redhat.com> - 1:3.17.0-12
|
||||
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
|
||||
Related: rhbz#1991688
|
||||
|
||||
* Fri Aug 6 2021 Mark Wielaard <mjw@redhat.com> - 3.17.0-11
|
||||
- Add valgrind-3.17.0-ppc64-statfs64.patch
|
||||
|
||||
* Tue Aug 3 2021 Mark Wielaard <mjw@redhat.com> - 3.17.0-10
|
||||
- Add valgrind-3.17.0_start.patch
|
||||
|
||||
* Wed Jul 21 2021 Mark Wielaard <mjw@redhat.com> - 3.17.0-9
|
||||
- Add valgrind-3.17.0-clone3.patch
|
||||
|
||||
* Sat Jul 17 2021 Mark Wielaard <mjw@redhat.com> - 3.17.0-8
|
||||
- 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
|
||||
- Enable run_full_regtest.
|
||||
|
||||
* Thu Jun 24 2021 Mark Wielaard <mjw@redhat.com> - 3.17.0-6
|
||||
- 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
|
||||
|
||||
* Mon Jun 7 2021 Mark Wielaard <mjw@redhat.com> - 3.17.0-5
|
||||
- Disable run_full_regtest.
|
||||
|
||||
* Thu Jun 3 2021 Mark Wielaard <mjw@redhat.com> - 3.17.0-4
|
||||
- Update to upstream 3.17.0 final.
|
||||
- Add valgrind-3.17.0-ppc64-isa-3.1{,tests}.patch
|
||||
- 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
|
||||
- Add valgrind-3.17.0-s390x-tests-z14-workaround.patch
|
||||
|
||||
* Fri Dec 4 2020 Mark Wielaard <mjw@redhat.com> - 3.16.0-4
|
||||
* Tue May 4 2021 Mark Wielaard <mjw@fedoraproject.org> - 3.17.0-3
|
||||
- Add valgrind-3.17.0-ppc64-isa-3.1{,tests}.patch
|
||||
|
||||
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 1:3.17.0-2
|
||||
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
|
||||
|
||||
* Mon Mar 22 2021 Mark Wielaard <mjw@fedoraproject.org> - 3.17.0-1
|
||||
- Update to upstream 3.17.0 final.
|
||||
|
||||
* Wed Mar 17 2021 Mark Wielaard <mjw@fedoraproject.org> - 3.17.0-0.1.RC2
|
||||
- Update to upstream 3.17.0-RC2
|
||||
|
||||
* Mon Mar 15 2021 Mark Wielaard <mjw@fedoraproject.org> - 3.17.0-0.1.RC1
|
||||
- Update to upstream 3.17.0-RC1
|
||||
- Drop all upstreamed patches
|
||||
|
||||
* Wed Mar 3 2021 Mark Wielaard <mjw@fedoraproject.org> - 3.16.1-20
|
||||
- Add valgrind-3.16.1-arm64_sp_lr_fp_DwReg.patch
|
||||
|
||||
* Sun Feb 21 2021 Mark Wielaard <mjw@fedoraproject.org> - 3.16.1-19
|
||||
- Add valgrind-3.16.1-readdwarf-line.patch
|
||||
|
||||
* Sat Feb 6 2021 Mark Wielaard <mjw@fedoraproject.org> - 3.16.1-18
|
||||
- Update valgrind-3.16.1-open-proc-self-exe.patch to handle openat
|
||||
|
||||
* Sat Feb 6 2021 Mark Wielaard <mjw@fedoraproject.org> - 3.16.1-17
|
||||
- Add valgrind-3.16.1-open-proc-self-exe.patch
|
||||
|
||||
* Wed Feb 3 2021 Mark Wielaard <mjw@fedoraproject.org> - 3.16.1-16
|
||||
- Add valgrind-3.16.0-shmctl.patch
|
||||
|
||||
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.16.1-15
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||
|
||||
* Mon Jan 25 2021 Mark Wielaard <mjw@fedoraproject.org> - 3.16.1-14
|
||||
- Add valgrind-3.16.1-dwarf5.patch
|
||||
|
||||
* Fri Jan 8 2021 Mark Wielaard <mjw@fedoraproject.org> - 3.16.1-13
|
||||
- Add valgrind-3.16.1-ppc64-scv-hwcap.patch
|
||||
|
||||
* Sun Dec 20 2020 Mark Wielaard <mjw@fedoraproject.org> - 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 <mjw@fedoraproject.org> - 3.16.1-11
|
||||
- Update valgrind-3.16.1-arm64-fma.patch
|
||||
|
||||
* Tue Dec 15 2020 Mark Wielaard <mjw@fedoraproject.org> - 3.16.1-10
|
||||
- Add valgrind-3.16.1-arm64-fma.patch
|
||||
|
||||
* Sun Dec 13 2020 Mark Wielaard <mjw@fedoraproject.org> - 3.16.1-9
|
||||
- Add valgrind-3.16.1-stxsibx-stxsihx.patch
|
||||
|
||||
* Thu Dec 3 2020 Mark Wielaard <mjw@fedoraproject.org> - 3.16.1-8
|
||||
- Update valgrind-3.16.1-s390x-z14-vector.patch
|
||||
|
||||
* Thu Dec 3 2020 Mark Wielaard <mjw@fedoraproject.org> - 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
|
||||
|
||||
* Tue Oct 20 2020 Mark Wielaard <mjw@redhat.com> - 3.16.0-3
|
||||
* Mon Nov 9 2020 Mark Wielaard <mjw@fedoraproject.org>
|
||||
- Add BuildRequires which (#1895773)
|
||||
|
||||
* Fri Oct 16 2020 Mark Wielaard <mjw@fedoraproject.org> - 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 <mjw@fedoraproject.org> - 3.16.1-5
|
||||
- Update valgrind-3.16.1-epoll.patch
|
||||
|
||||
* Mon Jul 27 2020 Mark Wielaard <mjw@fedoraproject.org> - 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
|
||||
|
||||
* Wed Jun 24 2020 Mark Wielaard <mjw@redhat.com> - 3.16.0-2
|
||||
- Add valgrind-3.16.0-ppc-L-field.patch
|
||||
- Add valgrind-3.16.0-387-float.patch
|
||||
* Tue Jul 14 2020 Tom Stellard <tstellar@redhat.com> - 3.16.1-3
|
||||
- Use make macros
|
||||
- https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro
|
||||
|
||||
* Thu May 28 2020 Mark Wielaard <mjw@redhat.com> - 3.16.0-1
|
||||
* Wed Jul 8 2020 Jeff Law <law@redhat.org> - 3.16.1-2
|
||||
- Disable LTO
|
||||
|
||||
* Tue Jun 23 2020 Mark Wielaard <mjw@fedoraproject.org> - 3.16.1-1
|
||||
- Update to upstream valgrind 3.16.1.
|
||||
|
||||
* Fri Jun 19 2020 Mark Wielaard <mjw@fedoraproject.org> - 3.16.0-3
|
||||
- Add valgrind-3.16.0-ppc-L-field.patch
|
||||
|
||||
* Wed May 27 2020 Mark Wielaard <mjw@fedoraproject.org> - 3.16.0-2
|
||||
- Apply stack-protector and -Wl,z,now patches.
|
||||
|
||||
* Wed May 27 2020 Mark Wielaard <mjw@fedoraproject.org> - 3.16.0-1
|
||||
- Update to upstream valgrind 3.16.0 final.
|
||||
|
||||
* Fri Feb 14 2020 Mark Wielaard <mjw@redhat.com> - 3.15.0-11
|
||||
* Tue May 19 2020 Mark Wielaard <mjw@fedoraproject.org> - 3.16.0-0.4.RC2
|
||||
- Add docbook-dtds to BuildRequires.
|
||||
|
||||
* Tue May 19 2020 Mark Wielaard <mjw@fedoraproject.org> - 3.16.0-0.3.RC2
|
||||
- Update to upstream 3.16.0 RC2
|
||||
|
||||
* Fri May 1 2020 Mark Wielaard <mjw@fedoraproject.org> - 3.16.0-0.2.GIT
|
||||
- Update to upstream 3.16.0 branch point (commit 55cdb7c4e)
|
||||
|
||||
* Fri Apr 17 2020 Mark Wielaard <mjw@fedoraproject.org> - 3.16.0-0.1.GIT
|
||||
- Update to upstream 3.16.0-GIT (commit 52d02fe23)
|
||||
- Drop all streamed patches.
|
||||
|
||||
* Wed Mar 4 2020 Mark Wielaard <mjw@fedoraproject.org> - 3.15.0-20
|
||||
- Add valgrind-3.15.0-z15.patch
|
||||
|
||||
* Fri Feb 28 2020 Mark Wielaard <mjw@fedoraproject.org> - 3.15.0-19
|
||||
- Add valgrind-3.15.0-time64.patch
|
||||
- Add valgrind-3.15.0-arm-preadv2-pwritev2.patch
|
||||
- Add valgrind-3.15.0-avx_estimate_insn-test.patch
|
||||
- Add valgrind-3.15.0-gcc-10-x86-amd64-asm-test.patch
|
||||
|
||||
* Fri Feb 14 2020 Mark Wielaard <mjw@fedoraproject.org> - 3.15.0-18
|
||||
- Add valgrind-3.15.0-ppc64-sigframe.patch
|
||||
|
||||
* Thu Feb 13 2020 Mark Wielaard <mjw@fedoraproject.org> - 3.15.0-17
|
||||
- Add valgrind-3.15.0-glibc-dtv-supp.patch
|
||||
|
||||
* Wed Jan 29 2020 Mark Wielaard <mjw@fedoraproject.org> - 3.15.0-16
|
||||
- Add valgrind-3.15.0-s390x-HRcVec128.patch
|
||||
|
||||
* Mon Aug 5 2019 Mark Wielaard <mjw@redhat.com> - 3.15.0-10
|
||||
- Add valgrind-3.15.0-preadv2-pwritev2.patch
|
||||
* Wed Jan 29 2020 Mark Wielaard <mjw@fedoraproject.org> - 3.15.0-15
|
||||
- Don't use valgrind-3.15.0-ptrace-siginfo.patch on ppc64[le]
|
||||
- Add valgrind-3.15.0-s390x-compare-and-signal.patch
|
||||
|
||||
* Wed May 29 2019 Mark Wielaard <mjw@redhat.com> - 3.15.0-9
|
||||
* Fri Jan 24 2020 Mark Wielaard <mjw@fedoraproject.org> - 3.15.0-14
|
||||
- Add valgrind-3.15.0-gcc-10-i686-asm-test.patch
|
||||
- Add valgrind-3.15.0-gcc10-ppc64-asm-constraints.patch
|
||||
|
||||
* Thu Jan 23 2020 Mark Wielaard <mjw@fedoraproject.org> - 3.15.0-13
|
||||
- Add valgrind-3.15.0-gcc-10-typedef-enum.patch
|
||||
|
||||
* Mon Sep 23 2019 Mark Wielaard <mjw@fedoraproject.org> - 3.15.0-12
|
||||
- Add valgrind-3.15.0-ptrace-siginfo.patch
|
||||
|
||||
* Mon Aug 5 2019 Mark Wielaard <mjw@fedoraproject.org> - 3.15.0-11
|
||||
- Add valgrind-3.15.0-preadv2-pwritev2.patch
|
||||
- Add valgrind-3.15.0-arm-membarrier.patch
|
||||
- Add valgrind-3.15.0-z14-misc.patch
|
||||
|
||||
* Sat Jul 27 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.15.0-10
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||
|
||||
* Wed May 29 2019 Mark Wielaard <mjw@fedoraproject.org> - 3.15.0-9
|
||||
- Add valgrind-3.15.0-pkey.patch
|
||||
|
||||
* Tue May 28 2019 Mark Wielaard <mjw@fedoraproject.org> - 3.15.0-8
|
||||
- Update valgrind-3.15.0-copy_file_range.patch.
|
||||
- Add valgrind-3.15.0-avx-rdrand-f16c.patch.
|
||||
|
||||
* Fri May 24 2019 Mark Wielaard <mjw@redhat.com> - 3.15.0-6
|
||||
- Update valgrind-3.15.0-copy_file_range.patch.
|
||||
* Fri May 24 2019 Mark Wielaard <mjw@fedoraproject.org> - 3.15.0-7
|
||||
- Update valgrind-3.15.0-some-stack-protector.patch to include getoff.
|
||||
- Add valgrind-3.15.0-some-Wl-z-now.patch
|
||||
|
||||
* Fri May 24 2019 Mark Wielaard <mjw@fedoraproject.org> - 3.15.0-6
|
||||
- Add valgrind-3.15.0-s390x-wrap-drd.patch
|
||||
|
||||
* Mon May 20 2019 Mark Wielaard <mjw@fedoraproject.org> - 3.15.0-5
|
||||
@ -646,32 +876,115 @@ fi
|
||||
- Add valgrind-3.15.0-scalar-arm64.patch
|
||||
- Add valgrind-3.15.0-scalar-x86.patch
|
||||
|
||||
* Wed May 8 2019 Mark Wielaard <mjw@redhat.com> - 3.15.0-4
|
||||
- Add valgrind-3.15.0-copy_file_range.patch
|
||||
* Tue May 7 2019 Mark Wielaard <mjw@fedoraproject.org> - 3.15.0-4
|
||||
- Add valgrind-3.15.0-arm64-ld-stpcpy.patch
|
||||
|
||||
* Tue May 7 2019 Mark Wielaard <mjw@redhat.com> - 3.15.0-2
|
||||
* Sun May 5 2019 Mark Wielaard <mjw@fedoraproject.org> - 3.15.0-3
|
||||
- Add valgrind-3.15.0-copy_file_range.patch
|
||||
|
||||
* Thu Apr 25 2019 Mark Wielaard <mjw@fedoraproject.org> - 3.15.0-2
|
||||
- gdb has been fixed on fedora, run full regtests again.
|
||||
- Add valgrind-3.15.0-ppc64-filter_gdb.patch
|
||||
|
||||
* Tue Apr 16 2019 Mark Wielaard <mjw@fedoraproject.org> - 3.15.0-1
|
||||
- On ppc64[be] -fexceptions is troublesome.
|
||||
- valgrind-3.15.0 final
|
||||
- clean up build flags
|
||||
Remove upstreamed patches
|
||||
- valgrind-3.15.0-arm64-Ity_F16.patch
|
||||
- valgrind-3.15.0-filter-libc-futex.patch
|
||||
- valgrind-3.15.0-mmap-32bit.patch
|
||||
|
||||
* Wed Apr 17 2019 Mark Wielaard <mjw@redhat.com> - 3.14.0-11
|
||||
- Rebuilt with s390x-vec-facility-bit for 8.1.0 (#1669234)
|
||||
* Sun Apr 14 2019 Mark Wielaard <mjw@fedoraproject.org> - 3.15.0-0.8.RC2
|
||||
- Adding of stack-protector flag should only be done with newer gcc.
|
||||
- Older rpm macros didn't provide build_ldflags.
|
||||
- Add valgrind-3.15.0-arm64-Ity_F16.patch
|
||||
|
||||
* Thu Jan 24 2019 Mark Wielaard <mjw@redhat.com> - 3.14.0-10
|
||||
* Sun Apr 14 2019 Mark Wielaard <mjw@fedoraproject.org> - 3.15.0-0.7.RC2
|
||||
- Add valgrind-3.15.0-some-stack-protector.patch
|
||||
|
||||
* Sat Apr 13 2019 Mark Wielaard <mjw@fedoraproject.org> - 3.15.0-0.6.RC2
|
||||
- Pass through most (hardening) flags, except -O2, -fstack-protector
|
||||
and -Wl,-z,now.
|
||||
|
||||
* Fri Apr 12 2019 Mark Wielaard <mjw@fedoraproject.org> - 3.15.0-0.5.RC2
|
||||
- No openmpi support on old s390x rhel.
|
||||
- Disable s390x z13 support on rhel6 (too old binutils).
|
||||
- Use an explicit ExclusiveArch, don't rely on %%valgrind_arches.
|
||||
- Drop close_fds, it is no longer needed.
|
||||
- Include any gdbserver_tests diffs for failing regtest.
|
||||
|
||||
* Thu Apr 11 2019 Mark Wielaard <mjw@fedoraproject.org> - 3.15.0-0.4.RC2
|
||||
- Update to 3.15.0.RC2.
|
||||
- Drop upstreamed patches:
|
||||
- valgrind-3.15.0-s390x-get-startregs-constraint.patch
|
||||
- valgrind-3.15.0-missing-a-c.patch
|
||||
- valgrind-3.15.0-libstdc++-supp.patch
|
||||
- valgrind-3.15.0-dhat-x86.patch
|
||||
- valgrind-3.15.0-gdb-output1.patch
|
||||
- valgrind-3.15.0-gdb-output2.patch
|
||||
- Update valgrind-3.15.0-mmap-32bit.patch to upstream version.
|
||||
- gdb on f30 and rawhide is currently broken, don't run_full_regtest.
|
||||
- Any glibc-devel version is.
|
||||
- Drop rhel5 special case for tools-devel.
|
||||
- Use /bin/true --help as sanity test.
|
||||
|
||||
* Wed Apr 10 2019 Mark Wielaard <mjw@fedoraproject.org> - 3.15.0-0.3.RC1
|
||||
- Enable full regtest on all fedora arches.
|
||||
- Make sure that patched a.c is not newer than cgout-test.
|
||||
- Update valgrind-3.15.0-gdb-output1.patch to upstream version.
|
||||
- Add valgrind-3.15.0-filter-libc-futex.patch.
|
||||
- Add valgrind-3.15.0-mmap-32bit.patch.
|
||||
|
||||
* Tue Apr 9 2019 Mark Wielaard <mjw@fedoraproject.org> - 3.15.0-0.2.RC1
|
||||
- Add valgrind-3.15.0-s390x-get-startregs-constraint.patch
|
||||
- Add valgrind-3.15.0-missing-a-c.patch
|
||||
- Add valgrind-3.15.0-libstdc++-supp.patch
|
||||
- Add valgrind-3.15.0-dhat-x86.patch
|
||||
- Add valgrind-3.15.0-gdb-output1.patch
|
||||
- Add valgrind-3.15.0-gdb-output2.patch
|
||||
|
||||
* Mon Apr 8 2019 Mark Wielaard <mjw@fedoraproject.org> - 3.15.0-0.1.RC1
|
||||
- Remove patches to prebuild files and always ./autogen.sh.
|
||||
- Only ever build primary arch. Put tools under libexec.
|
||||
- Update to upstream 3.15.0-RC1.
|
||||
- Drop all upstreamed patches.
|
||||
|
||||
* Mon Mar 4 2019 Mark Wielaard <mjw@fedoraproject.org> - 3.14.0-16
|
||||
- Add valgrind-3.14.0-gettid.patch
|
||||
|
||||
* Mon Mar 4 2019 Mark Wielaard <mjw@fedoraproject.org> - 3.14.0-15
|
||||
- Add valgrind-3.14.0-ppc64-quotactl.patch
|
||||
|
||||
* Thu Feb 21 2019 Mark Wielaard <mjw@fedoraproject.org> - 3.14.0-14
|
||||
- Add valgrind-3.14.0-ppc-subfe.patch
|
||||
|
||||
* Thu Feb 14 2019 Orion Poplawski <orion@nwra.com> - 1:3.14.0-13
|
||||
- Rebuild for openmpi 3.1.3
|
||||
|
||||
* Sun Feb 03 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.14.0-12
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||
|
||||
* Thu Jan 24 2019 Mark Wielaard <mjw@fedoraproject.org> - 3.14.0-11
|
||||
- Add valgrind-3.14.0-s390x-vec-facility-bit.patch.
|
||||
|
||||
* Mon Jan 7 2019 Mark Wielaard <mjw@redhat.com> - 3.14.0-9
|
||||
* Wed Jan 9 2019 Mark Wielaard <mjw@fedoraproject.org> - 3.14.0-10
|
||||
- Add valgrind-3.14.0-rsp-clobber.patch
|
||||
- Add valgrind-3.14.0-subrange_type-count.patch
|
||||
|
||||
* Mon Dec 31 2018 Mark Wielaard <mjw@fedoraproject.org> - 3.14.0-9
|
||||
- Add valgrind-3.14.0-vbit-test-sec.patch
|
||||
- Add valgrind-3.14.0-x86-Iop_Sar64.patch
|
||||
- Add valgrind-3.14.0-power9-addex.patch
|
||||
|
||||
* Thu Dec 20 2018 Mark Wielaard <mjw@redhat.com> - 3.14.0-8
|
||||
- Update valgrind-3.14.0-jm-vmx-constraints.patch for ppc64. (#1658680)
|
||||
* Thu Dec 20 2018 Mark Wielaard <mjw@fedoraproject.org> - 3.14.0-8
|
||||
- Update valgrind-3.14.0-jm-vmx-constraints.patch for ppc64.
|
||||
- Show all diff files in check, not just the main/default one.
|
||||
|
||||
* Mon Dec 17 2018 Mark Wielaard <mjw@redhat.com> - 3.14.0-7
|
||||
* Fri Dec 14 2018 Mark Wielaard <mjw@fedoraproject.org> - 3.14.0-7
|
||||
- Add valgrind-3.14.0-arm64-ptrace-traceme.patch
|
||||
- Add valgrind-3.14.0-mc_translate-vecret.patch
|
||||
|
||||
* Wed Dec 12 2018 Mark Wielaard <mjw@redhat.com> - 3.14.0-6
|
||||
* Wed Dec 12 2018 Mark Wielaard <mjw@fedoraproject.org> - 3.14.0-6
|
||||
- Add valgrind-3.14.0-final_tidyup.patch
|
||||
- Add valgrind-3.14.0-ppc64-ldbrx.patch
|
||||
- Add valgrind-3.14.0-ppc64-unaligned-words.patch
|
||||
@ -684,42 +997,45 @@ fi
|
||||
- Add valgrind-3.14.0-sigkill.patch
|
||||
- Add valgrind-3.14.0-ppc64-ptrace.patch
|
||||
|
||||
* Tue Dec 4 2018 Mark Wielaard <mjw@redhat.com>
|
||||
- Add valgrind-3.14.0-wcsncmp.patch (#1655642)
|
||||
|
||||
* Sat Dec 1 2018 Mark Wielaard <mjw@fedoraproject.org> - 3.14.0-5
|
||||
- Add valgrind-3.14.0-wcsncmp.patch (#1645971)
|
||||
- Replace valgrind-3.14.0-s390x-vec-float-point-{code,test}.patch
|
||||
with upstream versions. (#1525405)
|
||||
with upstream versions.
|
||||
|
||||
* Fri Nov 23 2018 Mark Wielaard <mjw@redhat.com> - 3.14.0-4
|
||||
* Fri Nov 23 2018 Mark Wielaard <mjw@fedoraproject.org> - 3.14.0-4
|
||||
- Add valgrind-3.14.0-get_otrack_shadow_offset_wrk-ppc.patch,
|
||||
valgrind-3.14.0-new-strlen-IROps.patch,
|
||||
valgrind-3.14.0-ppc-instr-new-IROps.patch,
|
||||
valgrind-3.14.0-memcheck-new-IROps.patch,
|
||||
valgrind-3.14.0-ppc-frontend-new-IROps.patch,
|
||||
valgrind-3.14.0-transform-popcount64-ctznat64.patch and
|
||||
valgrind-3.14.0-enable-ppc-Iop_Sar_Shr8.patch (#1532205)
|
||||
valgrind-3.14.0-enable-ppc-Iop_Sar_Shr8.patch (#1652926)
|
||||
|
||||
* Wed Nov 21 2018 Mark Wielaard <mjw@redhat.com> - 3.14.0-3
|
||||
* Wed Nov 21 2018 Mark Wielaard <mjw@fedoraproject.org> - 3.14.0-3
|
||||
- Add valgrind-3.14.0-s390z-more-z13-fixes.patch.
|
||||
|
||||
* Tue Nov 20 2018 Mark Wielaard <mjw@redhat.com> - 3.14.0-2
|
||||
* Tue Nov 20 2018 Mark Wielaard <mjw@fedoraproject.org> - 3.14.0-2
|
||||
- Add valgrind-3.14.0-s390x-fix-reg-alloc-vr-vs-fpr.patch.
|
||||
- Add valgrind-3.14.0-s390x-sign-extend-lochi.patch.
|
||||
- Add valgrind-3.14.0-s390x-vec-reg-vgdb.patch.
|
||||
- Add valgrind-3.14.0-s390x-vec-float-point-code.patch
|
||||
and valgrind-3.14.0-s390x-vec-float-point-tests.patch
|
||||
- Only run full regtests on x86_64 on fedora or latest rhel.
|
||||
- Disable full regtests on fedora everywhere.
|
||||
|
||||
* Tue Oct 9 2018 Mark Wielaard <mjw@redhat.com> - 3.14.0-1
|
||||
- valgrind 3.14.0 (#1569600).
|
||||
- Enable s390x again.
|
||||
* Tue Oct 9 2018 Mark Wielaard <mjw@fedoraproject.org> - 3.14.0-1
|
||||
- valgrind 3.14.0 final.
|
||||
|
||||
* Fri Aug 10 2018 Mark Wielaard <mjw@fedoraproject.org> - 3.13.0-29
|
||||
* Thu Oct 4 2018 Mark Wielaard <mjw@fedoraproject.org> - 3.14.0-0.2.RC2
|
||||
- Upgrade to RC2.
|
||||
- Drop valgrind-3.14.0-add-vector-h.patch.
|
||||
|
||||
* Fri Sep 14 2018 Mark Wielaard <mjw@fedoraproject.org> - 3.14.0-0.1.GIT
|
||||
- New upstream (pre-)release.
|
||||
- Add valgrind-3.14.0-add-vector-h.patch.
|
||||
|
||||
* Fri Aug 10 2018 Mark Wielaard <mjw@fedoraproject.org> - 3.13.0-28
|
||||
- Add valgrind-3.13.0-utime.patch
|
||||
|
||||
* Thu Aug 9 2018 Florian Weimer <fweimer@redhat.com> - 1:3.13.0-28
|
||||
- Rebuild to remove s390x packages due to lack of z13 support (#1525405)
|
||||
|
||||
* Fri Aug 3 2018 Mark Wielaard <mjw@fedoraproject.org> - 3.13.0-27
|
||||
- Add valgrind-3.13.0-ppc64-xsmaxcdp.patch
|
||||
|
||||
@ -730,7 +1046,7 @@ fi
|
||||
* Tue Jul 31 2018 Mark Wielaard <mjw@fedoraproject.org> - 3.13.0-25
|
||||
- Add valgrind-3.13.0-x86-arch_prctl.patch (#1610304)
|
||||
|
||||
* Mon Jul 30 2018 Florian Weimer <fweimer@redhat.com> - 3.13.0-24
|
||||
* Tue Jul 31 2018 Florian Weimer <fweimer@redhat.com> - 3.13.0-24
|
||||
- Rebuild with fixed binutils
|
||||
|
||||
* Fri Jul 27 2018 Mark Wielaard <mjw@fedoraproject.org> - 3.13.0-23
|
||||
|
||||
Loading…
Reference in New Issue
Block a user