linux-tools: Fix/revert unportable code in perf trace (fixes FTBFS on powerpc, sparc)

svn path=/dists/trunk/linux-tools/; revision=21033
This commit is contained in:
Ben Hutchings 2014-02-06 01:04:26 +00:00
parent 3e8d83d5ac
commit f38b58be66
5 changed files with 158 additions and 0 deletions

7
debian/changelog vendored
View File

@ -1,3 +1,10 @@
linux-tools (3.13-1~exp3) UNRELEASED; urgency=medium
* linux-tools: Fix/revert unportable code in perf trace (fixes FTBFS
on powerpc, sparc)
-- Ben Hutchings <ben@decadent.org.uk> Wed, 05 Feb 2014 04:45:12 +0000
linux-tools (3.13-1~exp2) experimental; urgency=medium
* Merge changes from sid up to 3.12.6-3

View File

@ -0,0 +1,30 @@
From: Ben Hutchings <ben@decadent.org.uk>
Date: Thu, 6 Feb 2014 00:46:51 +0000
Subject: [PATCH 2/3] perf trace: Add fallback definition of EFD_SEMAPHORE
Forwarded: http://mid.gmane.org/1391648435.3003.100.camel@deadeye.wl.decadent.org.uk
glibc 2.17 is missing this on sparc, despite the fact that it's
not architecture-specific.
Fixes: 49af9e93adfa ('perf trace: Beautify eventfd2 'flags' arg')
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Cc: <stable@vger.kernel.org>
---
tools/perf/builtin-trace.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/tools/perf/builtin-trace.c b/tools/perf/builtin-trace.c
index c9671bd..5c32dcf 100644
--- a/tools/perf/builtin-trace.c
+++ b/tools/perf/builtin-trace.c
@@ -35,6 +35,10 @@
# define MADV_UNMERGEABLE 13
#endif
+#ifndef EFD_SEMAPHORE
+# define EFD_SEMAPHORE 1
+#endif
+
struct tp_field {
int offset;
union {

View File

@ -0,0 +1,44 @@
From: Ben Hutchings <ben@decadent.org.uk>
Date: Thu, 6 Feb 2014 00:47:06 +0000
Subject: [PATCH 3/3] perf trace: Decode architecture-specific signal numbers
Forwarded: http://mid.gmane.org/1391648441.3003.101.camel@deadeye.wl.decadent.org.uk
SIGSTKFLT is not defined on alpha, mips or sparc.
SIGEMT and SIGSWI are defined on some architectures and should be
decoded here if so.
Fixes: 8bad5b0abfdb ('perf trace: Beautify signal number arg in several syscalls')
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Cc: <stable@vger.kernel.org>
---
tools/perf/builtin-trace.c | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/tools/perf/builtin-trace.c b/tools/perf/builtin-trace.c
index 5c32dcf..25ea64c 100644
--- a/tools/perf/builtin-trace.c
+++ b/tools/perf/builtin-trace.c
@@ -807,7 +807,6 @@ static size_t syscall_arg__scnprintf_signum(char *bf, size_t size, struct syscal
P_SIGNUM(PIPE);
P_SIGNUM(ALRM);
P_SIGNUM(TERM);
- P_SIGNUM(STKFLT);
P_SIGNUM(CHLD);
P_SIGNUM(CONT);
P_SIGNUM(STOP);
@@ -823,6 +822,15 @@ static size_t syscall_arg__scnprintf_signum(char *bf, size_t size, struct syscal
P_SIGNUM(IO);
P_SIGNUM(PWR);
P_SIGNUM(SYS);
+#ifdef SIGEMT
+ P_SIGNUM(EMT);
+#endif
+#ifdef SIGSTKFLT
+ P_SIGNUM(STKFLT);
+#endif
+#ifdef SIGSWI
+ P_SIGNUM(SWI);
+#endif
default: break;
}

View File

@ -0,0 +1,74 @@
From: Ben Hutchings <ben@decadent.org.uk>
Date: Thu, 6 Feb 2014 00:46:39 +0000
Subject: [PATCH 1/3] Revert "perf trace: Initial beautifier for ioctl's 'cmd' arg"
Forwarded: http://mid.gmane.org/1391648425.3003.99.camel@deadeye.wl.decadent.org.uk
This reverts commit 78645cf3ed32860a3e83b8e35aa469f5b844a4ba,
which is incorrect for many architectures and has broken
compilation on at least powerpc and sparc.
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Cc: <stable@vger.kernel.org>
---
tools/perf/builtin-trace.c | 34 +---------------------------------
1 file changed, 1 insertion(+), 33 deletions(-)
diff --git a/tools/perf/builtin-trace.c b/tools/perf/builtin-trace.c
index 8be17fc..c9671bd 100644
--- a/tools/perf/builtin-trace.c
+++ b/tools/perf/builtin-trace.c
@@ -275,14 +275,6 @@ static size_t syscall_arg__scnprintf_strarray(char *bf, size_t size,
#define SCA_STRARRAY syscall_arg__scnprintf_strarray
-static size_t syscall_arg__scnprintf_strhexarray(char *bf, size_t size,
- struct syscall_arg *arg)
-{
- return __syscall_arg__scnprintf_strarray(bf, size, "%#x", arg);
-}
-
-#define SCA_STRHEXARRAY syscall_arg__scnprintf_strhexarray
-
static size_t syscall_arg__scnprintf_fd(char *bf, size_t size,
struct syscall_arg *arg);
@@ -835,28 +827,6 @@ static size_t syscall_arg__scnprintf_signum(char *bf, size_t size, struct syscal
#define SCA_SIGNUM syscall_arg__scnprintf_signum
-#define TCGETS 0x5401
-
-static const char *tioctls[] = {
- "TCGETS", "TCSETS", "TCSETSW", "TCSETSF", "TCGETA", "TCSETA", "TCSETAW",
- "TCSETAF", "TCSBRK", "TCXONC", "TCFLSH", "TIOCEXCL", "TIOCNXCL",
- "TIOCSCTTY", "TIOCGPGRP", "TIOCSPGRP", "TIOCOUTQ", "TIOCSTI",
- "TIOCGWINSZ", "TIOCSWINSZ", "TIOCMGET", "TIOCMBIS", "TIOCMBIC",
- "TIOCMSET", "TIOCGSOFTCAR", "TIOCSSOFTCAR", "FIONREAD", "TIOCLINUX",
- "TIOCCONS", "TIOCGSERIAL", "TIOCSSERIAL", "TIOCPKT", "FIONBIO",
- "TIOCNOTTY", "TIOCSETD", "TIOCGETD", "TCSBRKP", [0x27] = "TIOCSBRK",
- "TIOCCBRK", "TIOCGSID", "TCGETS2", "TCSETS2", "TCSETSW2", "TCSETSF2",
- "TIOCGRS485", "TIOCSRS485", "TIOCGPTN", "TIOCSPTLCK",
- "TIOCGDEV||TCGETX", "TCSETX", "TCSETXF", "TCSETXW", "TIOCSIG",
- "TIOCVHANGUP", "TIOCGPKT", "TIOCGPTLCK", "TIOCGEXCL",
- [0x50] = "FIONCLEX", "FIOCLEX", "FIOASYNC", "TIOCSERCONFIG",
- "TIOCSERGWILD", "TIOCSERSWILD", "TIOCGLCKTRMIOS", "TIOCSLCKTRMIOS",
- "TIOCSERGSTRUCT", "TIOCSERGETLSR", "TIOCSERGETMULTI", "TIOCSERSETMULTI",
- "TIOCMIWAIT", "TIOCGICOUNT", [0x60] = "FIOQSIZE",
-};
-
-static DEFINE_STRARRAY_OFFSET(tioctls, 0x5401);
-
#define STRARRAY(arg, name, array) \
.arg_scnprintf = { [arg] = SCA_STRARRAY, }, \
.arg_parm = { [arg] = &strarray__##array, }
@@ -937,9 +907,7 @@ static struct syscall_fmt {
{ .name = "getrlimit", .errmsg = true, STRARRAY(0, resource, rlimit_resources), },
{ .name = "ioctl", .errmsg = true,
.arg_scnprintf = { [0] = SCA_FD, /* fd */
- [1] = SCA_STRHEXARRAY, /* cmd */
- [2] = SCA_HEX, /* arg */ },
- .arg_parm = { [1] = &strarray__tioctls, /* cmd */ }, },
+ [2] = SCA_HEX, /* arg */ }, },
{ .name = "kill", .errmsg = true,
.arg_scnprintf = { [1] = SCA_SIGNUM, /* sig */ }, },
{ .name = "linkat", .errmsg = true,

View File

@ -2,3 +2,6 @@ modpost-symbol-prefix.patch
tools-perf-version.patch
tools-perf-install.patch
usbip-document-tcp-wrappers.patch
revert-perf-trace-Initial-beautifier-for-ioctl-s-cmd.patch
perf-trace-Add-fallback-definition-of-EFD_SEMAPHORE.patch
perf-trace-Decode-architecture-specific-signal-numbe.patch