summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--package/strace/Makefile2
-rw-r--r--package/strace/patches/patch-defs_h33
-rw-r--r--package/strace/patches/patch-desc_c11
-rw-r--r--package/strace/patches/patch-net_c17
-rw-r--r--package/strace/patches/patch-process_c49
-rw-r--r--package/strace/patches/patch-signal_c22
-rw-r--r--package/strace/patches/patch-syscall_c17
-rw-r--r--package/strace/patches/patch-time_c14
8 files changed, 164 insertions, 1 deletions
diff --git a/package/strace/Makefile b/package/strace/Makefile
index 624cf8909..9f0cfe047 100644
--- a/package/strace/Makefile
+++ b/package/strace/Makefile
@@ -5,7 +5,7 @@ include ${TOPDIR}/rules.mk
PKG_NAME:= strace
PKG_VERSION:= 4.8
-PKG_RELEASE:= 7
+PKG_RELEASE:= 8
PKG_MD5SUM:= c575ef43829586801f514fd91bfe7575
PKG_DESCR:= System call trace program
PKG_SECTION:= debug
diff --git a/package/strace/patches/patch-defs_h b/package/strace/patches/patch-defs_h
new file mode 100644
index 000000000..910715f7a
--- /dev/null
+++ b/package/strace/patches/patch-defs_h
@@ -0,0 +1,33 @@
+--- strace-4.8.orig/defs.h 2013-05-14 16:10:42.000000000 +0200
++++ strace-4.8/defs.h 2014-02-26 17:36:34.000000000 +0100
+@@ -155,18 +155,18 @@ extern char *stpcpy(char *dst, const cha
+ || defined(METAG) \
+ || defined(TILE) \
+ || defined(XTENSA) \
+- ) && defined(__GLIBC__)
++ ) && defined(__linux__)
+ # include <sys/ptrace.h>
+ #else
+ /* Work around awkward prototype in ptrace.h. */
+ # define ptrace xptrace
+ # include <sys/ptrace.h>
+ # undef ptrace
+-# ifdef POWERPC
++#if defined(POWERPC) && defined(__GLIBC__)
+ # define __KERNEL__
+ # include <asm/ptrace.h>
+ # undef __KERNEL__
+-# endif
++#endif
+ extern long ptrace(int, int, char *, long);
+ #endif
+
+@@ -222,7 +222,7 @@ extern long ptrace(int, int, char *, lon
+ # define PTRACE_EVENT_EXIT 6
+ #endif
+
+-#if !defined(__GLIBC__)
++#if !defined(__GLIBC__) && !defined(PTRACE_PEEKUSER)
+ # define PTRACE_PEEKUSER PTRACE_PEEKUSR
+ # define PTRACE_POKEUSER PTRACE_POKEUSR
+ #endif
diff --git a/package/strace/patches/patch-desc_c b/package/strace/patches/patch-desc_c
new file mode 100644
index 000000000..9cfb5f505
--- /dev/null
+++ b/package/strace/patches/patch-desc_c
@@ -0,0 +1,11 @@
+--- strace-4.8.orig/desc.c 2013-05-02 00:39:10.000000000 +0200
++++ strace-4.8/desc.c 2014-02-25 15:16:36.000000000 +0100
+@@ -223,7 +223,7 @@ static const struct xlat perf_event_open
+ { 0, NULL },
+ };
+
+-#if _LFS64_LARGEFILE
++#if defined(_LFS64_LARGEFILE) && defined(__GLIBC__) || defined(__UCLIBC__)
+ /* fcntl/lockf */
+ static void
+ printflock64(struct tcb *tcp, long addr, int getlk)
diff --git a/package/strace/patches/patch-net_c b/package/strace/patches/patch-net_c
new file mode 100644
index 000000000..f579ea5fb
--- /dev/null
+++ b/package/strace/patches/patch-net_c
@@ -0,0 +1,17 @@
+--- strace-4.8.orig/net.c 2013-05-18 00:20:02.000000000 +0200
++++ strace-4.8/net.c 2014-02-25 16:06:44.000000000 +0100
+@@ -95,12 +95,14 @@
+ #endif
+
+ /* Under Linux these are enums so we can't test for them with ifdef. */
++#if !defined(IPPROTO_MAX)
+ #define IPPROTO_EGP IPPROTO_EGP
+ #define IPPROTO_PUP IPPROTO_PUP
+ #define IPPROTO_IDP IPPROTO_IDP
+ #define IPPROTO_IGMP IPPROTO_IGMP
+ #define IPPROTO_RAW IPPROTO_RAW
+ #define IPPROTO_MAX IPPROTO_MAX
++#endif
+
+ static const struct xlat domains[] = {
+ #ifdef PF_UNSPEC
diff --git a/package/strace/patches/patch-process_c b/package/strace/patches/patch-process_c
new file mode 100644
index 000000000..a3d71bc9e
--- /dev/null
+++ b/package/strace/patches/patch-process_c
@@ -0,0 +1,49 @@
+--- strace-4.8.orig/process.c 2013-05-18 00:22:19.000000000 +0200
++++ strace-4.8/process.c 2014-02-25 20:02:55.000000000 +0100
+@@ -55,7 +55,7 @@
+ # endif
+ #endif
+
+-#ifdef HAVE_LINUX_PTRACE_H
++#if defined(HAVE_LINUX_PTRACE_H) && defined(__GLIBC__)
+ # undef PTRACE_SYSCALL
+ # ifdef HAVE_STRUCT_IA64_FPREG
+ # define ia64_fpreg XXX_ia64_fpreg
+@@ -104,6 +104,10 @@
+ # include <asm/rse.h>
+ #endif
+
++#ifdef __arm__
++#include <asm/ptrace.h>
++#endif
++
+ #ifdef HAVE_PRCTL
+ # include <sys/prctl.h>
+
+@@ -2857,7 +2861,7 @@ sys_sched_setscheduler(struct tcb *tcp)
+ if (umove(tcp, tcp->u_arg[2], &p) < 0)
+ tprintf(", %#lx", tcp->u_arg[2]);
+ else
+- tprintf(", { %d }", p.__sched_priority);
++ tprintf(", { %d }", p.sched_priority);
+ }
+ return 0;
+ }
+@@ -2872,7 +2876,7 @@ sys_sched_getparam(struct tcb *tcp)
+ if (umove(tcp, tcp->u_arg[1], &p) < 0)
+ tprintf("%#lx", tcp->u_arg[1]);
+ else
+- tprintf("{ %d }", p.__sched_priority);
++ tprintf("{ %d }", p.sched_priority);
+ }
+ return 0;
+ }
+@@ -2885,7 +2889,7 @@ sys_sched_setparam(struct tcb *tcp)
+ if (umove(tcp, tcp->u_arg[1], &p) < 0)
+ tprintf("%d, %#lx", (int) tcp->u_arg[0], tcp->u_arg[1]);
+ else
+- tprintf("%d, { %d }", (int) tcp->u_arg[0], p.__sched_priority);
++ tprintf("%d, { %d }", (int) tcp->u_arg[0], p.sched_priority);
+ }
+ return 0;
+ }
diff --git a/package/strace/patches/patch-signal_c b/package/strace/patches/patch-signal_c
new file mode 100644
index 000000000..d0f9dde00
--- /dev/null
+++ b/package/strace/patches/patch-signal_c
@@ -0,0 +1,22 @@
+--- strace-4.8.orig/signal.c 2013-05-23 15:41:23.000000000 +0200
++++ strace-4.8/signal.c 2014-02-26 17:40:43.000000000 +0100
+@@ -60,6 +60,10 @@
+ # include <asm/ptrace_offsets.h>
+ #endif
+
++#ifndef POWERPC
++#include <asm/ptrace.h>
++#endif
++
+ #if defined(SPARC) || defined(SPARC64) || defined(MIPS)
+ typedef struct {
+ struct pt_regs si_regs;
+@@ -815,7 +819,7 @@ sys_sigreturn(struct tcb *tcp)
+ {
+ #if defined(ARM)
+ if (entering(tcp)) {
+- struct sigcontext_struct sc;
++ struct sigcontext sc;
+ sigset_t sigm;
+ if (umove(tcp, arm_regs.ARM_sp, &sc) < 0)
+ return 0;
diff --git a/package/strace/patches/patch-syscall_c b/package/strace/patches/patch-syscall_c
new file mode 100644
index 000000000..2c47009e4
--- /dev/null
+++ b/package/strace/patches/patch-syscall_c
@@ -0,0 +1,17 @@
+--- strace-4.8.orig/syscall.c 2013-05-14 16:10:42.000000000 +0200
++++ strace-4.8/syscall.c 2014-02-26 17:46:14.000000000 +0100
+@@ -72,12 +72,8 @@
+ # include <elf.h>
+ #endif
+
+-#if defined(AARCH64)
+-# include <asm/ptrace.h>
+-#endif
+-
+-#if defined(XTENSA)
+-# include <asm/ptrace.h>
++#ifndef POWERPC
++#include <asm/ptrace.h>
+ #endif
+
+ #ifndef ERESTARTSYS
diff --git a/package/strace/patches/patch-time_c b/package/strace/patches/patch-time_c
new file mode 100644
index 000000000..53a6cf76b
--- /dev/null
+++ b/package/strace/patches/patch-time_c
@@ -0,0 +1,14 @@
+--- strace-4.8.orig/time.c 2012-05-01 23:17:51.000000000 +0200
++++ strace-4.8/time.c 2014-02-25 17:25:14.000000000 +0100
+@@ -774,7 +774,11 @@ printsigevent(struct tcb *tcp, long arg)
+ /* _pad[0] is the _tid field which might not be
+ present in the userlevel definition of the
+ struct. */
++#if defined(__GLIBC__)
+ tprintf("{%d}", sev._sigev_un._pad[0]);
++#else
++ tprintf("{%d}", (int) sev.__pad[0]);
++#endif
+ else if (sev.sigev_notify == SIGEV_THREAD)
+ tprintf("{%p, %p}", sev.sigev_notify_function,
+ sev.sigev_notify_attributes);