[valgrind] Add valgrind-3.8.1-ptrace-setgetregset.patch KDE#308886

Mark Wielaard mjw at fedoraproject.org
Tue Feb 19 15:06:50 UTC 2013


commit 1f3b6597f57de40ee0c4148b11c8a74ea78484bf
Author: Mark Wielaard <mjw at redhat.com>
Date:   Tue Feb 19 15:24:54 2013 +0100

    Add valgrind-3.8.1-ptrace-setgetregset.patch KDE#308886

 valgrind-3.8.1-ptrace-setgetregset.patch |  481 ++++++++++++++++++++++++++++++
 valgrind.spec                            |   11 +
 2 files changed, 492 insertions(+), 0 deletions(-)
---
diff --git a/valgrind-3.8.1-ptrace-setgetregset.patch b/valgrind-3.8.1-ptrace-setgetregset.patch
new file mode 100644
index 0000000..29d5fb2
--- /dev/null
+++ b/valgrind-3.8.1-ptrace-setgetregset.patch
@@ -0,0 +1,481 @@
+commit 7be84ee45ccc827a63353868558bed6c824b4a68
+Author: cborntra <cborntra at a5019735-40e9-0310-863c-91ae7b9d1cf9>
+Date:   Thu Nov 8 19:42:00 2012 +0000
+
+    Add ptrace getreset testcase from Andreas Arnez
+    arnez AT  linux DOT vnet DOT ibm DOT com
+    
+    
+    
+    git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13110 a5019735-40e9-0310-863c-91ae7b9d1cf9
+
+diff --git a/memcheck/tests/linux/getregset.c b/memcheck/tests/linux/getregset.c
+new file mode 100644
+index 0000000..70b5ce2
+--- /dev/null
++++ b/memcheck/tests/linux/getregset.c
+@@ -0,0 +1,76 @@
++/* -*- mode: C; c-basic-offset: 3; -*- */
++
++#include <assert.h>
++#include <elf.h>
++#include <stdio.h>
++#include <stdlib.h>
++#include <string.h>
++#include <unistd.h>
++
++#include <sys/ptrace.h>
++#include <sys/types.h>
++#include <sys/uio.h>
++#include <sys/user.h>
++#include <sys/wait.h>
++
++static int
++err_out(const char *msg)
++{
++   perror(msg);
++   return 1;
++}
++
++static int
++non_empty(const char *buf, size_t len)
++{
++   size_t i;
++   int c;
++   volatile const char *p = buf;
++
++   for (i = 0; i != len; i++)
++      c |= p[i];
++   return c;
++}
++
++static int
++do_child(void)
++{
++   if (ptrace(PTRACE_TRACEME, 0, NULL, NULL) == -1)
++      return err_out("ptrace traceme");
++   raise(SIGUSR1);
++   return 0;
++}
++
++int
++main(void)
++{
++   char buf[1024];
++   struct iovec iov;
++   pid_t cpid, pid;
++   int status;
++
++   cpid = fork();
++   if (cpid == -1)
++      return err_out("fork");
++   if (cpid == 0)
++      return do_child();
++
++   pid = wait(&status);
++   if (pid == -1)
++      return err_out("wait");
++
++   /* Intentionally provide an uninitialized buffer to ptrace. */
++   iov.iov_len = sizeof(buf);
++   iov.iov_base = buf;
++   if (ptrace(0x4204, cpid, NT_PRSTATUS, &iov) == -1)
++      return err_out("ptrace getregset");
++
++   assert(iov.iov_base == buf);
++   assert(iov.iov_len > 0 && iov.iov_len < sizeof(buf));
++
++   /* We're assuming here that NT_PRSTATUS never contains
++      all-zeros. */
++   assert(non_empty(buf, iov.iov_len));
++   puts("OK");
++   return 0;
++}
+diff --git a/memcheck/tests/linux/getregset.stderr.exp b/memcheck/tests/linux/getregset.stderr.exp
+new file mode 100644
+index 0000000..e69de29
+diff --git a/memcheck/tests/linux/getregset.stdout.exp b/memcheck/tests/linux/getregset.stdout.exp
+new file mode 100644
+index 0000000..d86bac9
+--- /dev/null
++++ b/memcheck/tests/linux/getregset.stdout.exp
+@@ -0,0 +1 @@
++OK
+diff --git a/memcheck/tests/linux/getregset.vgtest b/memcheck/tests/linux/getregset.vgtest
+new file mode 100644
+index 0000000..73f52f7
+--- /dev/null
++++ b/memcheck/tests/linux/getregset.vgtest
+@@ -0,0 +1,2 @@
++prog: getregset
++vgopts: -q
+\ No newline at end of file
+
+commit e48a444c9dfdf8083da562e87521c54876f8edc3
+Author: cborntra <cborntra at a5019735-40e9-0310-863c-91ae7b9d1cf9>
+Date:   Thu Nov 8 20:10:10 2012 +0000
+
+    add s390 specific fix for getregset
+    
+    
+    git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13112 a5019735-40e9-0310-863c-91ae7b9d1cf9
+
+diff --git a/coregrind/m_syswrap/priv_syswrap-linux.h b/coregrind/m_syswrap/priv_syswrap-linux.h
+index 6638f14..ea043d7 100644
+--- a/coregrind/m_syswrap/priv_syswrap-linux.h
++++ b/coregrind/m_syswrap/priv_syswrap-linux.h
+@@ -290,6 +290,11 @@ extern void ML_(linux_POST_sys_msgctl)     ( TId, UW, UW, UW, UW );
+ extern void ML_(linux_PRE_sys_getsockopt)  ( TId, UW, UW, UW, UW, UW );
+ extern void ML_(linux_POST_sys_getsockopt) ( TId, SR, UW, UW, UW, UW, UW );
+ 
++// Linux-specific (but non-arch-specific) ptrace wrapper helpers
++extern void ML_(linux_PRE_getregset) ( ThreadId, long, long );
++extern void ML_(linux_PRE_setregset) ( ThreadId, long, long );
++extern void ML_(linux_POST_getregset)( ThreadId, long, long );
++
+ #undef TId
+ #undef UW
+ #undef SR
+diff --git a/coregrind/m_syswrap/syswrap-linux.c b/coregrind/m_syswrap/syswrap-linux.c
+index cec1c20..18bb548 100644
+--- a/coregrind/m_syswrap/syswrap-linux.c
++++ b/coregrind/m_syswrap/syswrap-linux.c
+@@ -7230,6 +7230,46 @@ ML_(linux_POST_sys_getsockopt) ( ThreadId tid,
+    }
+ }
+ 
++/* ---------------------------------------------------------------------
++   ptrace wrapper helpers
++   ------------------------------------------------------------------ */
++
++void
++ML_(linux_PRE_getregset) ( ThreadId tid, long arg3, long arg4 )
++{
++   struct vki_iovec *iov = (struct vki_iovec *) arg4;
++
++   PRE_MEM_READ("ptrace(getregset iovec->iov_base)",
++		(unsigned long) &iov->iov_base, sizeof(iov->iov_base));
++   PRE_MEM_READ("ptrace(getregset iovec->iov_len)",
++		(unsigned long) &iov->iov_len, sizeof(iov->iov_len));
++   PRE_MEM_WRITE("ptrace(getregset *(iovec->iov_base))",
++		 (unsigned long) iov->iov_base, iov->iov_len);
++}
++
++void
++ML_(linux_PRE_setregset) ( ThreadId tid, long arg3, long arg4 )
++{
++   struct vki_iovec *iov = (struct vki_iovec *) arg4;
++
++   PRE_MEM_READ("ptrace(setregset iovec->iov_base)",
++		(unsigned long) &iov->iov_base, sizeof(iov->iov_base));
++   PRE_MEM_READ("ptrace(setregset iovec->iov_len)",
++		(unsigned long) &iov->iov_len, sizeof(iov->iov_len));
++   PRE_MEM_READ("ptrace(setregset *(iovec->iov_base))",
++		(unsigned long) iov->iov_base, iov->iov_len);
++}
++
++void
++ML_(linux_POST_getregset) ( ThreadId tid, long arg3, long arg4 )
++{
++   struct vki_iovec *iov = (struct vki_iovec *) arg4;
++
++   /* XXX: The actual amount of data written by the kernel might be
++      less than iov_len, depending on the regset (arg3). */
++   POST_MEM_WRITE((unsigned long) iov->iov_base, iov->iov_len);
++}
++
+ #undef PRE
+ #undef POST
+ 
+diff --git a/coregrind/m_syswrap/syswrap-s390x-linux.c b/coregrind/m_syswrap/syswrap-s390x-linux.c
+index 10d83e7..84c2f29 100644
+--- a/coregrind/m_syswrap/syswrap-s390x-linux.c
++++ b/coregrind/m_syswrap/syswrap-s390x-linux.c
+@@ -345,10 +345,13 @@ DECL_TEMPLATE(s390x_linux, sys_sigreturn);
+ DECL_TEMPLATE(s390x_linux, sys_rt_sigreturn);
+ DECL_TEMPLATE(s390x_linux, sys_fadvise64);
+ 
+-// PEEK TEXT,DATA and USER are common to all architectures
+-// PEEKUSR_AREA and POKEUSR_AREA are special, having a memory area
+-// containing the real addr, data, and len field pointed to by ARG3
+-// instead of ARG4
++/* PEEK TEXT,DATA and USER are common to all architectures.
++   PEEKUSR_AREA and POKEUSR_AREA are special, having a memory area
++   containing the real addr, data, and len field pointed to by ARG3
++   instead of ARG4.
++   GETREGSET and SETREGSET use a struct iovec (pointed to by ARG4) for
++   the address and size of the user buffer. */
++
+ PRE(sys_ptrace)
+ {
+    PRINT("sys_ptrace ( %ld, %ld, %#lx, %#lx )", ARG1,ARG2,ARG3,ARG4);
+@@ -404,6 +407,12 @@ PRE(sys_ptrace)
+                        pa->vki_process_addr, pa->vki_len);
+          break;
+       }
++   case VKI_PTRACE_GETREGSET:
++      ML_(linux_PRE_getregset)(tid, ARG3, ARG4);
++      break;
++   case VKI_PTRACE_SETREGSET:
++      ML_(linux_PRE_setregset)(tid, ARG3, ARG4);
++      break;
+    default:
+       break;
+    }
+@@ -432,7 +441,11 @@ POST(sys_ptrace)
+ 
+ 	 pa = (vki_ptrace_area *) ARG3;
+          POST_MEM_WRITE(pa->vki_process_addr, pa->vki_len);
++	 break;
+       }
++   case VKI_PTRACE_GETREGSET:
++      ML_(linux_POST_getregset)(tid, ARG3, ARG4);
++      break;
+    default:
+       break;
+    }
+diff --git a/include/vki/vki-linux.h b/include/vki/vki-linux.h
+index 64ba6a4..cee687d 100644
+--- a/include/vki/vki-linux.h
++++ b/include/vki/vki-linux.h
+@@ -2251,6 +2251,8 @@ typedef __vki_kernel_uid32_t vki_qid_t; /* Type in which we store ids in memory
+ #define VKI_PTRACE_GETEVENTMSG	0x4201
+ #define VKI_PTRACE_GETSIGINFO	0x4202
+ #define VKI_PTRACE_SETSIGINFO	0x4203
++#define VKI_PTRACE_GETREGSET	0x4204
++#define VKI_PTRACE_SETREGSET	0x4205
+ 
+ //----------------------------------------------------------------------
+ // From linux-2.6.14/include/sound/asound.h
+diff --git a/memcheck/tests/linux/getregset.c b/memcheck/tests/linux/getregset.c
+index 70b5ce2..3a67663 100644
+--- a/memcheck/tests/linux/getregset.c
++++ b/memcheck/tests/linux/getregset.c
+@@ -24,7 +24,7 @@ static int
+ non_empty(const char *buf, size_t len)
+ {
+    size_t i;
+-   int c;
++   int c = 0;
+    volatile const char *p = buf;
+ 
+    for (i = 0; i != len; i++)
+
+commit b2cd1bc0abb95119df1b9b8e6dcc71e48b828a94
+Author: cborntra <cborntra at a5019735-40e9-0310-863c-91ae7b9d1cf9>
+Date:   Thu Nov 8 20:27:05 2012 +0000
+
+    also wire up arm, x86 and amd64 regarding ptrace regsets
+    original patch from
+    Andreas Arnez <arnez AT  linux DOT vnet DOT ibm DOT com>
+    
+    Seems that ppc and mips dont have ptrace support....
+    
+    
+    
+    git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13113 a5019735-40e9-0310-863c-91ae7b9d1cf9
+
+diff --git a/coregrind/m_syswrap/syswrap-amd64-linux.c b/coregrind/m_syswrap/syswrap-amd64-linux.c
+index 035f7b8..2f2b0a4 100644
+--- a/coregrind/m_syswrap/syswrap-amd64-linux.c
++++ b/coregrind/m_syswrap/syswrap-amd64-linux.c
+@@ -617,6 +617,12 @@ PRE(sys_ptrace)
+    case VKI_PTRACE_SETSIGINFO:
+       PRE_MEM_READ( "ptrace(setsiginfo)", ARG4, sizeof(vki_siginfo_t));
+       break;
++   case VKI_PTRACE_GETREGSET:
++      ML_(linux_PRE_getregset)(tid, ARG3, ARG4);
++      break;
++   case VKI_PTRACE_SETREGSET:
++      ML_(linux_PRE_setregset)(tid, ARG3, ARG4);
++      break;
+    default:
+       break;
+    }
+@@ -645,6 +651,9 @@ POST(sys_ptrace)
+        */
+       POST_MEM_WRITE( ARG4, sizeof(vki_siginfo_t));
+       break;
++   case VKI_PTRACE_GETREGSET:
++      ML_(linux_POST_getregset)(tid, ARG3, ARG4);
++      break;
+    default:
+       break;
+    }
+diff --git a/coregrind/m_syswrap/syswrap-arm-linux.c b/coregrind/m_syswrap/syswrap-arm-linux.c
+index 27ecc8c..f60d771 100644
+--- a/coregrind/m_syswrap/syswrap-arm-linux.c
++++ b/coregrind/m_syswrap/syswrap-arm-linux.c
+@@ -1110,6 +1110,12 @@ PRE(sys_ptrace)
+    case VKI_PTRACE_SETSIGINFO:
+       PRE_MEM_READ( "ptrace(setsiginfo)", ARG4, sizeof(vki_siginfo_t));
+       break;
++   case VKI_PTRACE_GETREGSET:
++      ML_(linux_PRE_getregset)(tid, ARG3, ARG4);
++      break;
++   case VKI_PTRACE_SETREGSET:
++      ML_(linux_PRE_setregset)(tid, ARG3, ARG4);
++      break;
+    default:
+       break;
+    }
+@@ -1149,6 +1155,9 @@ POST(sys_ptrace)
+        */
+       POST_MEM_WRITE( ARG4, sizeof(vki_siginfo_t));
+       break;
++   case VKI_PTRACE_GETREGSET:
++      ML_(linux_POST_getregset)(tid, ARG3, ARG4);
++      break;
+    default:
+       break;
+    }
+diff --git a/coregrind/m_syswrap/syswrap-x86-linux.c b/coregrind/m_syswrap/syswrap-x86-linux.c
+index 8f47efd..b9f94b6 100644
+--- a/coregrind/m_syswrap/syswrap-x86-linux.c
++++ b/coregrind/m_syswrap/syswrap-x86-linux.c
+@@ -1139,6 +1139,12 @@ PRE(sys_ptrace)
+    case VKI_PTRACE_SETSIGINFO:
+       PRE_MEM_READ( "ptrace(setsiginfo)", ARG4, sizeof(vki_siginfo_t));
+       break;
++   case VKI_PTRACE_GETREGSET:
++      ML_(linux_PRE_getregset)(tid, ARG3, ARG4);
++      break;
++   case VKI_PTRACE_SETREGSET:
++      ML_(linux_PRE_setregset)(tid, ARG3, ARG4);
++      break;
+    default:
+       break;
+    }
+@@ -1170,6 +1176,9 @@ POST(sys_ptrace)
+        */
+       POST_MEM_WRITE( ARG4, sizeof(vki_siginfo_t));
+       break;
++   case VKI_PTRACE_GETREGSET:
++      ML_(linux_POST_getregset)(tid, ARG3, ARG4);
++      break;
+    default:
+       break;
+    }
+
+commit 49cc754d63a30accef06cd9a18315051b206373c
+Author: cborntra <cborntra at a5019735-40e9-0310-863c-91ae7b9d1cf9>
+Date:   Fri Nov 9 08:06:14 2012 +0000
+
+    GETREGSET was introduced with 2.6.33.
+    
+    
+    git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13115 a5019735-40e9-0310-863c-91ae7b9d1cf9
+
+diff --git a/memcheck/tests/linux/getregset.vgtest b/memcheck/tests/linux/getregset.vgtest
+index 73f52f7..14be523 100644
+--- a/memcheck/tests/linux/getregset.vgtest
++++ b/memcheck/tests/linux/getregset.vgtest
+@@ -1,2 +1,4 @@
+ prog: getregset
+-vgopts: -q
+\ No newline at end of file
++vgopts: -q
++prereq: ../../../tests/os_test linux 2.6.33
++
+commit a9a475d568840ecdfcc312cc4b02c29e20b81fab
+Author: cborntra <cborntra at a5019735-40e9-0310-863c-91ae7b9d1cf9>
+Date:   Thu Nov 8 19:46:29 2012 +0000
+
+    wire up testcase
+    
+    
+    git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13111 a5019735-40e9-0310-863c-91ae7b9d1cf9
+
+diff --git a/memcheck/tests/linux/Makefile.am b/memcheck/tests/linux/Makefile.am
+index b59afae..5885ab0 100644
+--- a/memcheck/tests/linux/Makefile.am
++++ b/memcheck/tests/linux/Makefile.am
+@@ -16,11 +16,13 @@ EXTRA_DIST = \
+ 	syslog-syscall.vgtest syslog-syscall.stderr.exp \
+ 	timerfd-syscall.vgtest timerfd-syscall.stderr.exp \
+ 	with-space.stderr.exp with-space.stdout.exp with-space.vgtest \
+-	proc-auxv.vgtest proc-auxv.stderr.exp
++	proc-auxv.vgtest proc-auxv.stderr.exp getregset.vgtest \
++	getregset.stderr.exp getregset.stdout.exp
+ 
+ check_PROGRAMS = \
+ 	brk \
+ 	capget \
++	getregset \
+ 	lsframe1 \
+ 	lsframe2 \
+ 	sigqueue \
+--- valgrind-3.8.1/memcheck/tests/linux/Makefile.in.orig	2013-02-19 15:22:18.550589954 +0100
++++ valgrind-3.8.1/memcheck/tests/linux/Makefile.in	2013-02-19 15:22:30.941543855 +0100
+@@ -54,11 +54,11 @@
+ @VGCONF_HAVE_PLATFORM_SEC_TRUE at am__append_2 = -DVGA_SEC_ at VGCONF_ARCH_SEC@=1  \
+ @VGCONF_HAVE_PLATFORM_SEC_TRUE@		-DVGP_SEC_ at VGCONF_ARCH_PRI@_ at VGCONF_OS@=1
+ 
+-check_PROGRAMS = brk$(EXEEXT) capget$(EXEEXT) lsframe1$(EXEEXT) \
+-	lsframe2$(EXEEXT) sigqueue$(EXEEXT) stack_changes$(EXEEXT) \
+-	stack_switch$(EXEEXT) syscalls-2007$(EXEEXT) \
+-	syslog-syscall$(EXEEXT) timerfd-syscall$(EXEEXT) \
+-	proc-auxv$(EXEEXT)
++check_PROGRAMS = brk$(EXEEXT) capget$(EXEEXT) getregset$(EXEEXT) \
++	lsframe1$(EXEEXT) lsframe2$(EXEEXT) sigqueue$(EXEEXT) \
++	stack_changes$(EXEEXT) stack_switch$(EXEEXT) \
++	syscalls-2007$(EXEEXT) syslog-syscall$(EXEEXT) \
++	timerfd-syscall$(EXEEXT) proc-auxv$(EXEEXT)
+ subdir = memcheck/tests/linux
+ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+ am__aclocal_m4_deps = $(top_srcdir)/configure.in
+@@ -74,6 +74,9 @@
+ capget_SOURCES = capget.c
+ capget_OBJECTS = capget.$(OBJEXT)
+ capget_LDADD = $(LDADD)
++getregset_SOURCES = getregset.c
++getregset_OBJECTS = getregset.$(OBJEXT)
++getregset_LDADD = $(LDADD)
+ lsframe1_SOURCES = lsframe1.c
+ lsframe1_OBJECTS = lsframe1.$(OBJEXT)
+ lsframe1_LDADD = $(LDADD)
+@@ -110,12 +113,12 @@
+ 	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+ CCLD = $(CC)
+ LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+-SOURCES = brk.c capget.c lsframe1.c lsframe2.c proc-auxv.c sigqueue.c \
+-	stack_changes.c stack_switch.c syscalls-2007.c \
+-	syslog-syscall.c timerfd-syscall.c
+-DIST_SOURCES = brk.c capget.c lsframe1.c lsframe2.c proc-auxv.c \
++SOURCES = brk.c capget.c getregset.c lsframe1.c lsframe2.c proc-auxv.c \
+ 	sigqueue.c stack_changes.c stack_switch.c syscalls-2007.c \
+ 	syslog-syscall.c timerfd-syscall.c
++DIST_SOURCES = brk.c capget.c getregset.c lsframe1.c lsframe2.c \
++	proc-auxv.c sigqueue.c stack_changes.c stack_switch.c \
++	syscalls-2007.c syslog-syscall.c timerfd-syscall.c
+ ETAGS = etags
+ CTAGS = ctags
+ DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+@@ -409,7 +412,8 @@
+ 	syslog-syscall.vgtest syslog-syscall.stderr.exp \
+ 	timerfd-syscall.vgtest timerfd-syscall.stderr.exp \
+ 	with-space.stderr.exp with-space.stdout.exp with-space.vgtest \
+-	proc-auxv.vgtest proc-auxv.stderr.exp
++	proc-auxv.vgtest proc-auxv.stderr.exp getregset.vgtest \
++	getregset.stderr.exp getregset.stdout.exp
+ 
+ stack_switch_LDADD = -lpthread
+ timerfd_syscall_LDADD = -lrt
+@@ -456,6 +460,9 @@
+ capget$(EXEEXT): $(capget_OBJECTS) $(capget_DEPENDENCIES) 
+ 	@rm -f capget$(EXEEXT)
+ 	$(LINK) $(capget_OBJECTS) $(capget_LDADD) $(LIBS)
++getregset$(EXEEXT): $(getregset_OBJECTS) $(getregset_DEPENDENCIES) 
++	@rm -f getregset$(EXEEXT)
++	$(LINK) $(getregset_OBJECTS) $(getregset_LDADD) $(LIBS)
+ lsframe1$(EXEEXT): $(lsframe1_OBJECTS) $(lsframe1_DEPENDENCIES) 
+ 	@rm -f lsframe1$(EXEEXT)
+ 	$(LINK) $(lsframe1_OBJECTS) $(lsframe1_LDADD) $(LIBS)
+@@ -492,6 +499,7 @@
+ 
+ @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/brk.Po at am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/capget.Po at am__quote@
++ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/getregset.Po at am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/lsframe1.Po at am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/lsframe2.Po at am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/proc-auxv.Po at am__quote@
diff --git a/valgrind.spec b/valgrind.spec
index 879f31e..d48f779 100644
--- a/valgrind.spec
+++ b/valgrind.spec
@@ -141,6 +141,12 @@ Patch33: valgrind-3.8.1-glibc-2.17.patch
 # KDE#315441 - sendmsg syscall should ignore unset msghdr msg_flags
 Patch34: valgrind-3.8.1-sendmsg-flags.patch
 
+# KDE#308886 - Missing support for PTRACE_SET/GETREGSET
+Patch35: valgrind-3.8.1-ptrace-setgetregset.patch
+
+# KDE#310424 - --read-var-info does not properly describe static variables
+Patch36: valgrind-3.8.1-static-variables.patch
+
 %ifarch x86_64 ppc64
 # Ensure glibc{,-devel} is installed for both multilib arches
 BuildRequires: /lib/libc.so.6 /usr/lib/libc.so /lib64/libc.so.6 /usr/lib64/libc.so
@@ -275,6 +281,9 @@ touch ./none/tests/amd64/bmi.stderr.exp
 %patch32 -p1
 %patch33 -p1
 %patch34 -p1
+%patch35 -p1
+touch ./memcheck/tests/linux/getregset.stderr.exp
+%patch36 -p1
 
 # To suppress eventual automake warnings/errors
 rm -f gdbserver_tests/filter_gdb.orig
@@ -426,6 +435,8 @@ echo ===============END TESTING===============
 %changelog
 * Tue Feb 19 2013 Mark Wielaard <mjw at redhat.com> 3.8.1-8
 - Add valgrind-3.8.1-sendmsg-flags.patch
+- Add valgrind-3.8.1-ptrace-setgetregset.patch
+- Add valgrind-3.8.1-static-variables.patch
 
 * Thu Feb 07 2013 Jon Ciesla <limburgher at gmail.com> 1:3.8.1-7
 - Merge review fixes, BZ 226522.


More information about the scm-commits mailing list