You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
183 lines
5.6 KiB
183 lines
5.6 KiB
# --- SDE-COPYRIGHT-NOTE-BEGIN --- |
|
# This copyright note is auto-generated by ./scripts/Create-CopyPatch. |
|
# |
|
# Filename: package/.../musl/pkg/strace/strace-musl.patch |
|
# Copyright (C) 2014 The OpenSDE Project |
|
# |
|
# More information can be found in the files COPYING and README. |
|
# |
|
# This patch file is dual-licensed. It is available under the license the |
|
# patched project is licensed under, as long as it is an OpenSource license |
|
# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms |
|
# of the GNU General Public License as published by the Free Software |
|
# Foundation; either version 2 of the License, or (at your option) any later |
|
# version. |
|
# --- SDE-COPYRIGHT-NOTE-END --- |
|
|
|
diff -ru strace-4.8.orig/defs.h strace-4.8/defs.h |
|
--- strace-4.8.orig/defs.h 2013-05-14 14:10:42.000000000 +0000 |
|
+++ strace-4.8/defs.h 2013-09-20 14:30:38.785856744 +0000 |
|
@@ -155,7 +155,7 @@ |
|
|| defined(METAG) \ |
|
|| defined(TILE) \ |
|
|| defined(XTENSA) \ |
|
- ) && defined(__GLIBC__) |
|
+ ) && defined(__linux__) |
|
# include <sys/ptrace.h> |
|
#else |
|
/* Work around awkward prototype in ptrace.h. */ |
|
@@ -222,7 +222,7 @@ |
|
# 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 -ru strace-4.8.orig/desc.c strace-4.8/desc.c |
|
--- strace-4.8.orig/desc.c 2013-05-01 22:39:10.000000000 +0000 |
|
+++ strace-4.8/desc.c 2013-09-20 14:30:38.795856744 +0000 |
|
@@ -299,7 +299,7 @@ |
|
#ifdef X32 |
|
tprintf(", start=%lld, len=%lld", fl.l_start, fl.l_len); |
|
#else |
|
- tprintf(", start=%ld, len=%ld", fl.l_start, fl.l_len); |
|
+ tprintf(", start=%ld, len=%ld", (long) fl.l_start, (long) fl.l_len); |
|
#endif |
|
if (getlk) |
|
tprintf(", pid=%lu}", (unsigned long) fl.l_pid); |
|
diff -ru strace-4.8.orig/file.c strace-4.8/file.c |
|
--- strace-4.8.orig/file.c 2013-05-06 18:23:01.000000000 +0000 |
|
+++ strace-4.8/file.c 2013-09-20 14:30:38.795856744 +0000 |
|
@@ -632,7 +632,7 @@ |
|
return 0; |
|
} |
|
|
|
-#if _LFS64_LARGEFILE |
|
+#if defined _LFS64_LARGEFILE || defined HAVE_LONG_LONG_OFF_T |
|
int |
|
sys_truncate64(struct tcb *tcp) |
|
{ |
|
@@ -654,7 +654,7 @@ |
|
return 0; |
|
} |
|
|
|
-#if _LFS64_LARGEFILE |
|
+#if defined _LFS64_LARGEFILE || defined HAVE_LONG_LONG_OFF_T |
|
int |
|
sys_ftruncate64(struct tcb *tcp) |
|
{ |
|
@@ -2322,7 +2322,7 @@ |
|
return 0; |
|
} |
|
|
|
-#if _LFS64_LARGEFILE |
|
+#if defined _LFS64_LARGEFILE || defined HAVE_LONG_LONG_OFF_T |
|
int |
|
sys_getdents64(struct tcb *tcp) |
|
{ |
|
diff -ru strace-4.8.orig/net.c strace-4.8/net.c |
|
--- strace-4.8.orig/net.c 2013-05-17 22:20:02.000000000 +0000 |
|
+++ strace-4.8/net.c 2013-09-20 14:30:38.805856744 +0000 |
|
@@ -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 -ru strace-4.8.orig/process.c strace-4.8/process.c |
|
--- strace-4.8.orig/process.c 2013-05-17 22:22:19.000000000 +0000 |
|
+++ strace-4.8/process.c 2013-09-20 14:30:38.805856744 +0000 |
|
@@ -2857,7 +2857,7 @@ |
|
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 +2872,7 @@ |
|
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 +2885,7 @@ |
|
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 -ru strace-4.8.orig/signal.c strace-4.8/signal.c |
|
--- strace-4.8.orig/signal.c 2013-05-23 13:41:23.000000000 +0000 |
|
+++ strace-4.8/signal.c 2013-09-20 14:30:38.815856744 +0000 |
|
@@ -59,6 +59,7 @@ |
|
#ifdef IA64 |
|
# include <asm/ptrace_offsets.h> |
|
#endif |
|
+#include <asm/ptrace.h> |
|
|
|
#if defined(SPARC) || defined(SPARC64) || defined(MIPS) |
|
typedef struct { |
|
diff -ru strace-4.8.orig/strace.c strace-4.8/strace.c |
|
--- strace-4.8.orig/strace.c 2013-05-28 21:49:16.000000000 +0000 |
|
+++ strace-4.8/strace.c 2013-09-20 14:30:38.815856744 +0000 |
|
@@ -506,7 +506,7 @@ |
|
perror_msg_and_die("dup2"); |
|
close(fds[0]); |
|
} |
|
- execl(_PATH_BSHELL, "sh", "-c", command, NULL); |
|
+ execl(_PATH_BSHELL, "sh", "-c", command, (void*) 0); |
|
perror_msg_and_die("Can't execute '%s'", _PATH_BSHELL); |
|
} |
|
|
|
diff -ru strace-4.8.orig/syscall.c strace-4.8/syscall.c |
|
--- strace-4.8.orig/syscall.c 2013-05-14 14:10:42.000000000 +0000 |
|
+++ strace-4.8/syscall.c 2013-09-20 14:30:38.825856744 +0000 |
|
@@ -72,13 +72,7 @@ |
|
# include <elf.h> |
|
#endif |
|
|
|
-#if defined(AARCH64) |
|
-# include <asm/ptrace.h> |
|
-#endif |
|
- |
|
-#if defined(XTENSA) |
|
-# include <asm/ptrace.h> |
|
-#endif |
|
+#include <asm/ptrace.h> |
|
|
|
#ifndef ERESTARTSYS |
|
# define ERESTARTSYS 512 |
|
diff -ru strace-4.8.orig/time.c strace-4.8/time.c |
|
--- strace-4.8.orig/time.c 2012-05-01 21:17:51.000000000 +0000 |
|
+++ strace-4.8/time.c 2013-09-20 14:32:49.165856719 +0000 |
|
@@ -774,7 +774,11 @@ |
|
/* _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);
|
|
|