From 765fcfd0261c54af2b550a77d7dbe49d5395c408 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Thu, 27 Feb 2014 09:39:53 +0100 Subject: rework musl patches, mostly from sabotage linux --- package/strace/Makefile | 2 +- package/strace/patches/patch-defs_h | 33 +++++++++++++++++++++++ package/strace/patches/patch-desc_c | 11 ++++++++ package/strace/patches/patch-net_c | 17 ++++++++++++ package/strace/patches/patch-process_c | 49 ++++++++++++++++++++++++++++++++++ package/strace/patches/patch-signal_c | 22 +++++++++++++++ package/strace/patches/patch-syscall_c | 17 ++++++++++++ package/strace/patches/patch-time_c | 14 ++++++++++ 8 files changed, 164 insertions(+), 1 deletion(-) create mode 100644 package/strace/patches/patch-defs_h create mode 100644 package/strace/patches/patch-desc_c create mode 100644 package/strace/patches/patch-net_c create mode 100644 package/strace/patches/patch-process_c create mode 100644 package/strace/patches/patch-signal_c create mode 100644 package/strace/patches/patch-syscall_c create mode 100644 package/strace/patches/patch-time_c (limited to 'package/strace') 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 + #else + /* Work around awkward prototype in ptrace.h. */ + # define ptrace xptrace + # include + # undef ptrace +-# ifdef POWERPC ++#if defined(POWERPC) && defined(__GLIBC__) + # define __KERNEL__ + # include + # 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 + #endif + ++#ifdef __arm__ ++#include ++#endif ++ + #ifdef HAVE_PRCTL + # include + +@@ -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 + #endif + ++#ifndef POWERPC ++#include ++#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 + #endif + +-#if defined(AARCH64) +-# include +-#endif +- +-#if defined(XTENSA) +-# include ++#ifndef POWERPC ++#include + #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); -- cgit v1.2.3