Compare commits

..

No commits in common. "c10s" and "c8" have entirely different histories.
c10s ... c8

26 changed files with 256 additions and 2604 deletions

View File

@ -1 +0,0 @@
1

56
.gitignore vendored
View File

@ -1,55 +1 @@
/valgrind-3.7.0.tar.bz2
/valgrind-3.8.0-TEST1.tar.bz2
/valgrind-3.8.0.tar.bz2
/valgrind-3.8.1.tar.bz2
/valgrind-3.9.0.TEST1.tar.bz2
/valgrind-3.9.0.tar.bz2
/valgrind-3.9.0-svn20140311r13869.tar.bz2
/valgrind-3.9.0-svn20140318r13876.tar.bz2
/valgrind-3.9.0-svn20140319r13879.tar.bz2
/valgrind-3.9.0-svn20140513r13961.tar.bz2
/valgrind-3.9.0-svn20140715r14165.tar.bz2
/valgrind-3.9.0-svn20140718r14176.tar.bz2
/valgrind-3.9.0-svn20140809r14250.tar.bz2
/valgrind-3.9.0-svn20140818r14303.tar.bz2
/valgrind-3.9.0-svn20140827r14371.tar.bz2
/valgrind-3.9.0-svn20140829r14384.tar.bz2
/valgrind-3.10.0.BETA1.tar.bz2
/valgrind-3.10.0.BETA2.tar.bz2
/valgrind-3.10.0.tar.bz2
/valgrind-3.10.1.TEST1.tar.bz2
/valgrind-3.10.1.tar.bz2
/valgrind-3.10.1-svn20150817r15561.tar.bz2
/valgrind-3.10.1-svn20150825r15589.tar.bz2
/valgrind-3.11.0.TEST1.tar.bz2
/valgrind-3.11.0.tar.bz2
/valgrind-3.12.0.BETA1.tar.bz2
/valgrind-3.12.0.RC2.tar.bz2
/valgrind-3.12.0.tar.bz2
/valgrind-3.13.0.RC1.tar.bz2
/valgrind-3.13.0.tar.bz2
/valgrind-3.14.0.GIT.tar.bz2
/valgrind-3.14.0.RC2.tar.bz2
/valgrind-3.14.0.tar.bz2
/valgrind-3.15.0.RC1.tar.bz2
/valgrind-3.15.0.RC2.tar.bz2
/valgrind-3.15.0.tar.bz2
/valgrind-3.16.0.GIT.tar.bz2
/valgrind-3.16.0.RC2.tar.bz2
/valgrind-3.16.0.tar.bz2
/valgrind-3.16.1.tar.bz2
/valgrind-3.17.0.RC1.tar.bz2
/valgrind-3.17.0.RC2.tar.bz2
/valgrind-3.17.0.tar.bz2
/valgrind-3.18.0.RC1.tar.bz2
/valgrind-3.18.1.tar.bz2
/valgrind-3.19.0.tar.bz2
/valgrind-3.20.0.tar.bz2
/valgrind-3.21.0.RC1.tar.bz2
/valgrind-3.21.0.RC2.tar.bz2
/valgrind-3.21.0.tar.bz2
/valgrind-3.22.0.RC1.tar.bz2
/valgrind-3.22.0.RC2.tar.bz2
/valgrind-3.22.0.tar.bz2
/valgrind-3.23.0.tar.bz2
/valgrind-3.24.0.tar.bz2
SOURCES/valgrind-3.22.0.tar.bz2

View File

@ -1,31 +0,0 @@
From cc09f61e56e90c9d3a0e7231cc69b2a499d1205f Mon Sep 17 00:00:00 2001
From: Mark Wielaard <mark@klomp.org>
Date: Sat, 23 Nov 2024 02:09:27 +0100
Subject: [PATCH 01/11] Prepare NEWS for branch 3.24 fixes
---
NEWS | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/NEWS b/NEWS
index 49b4647d4295..8362e1d2df41 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,14 @@
+Branch 3.24
+~~~~~~~~~~~
+
+* ==================== 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.24.0 (31 Oct 2024)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
--
2.47.0

View File

@ -1,37 +0,0 @@
From 2cb0bee2d7722b57956f66a0795b5b9106f88afc Mon Sep 17 00:00:00 2001
From: Mark Wielaard <mark@klomp.org>
Date: Tue, 12 Nov 2024 13:23:03 +0100
Subject: [PATCH 02/11] vgdb.c (fork_and_exec_valgrind): Fix off-by-one error
write
commit 646978d9adc5 ("vgdb: Handle EINTR and EAGAIN more
consistently") introduced an off-by-one issue trying to write back the
error from child to parent.
Instead of +1 it should have been +written (which initially is zero).
This is in an "should never happen" path, so hopefully didn't really
cause issues. But if it did happen the parent would have gotten the
wrong error code.
(cherry picked from commit f4fe5faf3d0f45b3824bbb9070232682df52a582)
---
coregrind/vgdb.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/coregrind/vgdb.c b/coregrind/vgdb.c
index 786ead160d34..112f23fe6ba1 100644
--- a/coregrind/vgdb.c
+++ b/coregrind/vgdb.c
@@ -1368,7 +1368,7 @@ int fork_and_exec_valgrind (int argc, char **argv, const char *working_dir,
// We try to write the result to the parent, but always exit.
size_t written = 0;
while (written < sizeof (int)) {
- ssize_t nrw = write (pipefd[1], ((char *) &err) + 1,
+ ssize_t nrw = write (pipefd[1], ((char *) &err) + written,
sizeof (int) - written);
if (nrw == -1) {
if (errno == EINTR || errno == EAGAIN)
--
2.47.0

View File

@ -1,36 +0,0 @@
From 8b08da73cf3d72439c4f750c96ed2f088ef1bbec Mon Sep 17 00:00:00 2001
From: Mark Wielaard <mark@klomp.org>
Date: Tue, 12 Nov 2024 13:34:09 +0100
Subject: [PATCH 03/11] vgdb.c (fork_and_exec_valgrind): Fix another off-by-one
error write
commit 646978d9adc5 ("vgdb: Handle EINTR and EAGAIN more
consistently") introduced another off-by-one issue trying to write
back the error from child to parent.
Instead of +1 it should have been +written (which initially is zero).
This is when the child needs to do a chdir and that chdir fails. If
that happens the parent would have gotten the wrong error code.
(cherry picked from commit 747ca4eb5fed5dd58a14391a997bb9e658e3b1c8)
---
coregrind/vgdb.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/coregrind/vgdb.c b/coregrind/vgdb.c
index 112f23fe6ba1..cc945c8dfafa 100644
--- a/coregrind/vgdb.c
+++ b/coregrind/vgdb.c
@@ -1289,7 +1289,7 @@ int fork_and_exec_valgrind (int argc, char **argv, const char *working_dir,
// We try to write the result to the parent, but always exit.
size_t written = 0;
while (written < sizeof (int)) {
- int nrw = write (pipefd[1], ((char *)&err) + 1,
+ int nrw = write (pipefd[1], ((char *)&err) + written,
sizeof (int) - written);
if (nrw == -1) {
if (errno == EINTR || errno == EAGAIN)
--
2.47.0

View File

@ -1,27 +0,0 @@
From 7e79bb6e6b80eb43138cbbb64737433f9e036cd4 Mon Sep 17 00:00:00 2001
From: Paul Floyd <pjfloyd@wanadoo.fr>
Date: Thu, 21 Nov 2024 08:44:04 +0100
Subject: [PATCH 04/11] regtest: add a fdleak filter for write on write on
linux arm64
(cherry picked from commit 9150b3c7cfad2fdbeb7cf707175c359ee12d8f75)
---
none/tests/filter_fdleak | 2 ++
1 file changed, 2 insertions(+)
diff --git a/none/tests/filter_fdleak b/none/tests/filter_fdleak
index d26937bccd38..72923aa730c8 100755
--- a/none/tests/filter_fdleak
+++ b/none/tests/filter_fdleak
@@ -19,6 +19,8 @@ perl -p -e 's/socket\.c:[1-9][0-9]*/in \/...libc.../' |
# arm systems substitute open for creat
perl -p -e 's/open \(open64\.c:[1-9][0-9]*\)/creat (in \/...libc...)/' |
perl -p -e "s/: open \(/: creat (/" |
+# arm64 write resolved to file:line with debuginfo
+perl -p -e "s/write\.c:[1-9][0-9]*/in \/...libc.../" |
# FreeBSD specific fdleak filters
perl -p -e 's/ _close / close /;s/ _openat / creat /;s/internet/AF_INET socket 4: 127.0.0.1:... <-> 127.0.0.1:.../' |
--
2.47.0

View File

@ -1,491 +0,0 @@
From ba15b8fe7d6fabfb73424a616de18a752a56430a Mon Sep 17 00:00:00 2001
From: Mark Wielaard <mark@klomp.org>
Date: Sat, 23 Nov 2024 21:28:13 +0100
Subject: [PATCH 05/11] Add exp and supp patterns for missing main frame for
ppc64le
In some cases on ppc64le we are missing the main frame.
Add alternative .exp-ppc64le variants for socket_close_xml,
fdleak_cmsg_xml and fdleak_ipv4_xml. And extra suppressions
without a main frame for fdleak_cmsg_supp.
See also commit 04d30049b "Filter away "main" differences in filter_fdleak"
(cherry picked from commit e6960c2e41b103ab8d393cbe13dc6473fb89bffc)
---
none/tests/fdleak_cmsg_supp.supp | 47 ++++++
none/tests/fdleak_cmsg_xml.stderr.exp-ppc64le | 147 ++++++++++++++++++
none/tests/fdleak_ipv4_xml.stderr.exp-ppc64le | 139 +++++++++++++++++
.../tests/socket_close_xml.stderr.exp-ppc64le | 98 ++++++++++++
4 files changed, 431 insertions(+)
create mode 100644 none/tests/fdleak_cmsg_xml.stderr.exp-ppc64le
create mode 100644 none/tests/fdleak_ipv4_xml.stderr.exp-ppc64le
create mode 100644 none/tests/socket_close_xml.stderr.exp-ppc64le
diff --git a/none/tests/fdleak_cmsg_supp.supp b/none/tests/fdleak_cmsg_supp.supp
index 92fbacabdb78..a169fd888bcc 100644
--- a/none/tests/fdleak_cmsg_supp.supp
+++ b/none/tests/fdleak_cmsg_supp.supp
@@ -12,6 +12,13 @@
fun:server
fun:main
}
+{
+ sup2-ppc64le
+ CoreError:FdNotClosed
+ fun:socket
+ fun:server
+ #fun:main
+}
{
sup3
CoreError:FdNotClosed
@@ -42,3 +49,43 @@
fun:client
fun:main
}
+{
+ sup6-ppc64le
+ CoreError:FdNotClosed
+ fun:socket
+ fun:client
+ #fun:main
+}
+{
+ sup7
+ CoreError:FdNotClosed
+ fun:_so_socket
+ fun:__xnet_socket
+ fun:client
+ fun:main
+}
+{
+ sup8
+ CoreError:FdNotClosed
+ fun:__so_recvmsg
+ fun:__xnet_recvmsg
+ fun:client
+ fun:main
+}
+{
+ sup9
+ CoreError:FdNotClosed
+ fun:_so_socket
+ fun:__xnet_socket
+ fun:server
+ fun:main
+}
+{
+ sup10
+ CoreError:FdNotClosed
+ fun:__so_accept
+ fun:accept
+ fun:server
+ fun:main
+}
+
diff --git a/none/tests/fdleak_cmsg_xml.stderr.exp-ppc64le b/none/tests/fdleak_cmsg_xml.stderr.exp-ppc64le
new file mode 100644
index 000000000000..6294094eb92e
--- /dev/null
+++ b/none/tests/fdleak_cmsg_xml.stderr.exp-ppc64le
@@ -0,0 +1,147 @@
+<?xml version="1.0"?>
+
+<valgrindoutput>
+
+<protocolversion>5</protocolversion>
+<protocoltool>none</protocoltool>
+
+<preamble>
+ <line>Nulgrind, the minimal Valgrind tool</line>
+ <line>Copyright...</line>
+ <line>Using Valgrind...</line>
+ <line>Command: ./fdleak_cmsg</line>
+</preamble>
+
+<pid>...</pid>
+<ppid>...</ppid>
+<tool>none</tool>
+
+<args>
+ <vargv>
+ <exe>...</exe>
+ <arg>--command-line-only=yes</arg>
+ <arg>--memcheck:leak-check=no</arg>
+ <arg>--tool=none</arg>
+ <arg>--track-fds=all</arg>
+ <arg>--xml=yes</arg>
+ <arg>--xml-fd=2</arg>
+ <arg>--child-silent-after-fork=yes</arg>
+ </vargv>
+ <argv>
+ <exe>...</exe>
+ </argv>
+</args>
+
+<status>
+ <state>RUNNING</state>
+ <time>...</time>
+</status>
+
+
+<status>
+ <state>FINISHED</state>
+ <time>...</time>
+</status>
+
+<error>
+ <unique>0x........</unique>
+ <tid>...</tid>
+ <kind>FdNotClosed</kind>
+ <fd>5</fd>
+ <path>...</path>
+ <what>...</what>
+ <stack>
+ <frame>
+ <ip>0x........</ip>
+ <obj>...</obj>
+ <fn>client</fn>
+ <dir>...</dir>
+ <file>fdleak_cmsg.c</file>
+ <line>133</line>
+ </frame>
+ <frame>
+ <ip>0x........</ip>
+ <obj>...</obj>
+ <fn>main</fn>
+ <dir>...</dir>
+ <file>fdleak_cmsg.c</file>
+ <line>174</line>
+ </frame>
+ </stack>
+</error>
+
+<error>
+ <unique>0x........</unique>
+ <tid>...</tid>
+ <kind>FdNotClosed</kind>
+ <fd>4</fd>
+ <path>...</path>
+ <what>...</what>
+ <stack>
+ <frame>
+ <ip>0x........</ip>
+ <obj>...</obj>
+ <fn>client</fn>
+ <dir>...</dir>
+ <file>fdleak_cmsg.c</file>
+ <line>133</line>
+ </frame>
+ <frame>
+ <ip>0x........</ip>
+ <obj>...</obj>
+ <fn>main</fn>
+ <dir>...</dir>
+ <file>fdleak_cmsg.c</file>
+ <line>174</line>
+ </frame>
+ </stack>
+</error>
+
+<error>
+ <unique>0x........</unique>
+ <tid>...</tid>
+ <kind>FdNotClosed</kind>
+ <fd>3</fd>
+ <what>...</what>
+ <stack>
+ <frame>
+ <ip>0x........</ip>
+ <obj>...</obj>
+ <fn>client</fn>
+ <dir>...</dir>
+ <file>fdleak_cmsg.c</file>
+ <line>112</line>
+ </frame>
+ </stack>
+</error>
+
+<error>
+ <unique>0x........</unique>
+ <tid>...</tid>
+ <kind>FdNotClosed</kind>
+ <fd>2</fd>
+ <path>...</path>
+ <what>...</what>
+</error>
+
+<error>
+ <unique>0x........</unique>
+ <tid>...</tid>
+ <kind>FdNotClosed</kind>
+ <fd>1</fd>
+ <path>...</path>
+ <what>...</what>
+</error>
+
+<error>
+ <unique>0x........</unique>
+ <tid>...</tid>
+ <kind>FdNotClosed</kind>
+ <fd>0</fd>
+ <path>...</path>
+ <what>...</what>
+</error>
+
+
+</valgrindoutput>
+
diff --git a/none/tests/fdleak_ipv4_xml.stderr.exp-ppc64le b/none/tests/fdleak_ipv4_xml.stderr.exp-ppc64le
new file mode 100644
index 000000000000..df413b62895c
--- /dev/null
+++ b/none/tests/fdleak_ipv4_xml.stderr.exp-ppc64le
@@ -0,0 +1,139 @@
+<?xml version="1.0"?>
+
+<valgrindoutput>
+
+<protocolversion>5</protocolversion>
+<protocoltool>none</protocoltool>
+
+<preamble>
+ <line>Nulgrind, the minimal Valgrind tool</line>
+ <line>Copyright...</line>
+ <line>Using Valgrind...</line>
+ <line>Command: ./fdleak_ipv4</line>
+</preamble>
+
+<pid>...</pid>
+<ppid>...</ppid>
+<tool>none</tool>
+
+<args>
+ <vargv>
+ <exe>...</exe>
+ <arg>--command-line-only=yes</arg>
+ <arg>--memcheck:leak-check=no</arg>
+ <arg>--tool=none</arg>
+ <arg>--track-fds=yes</arg>
+ <arg>--xml=yes</arg>
+ <arg>--xml-fd=2</arg>
+ <arg>--child-silent-after-fork=yes</arg>
+ </vargv>
+ <argv>
+ <exe>...</exe>
+ </argv>
+</args>
+
+<status>
+ <state>RUNNING</state>
+ <time>...</time>
+</status>
+
+<error>
+ <unique>0x........</unique>
+ <tid>...</tid>
+ <kind>FdBadClose</kind>
+ <fd>4</fd>
+ <what>...</what>
+ <stack>
+ <frame>
+ <ip>0x........</ip>
+ <obj>...</obj>
+ <fn>client</fn>
+ <dir>...</dir>
+ <file>fdleak_ipv4.c</file>
+ <line>70</line>
+ </frame>
+ <frame>
+ <ip>0x........</ip>
+ <obj>...</obj>
+ <fn>main</fn>
+ <dir>...</dir>
+ <file>fdleak_ipv4.c</file>
+ <line>90</line>
+ </frame>
+ </stack>
+ <auxwhat>Previously closed</auxwhat>
+ <stack>
+ <frame>
+ <ip>0x........</ip>
+ <obj>...</obj>
+ <fn>client</fn>
+ <dir>...</dir>
+ <file>fdleak_ipv4.c</file>
+ <line>69</line>
+ </frame>
+ <frame>
+ <ip>0x........</ip>
+ <obj>...</obj>
+ <fn>main</fn>
+ <dir>...</dir>
+ <file>fdleak_ipv4.c</file>
+ <line>90</line>
+ </frame>
+ </stack>
+ <auxwhat>Originally opened</auxwhat>
+ <stack>
+ <frame>
+ <ip>0x........</ip>
+ <obj>...</obj>
+ <fn>client</fn>
+ <dir>...</dir>
+ <file>fdleak_ipv4.c</file>
+ <line>68</line>
+ </frame>
+ <frame>
+ <ip>0x........</ip>
+ <obj>...</obj>
+ <fn>main</fn>
+ <dir>...</dir>
+ <file>fdleak_ipv4.c</file>
+ <line>90</line>
+ </frame>
+ </stack>
+</error>
+
+
+<status>
+ <state>FINISHED</state>
+ <time>...</time>
+</status>
+
+<error>
+ <unique>0x........</unique>
+ <tid>...</tid>
+ <kind>FdNotClosed</kind>
+ <fd>3</fd>
+ <what>...</what>
+ <stack>
+ <frame>
+ <ip>0x........</ip>
+ <obj>...</obj>
+ <fn>client</fn>
+ <dir>...</dir>
+ <file>fdleak_ipv4.c</file>
+ <line>51</line>
+ </frame>
+ </stack>
+</error>
+
+<errorcounts>
+ <pair>
+ <count>1</count>
+ <unique>0x........</unique>
+ </pair>
+</errorcounts>
+
+<suppcounts>
+</suppcounts>
+
+</valgrindoutput>
+
diff --git a/none/tests/socket_close_xml.stderr.exp-ppc64le b/none/tests/socket_close_xml.stderr.exp-ppc64le
new file mode 100644
index 000000000000..2f2bc9831e79
--- /dev/null
+++ b/none/tests/socket_close_xml.stderr.exp-ppc64le
@@ -0,0 +1,98 @@
+<?xml version="1.0"?>
+
+<valgrindoutput>
+
+<protocolversion>5</protocolversion>
+<protocoltool>none</protocoltool>
+
+<preamble>
+ <line>Nulgrind, the minimal Valgrind tool</line>
+ <line>Copyright...</line>
+ <line>Using Valgrind...</line>
+ <line>Command: ./socket_close</line>
+</preamble>
+
+<pid>...</pid>
+<ppid>...</ppid>
+<tool>none</tool>
+
+<args>
+ <vargv>
+ <exe>...</exe>
+ <arg>--command-line-only=yes</arg>
+ <arg>--memcheck:leak-check=no</arg>
+ <arg>--tool=none</arg>
+ <arg>-q</arg>
+ <arg>--track-fds=yes</arg>
+ <arg>--xml=yes</arg>
+ <arg>--xml-fd=2</arg>
+ </vargv>
+ <argv>
+ <exe>...</exe>
+ </argv>
+</args>
+
+<status>
+ <state>RUNNING</state>
+ <time>...</time>
+</status>
+
+Open socket 3
+close socket_fd 3
+and close the socket again 3
+<error>
+ <unique>0x........</unique>
+ <tid>...</tid>
+ <kind>FdBadClose</kind>
+ <fd>3</fd>
+ <what>...</what>
+ <stack>
+ <frame>
+ <ip>0x........</ip>
+ <obj>...</obj>
+ <fn>main</fn>
+ <dir>...</dir>
+ <file>socket_close.c</file>
+ <line>40</line>
+ </frame>
+ </stack>
+ <auxwhat>Previously closed</auxwhat>
+ <stack>
+ <frame>
+ <ip>0x........</ip>
+ <obj>...</obj>
+ <fn>main</fn>
+ <dir>...</dir>
+ <file>socket_close.c</file>
+ <line>36</line>
+ </frame>
+ </stack>
+ <auxwhat>Originally opened</auxwhat>
+ <stack>
+ <frame>
+ <ip>0x........</ip>
+ <obj>...</obj>
+ <fn>open_socket</fn>
+ <dir>...</dir>
+ <file>socket_close.c</file>
+ <line>17</line>
+ </frame>
+ </stack>
+</error>
+
+
+<status>
+ <state>FINISHED</state>
+ <time>...</time>
+</status>
+
+<errorcounts>
+ <pair>
+ <count>1</count>
+ <unique>0x........</unique>
+ </pair>
+</errorcounts>
+
+
+</valgrindoutput>
+
--
2.47.0

View File

@ -1,41 +0,0 @@
From 42f196574aebea451c7e4138b476e042ba302745 Mon Sep 17 00:00:00 2001
From: Paul Floyd <pjfloyd@wanadoo.fr>
Date: Sun, 24 Nov 2024 08:10:51 +0100
Subject: [PATCH 06/11] Add additional exp-ppc64le files to EXTRA_DIST
(cherry picked from commit 7241959ebb88a588eebe5a9fd35d1642db71474b)
---
none/tests/Makefile.am | 3 +++
1 file changed, 3 insertions(+)
diff --git a/none/tests/Makefile.am b/none/tests/Makefile.am
index 59be79e57920..53a6e1f6bc95 100644
--- a/none/tests/Makefile.am
+++ b/none/tests/Makefile.am
@@ -135,6 +135,7 @@ EXTRA_DIST = \
faultstatus.vgtest faultstatus.stderr.exp faultstatus.stderr.exp-s390x \
fcntl_setown.vgtest fcntl_setown.stdout.exp fcntl_setown.stderr.exp \
fdleak_cmsg.stderr.exp fdleak_cmsg.vgtest \
+ fdleak_cmsg_xml.stderr.exp-ppc64le \
fdleak_cmsg_xml.stderr.exp fdleak_cmsg_xml.vgtest \
fdleak_cmsg_supp.stderr.exp fdleak_cmsg_supp.supp \
fdleak_cmsg_supp.vgtest \
@@ -149,6 +150,7 @@ EXTRA_DIST = \
fdleak_fcntl.stderr.exp fdleak_fcntl.vgtest \
fdleak_fcntl_xml.stderr.exp fdleak_fcntl_xml.vgtest \
fdleak_ipv4.stderr.exp fdleak_ipv4.stdout.exp fdleak_ipv4.vgtest \
+ fdleak_ipv4_xml.stderr.exp-ppc64le \
fdleak_ipv4_xml.stderr.exp fdleak_ipv4_xml.stdout.exp \
fdleak_ipv4_xml.vgtest fdleak_ipv4_xml.stderr.exp-nomain \
fdleak_open.stderr.exp fdleak_open.vgtest \
@@ -248,6 +250,7 @@ EXTRA_DIST = \
process_vm_readv_writev.stderr.exp process_vm_readv_writev.vgtest \
sigprocmask.stderr.exp sigprocmask.vgtest \
socket_close.stderr.exp socket_close.vgtest \
+ socket_close_xml.stderr.exp-ppc64le \
socket_close_xml.stderr.exp socket_close_xml.vgtest \
file_dclose.stderr.exp file_dclose.vgtest \
file_dclose_xml.stderr.exp file_dclose_xml.vgtest \
--
2.47.0

View File

@ -1,358 +0,0 @@
From 3d72dd780be97bd19331403da60908f295712fc7 Mon Sep 17 00:00:00 2001
From: Peter Seiderer <ps.report@gmx.net>
Date: Mon, 8 Jul 2024 11:05:47 +0200
Subject: [PATCH 07/11] Add support for landlock_create_ruleset (444),
landlock_add_rule (445) and landlock_restrict_self (446) syscalls
- add support for landlock_create_ruleset (444) syscall
- add support for landlock_add_rule (445) syscall
- add support for landlock_restrict_self (446) syscall
https://bugs.kde.org/show_bug.cgi?id=489913
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
(cherry picked from commit b1453546fe7396e7d4b4b2fc8ec7e64b71d18611)
---
NEWS | 2 +
coregrind/m_syswrap/priv_syswrap-linux.h | 5 ++
coregrind/m_syswrap/syswrap-amd64-linux.c | 4 ++
coregrind/m_syswrap/syswrap-arm-linux.c | 4 ++
coregrind/m_syswrap/syswrap-arm64-linux.c | 4 ++
coregrind/m_syswrap/syswrap-linux.c | 48 ++++++++++++++++++++
coregrind/m_syswrap/syswrap-mips32-linux.c | 4 ++
coregrind/m_syswrap/syswrap-mips64-linux.c | 5 +-
coregrind/m_syswrap/syswrap-nanomips-linux.c | 3 ++
coregrind/m_syswrap/syswrap-ppc32-linux.c | 4 ++
coregrind/m_syswrap/syswrap-ppc64-linux.c | 4 ++
coregrind/m_syswrap/syswrap-s390x-linux.c | 4 ++
coregrind/m_syswrap/syswrap-x86-linux.c | 4 ++
include/Makefile.am | 3 +-
include/pub_tool_vki.h | 1 +
include/vki/vki-linux-landlock.h | 37 +++++++++++++++
include/vki/vki-scnums-shared-linux.h | 4 ++
17 files changed, 138 insertions(+), 2 deletions(-)
create mode 100644 include/vki/vki-linux-landlock.h
diff --git a/NEWS b/NEWS
index 8362e1d2df41..68cd0c6fa603 100644
--- a/NEWS
+++ b/NEWS
@@ -5,6 +5,8 @@ Branch 3.24
The following bugs have been fixed or resolved on this branch.
+489913 WARNING: unhandled amd64-linux syscall: 444 (landlock_create_ruleset)
+
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/coregrind/m_syswrap/priv_syswrap-linux.h b/coregrind/m_syswrap/priv_syswrap-linux.h
index d50cdcc981b9..221439a0ec33 100644
--- a/coregrind/m_syswrap/priv_syswrap-linux.h
+++ b/coregrind/m_syswrap/priv_syswrap-linux.h
@@ -328,6 +328,11 @@ DECL_TEMPLATE(linux, sys_pidfd_open);
DECL_TEMPLATE(linux, sys_close_range);
DECL_TEMPLATE(linux, sys_openat2);
+// Linux-specific (new in Linux 5.13)
+DECL_TEMPLATE(linux, sys_landlock_create_ruleset)
+DECL_TEMPLATE(linux, sys_landlock_add_rule)
+DECL_TEMPLATE(linux, sys_landlock_restrict_self)
+
// Linux-specific (new in Linux 5.14)
DECL_TEMPLATE(linux, sys_memfd_secret);
diff --git a/coregrind/m_syswrap/syswrap-amd64-linux.c b/coregrind/m_syswrap/syswrap-amd64-linux.c
index 2230baf772b0..9488d3090e80 100644
--- a/coregrind/m_syswrap/syswrap-amd64-linux.c
+++ b/coregrind/m_syswrap/syswrap-amd64-linux.c
@@ -887,6 +887,10 @@ static SyscallTableEntry syscall_table[] = {
LINXY(__NR_epoll_pwait2, sys_epoll_pwait2), // 441
+ LINXY(__NR_landlock_create_ruleset, sys_landlock_create_ruleset), // 444
+ LINX_(__NR_landlock_add_rule, sys_landlock_add_rule), // 445
+ LINX_(__NR_landlock_restrict_self, sys_landlock_restrict_self), // 446
+
LINXY(__NR_memfd_secret, sys_memfd_secret), // 447
LINX_(__NR_fchmodat2, sys_fchmodat2), // 452
diff --git a/coregrind/m_syswrap/syswrap-arm-linux.c b/coregrind/m_syswrap/syswrap-arm-linux.c
index d326fdb9eeda..65f64af99bb7 100644
--- a/coregrind/m_syswrap/syswrap-arm-linux.c
+++ b/coregrind/m_syswrap/syswrap-arm-linux.c
@@ -1062,6 +1062,10 @@ static SyscallTableEntry syscall_main_table[] = {
LINXY(__NR_epoll_pwait2, sys_epoll_pwait2), // 441
+ LINXY(__NR_landlock_create_ruleset, sys_landlock_create_ruleset), // 444
+ LINX_(__NR_landlock_add_rule, sys_landlock_add_rule), // 445
+ LINX_(__NR_landlock_restrict_self, sys_landlock_restrict_self), // 446
+
LINX_(__NR_fchmodat2, sys_fchmodat2), // 452
};
diff --git a/coregrind/m_syswrap/syswrap-arm64-linux.c b/coregrind/m_syswrap/syswrap-arm64-linux.c
index 05e0e421fa6c..151ae0640b10 100644
--- a/coregrind/m_syswrap/syswrap-arm64-linux.c
+++ b/coregrind/m_syswrap/syswrap-arm64-linux.c
@@ -840,6 +840,10 @@ static SyscallTableEntry syscall_main_table[] = {
LINXY(__NR_epoll_pwait2, sys_epoll_pwait2), // 441
+ LINXY(__NR_landlock_create_ruleset, sys_landlock_create_ruleset), // 444
+ LINX_(__NR_landlock_add_rule, sys_landlock_add_rule), // 445
+ LINX_(__NR_landlock_restrict_self, sys_landlock_restrict_self), // 446
+
LINXY(__NR_memfd_secret, sys_memfd_secret), // 447
LINX_(__NR_fchmodat2, sys_fchmodat2), // 452
diff --git a/coregrind/m_syswrap/syswrap-linux.c b/coregrind/m_syswrap/syswrap-linux.c
index eec8388224ba..70ae837a9454 100644
--- a/coregrind/m_syswrap/syswrap-linux.c
+++ b/coregrind/m_syswrap/syswrap-linux.c
@@ -4163,6 +4163,54 @@ POST(sys_memfd_create)
}
}
+PRE(sys_landlock_create_ruleset)
+{
+ PRINT("sys_landlock_create_ruleset ( %#" FMT_REGWORD "x, %lu, %lu )",
+ ARG1, ARG2, ARG3);
+ PRE_REG_READ3(long, "landlock_create_ruleset",
+ const struct vki_landlock_ruleset_attr*, attr,
+ vki_size_t, size, vki_uint32_t, flags);
+ PRE_MEM_READ( "landlock_create_ruleset(value)", ARG1, ARG2 );
+
+ /* XXX Alternatively we could always fail with EOPNOTSUPP
+ since the rules might interfere with valgrind itself. */
+}
+
+POST(sys_landlock_create_ruleset)
+{
+ /* Returns either the abi version or a file descriptor. */
+ if (ARG3 != VKI_LANDLOCK_CREATE_RULESET_VERSION) {
+ if (!ML_(fd_allowed)(RES, "landlock_create_ruleset", tid, True)) {
+ VG_(close)(RES);
+ SET_STATUS_Failure( VKI_EMFILE );
+ } else {
+ if (VG_(clo_track_fds))
+ ML_(record_fd_open_nameless)(tid, RES);
+ }
+ }
+}
+
+PRE(sys_landlock_add_rule)
+{
+ PRINT("sys_landlock_add_rule ( %ld, %lu, %#" FMT_REGWORD "x, %lu )",
+ SARG1, ARG2, ARG3, ARG4);
+ PRE_REG_READ4(long, "landlock_add_rule",
+ int, ruleset_fd, enum vki_landlock_rule_type, rule_type,
+ const void*, rule_attr, vki_uint32_t, flags);
+ if (!ML_(fd_allowed)(ARG1, "landlock_add_rule", tid, False))
+ SET_STATUS_Failure(VKI_EBADF);
+ /* XXX Depending on rule_type we should also check the given rule_attr. */
+}
+
+PRE(sys_landlock_restrict_self)
+{
+ PRINT("sys_landlock_restrict_self ( %ld, %lu )", SARG1, ARG2);
+ PRE_REG_READ2(long, "landlock_create_ruleset",
+ int, ruleset_fd, vki_uint32_t, flags);
+ if (!ML_(fd_allowed)(ARG1, "landlock_restrict_self", tid, False))
+ SET_STATUS_Failure(VKI_EBADF);
+}
+
PRE(sys_memfd_secret)
{
PRINT("sys_memfd_secret ( %#" FMT_REGWORD "x )", ARG1);
diff --git a/coregrind/m_syswrap/syswrap-mips32-linux.c b/coregrind/m_syswrap/syswrap-mips32-linux.c
index 421344213676..757b637ba986 100644
--- a/coregrind/m_syswrap/syswrap-mips32-linux.c
+++ b/coregrind/m_syswrap/syswrap-mips32-linux.c
@@ -1147,6 +1147,10 @@ static SyscallTableEntry syscall_main_table[] = {
LINXY(__NR_epoll_pwait2, sys_epoll_pwait2), // 441
+ LINXY(__NR_landlock_create_ruleset, sys_landlock_create_ruleset), // 444
+ LINX_(__NR_landlock_add_rule, sys_landlock_add_rule), // 445
+ LINX_(__NR_landlock_restrict_self, sys_landlock_restrict_self), // 446
+
LINX_(__NR_fchmodat2, sys_fchmodat2), // 452
};
diff --git a/coregrind/m_syswrap/syswrap-mips64-linux.c b/coregrind/m_syswrap/syswrap-mips64-linux.c
index e9bb5c54c59c..f0c5f7e04f4e 100644
--- a/coregrind/m_syswrap/syswrap-mips64-linux.c
+++ b/coregrind/m_syswrap/syswrap-mips64-linux.c
@@ -824,7 +824,10 @@ static SyscallTableEntry syscall_main_table[] = {
LINXY (__NR_openat2, sys_openat2),
LINXY (__NR_pidfd_getfd, sys_pidfd_getfd),
LINX_ (__NR_faccessat2, sys_faccessat2),
- LINXY(__NR_epoll_pwait2, sys_epoll_pwait2),
+ LINXY (__NR_epoll_pwait2, sys_epoll_pwait2),
+ LINXY (__NR_landlock_create_ruleset, sys_landlock_create_ruleset),
+ LINX_ (__NR_landlock_add_rule, sys_landlock_add_rule),
+ LINX_ (__NR_landlock_restrict_self, sys_landlock_restrict_self),
LINX_ (__NR_fchmodat2, sys_fchmodat2),
};
diff --git a/coregrind/m_syswrap/syswrap-nanomips-linux.c b/coregrind/m_syswrap/syswrap-nanomips-linux.c
index 36a5c0ca002d..f466aca147e0 100644
--- a/coregrind/m_syswrap/syswrap-nanomips-linux.c
+++ b/coregrind/m_syswrap/syswrap-nanomips-linux.c
@@ -831,6 +831,9 @@ static SyscallTableEntry syscall_main_table[] = {
LINXY(__NR_pidfd_getfd, sys_pidfd_getfd),
LINX_ (__NR_faccessat2, sys_faccessat2),
LINXY (__NR_epoll_pwait2, sys_epoll_pwait2),
+ LINXY (__NR_landlock_create_ruleset,sys_landlock_create_ruleset),
+ LINX_ (__NR_landlock_add_rule, sys_landlock_add_rule),
+ LINX_ (__NR_landlock_restrict_self, sys_landlock_restrict_self),
LINX_ (__NR_fchmodat2, sys_fchmodat2),
};
diff --git a/coregrind/m_syswrap/syswrap-ppc32-linux.c b/coregrind/m_syswrap/syswrap-ppc32-linux.c
index f7a90c753060..634f288ce0d1 100644
--- a/coregrind/m_syswrap/syswrap-ppc32-linux.c
+++ b/coregrind/m_syswrap/syswrap-ppc32-linux.c
@@ -1069,6 +1069,10 @@ static SyscallTableEntry syscall_table[] = {
LINXY (__NR_epoll_pwait2, sys_epoll_pwait2), // 441
+ LINXY(__NR_landlock_create_ruleset, sys_landlock_create_ruleset), // 444
+ LINX_(__NR_landlock_add_rule, sys_landlock_add_rule), // 445
+ LINX_(__NR_landlock_restrict_self, sys_landlock_restrict_self), // 446
+
LINX_ (__NR_fchmodat2, sys_fchmodat2), // 452
};
diff --git a/coregrind/m_syswrap/syswrap-ppc64-linux.c b/coregrind/m_syswrap/syswrap-ppc64-linux.c
index 8de95624fa7c..2c2def330ad7 100644
--- a/coregrind/m_syswrap/syswrap-ppc64-linux.c
+++ b/coregrind/m_syswrap/syswrap-ppc64-linux.c
@@ -1035,6 +1035,10 @@ static SyscallTableEntry syscall_table[] = {
LINXY (__NR_epoll_pwait2, sys_epoll_pwait2), // 441
+ LINXY(__NR_landlock_create_ruleset, sys_landlock_create_ruleset), // 444
+ LINX_(__NR_landlock_add_rule, sys_landlock_add_rule), // 445
+ LINX_(__NR_landlock_restrict_self, sys_landlock_restrict_self), // 446
+
LINX_ (__NR_fchmodat2, sys_fchmodat2), // 452
};
diff --git a/coregrind/m_syswrap/syswrap-s390x-linux.c b/coregrind/m_syswrap/syswrap-s390x-linux.c
index 8a1be8cbef54..ca571f0f1a7c 100644
--- a/coregrind/m_syswrap/syswrap-s390x-linux.c
+++ b/coregrind/m_syswrap/syswrap-s390x-linux.c
@@ -875,6 +875,10 @@ static SyscallTableEntry syscall_table[] = {
LINXY(__NR_epoll_pwait2, sys_epoll_pwait2), // 441
+ LINXY(__NR_landlock_create_ruleset, sys_landlock_create_ruleset), // 444
+ LINX_(__NR_landlock_add_rule, sys_landlock_add_rule), // 445
+ LINX_(__NR_landlock_restrict_self, sys_landlock_restrict_self), // 446
+
LINXY(__NR_memfd_secret, sys_memfd_secret), // 447
LINX_ (__NR_fchmodat2, sys_fchmodat2), // 452
diff --git a/coregrind/m_syswrap/syswrap-x86-linux.c b/coregrind/m_syswrap/syswrap-x86-linux.c
index 31243a0db373..a23743743abe 100644
--- a/coregrind/m_syswrap/syswrap-x86-linux.c
+++ b/coregrind/m_syswrap/syswrap-x86-linux.c
@@ -1656,6 +1656,10 @@ static SyscallTableEntry syscall_table[] = {
LINXY(__NR_epoll_pwait2, sys_epoll_pwait2), // 441
+ LINXY(__NR_landlock_create_ruleset, sys_landlock_create_ruleset), // 444
+ LINX_(__NR_landlock_add_rule, sys_landlock_add_rule), // 445
+ LINX_(__NR_landlock_restrict_self, sys_landlock_restrict_self), // 446
+
LINXY(__NR_memfd_secret, sys_memfd_secret), // 447
LINX_(__NR_fchmodat2, sys_fchmodat2), // 452
diff --git a/include/Makefile.am b/include/Makefile.am
index 8012d73749b3..5d5162a46eb6 100644
--- a/include/Makefile.am
+++ b/include/Makefile.am
@@ -107,4 +107,5 @@ nobase_pkginclude_HEADERS = \
vki/vki-xen-xsm.h \
vki/vki-xen-x86.h \
vki/vki-linux-drm.h \
- vki/vki-linux-io_uring.h
+ vki/vki-linux-io_uring.h \
+ vki/vki-linux-landlock.h
diff --git a/include/pub_tool_vki.h b/include/pub_tool_vki.h
index 24f99cc09f16..7b6e71e11eb4 100644
--- a/include/pub_tool_vki.h
+++ b/include/pub_tool_vki.h
@@ -47,6 +47,7 @@
# include "vki/vki-linux.h"
# include "vki/vki-linux-drm.h"
# include "vki/vki-linux-io_uring.h"
+# include "vki/vki-linux-landlock.h"
#elif defined(VGO_darwin)
# include "vki/vki-darwin.h"
#elif defined(VGO_solaris)
diff --git a/include/vki/vki-linux-landlock.h b/include/vki/vki-linux-landlock.h
new file mode 100644
index 000000000000..e549ae93eff9
--- /dev/null
+++ b/include/vki/vki-linux-landlock.h
@@ -0,0 +1,37 @@
+/*
+ This file is part of Valgrind, a dynamic binary instrumentation framework.
+
+ Copyright (C) 2024 Peter Seiderer <ps.report@gmx.net>
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public License as
+ published by the Free Software Foundation; either version 2 of the
+ License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, see <http://www.gnu.org/licenses/>.
+
+ The GNU General Public License is contained in the file COPYING.
+*/
+#ifndef __VKI_LANDLOCK_H
+#define __VKI_LANDLOCK_H
+
+// Derived from linux-6.9.7/include/uapi/linux/landlock.h
+struct vki_landlock_ruleset_attr {
+ __vki_u64 handled_access_fs;
+ __vki_u64 handled_access_net;
+};
+
+enum vki_landlock_rule_type {
+ VKI_LANDLOCK_RULE_PATH_BENEATH = 1,
+ VKI_LANDLOCK_RULE_NET_PORT,
+};
+
+#define VKI_LANDLOCK_CREATE_RULESET_VERSION 1
+
+#endif
diff --git a/include/vki/vki-scnums-shared-linux.h b/include/vki/vki-scnums-shared-linux.h
index 068a2cd12bd6..20346ca71678 100644
--- a/include/vki/vki-scnums-shared-linux.h
+++ b/include/vki/vki-scnums-shared-linux.h
@@ -48,6 +48,10 @@
#define __NR_epoll_pwait2 441
+#define __NR_landlock_create_ruleset 444
+#define __NR_landlock_add_rule 445
+#define __NR_landlock_restrict_self 446
+
#define __NR_memfd_secret 447
#define __NR_fchmodat2 452
--
2.47.0

View File

@ -1,35 +0,0 @@
From 459fa5b82df0d07cf871fc7359a060410052b82e Mon Sep 17 00:00:00 2001
From: Mark Wielaard <mark@klomp.org>
Date: Sat, 23 Nov 2024 22:37:14 +0100
Subject: [PATCH 08/11] helgrind/tests/tc17_sembar.c: Remove bool typedef
Since C23 bool is a keyword. Also bool wasn't actually used.
tc17_sembar.c:45:14: error: both 'long' and '_Bool' in declaration specifiers
45 | typedef long bool;
| ^~~~
tc17_sembar.c:45:1: warning: useless type name in empty declaration
45 | typedef long bool;
| ^~~~~~~
(cherry picked from commit 932bf2c027579c8d933b57ed80bb5842b390bdb3)
---
helgrind/tests/tc17_sembar.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/helgrind/tests/tc17_sembar.c b/helgrind/tests/tc17_sembar.c
index 36412a07e206..ee40160b082d 100644
--- a/helgrind/tests/tc17_sembar.c
+++ b/helgrind/tests/tc17_sembar.c
@@ -42,7 +42,7 @@ typedef struct
sem_t* xxx;
} gomp_barrier_t;
-typedef long bool;
+
void
gomp_barrier_init (gomp_barrier_t *bar, unsigned count)
--
2.47.0

View File

@ -1,38 +0,0 @@
From c08e155fdf6641a569053b3a70c52bfae09dd34c Mon Sep 17 00:00:00 2001
From: Mark Wielaard <mark@klomp.org>
Date: Sat, 23 Nov 2024 22:48:03 +0100
Subject: [PATCH 09/11] drd/tests/swapcontext.c: Rename typedef struct
thread_local to threadlocal
Since C23 thread_local is a keyword (thread storage duration).
swapcontext.c:23:16: error: expected '{' before 'thread_local'
23 | typedef struct thread_local {
| ^~~~~~~~~~~~
swapcontext.c:23:16: warning: 'thread_local' is not at beginning of declaration [-Wold-style-declaration]
swapcontext.c:23:16: error: 'thread_local' used with 'typedef'
swapcontext.c:26:3: warning: data definition has no type or storage class
26 | } thread_local_t;
| ^~~~~~~~~~~~~~
(cherry picked from commit 907b985725805f1537396a6d76539bf490cc6c7e)
---
drd/tests/swapcontext.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drd/tests/swapcontext.c b/drd/tests/swapcontext.c
index 2cb969a5eafa..ec191968cab1 100644
--- a/drd/tests/swapcontext.c
+++ b/drd/tests/swapcontext.c
@@ -20,7 +20,7 @@
#define STACKSIZE (PTHREAD_STACK_MIN + 4096)
-typedef struct thread_local {
+typedef struct threadlocal {
ucontext_t uc[3];
size_t nrsw;
} thread_local_t;
--
2.47.0

View File

@ -1,34 +0,0 @@
From 53d667789d369042b1fe45f72102ecb5c16e5d12 Mon Sep 17 00:00:00 2001
From: Mark Wielaard <mark@klomp.org>
Date: Sat, 23 Nov 2024 22:59:21 +0100
Subject: [PATCH 10/11] none/tests/bug234814.c: sa_handler take an int as
argument
GCC15 will turn this warning into an error:
bug234814.c: In function 'main':
bug234814.c:20:18: error: assignment to '__sighandler_t' {aka 'void (*)(int)'} from incompatible pointer type 'void (*)(void)' [-Wincompatible-pointer-types]
20 | sa.sa_handler = mysigbus;
| ^
(cherry picked from commit 8f6cef269b91739f6a2e7f3b4b1e0a429db3e748)
---
none/tests/bug234814.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/none/tests/bug234814.c b/none/tests/bug234814.c
index 16b561fde6b0..11e0f6779162 100644
--- a/none/tests/bug234814.c
+++ b/none/tests/bug234814.c
@@ -9,7 +9,7 @@ const char kSigbus[] = "I caught the SIGBUS signal!\n";
int GLOB = 3;
-void mysigbus() {
+void mysigbus(int signum) {
write(1, kSigbus, sizeof(kSigbus)-1);
GLOB--;
return;
--
2.47.0

View File

@ -1,398 +0,0 @@
From 349b57d3a8c8d2df23128d4b03eca91b629629e1 Mon Sep 17 00:00:00 2001
From: Mark Wielaard <mark@klomp.org>
Date: Tue, 26 Nov 2024 19:00:34 +0100
Subject: [PATCH 11/11] Add open_tree, move_mount, fsopen, fsconfig, fsmount,
fspick linux syswraps
Shared linux syscalls implementing various file system mount tasks.
Since linux kernel version 5.2.
Check arguments and track file descriptors.
https://bugs.kde.org/show_bug.cgi?id=494246
(cherry picked from commit 4044bcea0427853fc44a3d02a0fc0b2a81935452)
---
NEWS | 1 +
coregrind/m_syswrap/priv_syswrap-linux.h | 8 +
coregrind/m_syswrap/syswrap-amd64-linux.c | 6 +
coregrind/m_syswrap/syswrap-arm-linux.c | 7 +-
coregrind/m_syswrap/syswrap-arm64-linux.c | 7 +-
coregrind/m_syswrap/syswrap-linux.c | 146 +++++++++++++++++++
coregrind/m_syswrap/syswrap-mips32-linux.c | 7 +-
coregrind/m_syswrap/syswrap-mips64-linux.c | 6 +
coregrind/m_syswrap/syswrap-nanomips-linux.c | 6 +
coregrind/m_syswrap/syswrap-ppc32-linux.c | 7 +-
coregrind/m_syswrap/syswrap-ppc64-linux.c | 7 +-
coregrind/m_syswrap/syswrap-s390x-linux.c | 7 +-
coregrind/m_syswrap/syswrap-x86-linux.c | 7 +-
13 files changed, 215 insertions(+), 7 deletions(-)
diff --git a/NEWS b/NEWS
index 68cd0c6fa603..7f1334aa0f07 100644
--- a/NEWS
+++ b/NEWS
@@ -6,6 +6,7 @@ Branch 3.24
The following bugs have been fixed or resolved on this branch.
489913 WARNING: unhandled amd64-linux syscall: 444 (landlock_create_ruleset)
+494246 syscall fsopen not wrapped
To see details of a given bug, visit
https://bugs.kde.org/show_bug.cgi?id=XXXXXX
diff --git a/coregrind/m_syswrap/priv_syswrap-linux.h b/coregrind/m_syswrap/priv_syswrap-linux.h
index 221439a0ec33..1bdd9a94ec19 100644
--- a/coregrind/m_syswrap/priv_syswrap-linux.h
+++ b/coregrind/m_syswrap/priv_syswrap-linux.h
@@ -321,6 +321,14 @@ DECL_TEMPLATE(linux, sys_io_uring_setup);
DECL_TEMPLATE(linux, sys_io_uring_enter);
DECL_TEMPLATE(linux, sys_io_uring_register);
+// open_tree and friends (shared linux syscalls)
+DECL_TEMPLATE(linux, sys_open_tree);
+DECL_TEMPLATE(linux, sys_move_mount);
+DECL_TEMPLATE(linux, sys_fsopen);
+DECL_TEMPLATE(linux, sys_fsconfig);
+DECL_TEMPLATE(linux, sys_fsmount);
+DECL_TEMPLATE(linux, sys_fspick);
+
// Linux-specific (new in Linux 5.3)
DECL_TEMPLATE(linux, sys_pidfd_open);
diff --git a/coregrind/m_syswrap/syswrap-amd64-linux.c b/coregrind/m_syswrap/syswrap-amd64-linux.c
index 9488d3090e80..bdba41826ad8 100644
--- a/coregrind/m_syswrap/syswrap-amd64-linux.c
+++ b/coregrind/m_syswrap/syswrap-amd64-linux.c
@@ -877,6 +877,12 @@ static SyscallTableEntry syscall_table[] = {
LINXY(__NR_io_uring_setup, sys_io_uring_setup), // 425
LINXY(__NR_io_uring_enter, sys_io_uring_enter), // 426
LINXY(__NR_io_uring_register, sys_io_uring_register), // 427
+ LINXY(__NR_open_tree, sys_open_tree), // 428
+ LINX_(__NR_move_mount, sys_move_mount), // 429
+ LINXY(__NR_fsopen, sys_fsopen), // 430
+ LINX_(__NR_fsconfig, sys_fsconfig), // 431
+ LINXY(__NR_fsmount, sys_fsmount), // 432
+ LINXY(__NR_fspick, sys_fspick), // 433
LINXY(__NR_pidfd_open, sys_pidfd_open), // 434
GENX_(__NR_clone3, sys_ni_syscall), // 435
diff --git a/coregrind/m_syswrap/syswrap-arm-linux.c b/coregrind/m_syswrap/syswrap-arm-linux.c
index 65f64af99bb7..108e1f91e5e9 100644
--- a/coregrind/m_syswrap/syswrap-arm-linux.c
+++ b/coregrind/m_syswrap/syswrap-arm-linux.c
@@ -1052,7 +1052,12 @@ static SyscallTableEntry syscall_main_table[] = {
LINXY(__NR_io_uring_setup, sys_io_uring_setup), // 425
LINXY(__NR_io_uring_enter, sys_io_uring_enter), // 426
LINXY(__NR_io_uring_register, sys_io_uring_register), // 427
-
+ LINXY(__NR_open_tree, sys_open_tree), // 428
+ LINX_(__NR_move_mount, sys_move_mount), // 429
+ LINXY(__NR_fsopen, sys_fsopen), // 430
+ LINX_(__NR_fsconfig, sys_fsconfig), // 431
+ LINXY(__NR_fsmount, sys_fsmount), // 432
+ LINXY(__NR_fspick, sys_fspick), // 433
LINXY(__NR_pidfd_open, sys_pidfd_open), // 434
GENX_(__NR_clone3, sys_ni_syscall), // 435
LINXY(__NR_close_range, sys_close_range), // 436
diff --git a/coregrind/m_syswrap/syswrap-arm64-linux.c b/coregrind/m_syswrap/syswrap-arm64-linux.c
index 151ae0640b10..23b0b6b51c10 100644
--- a/coregrind/m_syswrap/syswrap-arm64-linux.c
+++ b/coregrind/m_syswrap/syswrap-arm64-linux.c
@@ -830,7 +830,12 @@ static SyscallTableEntry syscall_main_table[] = {
LINXY(__NR_io_uring_setup, sys_io_uring_setup), // 425
LINXY(__NR_io_uring_enter, sys_io_uring_enter), // 426
LINXY(__NR_io_uring_register, sys_io_uring_register), // 427
-
+ LINXY(__NR_open_tree, sys_open_tree), // 428
+ LINX_(__NR_move_mount, sys_move_mount), // 429
+ LINXY(__NR_fsopen, sys_fsopen), // 430
+ LINX_(__NR_fsconfig, sys_fsconfig), // 431
+ LINXY(__NR_fsmount, sys_fsmount), // 432
+ LINXY(__NR_fspick, sys_fspick), // 433
LINXY(__NR_pidfd_open, sys_pidfd_open), // 434
GENX_(__NR_clone3, sys_ni_syscall), // 435
LINXY(__NR_close_range, sys_close_range), // 436
diff --git a/coregrind/m_syswrap/syswrap-linux.c b/coregrind/m_syswrap/syswrap-linux.c
index 70ae837a9454..57672f167126 100644
--- a/coregrind/m_syswrap/syswrap-linux.c
+++ b/coregrind/m_syswrap/syswrap-linux.c
@@ -13836,6 +13836,152 @@ POST(sys_pidfd_getfd)
}
}
+/* int open_tree (int dfd, const char *filename, unsigned int flags) */
+PRE(sys_open_tree)
+{
+ PRINT("sys_open_tree ( %ld, %#" FMT_REGWORD "x(%s), %ld",
+ SARG1, ARG2, (HChar*)(Addr)ARG2, SARG3);
+ PRE_REG_READ3(long, "open_tree",
+ int, dfd, const char *, filename, int, flags);
+ PRE_MEM_RASCIIZ( "open_tree(filename)", ARG2);
+ /* For absolute filenames, dfd is ignored. If dfd is AT_FDCWD,
+ filename is relative to cwd. When comparing dfd against AT_FDCWD,
+ be sure only to compare the bottom 32 bits. */
+ if (ML_(safe_to_deref)( (void*)(Addr)ARG2, 1 )
+ && *(Char *)(Addr)ARG2 != '/'
+ && ((Int)ARG1) != ((Int)VKI_AT_FDCWD)
+ && !ML_(fd_allowed)(ARG1, "open_tree", tid, False))
+ SET_STATUS_Failure( VKI_EBADF );
+}
+
+POST(sys_open_tree)
+{
+ if (!ML_(fd_allowed)(RES, "open_tree", tid, True)) {
+ VG_(close)(RES);
+ SET_STATUS_Failure( VKI_EMFILE );
+ } else {
+ if (VG_(clo_track_fds))
+ ML_(record_fd_open_with_given_name)(tid, RES, (HChar*)(Addr)ARG2);
+ }
+}
+
+/* int move_mount (int from_dfd, const char *from_pathname,
+ int to_dfd, const char *to_pathname,
+ unsigned int flags) */
+PRE(sys_move_mount)
+{
+ PRINT("sys_move_mount ( %ld, %#" FMT_REGWORD "x(%s), "
+ "%ld, %#" FMT_REGWORD "x(%s), %ld",
+ SARG1, ARG2, (HChar*)(Addr)ARG2,
+ SARG3, ARG4, (HChar*)(Addr)ARG4, SARG5);
+ PRE_REG_READ5(long, "mount_move",
+ int, from_dfd, const char *, from_pathname,
+ int, to_dfd, const char*, to_pathname, int, flags);
+ PRE_MEM_RASCIIZ( "mount_move(from_pathname)", ARG2);
+ /* For absolute filenames, from_dfd is ignored. If from_dfd is AT_FDCWD,
+ from_pathname is relative to cwd. When comparing from_dfd against
+ AT_FDCWD, be sure only to compare the bottom 32 bits. */
+ if (ML_(safe_to_deref)( (void*)(Addr)ARG2, 1 )
+ && *(Char *)(Addr)ARG2 != '/'
+ && ((Int)ARG1) != ((Int)VKI_AT_FDCWD)
+ && !ML_(fd_allowed)(ARG1, "mount_move", tid, False))
+ SET_STATUS_Failure( VKI_EBADF );
+ PRE_MEM_RASCIIZ( "mount_move(from_pathname)", ARG4);
+ /* For absolute filenames, to_dfd is ignored. If to_dfd is AT_FDCWD,
+ to_pathname is relative to cwd. When comparing to_dfd against
+ AT_FDCWD, be sure only to compare the bottom 32 bits. */
+ if (ML_(safe_to_deref)( (void*)(Addr)ARG4, 1 )
+ && *(Char *)(Addr)ARG4 != '/'
+ && ((Int)ARG4) != ((Int)VKI_AT_FDCWD)
+ && !ML_(fd_allowed)(ARG3, "mount_move", tid, False))
+ SET_STATUS_Failure( VKI_EBADF );
+}
+
+/* int fsopen (const char *fs_name, unsigned int flags) */
+PRE(sys_fsopen)
+{
+ PRINT("sys_fsopen ( %#" FMT_REGWORD "x(%s), %ld",
+ ARG1, (HChar*)(Addr)ARG1, SARG2);
+ PRE_REG_READ2(long, "fsopen", const char *, fs_name, int, flags);
+ PRE_MEM_RASCIIZ( "fsopen(filename)", ARG1);
+}
+
+POST(sys_fsopen)
+{
+ if (!ML_(fd_allowed)(RES, "fsopen", tid, True)) {
+ VG_(close)(RES);
+ SET_STATUS_Failure( VKI_EMFILE );
+ } else {
+ if (VG_(clo_track_fds))
+ ML_(record_fd_open_with_given_name)(tid, RES, (HChar*)(Addr)ARG1);
+ }
+}
+
+/* int fsmount (int fd, unsigned int flags, unsigned int ms_flags) */
+PRE(sys_fsmount)
+{
+ PRINT("sys_fsmount ( %ld, %ld, %ld", SARG1, SARG2, SARG3);
+ PRE_REG_READ3(long, "fsmount", int, fd, int, flags, int, ms_flags);
+ if (!ML_(fd_allowed)(ARG1, "fsmount", tid, False))
+ SET_STATUS_Failure( VKI_EBADF );
+}
+
+POST(sys_fsmount)
+{
+ if (!ML_(fd_allowed)(RES, "fsmount", tid, True)) {
+ VG_(close)(RES);
+ SET_STATUS_Failure( VKI_EMFILE );
+ } else {
+ if (VG_(clo_track_fds))
+ ML_(record_fd_open_nameless)(tid, RES);
+ }
+}
+
+/* int fsconfig (int fd, unsigned int cmd, const char *key,
+ const void *value, int aux) */
+PRE(sys_fsconfig)
+{
+ PRINT("sys_fsconfig ( %ld, %ld, %#" FMT_REGWORD "x(%s), "
+ "%#" FMT_REGWORD "x, %ld )",
+ SARG1, SARG2, ARG3, (HChar*)(Addr)ARG3, ARG4, SARG6);
+ PRE_REG_READ5(long, "fsconfig", int, fd, int, cmd,
+ const char *, key, const void *, value, int, aux);
+ if (ARG3)
+ PRE_MEM_RASCIIZ( "fsconfig(key)", ARG3);
+ if (!ML_(fd_allowed)(ARG1, "fsconfig", tid, False))
+ SET_STATUS_Failure( VKI_EBADF );
+ /* XXX we could also check the value based on the cmd FSCONFIG_... */
+}
+
+/* int fspick (int dfd, const char *path, unsigned int flags) */
+PRE(sys_fspick)
+{
+ PRINT("sys_fspick ( %ld, %#" FMT_REGWORD "x(%s), %ld",
+ SARG1, ARG2, (HChar*)(Addr)ARG2, SARG3);
+ PRE_REG_READ3(long, "fspick",
+ int, dfd, const char *, filename, int, flags);
+ PRE_MEM_RASCIIZ( "fspick(path)", ARG2);
+ /* For absolute filenames, dfd is ignored. If dfd is AT_FDCWD,
+ path is relative to cwd. When comparing dfd against AT_FDCWD,
+ be sure only to compare the bottom 32 bits. */
+ if (ML_(safe_to_deref)( (void*)(Addr)ARG2, 1 )
+ && *(Char *)(Addr)ARG2 != '/'
+ && ((Int)ARG1) != ((Int)VKI_AT_FDCWD)
+ && !ML_(fd_allowed)(ARG1, "fspick", tid, False))
+ SET_STATUS_Failure( VKI_EBADF );
+}
+
+POST(sys_fspick)
+{
+ if (!ML_(fd_allowed)(RES, "fspick", tid, True)) {
+ VG_(close)(RES);
+ SET_STATUS_Failure( VKI_EMFILE );
+ } else {
+ if (VG_(clo_track_fds))
+ ML_(record_fd_open_with_given_name)(tid, RES, (HChar*)(Addr)ARG2);
+ }
+}
+
#undef PRE
#undef POST
diff --git a/coregrind/m_syswrap/syswrap-mips32-linux.c b/coregrind/m_syswrap/syswrap-mips32-linux.c
index 757b637ba986..39ba911aa5e4 100644
--- a/coregrind/m_syswrap/syswrap-mips32-linux.c
+++ b/coregrind/m_syswrap/syswrap-mips32-linux.c
@@ -1137,7 +1137,12 @@ static SyscallTableEntry syscall_main_table[] = {
LINXY(__NR_io_uring_setup, sys_io_uring_setup), // 425
LINXY(__NR_io_uring_enter, sys_io_uring_enter), // 426
LINXY(__NR_io_uring_register, sys_io_uring_register), // 427
-
+ LINXY(__NR_open_tree, sys_open_tree), // 428
+ LINX_(__NR_move_mount, sys_move_mount), // 429
+ LINXY(__NR_fsopen, sys_fsopen), // 430
+ LINX_(__NR_fsconfig, sys_fsconfig), // 431
+ LINXY(__NR_fsmount, sys_fsmount), // 432
+ LINXY(__NR_fspick, sys_fspick), // 433
LINXY(__NR_pidfd_open, sys_pidfd_open), // 434
GENX_(__NR_clone3, sys_ni_syscall), // 435
LINXY(__NR_close_range, sys_close_range), // 436
diff --git a/coregrind/m_syswrap/syswrap-mips64-linux.c b/coregrind/m_syswrap/syswrap-mips64-linux.c
index f0c5f7e04f4e..d603924c5566 100644
--- a/coregrind/m_syswrap/syswrap-mips64-linux.c
+++ b/coregrind/m_syswrap/syswrap-mips64-linux.c
@@ -818,6 +818,12 @@ static SyscallTableEntry syscall_main_table[] = {
LINXY (__NR_io_uring_setup, sys_io_uring_setup),
LINXY (__NR_io_uring_enter, sys_io_uring_enter),
LINXY (__NR_io_uring_register, sys_io_uring_register),
+ LINXY (__NR_open_tree, sys_open_tree),
+ LINX_ (__NR_move_mount, sys_move_mount),
+ LINXY (__NR_fsopen, sys_fsopen),
+ LINX_ (__NR_fsconfig, sys_fsconfig),
+ LINXY (__NR_fsmount, sys_fsmount),
+ LINXY (__NR_fspick, sys_fspick),
LINXY (__NR_pidfd_open, sys_pidfd_open),
GENX_ (__NR_clone3, sys_ni_syscall),
LINXY (__NR_close_range, sys_close_range),
diff --git a/coregrind/m_syswrap/syswrap-nanomips-linux.c b/coregrind/m_syswrap/syswrap-nanomips-linux.c
index f466aca147e0..853495e981b1 100644
--- a/coregrind/m_syswrap/syswrap-nanomips-linux.c
+++ b/coregrind/m_syswrap/syswrap-nanomips-linux.c
@@ -824,6 +824,12 @@ static SyscallTableEntry syscall_main_table[] = {
LINXY (__NR_io_uring_setup, sys_io_uring_setup),
LINXY (__NR_io_uring_enter, sys_io_uring_enter),
LINXY (__NR_io_uring_register, sys_io_uring_register),
+ LINXY (__NR_open_tree, sys_open_tree),
+ LINX_ (__NR_move_mount, sys_move_mount),
+ LINXY (__NR_fsopen, sys_fsopen),
+ LINX_ (__NR_fsconfig, sys_fsconfig),
+ LINXY (__NR_fsmount, sys_fsmount),
+ LINXY (__NR_fspick, sys_fspick),
LINXY (__NR_pidfd_open, sys_pidfd_open),
GENX_ (__NR_clone3, sys_ni_syscall),
LINXY (__NR_close_range, sys_close_range),
diff --git a/coregrind/m_syswrap/syswrap-ppc32-linux.c b/coregrind/m_syswrap/syswrap-ppc32-linux.c
index 634f288ce0d1..24d8eb213190 100644
--- a/coregrind/m_syswrap/syswrap-ppc32-linux.c
+++ b/coregrind/m_syswrap/syswrap-ppc32-linux.c
@@ -1059,7 +1059,12 @@ static SyscallTableEntry syscall_table[] = {
LINXY(__NR_io_uring_setup, sys_io_uring_setup), // 425
LINXY(__NR_io_uring_enter, sys_io_uring_enter), // 426
LINXY(__NR_io_uring_register, sys_io_uring_register), // 427
-
+ LINXY(__NR_open_tree, sys_open_tree), // 428
+ LINX_(__NR_move_mount, sys_move_mount), // 429
+ LINXY(__NR_fsopen, sys_fsopen), // 430
+ LINX_(__NR_fsconfig, sys_fsconfig), // 431
+ LINXY(__NR_fsmount, sys_fsmount), // 432
+ LINXY(__NR_fspick, sys_fspick), // 433
LINXY(__NR_pidfd_open, sys_pidfd_open), // 434
GENX_(__NR_clone3, sys_ni_syscall), // 435
LINXY(__NR_close_range, sys_close_range), // 436
diff --git a/coregrind/m_syswrap/syswrap-ppc64-linux.c b/coregrind/m_syswrap/syswrap-ppc64-linux.c
index 2c2def330ad7..2a3ed8b92481 100644
--- a/coregrind/m_syswrap/syswrap-ppc64-linux.c
+++ b/coregrind/m_syswrap/syswrap-ppc64-linux.c
@@ -1025,7 +1025,12 @@ static SyscallTableEntry syscall_table[] = {
LINXY(__NR_io_uring_setup, sys_io_uring_setup), // 425
LINXY(__NR_io_uring_enter, sys_io_uring_enter), // 426
LINXY(__NR_io_uring_register, sys_io_uring_register), // 427
-
+ LINXY(__NR_open_tree, sys_open_tree), // 428
+ LINX_(__NR_move_mount, sys_move_mount), // 429
+ LINXY(__NR_fsopen, sys_fsopen), // 430
+ LINX_(__NR_fsconfig, sys_fsconfig), // 431
+ LINXY(__NR_fsmount, sys_fsmount), // 432
+ LINXY(__NR_fspick, sys_fspick), // 433
LINXY(__NR_pidfd_open, sys_pidfd_open), // 434
GENX_(__NR_clone3, sys_ni_syscall), // 435
LINXY(__NR_close_range, sys_close_range), // 436
diff --git a/coregrind/m_syswrap/syswrap-s390x-linux.c b/coregrind/m_syswrap/syswrap-s390x-linux.c
index ca571f0f1a7c..893306bbdae3 100644
--- a/coregrind/m_syswrap/syswrap-s390x-linux.c
+++ b/coregrind/m_syswrap/syswrap-s390x-linux.c
@@ -865,7 +865,12 @@ static SyscallTableEntry syscall_table[] = {
LINXY(__NR_io_uring_setup, sys_io_uring_setup), // 425
LINXY(__NR_io_uring_enter, sys_io_uring_enter), // 426
LINXY(__NR_io_uring_register, sys_io_uring_register), // 427
-
+ LINXY(__NR_open_tree, sys_open_tree), // 428
+ LINX_(__NR_move_mount, sys_move_mount), // 429
+ LINXY(__NR_fsopen, sys_fsopen), // 430
+ LINX_(__NR_fsconfig, sys_fsconfig), // 431
+ LINXY(__NR_fsmount, sys_fsmount), // 432
+ LINXY(__NR_fspick, sys_fspick), // 433
LINXY(__NR_pidfd_open, sys_pidfd_open), // 434
GENX_(__NR_clone3, sys_ni_syscall), // 435
LINXY(__NR_close_range, sys_close_range), // 436
diff --git a/coregrind/m_syswrap/syswrap-x86-linux.c b/coregrind/m_syswrap/syswrap-x86-linux.c
index a23743743abe..50384817dbe5 100644
--- a/coregrind/m_syswrap/syswrap-x86-linux.c
+++ b/coregrind/m_syswrap/syswrap-x86-linux.c
@@ -1646,7 +1646,12 @@ static SyscallTableEntry syscall_table[] = {
LINXY(__NR_io_uring_setup, sys_io_uring_setup), // 425
LINXY(__NR_io_uring_enter, sys_io_uring_enter), // 426
LINXY(__NR_io_uring_register, sys_io_uring_register),// 427
-
+ LINXY(__NR_open_tree, sys_open_tree), // 428
+ LINX_(__NR_move_mount, sys_move_mount), // 429
+ LINXY(__NR_fsopen, sys_fsopen), // 430
+ LINX_(__NR_fsconfig, sys_fsconfig), // 431
+ LINXY(__NR_fsmount, sys_fsmount), // 432
+ LINXY(__NR_fspick, sys_fspick), // 433
LINXY(__NR_pidfd_open, sys_pidfd_open), // 434
GENX_(__NR_clone3, sys_ni_syscall), // 435
LINXY(__NR_close_range, sys_close_range), // 436
--
2.47.0

View File

@ -1,144 +0,0 @@
From a2c30f44ac39eb36baa4e831b041fe7cdf25e481 Mon Sep 17 00:00:00 2001
From: Mark Wielaard <mark@klomp.org>
Date: Fri, 6 Dec 2024 15:39:25 +0100
Subject: [PATCH 12/14] Recognize new DWARF5 DW_LANG constants
When using --read-var-info=yes readdwarf3 will try to read and
interpret the CU DW_AT_langauge attribute. Since DWARF5 was released a
number if new language constants have been introduced. See
https://dwarfstd.org/languages.html
GCC15 might start emitting some of these when switching to C23 by
default.
When valgrind --read-var-info=yes encounters an unknown DW_LANG
constant it will produce an error and stop processing any further
DWARF.
Recognize all currently known language constants. In particular
recognize DW_LANG_C17, DW_LANG_C23, DW_LANG_C_plus_plus_17,
DW_LANG_C_plus_plus_20, DW_LANG_C_plus_plus_23, DW_LANG_Fortran18,
DW_LANG_Fortran23, DW_LANG_Ada2005, DW_LANG_Ada2012 and DW_LANG_Rust.
https://bugs.kde.org/show_bug.cgi?id=497130
(cherry picked from commit 7136316123c54aba37fdab166e1bf860e452a4ae)
---
NEWS | 1 +
coregrind/m_debuginfo/priv_d3basics.h | 31 +++++++++++++++++++++++++++
coregrind/m_debuginfo/readdwarf3.c | 27 +++++++++++++++++++++--
3 files changed, 57 insertions(+), 2 deletions(-)
diff --git a/NEWS b/NEWS
index 7f1334aa0f07..a25f9b663098 100644
--- a/NEWS
+++ b/NEWS
@@ -7,6 +7,7 @@ The following bugs have been fixed or resolved on this branch.
489913 WARNING: unhandled amd64-linux syscall: 444 (landlock_create_ruleset)
494246 syscall fsopen not wrapped
+497130 Recognize new DWARF5 DW_LANG constants
To see details of a given bug, visit
https://bugs.kde.org/show_bug.cgi?id=XXXXXX
diff --git a/coregrind/m_debuginfo/priv_d3basics.h b/coregrind/m_debuginfo/priv_d3basics.h
index 3f6e5c72c9e4..34c98728711c 100644
--- a/coregrind/m_debuginfo/priv_d3basics.h
+++ b/coregrind/m_debuginfo/priv_d3basics.h
@@ -179,6 +179,7 @@ typedef enum dwarf_source_language
/* DWARF 4. */
DW_LANG_Python = 0x0014,
/* DWARF 5. */
+ DW_LANG_OpenCL = 0x0015,
DW_LANG_Go = 0x0016,
DW_LANG_Modula3 = 0x0017,
DW_LANG_Haskell = 0x0018,
@@ -195,6 +196,36 @@ typedef enum dwarf_source_language
DW_LANG_Fortran08 = 0x0023,
DW_LANG_RenderScript = 0x0024,
DW_LANG_BLISS = 0x0025,
+ /* Language codes added since DWARF 5.
+ https://dwarfstd.org/languages.html */
+ DW_LANG_Kotlin = 0x0026,
+ DW_LANG_Zig = 0x0027,
+ DW_LANG_Crystal = 0x0028,
+ DW_LANG_C_plus_plus_17 = 0x002a,
+ DW_LANG_C_plus_plus_20 = 0x002b,
+ DW_LANG_C17 = 0x002c,
+ DW_LANG_Fortran18 = 0x002d,
+ DW_LANG_Ada2005 = 0x002e,
+ DW_LANG_Ada2012 = 0x002f,
+ DW_LANG_HIP = 0x0030,
+ DW_LANG_Assembly = 0x0031,
+ DW_LANG_C_sharp = 0x0032,
+ DW_LANG_Mojo = 0x0033,
+ DW_LANG_GLSL = 0x0034,
+ DW_LANG_GLSL_ES = 0x0035,
+ DW_LANG_HLSL = 0x0036,
+ DW_LANG_OpenCL_CPP = 0x0037,
+ DW_LANG_CPP_for_OpenCL = 0x0038,
+ DW_LANG_SYCL = 0x0039,
+ DW_LANG_C_plus_plus_23 = 0x003a,
+ DW_LANG_Odin = 0x003b,
+ DW_LANG_P4 = 0x003c,
+ DW_LANG_Metal = 0x003d,
+ DW_LANG_C23 = 0x003e,
+ DW_LANG_Fortran23 = 0x003f,
+ DW_LANG_Ruby = 0x0040,
+ DW_LANG_Move = 0x0041,
+ DW_LANG_Hylo = 0x0042,
/* MIPS. */
DW_LANG_Mips_Assembler = 0x8001,
/* UPC. */
diff --git a/coregrind/m_debuginfo/readdwarf3.c b/coregrind/m_debuginfo/readdwarf3.c
index a4b75a8c532b..735896f7c0d3 100644
--- a/coregrind/m_debuginfo/readdwarf3.c
+++ b/coregrind/m_debuginfo/readdwarf3.c
@@ -3972,19 +3972,42 @@ static void parse_type_DIE ( /*MOD*/XArray* /* of TyEnt */ tyents,
case DW_LANG_C_plus_plus: case DW_LANG_ObjC:
case DW_LANG_ObjC_plus_plus: case DW_LANG_UPC:
case DW_LANG_Upc: case DW_LANG_C99: case DW_LANG_C11:
+ case DW_LANG_C17: case DW_LANG_C23:
case DW_LANG_C_plus_plus_11: case DW_LANG_C_plus_plus_14:
+ case DW_LANG_C_plus_plus_17: case DW_LANG_C_plus_plus_20:
+ case DW_LANG_C_plus_plus_23:
parser->language = 'C'; break;
case DW_LANG_Fortran77: case DW_LANG_Fortran90:
case DW_LANG_Fortran95: case DW_LANG_Fortran03:
- case DW_LANG_Fortran08:
+ case DW_LANG_Fortran08: case DW_LANG_Fortran18:
+ case DW_LANG_Fortran23:
parser->language = 'F'; break;
case DW_LANG_Ada83: case DW_LANG_Ada95:
+ case DW_LANG_Ada2005: case DW_LANG_Ada2012:
parser->language = 'A'; break;
case DW_LANG_Cobol74:
case DW_LANG_Cobol85: case DW_LANG_Pascal83:
case DW_LANG_Modula2: case DW_LANG_Java:
case DW_LANG_PLI:
- case DW_LANG_D: case DW_LANG_Python: case DW_LANG_Go:
+ case DW_LANG_D: case DW_LANG_Python:
+ case DW_LANG_OpenCL: case DW_LANG_Go:
+ case DW_LANG_Modula3: case DW_LANG_Haskell:
+ case DW_LANG_OCaml: case DW_LANG_Rust: case DW_LANG_Swift:
+ case DW_LANG_Julia: case DW_LANG_Dylan:
+ case DW_LANG_RenderScript: case DW_LANG_BLISS:
+ case DW_LANG_Kotlin: case DW_LANG_Zig:
+ case DW_LANG_Crystal: case DW_LANG_HIP:
+ case DW_LANG_Assembly: case DW_LANG_C_sharp:
+ case DW_LANG_Mojo: case DW_LANG_GLSL:
+ case DW_LANG_GLSL_ES: case DW_LANG_HLSL:
+ case DW_LANG_OpenCL_CPP: case DW_LANG_CPP_for_OpenCL:
+ case DW_LANG_SYCL:
+ case DW_LANG_Odin:
+ case DW_LANG_P4:
+ case DW_LANG_Metal:
+ case DW_LANG_Ruby:
+ case DW_LANG_Move:
+ case DW_LANG_Hylo:
case DW_LANG_Mips_Assembler:
parser->language = '?'; break;
default:
--
2.47.1

View File

@ -1,147 +0,0 @@
From febe1ccef09f70777b086f938c03f3e71989a7c8 Mon Sep 17 00:00:00 2001
From: Paul Floyd <pjfloyd@wanadoo.fr>
Date: Tue, 7 Jan 2025 08:05:20 +0100
Subject: [PATCH 13/14] Bug 498317 - FdBadUse is not a valid CoreError type in
a suppression even though it's generated by --gen-suppressions=yes
https://bugs.kde.org/show_bug.cgi?id=498317
(cherry picked from commit 47bdc4a6f3de8e2071561d349fdd5f830388c489)
---
NEWS | 2 ++
coregrind/m_errormgr.c | 7 +++++--
coregrind/m_syswrap/syswrap-freebsd.c | 4 ++++
none/tests/freebsd/Makefile.am | 4 +++-
none/tests/freebsd/bug498317.c | 7 +++++++
none/tests/freebsd/bug498317.stderr.exp | 0
none/tests/freebsd/bug498317.supp | 8 ++++++++
none/tests/freebsd/bug498317.vgtest | 2 ++
9 files changed, 32 insertions(+), 3 deletions(-)
create mode 100644 none/tests/freebsd/bug498317.c
create mode 100644 none/tests/freebsd/bug498317.stderr.exp
create mode 100644 none/tests/freebsd/bug498317.supp
create mode 100644 none/tests/freebsd/bug498317.vgtest
diff --git a/NEWS b/NEWS
index a25f9b663098..2fb8ce5c724b 100644
--- a/NEWS
+++ b/NEWS
@@ -8,6 +8,8 @@ The following bugs have been fixed or resolved on this branch.
489913 WARNING: unhandled amd64-linux syscall: 444 (landlock_create_ruleset)
494246 syscall fsopen not wrapped
497130 Recognize new DWARF5 DW_LANG constants
+498317 FdBadUse is not a valid CoreError type in a suppression
+ even though it's generated by --gen-suppressions=yes
To see details of a given bug, visit
https://bugs.kde.org/show_bug.cgi?id=XXXXXX
diff --git a/coregrind/m_errormgr.c b/coregrind/m_errormgr.c
index 4bbcea02474c..2ce919482f77 100644
--- a/coregrind/m_errormgr.c
+++ b/coregrind/m_errormgr.c
@@ -206,7 +206,8 @@ typedef
// example should new core errors ever be added.
ThreadSupp = -1, /* Matches ThreadErr */
FdBadCloseSupp = -2,
- FdNotClosedSupp = -3
+ FdNotClosedSupp = -3,
+ FdBadUseSupp = -4
}
CoreSuppKind;
@@ -1033,7 +1034,7 @@ static Bool core_error_matches_suppression(const Error* err, const Supp* su)
return err->ekind == FdBadClose;
case FdNotClosedSupp:
return err->ekind == FdNotClosed;
- case FdBadUse:
+ case FdBadUseSupp:
return err->ekind == FdBadUse;
default:
VG_(umsg)("FATAL: unknown core suppression kind: %d\n", su->skind );
@@ -1522,6 +1523,8 @@ static void load_one_suppressions_file ( Int clo_suppressions_i )
supp->skind = FdBadCloseSupp;
else if (VG_STREQ(supp_name, "FdNotClosed"))
supp->skind = FdNotClosedSupp;
+ else if (VG_STREQ(supp_name, "FdBadUse"))
+ supp->skind = FdBadUseSupp;
else
BOMB("unknown core suppression type");
}
diff --git a/coregrind/m_syswrap/syswrap-freebsd.c b/coregrind/m_syswrap/syswrap-freebsd.c
index 685eb6be076c..a2b79545594e 100644
--- a/coregrind/m_syswrap/syswrap-freebsd.c
+++ b/coregrind/m_syswrap/syswrap-freebsd.c
@@ -1400,6 +1400,10 @@ PRE(sys_fcntl)
PRINT("sys_fcntl[UNKNOWN] ( %lu, %lu, %lu )", ARG1,ARG2,ARG3);
I_die_here;
}
+
+ if (!ML_(fd_allowed)(ARG1, "fcntl", tid, False)) {
+ SET_STATUS_Failure (VKI_EBADF);
+ }
}
POST(sys_fcntl)
diff --git a/none/tests/freebsd/Makefile.am b/none/tests/freebsd/Makefile.am
index fe4f8db69824..1ccfefb57fe2 100644
--- a/none/tests/freebsd/Makefile.am
+++ b/none/tests/freebsd/Makefile.am
@@ -11,6 +11,8 @@ EXTRA_DIST = \
auxv.stderr.exp-freebsd131 \
auxv.stderr.exp-freebsd14 \
auxv.stderr.exp-arm64 \
+ bug498317.vgtest bug498317.stderr.exp \
+ bug498317.supp \
cp.vgtest \
cp.stderr.exp \
osrel.vgtest \
@@ -61,7 +63,7 @@ EXTRA_DIST = \
usrstack.stdout.exp
check_PROGRAMS = \
- auxv osrel swapcontext hello_world fexecve 452275 usrstack \
+ auxv bug498317 osrel swapcontext hello_world fexecve 452275 usrstack \
proc_pid_file sanity_level_thread umtx_shm_creat
AM_CFLAGS += $(AM_FLAG_M3264_PRI)
diff --git a/none/tests/freebsd/bug498317.c b/none/tests/freebsd/bug498317.c
new file mode 100644
index 000000000000..36a1a5a1365e
--- /dev/null
+++ b/none/tests/freebsd/bug498317.c
@@ -0,0 +1,7 @@
+#include <fcntl.h>
+
+int main(void) {
+ fcntl(-1, F_GETFD);
+ return 0;
+}
+
diff --git a/none/tests/freebsd/bug498317.stderr.exp b/none/tests/freebsd/bug498317.stderr.exp
new file mode 100644
index 000000000000..e69de29bb2d1
diff --git a/none/tests/freebsd/bug498317.supp b/none/tests/freebsd/bug498317.supp
new file mode 100644
index 000000000000..b3a99447c2a4
--- /dev/null
+++ b/none/tests/freebsd/bug498317.supp
@@ -0,0 +1,8 @@
+{
+ test suppression of FdBadUse
+ CoreError:FdBadUse
+ fun:_fcntl
+ fun:fcntl
+ fun:main
+}
+
diff --git a/none/tests/freebsd/bug498317.vgtest b/none/tests/freebsd/bug498317.vgtest
new file mode 100644
index 000000000000..6579ebce8c56
--- /dev/null
+++ b/none/tests/freebsd/bug498317.vgtest
@@ -0,0 +1,2 @@
+prog: bug498317
+vgopts: -q
--
2.47.1

View File

@ -1,60 +0,0 @@
From b732f86998e39ca8714330f487804428b54c481c Mon Sep 17 00:00:00 2001
From: Mark Wielaard <mark@klomp.org>
Date: Wed, 8 Jan 2025 16:52:03 +0100
Subject: [PATCH 14/14] linux: support EVIOCGRAB ioctl
EVIOCGRAB just takes an int argument.
https://bugs.kde.org/show_bug.cgi?id=498143
(cherry picked from commit 59eb5a4af60d4beb2c6910a1fa6cdf8d1f3a56f2)
---
NEWS | 1 +
coregrind/m_syswrap/syswrap-linux.c | 4 ++++
include/vki/vki-linux.h | 3 +++
3 files changed, 8 insertions(+)
diff --git a/NEWS b/NEWS
index 2fb8ce5c724b..7f9e005c59f4 100644
--- a/NEWS
+++ b/NEWS
@@ -10,6 +10,7 @@ The following bugs have been fixed or resolved on this branch.
497130 Recognize new DWARF5 DW_LANG constants
498317 FdBadUse is not a valid CoreError type in a suppression
even though it's generated by --gen-suppressions=yes
+498143 False positive on EVIOCGRAB ioctl
To see details of a given bug, visit
https://bugs.kde.org/show_bug.cgi?id=XXXXXX
diff --git a/coregrind/m_syswrap/syswrap-linux.c b/coregrind/m_syswrap/syswrap-linux.c
index 57672f167126..87ab82e6e342 100644
--- a/coregrind/m_syswrap/syswrap-linux.c
+++ b/coregrind/m_syswrap/syswrap-linux.c
@@ -10397,6 +10397,10 @@ PRE(sys_ioctl)
break;
}
+ case VKI_EVIOCGRAB:
+ /* This just takes an int argument. */
+ break;
+
default:
/* EVIOC* are variable length and return size written on success */
switch (ARG2 & ~(_VKI_IOC_SIZEMASK << _VKI_IOC_SIZESHIFT)) {
diff --git a/include/vki/vki-linux.h b/include/vki/vki-linux.h
index 006f16d92201..d4e1908e1e9c 100644
--- a/include/vki/vki-linux.h
+++ b/include/vki/vki-linux.h
@@ -3226,6 +3226,9 @@ struct vki_getcpu_cache {
#define VKI_EVIOCGBIT(ev,len) _VKI_IOC(_VKI_IOC_READ, 'E', 0x20 + ev, len) /* get event bits */
+#define VKI_EVIOCGRAB _VKI_IOW('E', 0x90, int)
+/* grab device */
+
/*
* Event types
*/
--
2.47.1

View File

@ -0,0 +1,122 @@
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)

View File

@ -2,18 +2,12 @@
Summary: Dynamic analysis tools to detect memory or thread bugs and profile
Name: %{?scl_prefix}valgrind
Version: 3.24.0
Release: 4%{?dist}
Version: 3.22.0
Release: 2%{?dist}
Epoch: 1
# This ignores licenses that are only found in the test or perf sources
# we only care about those license statements found in sources that end
# up in the binary packages. One piece of code for which we don't have
# a license specifier is in coregrind/m_main.c for some Hacker's Delight
# public domain code, which is only compiled into Darwin binaries, which
# we don't create. Also some subpackages have their own license tags.
License: GPL-2.0-or-later AND bzip2-1.0.6 AND GFDL-1.2-or-later AND (GPL-2.0-or-later AND LGPL-2.0-or-later) AND (GPL-2.0-or-later AND ISC) AND (GPL-2.0-or-later AND Unlicense) AND (GPL-2.0-or-later AND Zlib) AND (GPL-2.0-or-later WITH GCC-exception-2.0) AND (LGPL-2.0-or-later WITH GCC-exception-2.0) AND (GPL-2.0-or-later AND BSD-3-Clause) AND (GPL-2.0-or-later AND (MIT OR NCSA)) AND CMU-Mach AND (GPL-2.0-or-later AND X11 AND BSD-3-Clause) AND X11 AND (GPL-2.0-or-later AND LGPL-2.0-or-later) AND (GPL-2.0-or-later AND (GPL-2.0-or-later OR MPL-2.0)) AND (GPL-2.0-or-later WITH Autoconf-exception-generic) AND (GPL-3.0-or-later WITH Autoconf-exception-generic-3.0) AND FSFULLR AND FSFAP AND FSFUL AND FSFULLRWD
License: GPLv2+
URL: https://www.valgrind.org/
Group: Development/Debuggers
# Are we building for a Software Collection?
%{?scl:%global is_scl 1}
@ -21,7 +15,7 @@ URL: https://www.valgrind.org/
# We never want the openmpi subpackage when building a software collecton.
# We always want it for fedora.
# We only want it for older rhel.
# We only want it for older rhel. But not s390x for too old rhel.
# And on fedora > 39 i386 dropped openmpi.
%if %{is_scl}
%global build_openmpi 0
@ -37,7 +31,11 @@ URL: https://www.valgrind.org/
%if 0%{?rhel} > 7
%global build_openmpi 0
%else
%global build_openmpi 1
%ifarch s390x
%global build_openmpi (%{?rhel} > 6)
%else
%global build_openmpi 1
%endif
%endif
%endif
%endif
@ -57,11 +55,17 @@ URL: https://www.valgrind.org/
# Whether to run the full regtest or only a limited set
# The full regtest includes gdb_server integration tests
# and experimental tools.
# Don't run them when creating scl, the gdb_server tests might hang.
# Only run full regtests on fedora, but not on older rhel
# or when creating scl, the gdb_server tests might hang.
%if %{is_scl}
%global run_full_regtest 0
%else
%global run_full_regtest 1
%if 0%{?fedora}
%global run_full_regtest 1
%endif
%if 0%{?rhel}
%global run_full_regtest (%rhel >= 7)
%endif
%endif
# Generating minisymtabs doesn't really work for the staticly linked
@ -85,21 +89,9 @@ Patch3: valgrind-3.16.0-some-stack-protector.patch
# Add some -Wl,z,now.
Patch4: valgrind-3.16.0-some-Wl-z-now.patch
# VALGRIND_3_24_BRANCH patches
Patch5: 0001-Prepare-NEWS-for-branch-3.24-fixes.patch
Patch6: 0002-vgdb.c-fork_and_exec_valgrind-Fix-off-by-one-error-w.patch
Patch7: 0003-vgdb.c-fork_and_exec_valgrind-Fix-another-off-by-one.patch
Patch8: 0004-regtest-add-a-fdleak-filter-for-write-on-write-on-li.patch
Patch9: 0005-Add-exp-and-supp-patterns-for-missing-main-frame-for.patch
Patch10: 0006-Add-additional-exp-ppc64le-files-to-EXTRA_DIST.patch
Patch11: 0007-Add-support-for-landlock_create_ruleset-444-landlock.patch
Patch12: 0008-helgrind-tests-tc17_sembar.c-Remove-bool-typedef.patch
Patch13: 0009-drd-tests-swapcontext.c-Rename-typedef-struct-thread.patch
Patch14: 0010-none-tests-bug234814.c-sa_handler-take-an-int-as-arg.patch
Patch15: 0011-Add-open_tree-move_mount-fsopen-fsconfig-fsmount-fsp.patch
Patch16: 0012-Recognize-new-DWARF5-DW_LANG-constants.patch
Patch17: 0013-Bug-498317-FdBadUse-is-not-a-valid-CoreError-type-in.patch
Patch18: 0014-linux-support-EVIOCGRAB-ioctl.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
BuildRequires: make
BuildRequires: glibc-devel
@ -139,17 +131,19 @@ BuildRequires: elfutils-debuginfod-client
Recommends: elfutils-debuginfod-client
%endif
# Optional subpackages
Recommends: %{?scl_prefix}valgrind-docs = %{epoch}:%{version}-%{release}
Recommends: %{?scl_prefix}valgrind-scripts = %{epoch}:%{version}-%{release}
Recommends: %{?scl_prefix}valgrind-gdb = %{epoch}:%{version}-%{release}
# For running the testsuite.
# Some of the python scripts require python 3.9+
BuildRequires: python3-devel
BuildRequires: python3.11
BuildRequires: python3.11-rpm-macros
%{?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.
@ -203,51 +197,16 @@ profiler (callgrind), and a heap profiler (massif).
%package devel
Summary: Development files for valgrind aware programs
# This is really Hybrid-BSD
# https://fedoraproject.org/wiki/Licensing:BSD#Hybrid_BSD_(half_BSD,_half_zlib)
# But that doesnt have a SPDX identifier yet
# https://gitlab.com/fedora/legal/fedora-license-data/-/issues/422
License: bzip2-1.0.6
# These are just the header files, so strictly speaking you don't
# need valgrind itself unless you are testing your builds. This used
# to be a Requires, so people might depend on the package pulling in
# the core valgrind package, so make it at least a weak dependency.
Recommends: %{?scl_prefix}valgrind = %{epoch}:%{version}-%{release}
Group: Development/Debuggers
Requires: %{?scl_prefix}valgrind = %{epoch}:%{version}-%{release}
%description devel
Header files and libraries for development of valgrind aware programs.
%package docs
Summary: Documentation for valgrind tools, scripts and gdb integration
License: GFDL-1.2-or-later
%description docs
Documentation in html and pdf, plus man pages for valgrind tools and scripts.
%package scripts
Summary: Scripts for post-processing valgrind tool output
License: GPL-2.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}
%description scripts
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
Requires: %{?scl_prefix}valgrind = %{epoch}:%{version}-%{release}
# vgdb can be used without gdb, just to control valgrind.
# But normally you use it together with both valgrind and gdb.
Recommends: gdb
%description gdb
Tools and support files for integrating valgrind and gdb.
%if %{build_tools_devel}
%package tools-devel
Summary: Development files for building valgrind tools.
Group: Development/Debuggers
Requires: %{?scl_prefix}valgrind-devel = %{epoch}:%{version}-%{release}
Provides: %{name}-static = %{epoch}:%{version}-%{release}
@ -258,8 +217,7 @@ Header files and libraries for development of valgrind tools.
%if %{build_openmpi}
%package openmpi
Summary: OpenMPI support for valgrind
# See above, Hybrid-BSD like.
License: bzip2-1.0.6
Group: Development/Debuggers
Requires: %{?scl_prefix}valgrind = %{epoch}:%{version}-%{release}
%description openmpi
@ -273,36 +231,29 @@ 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 -P13 -p1
%patch -P14 -p1
%patch -P15 -p1
%patch -P16 -p1
%patch -P17 -p1
%patch -P18 -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
@ -354,14 +305,13 @@ export LDFLAGS
--with-mpicc=%{mpiccpath} \
%{only_arch} \
GDB=%{_bindir}/gdb \
--with-gdbscripts-dir=%{_datadir}/gdb/auto-load \
--enable-lto
--without-gdbscripts-dir
%make_build
make %{?_smp_mflags}
%install
rm -rf $RPM_BUILD_ROOT
%make_install
make DESTDIR=$RPM_BUILD_ROOT install
mkdir docs/installed
mv $RPM_BUILD_ROOT%{_datadir}/doc/valgrind/* docs/installed/
rm -f docs/installed/*.ps
@ -423,7 +373,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_build CFLAGS="" CXXFLAGS="" LDFLAGS="" check
make %{?_smp_mflags} CFLAGS="" CXXFLAGS="" LDFLAGS="" check
# Workaround https://bugzilla.redhat.com/show_bug.cgi?id=1434601
# for gdbserver tests.
@ -461,44 +411,19 @@ echo ===============END TESTING===============
%{!?_licensedir:%global license %%doc}
%files
%license COPYING
%{_bindir}/valgrind
%dir %{_libexecdir}/valgrind
# Install just the core tools, default suppression and vgpreload libraries.
%{_libexecdir}/valgrind/default.supp
%{_libexecdir}/valgrind/*-*-linux
# Turn on executable bit again for vgpreload libraries.
# Was disabled in %%install to prevent debuginfo stripping.
%attr(0755,root,root) %{_libexecdir}/valgrind/vgpreload_*-%{valarch}-linux.so
%files docs
%license COPYING.DOCS
%license COPYING COPYING.DOCS
%doc NEWS README_*
%doc docs/installed/html docs/installed/*.pdf
%{_bindir}/*
%dir %{_libexecdir}/valgrind
# Install everything in the libdir except the .so.
# The vgpreload so files might need file mode adjustment.
%{_libexecdir}/valgrind/*[^o]
# Turn on executable bit again for vgpreload libraries.
# Was disabled in %%install to prevent debuginfo stripping.
%attr(0755,root,root) %{_libexecdir}/valgrind/vgpreload*-%{valarch}-*so
%{_mandir}/man1/*
%files scripts
%license COPYING
%{_bindir}/callgrind_annotate
%{_bindir}/callgrind_control
%{_bindir}/cg_annotate
%{_bindir}/cg_diff
%{_bindir}/cg_merge
%{_bindir}/ms_print
%{_libexecdir}/valgrind/dh_view.css
%{_libexecdir}/valgrind/dh_view.html
%{_libexecdir}/valgrind/dh_view.js
%files gdb
%license COPYING
%{_bindir}/valgrind-di-server
%{_bindir}/valgrind-listener
%{_bindir}/vgdb
# gdb register descriptions
%{_libexecdir}/valgrind/*.xml
%{_datadir}/gdb/auto-load/valgrind-monitor.py
%{_datadir}/gdb/auto-load/valgrind-monitor-def.py
%files devel
%dir %{_includedir}/valgrind
%{_includedir}/valgrind/valgrind.h
@ -528,202 +453,62 @@ 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
* 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,
cachegrind, massif and dhat which depend on perl and python.
- valgrind-gdb contains the debuginfo client/server and (v)gdb support.
- valgrind-docs contains the man pages, html and pdf manual.
- Adjust Requires/Recommends to subpackages can be installed independently.
- valgrind-devel now Recommends, instead of Requires, valgrind.
- valgrind-gdb Requires valgrind
- 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
* Tue Oct 29 2024 Troy Dawson <tdawson@redhat.com> - 1:3.23.0-5
- Bump release for October 2024 mass rebuild:
Resolves: RHEL-64018
* 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
* Mon Jun 24 2024 Troy Dawson <tdawson@redhat.com> - 1:3.23.0-2
- Bump release for June 2024 mass rebuild
* Fri Apr 26 2024 Mark Wielaard <mjw@redhat.com> - 3.23.0-1
- Upstream 3.23.0 final
- configure --enable-lto
- Remove all upstreamed patches
- Add BuildRequires: python3-devel for running testsuite.
- Update license tags to spdx
* Sat Jan 27 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.22.0-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Mon Jan 22 2024 Mark Wielaard <mjw@fedoraproject.org> - 3.22.0-5
- Add valgrind-3.22.0-x86-nop.patch
* Sat Dec 9 2023 Mark Wielaard <mjw@fedoraproject.org> - 3.22.0-4
- Add valgrind-3.22.0-fchmodat2.patch
- Prep for migration to SPDX identifiers
* Tue Dec 5 2023 Mark Wielaard <mjw@fedoraproject.org> - 3.22.0-3
* Wed Dec 6 2023 Mark Wielaard <mjw@redhat.com> - 3.22.0-2
- Add valgrind-3.22.0-rodata.patch
* Fri Nov 17 2023 Mark Wielaard <mjw@fedoraproject.org> - 3.22.0-2
- Add valgrind-3.22.0-valgrind-monitor-python-re.patch
- Drop support for rhel6
* Tue Oct 31 2023 Mark Wielaard <mjw@fedoraproject.org> - 3.22.0-1
* Fri Nov 3 2023 Mark Wielaard <mjw@redhat.com> - 3.22.0-1
- Upstream 3.22.0 final
- BuildRequires elfutils-debuginfod for testing
* Mon Oct 30 2023 Mark Wielaard <mjw@fedoraproject.org> - 3.22.0-0.2.RC2
- Update valgrind-3.21.0-no-memcpy-replace-check.patch
- Fedora 40 dropped openmpi support on i386
* Thu Oct 26 2023 Mark Wielaard <mjw@fedoraproject.org> - 3.22.0-0.1.RC2
- Upstream 3.22.0-RC2
* Tue Oct 17 2023 Mark Wielaard <mjw@fedoraproject.org> - 3.22.0-0.1.RC1
- Upstream 3.22.0-RC1
- Remove all upstreamed patches
- Adjust valgrind-3.16.0-some-stack-protector.patch
- Adjust valgrind-3.16.0-some-Wl-z-now.patch
- Add cachegrind.h to valgrind-devel package
* Mon Aug 21 2023 Mark Wielaard <mjw@fedoraproject.org> - 3.21.0-10
- Add valgrind-3.21.0-lazy-debuginfo.patch
- Add valgrind-3.21.0-cleanup-read_elf_object.patch
* Thu Aug 17 2023 Mark Wielaard <mjw@fedoraproject.org> - 3.21.0-9
- Add valgrind-3.21.0-gdb-multi-mode-stdout-redirecting-to-stderr.patch
- Use %%patch -Pn instead of deprecated %%patchn
* Sat Jul 22 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.21.0-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Tue Jun 27 2023 Mark Wielaard <mjw@redhat.com> - 3.21.0-8
- BuildRequire python3.11
* Thu Jun 22 2023 Mark Wielaard <mjw@fedoraproject.org> - 3.21.0-7
- Add valgrind-3.21.0-vgm.patch and valgrind-3.21.0-vgm-tests.patch
- Add valgrind-3.21.0-pgste.patch
* Thu Jun 1 2023 Mark Wielaard <mjw@fedoraproject.org> - 3.21.0-6
* 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
* Tue May 30 2023 Mark Wielaard <mjw@fedoraproject.org> - 3.21.0-5
- Update valgrind-3.21.0-no-memcpy-replace-check.patch (memcpy_chk)
* Wed May 17 2023 Mark Wielaard <mjw@fedoraproject.org> - 3.21.0-4
- Add valgrind-3.21.0-epoll_pwait2.patch
- Add valgrind-3.21.0-vgm.patch and valgrind-3.21.0-vgm-tests.patch
- Add valgrind-3.21.0-pgste.patch
* Tue May 16 2023 Alexandra Hájková <ahajkova@redhat.com> - 3.21.0-3
- Add valgrind-3.21.0-Add-with-gdbscripts-dir.patch
* Fri May 5 2023 Mark Wielaard <mjw@fedoraproject.org> - 3.21.0-2
* Fri May 5 2023 Mark Wielaard <mjw@redhat.com> - 3.21.0-2
- Upgrade to upstream 3.21.0
- Remove upstreamed patches
- Add valgrind-3.21.0-no-memcpy-replace-check.patch
* Fri Apr 28 2023 Mark Wielaard <mjw@fedoraproject.org> - 3.21.0-1
- Upstream 3.21.0 final
* Sat Apr 22 2023 Mark Wielaard <mjw@fedoraproject.org> - 3.21.0-0.1.RC2
- Upstream 3.21.0-RC2
* Fri Apr 21 2023 Mark Wielaard <mjw@fedoraproject.org> - 3.21.0-0.1.RC1
- Upstream 3.21.0-RC1
- Remove upstreamed valgrind-faultstatus-implicit-int.patch
- Adjust valgrind-3.16.0-some-{Wl-z-now,stack-protector}.patch
cg_merge is now a pything script.
* Fri Nov 18 2022 Florian Weimer <fweimer@redhat.com> - 1:3.20.0-2
- Avoid using implicit int C89 feature
* Mon Oct 24 2022 Mark Wielaard <mjw@fedoraproject.org> - 3.20.0-1
- Upgrade to valgrind 3.20.0. Drop old patches.
* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.19.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Wed May 25 2022 Mark Wielaard <mjw@fedoraproject.org> - 3.19.0-3
- Add valgrind-3.19.0-s390x-memmem.patch
* Fri May 13 2022 Mark Wielaard <mjw@fedoraproject.org> - 3.19.0-2
- Add valgrind-3.19.0-ld-so-strncmp.patch
* Tue Apr 12 2022 Mark Wielaard <mjw@fedoraproject.org> - 3.19.0-1
* Tue Apr 19 2022 Mark Wielaard <mjw@redhat.com> - 3.19.0-1
- Upgrade to valgrind 3.19.0. Drop old patches.
* Tue Feb 8 2022 Mark Wielaard <mjw@fedoraproject.org>
- Add valgrind-3.18.1-ppc64-cmov.patch
* Thu Feb 10 2022 Mark Wielaard <mjw@redhat.com> - 3.18.1-7
- Add valgrind-3.18.1-arm64-atomics-rdm.patch
- Add valgrind-3.18.1-rust-demangle-suffix.patch
* Sat Jan 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.18.1-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Tue Nov 30 2021 Mark Wielaard <mjw@redhat.com> - 3.18.1-6
- Rebuild against fresh toolchain
* Wed Jan 12 2022 Mark Wielaard <mjw@fedoraproject.org> - 3.18.1-8
- Add valgrind-3.18.1-ppc-hwcaps.patch
- Add valgrind-3.18.1-s390x-wflrx.patch
* Sat Dec 11 2021 Mark Wielaard <mjw@fedoraproject.org> - 3.18.1-7
-Add valgrind-3.18.1-s390x-vdso.patch
* Fri Dec 10 2021 Mark Wielaard <mjw@fedoraproject.org> - 3.18.1-6
- Add valgrind-3.18.1-rseq-enosys.patch
* Mon Nov 22 2021 Mark Wielaard <mjw@fedoraproject.org> - 3.18.1-5
- Add valgrind-3.18.1-demangle-namespace.patch
* Fri Nov 19 2021 Mark Wielaard <mjw@fedoraproject.org> - 3.18.1-4
- Add valgrind-3.18.1-condvar.patch
* Wed Nov 17 2021 Mark Wielaard <mjw@fedoraproject.org> - 3.18.1-3
* Wed Nov 24 2021 Mark Wielaard <mjw@redhat.com> - 3.18.1-5
- Add valgrind-3.18.1-dhat-tests-copy.patch
- Add valgrind-3.18.1-s390x-EXRL.patch
- Add valgrind-3.18.1-ppc64-lxsibzx-lxsihzx.patch
- Add valgrind-3.18.1-ppc-pstq.patch
- Add valgrind-3.18.1-ppc-pstq-tests.patch
- Add valgrind-3.18.1-gdbserver_tests-hwcap.patch
@ -732,226 +517,55 @@ echo ===============END TESTING===============
- Add valgrind-3.18.1-arm64-ldaxp-stlxp.patch
- Add valgrind-3.18.1-arm64-atomic-align.patch
- Add valgrind-3.18.1-amd64-more-spec-rules.patch
- Add valgrind-3.18.1-condvar.patch
- Add valgrind-3.18.1-demangle-namespace.patch
* Mon Nov 1 2021 Mark Wielaard <mjw@fedoraproject.org> - 3.18.1-2
- Add valgrind-3.18.1-dhat-tests-copy.patch
- Add valgrind-3.18.1-s390x-EXRL.patch
- Add valgrind-3.18.1-ppc64-lxsibzx-lxsihzx.patch
* Fri Oct 15 2021 Mark Wielaard <mjw@fedoraproject.org> - 3.18.0-1
* Wed Oct 20 2021 Mark Wielaard <mjw@redhat.com> - 3.18.1-1
- Update to upstream 3.18.1 final
* Wed Oct 13 2021 Mark Wielaard <mjw@fedoraproject.org> - 3.18.0-0.1.RC1
- Update to upstream 3.18.0-RC1
- Drop all upstreamed patches
* Mon Sep 20 2021 Mark Wielaard <mjw@fedoraproject.org> - 3.17.0-13
- Add valgrind-3.17.0-dwarf-atomic_type.patch
- Add valgrind-3.17.0-faster-readdwarf3.patch
* Wed Sep 8 2021 Mark Wielaard <mjw@fedoraproject.org>
- Add valgrind-3.17.0-ppc64-test_isa_3_1_VRT.patch
* Wed Aug 25 2021 Mark Wielaard <mjw@fedoraproject.org> - 3.17.0-12
- Add valgrind-3.17.0-vgdb-queued-signals.patch
- Add valgrind-3.17.0-ppc64-test-isa-3-1.patch
- Add valgrind-3.17.0-ppc64-pstxvp.patch
* Fri Aug 6 2021 Mark Wielaard <mjw@fedoraproject.org> - 3.17.0-11
- Add valgrind-3.17.0-ppc64-statfs64.patch
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.17.0-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Wed Jul 21 2021 Mark Wielaard <mjw@fedoraproject.org>
- Add valgrind-3.17.0_start.patch
* Wed Jul 21 2021 Mark Wielaard <mjw@fedoraproject.org> - 3.17.0-9
- Add valgrind-3.17.0-clone3.patch
* Sat Jul 17 2021 Mark Wielaard <mjw@fedoraproject.org> - 3.17.0-8
- Update drd suppression for native ld.so names.
* Sat Jul 17 2021 Mark Wielaard <mjw@fedoraproject.org> - 3.17.0-7
- Add gdbserver_tests-update-filters-for-newer-glibc-gdb.patch
- Add helgrind-and-drd-suppression-libc-and-libpthread.patch
- Remove valgrind-3.9.0-helgrind-race-supp.patch
* Fri Jul 9 2021 Mark Wielaard <mjw@fedoraproject.org> - 3.17.0-6
- Update to include fixed CI gating tests.
* Fri Jun 18 2021 Mark Wielaard <mjw@fedoraproject.org> - 3.17.0-5
* Thu Jun 24 2021 Mark Wielaard <mjw@redhat.com> - 3.17.0-5
- Add valgrind-3.17.0-s390-prep.patch
- Add valgrind-3.17.0-s390-z15.patch
- Add valgrind-3.17.0-s390-z13-vec-fix.patch
* Thu Jun 3 2021 Mark Wielaard <mjw@fedoraproject.org> - 3.17.0-4
* 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
* 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 Mark Wielaard <mjw@fedoraproject.org> - 3.17.0-2
- Add CI gating
* 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
* Fri Dec 4 2020 Mark Wielaard <mjw@redhat.com> - 3.16.0-4
- Add valgrind-3.16.1-s390_emit_load_mem.patch
- Add valgrind-3.16.1-s390x-z14-vector.patch
* Mon Nov 9 2020 Mark Wielaard <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
* Tue Oct 20 2020 Mark Wielaard <mjw@redhat.com> - 3.16.0-3
- Add valgrind-3.16.1-REX-prefix-JMP.patch
- Add valgrind-3.16.1-epoll.patch
- Add valgrind-3.16.1-sched_getsetattr.patch
- Add valgrind-3.16.1-dl_runtime_resolve.patch
* Tue Jul 14 2020 Tom Stellard <tstellar@redhat.com> - 3.16.1-3
- Use make macros
- https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro
* 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
* 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
* 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
* Thu May 28 2020 Mark Wielaard <mjw@redhat.com> - 3.16.0-1
- Update to upstream valgrind 3.16.0 final.
* 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
* Fri Feb 14 2020 Mark Wielaard <mjw@redhat.com> - 3.15.0-11
- Add valgrind-3.15.0-s390x-HRcVec128.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
* 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
* Mon Aug 5 2019 Mark Wielaard <mjw@redhat.com> - 3.15.0-10
- 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
* Wed May 29 2019 Mark Wielaard <mjw@redhat.com> - 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@fedoraproject.org> - 3.15.0-7
* Fri May 24 2019 Mark Wielaard <mjw@redhat.com> - 3.15.0-6
- Update valgrind-3.15.0-copy_file_range.patch.
- 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
@ -959,115 +573,32 @@ echo ===============END TESTING===============
- Add valgrind-3.15.0-scalar-arm64.patch
- Add valgrind-3.15.0-scalar-x86.patch
* Tue May 7 2019 Mark Wielaard <mjw@fedoraproject.org> - 3.15.0-4
* Wed May 8 2019 Mark Wielaard <mjw@redhat.com> - 3.15.0-4
- Add valgrind-3.15.0-copy_file_range.patch
- Add valgrind-3.15.0-arm64-ld-stpcpy.patch
* 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.
* Tue May 7 2019 Mark Wielaard <mjw@redhat.com> - 3.15.0-2
- valgrind-3.15.0 final
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
- clean up build flags
* 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
* 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.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
* Thu Jan 24 2019 Mark Wielaard <mjw@redhat.com> - 3.14.0-10
- Add valgrind-3.14.0-s390x-vec-facility-bit.patch.
* 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
* Mon Jan 7 2019 Mark Wielaard <mjw@redhat.com> - 3.14.0-9
- Add valgrind-3.14.0-power9-addex.patch
* Thu Dec 20 2018 Mark Wielaard <mjw@fedoraproject.org> - 3.14.0-8
- Update valgrind-3.14.0-jm-vmx-constraints.patch for ppc64.
* 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)
- Show all diff files in check, not just the main/default one.
* Fri Dec 14 2018 Mark Wielaard <mjw@fedoraproject.org> - 3.14.0-7
* Mon Dec 17 2018 Mark Wielaard <mjw@redhat.com> - 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@fedoraproject.org> - 3.14.0-6
* Wed Dec 12 2018 Mark Wielaard <mjw@redhat.com> - 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
@ -1080,45 +611,42 @@ echo ===============END TESTING===============
- Add valgrind-3.14.0-sigkill.patch
- Add valgrind-3.14.0-ppc64-ptrace.patch
* 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.
* Tue Dec 4 2018 Mark Wielaard <mjw@redhat.com>
- Add valgrind-3.14.0-wcsncmp.patch (#1655642)
* Fri Nov 23 2018 Mark Wielaard <mjw@fedoraproject.org> - 3.14.0-4
- Replace valgrind-3.14.0-s390x-vec-float-point-{code,test}.patch
with upstream versions. (#1525405)
* Fri Nov 23 2018 Mark Wielaard <mjw@redhat.com> - 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 (#1652926)
valgrind-3.14.0-enable-ppc-Iop_Sar_Shr8.patch (#1532205)
* Wed Nov 21 2018 Mark Wielaard <mjw@fedoraproject.org> - 3.14.0-3
* Wed Nov 21 2018 Mark Wielaard <mjw@redhat.com> - 3.14.0-3
- Add valgrind-3.14.0-s390z-more-z13-fixes.patch.
* Tue Nov 20 2018 Mark Wielaard <mjw@fedoraproject.org> - 3.14.0-2
* Tue Nov 20 2018 Mark Wielaard <mjw@redhat.com> - 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
- Disable full regtests on fedora everywhere.
- Only run full regtests on x86_64 on fedora or latest rhel.
* Tue Oct 9 2018 Mark Wielaard <mjw@fedoraproject.org> - 3.14.0-1
- valgrind 3.14.0 final.
* Tue Oct 9 2018 Mark Wielaard <mjw@redhat.com> - 3.14.0-1
- valgrind 3.14.0 (#1569600).
- Enable s390x again.
* 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
* Fri Aug 10 2018 Mark Wielaard <mjw@fedoraproject.org> - 3.13.0-29
- 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
@ -1129,7 +657,7 @@ echo ===============END TESTING===============
* Tue Jul 31 2018 Mark Wielaard <mjw@fedoraproject.org> - 3.13.0-25
- Add valgrind-3.13.0-x86-arch_prctl.patch (#1610304)
* Tue Jul 31 2018 Florian Weimer <fweimer@redhat.com> - 3.13.0-24
* Mon Jul 30 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

View File

@ -1,7 +0,0 @@
--- !Policy
product_versions:
- rhel-10
decision_context: osci_compose_gate
rules:
- !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.tier1-tmt-x86_64-aarch64.functional}
- !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.tier1-tmt-s390x-ppc64le.functional}

View File

@ -1,6 +0,0 @@
summary: CI test plan, runs all tests from tests repo.
discover:
how: fmf
url: https://gitlab.cee.redhat.com/toolchain-qe/tests/valgrind.git
execute:
how: tmt

View File

@ -1,52 +0,0 @@
---
inspections:
# xml files shipped are GDB register set descriptions which can only be
# verified with gdb/features/gdb-target.dtd, provided in GDB sources.
xml: off
annocheck:
# Currently lto is disabled globally for valgrind, it should be able
# to be enabled through upstream configure --enable-lto in the future.
# Note that all (default hardened) flags need to be repeated here, if
# you override some config flags it will completely overwrite the
# defaults (--ignore-unknown --verbose).
jobs:
- hardened: --ignore-unknown --verbose --skip-lto
# Ignore files built specially without hardening flags
ignore:
# Valgrind tools themselves (memcheck, cachegrind, massif, etc) are
# statically linked and need to be built without PIE to be loaded at
# a fixed address in the program's address space.
# Also need to be built without stack protection so the generated
# code (valgrind VEX jit) interacts correctly with their own static code.
- /usr/libexec/valgrind/*-*-linux
# Wrappers for various string and mem functions such as memcpy, strlen, etc
# that valgrind uses to keep track of memory usage. Hardening settings such
# as optimizations need to be disabled so they don't interfere or break
# the checks that valgrind does internally.
- /usr/libexec/valgrind/vgpreload*so
# libmpiwrap is special since it is a LD_PRELOAD wrapper used by valgrind
# memcheck for MPI using programs, the wrapper is against a specific MPI
# implementation though, in our case openmpi. We don't want to have a hard
# dependency on openmpi however, so a user can use the wrapper without
# explicitly pulling in openmpi unless the program explicitly uses it.
- /usr/lib*/openmpi/valgrind/libmpiwrap-*-linux.so
# These static archives (to create custom valgrind tools) are only
# distributed in valgrind-tools-devel and don't have hardening flags
# for the same reason as the standard tools (see above).
- /usr/lib*/valgrind/*-*linux.a
debuginfo:
ignore:
# We add the debuginfo to vgpreload libraries because we want to show the
# user exactly where the issue is, which we cannot without always having
# the symtab around. The vgpreload libraries are really tiny, so it doesn't
# have a big impact on the package size.
- /usr/libexec/valgrind/vgpreload*.so
runpath:
allowed_paths:
# As described above, libmpiwrap is a wrapper against openmpi
# so we set DT_RUNPATH to openmpi libs path
- /usr/lib/openmpi/lib
- /usr/lib64/openmpi/lib

View File

@ -1 +0,0 @@
SHA512 (valgrind-3.24.0.tar.bz2) = 6c131ff93d1f432d8362a47285cc377cba224ebca4f18e922c6156f7736d43020ece14d8fd16913498ab00fd18c85e2042a7d5351c3901e80413c584ebb406f3