[systemtap/f18] -mfentry, PPC_PTRACE fixes

Serguei Makarov smakarov at fedoraproject.org
Tue Mar 5 20:05:58 UTC 2013


commit f445f60401d564879e5fce20a79a2c4a2ecc9ab8
Author: Serguei Makarov <smakarov at redhat.com>
Date:   Tue Mar 5 15:00:54 2013 -0500

    -mfentry, PPC_PTRACE fixes

 systemtap-2.1-mfentry-lookup-retry.patch |   28 ++++++++++++++++++++
 systemtap-2.1-old-ppc-ptrace.patch       |   41 ++++++++++++++++++++++++++++++
 systemtap.spec                           |   13 ++++++++-
 3 files changed, 81 insertions(+), 1 deletions(-)
---
diff --git a/systemtap-2.1-mfentry-lookup-retry.patch b/systemtap-2.1-mfentry-lookup-retry.patch
new file mode 100644
index 0000000..4c47778
--- /dev/null
+++ b/systemtap-2.1-mfentry-lookup-retry.patch
@@ -0,0 +1,28 @@
+From e9e4b4476ac04606e08fb255ff2b580a68c7314a Mon Sep 17 00:00:00 2001
+From: "Frank Ch. Eigler" <fche at redhat.com>
+Date: Wed, 13 Feb 2013 17:56:52 -0500
+Subject: [PATCH 1/2] PR15148, speculatively drop the PR15123-conflicting
+ assert
+
+---
+ loc2c.c |    4 +++-
+ 1 files changed, 3 insertions(+), 1 deletions(-)
+
+diff --git a/loc2c.c b/loc2c.c
+index 3474e93..74df8b7 100644
+--- a/loc2c.c
++++ b/loc2c.c
+@@ -1433,7 +1433,9 @@ c_translate_location (struct obstack *pool,
+ 	pc_address = ctx->pc;
+       else if (ctx->pc == 0)
+ 	ctx->pc = pc_address;
+-      assert (ctx->pc == pc_address);
++      // PR15148: disable this assertion, in case the PR15123 address-retry logic
++      // sent us this way
++      // assert (ctx->pc == pc_address);
+     }
+ 
+   switch (*input == NULL ? loc_address : (*input)->type)
+-- 
+1.7.7.6
+
diff --git a/systemtap-2.1-old-ppc-ptrace.patch b/systemtap-2.1-old-ppc-ptrace.patch
new file mode 100644
index 0000000..c121776
--- /dev/null
+++ b/systemtap-2.1-old-ppc-ptrace.patch
@@ -0,0 +1,41 @@
+From bc8d0b788c81253e64333bab326da31cb19b9e64 Mon Sep 17 00:00:00 2001
+From: Mark Wielaard <mjw at redhat.com>
+Date: Thu, 21 Feb 2013 14:05:22 +0100
+Subject: [PATCH 2/2] powerpc/aux_syscalls.stp: Define old/deprecated
+ PPC_PTRACE_GET/SET[FP]REGS.
+
+kernel commit v3.4-rc5-40-gec34a68 removed them.
+
+Signed-off-by: Mark Wielaard <mjw at redhat.com>
+---
+ tapset/linux/powerpc/aux_syscalls.stp |   14 ++++++++++++++
+ 1 files changed, 14 insertions(+), 0 deletions(-)
+
+diff --git a/tapset/linux/powerpc/aux_syscalls.stp b/tapset/linux/powerpc/aux_syscalls.stp
+index 86ac55f..110f9e6 100644
+--- a/tapset/linux/powerpc/aux_syscalls.stp
++++ b/tapset/linux/powerpc/aux_syscalls.stp
+@@ -49,6 +49,20 @@
+ #ifndef PTRACE_SINGLEBLOCK
+ # define PTRACE_SINGLEBLOCK 0x100
+ #endif
++
++/* (old) PTRACE requests with inverted arguments */
++#ifndef PPC_PTRACE_GETREGS
++#define PPC_PTRACE_GETREGS 0x99
++#endif
++#ifndef PPC_PTRACE_SETREGS
++#define PPC_PTRACE_SETREGS 0x98
++#endif
++#ifndef PPC_PTRACE_GETFPREGS
++#define PPC_PTRACE_GETFPREGS 0x97
++#endif
++#ifndef PPC_PTRACE_SETFPREGS
++#define PPC_PTRACE_SETFPREGS 0x96
++#endif
+ %}
+ function _arch_ptrace_argstr(request, pid, addr, data)
+ {
+-- 
+1.7.7.6
+
diff --git a/systemtap.spec b/systemtap.spec
index 56efd7a..d1bdb17 100644
--- a/systemtap.spec
+++ b/systemtap.spec
@@ -31,7 +31,7 @@
 
 Name: systemtap
 Version: 2.1
-Release: 1%{?dist}
+Release: 2%{?dist}
 # for version, see also configure.ac
 
 
@@ -107,6 +107,11 @@ BuildRequires: publican
 BuildRequires: /usr/share/publican/Common_Content/%{publican_brand}/defaults.cfg
 %endif
 %endif
+
+# fixes for RHBZ917519 (PR15148), RHBZ905337
+Patch2: systemtap-2.1-mfentry-lookup-retry.patch
+Patch3: systemtap-2.1-old-ppc-ptrace.patch
+
 %if %{with_emacsvim}
 BuildRequires: emacs
 %endif
@@ -275,6 +280,9 @@ find . \( -name configure -o -name config.h.in \) -print | xargs touch
 cd ..
 %endif
 
+%patch2 -p1
+%patch3 -p1
+
 %build
 
 %if %{with_bundled_elfutils}
@@ -694,6 +702,9 @@ exit 0
 # ------------------------------------------------------------------------
 
 %changelog
+* Tue Mar 05 2013 Serguei Makarov <smakarov at redhat.com> - 2.1-2
+- Backported fixes for -mfentry (pr15148), bz905337
+
 * Wed Feb 13 2013 Serguei Makarov <smakarov at redhat.com> - 2.1-1
 - Upstream release.
 


More information about the scm-commits mailing list