strace: update to 4.10
authorJo-Philipp Wich <jow@openwrt.org>
Thu, 25 Jun 2015 11:05:50 +0000 (11:05 +0000)
committerJo-Philipp Wich <jow@openwrt.org>
Thu, 25 Jun 2015 11:05:50 +0000 (11:05 +0000)
- include upstream fixes for musl compatibility
Include <sys/stat.h> for S_I* macros
d34e00b293942b1012ddc49ed3ab379a32337611

Include <linux/ioctl.h> for _IOC_* macros
3460dc486d333231998de0f19918204aacee9ae3

strace 4.8 is broken with musl on some arch
(arm: omap,oxnas according to buildbot)

compile tested only

Signed-off-by: Dirk Neukirchen <dirkneukirchen@web.de>
SVN-Revision: 46124

package/devel/strace/Makefile
package/devel/strace/patches/001-upstream-musl_includes.patch [new file with mode: 0644]
package/devel/strace/patches/100-musl_fix.patch [deleted file]

index 4c29d69cdaf56cb5d61846f50c75f4a960d87c6f..eb80791b2686fee82327895243d05a7cac412a0a 100644 (file)
@@ -10,9 +10,9 @@ include $(INCLUDE_DIR)/kernel.mk
 
 PKG_NAME:=strace
 
-PKG_VERSION:=4.8
+PKG_VERSION:=4.10
 PKG_RELEASE:=1
-PKG_MD5SUM:=c575ef43829586801f514fd91bfe7575
+PKG_MD5SUM:=107a5be455493861189e9b57a3a51912
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=@SF/$(PKG_NAME)
diff --git a/package/devel/strace/patches/001-upstream-musl_includes.patch b/package/devel/strace/patches/001-upstream-musl_includes.patch
new file mode 100644 (file)
index 0000000..a35d7fd
--- /dev/null
@@ -0,0 +1,53 @@
+--- a/evdev.c
++++ b/evdev.c
+@@ -28,6 +28,8 @@
+ #include "defs.h"
++#include <linux/ioctl.h>
++
+ #ifdef HAVE_LINUX_INPUT_H
+ #include <linux/input.h>
+ #include "xlat/evdev_abs.h"
+--- a/ioctl.c
++++ b/ioctl.c
+@@ -29,7 +29,7 @@
+  */
+ #include "defs.h"
+-#include <asm/ioctl.h>
++#include <linux/ioctl.h>
+ #include "xlat/ioctl_dirs.h"
+ #ifdef HAVE_LINUX_INPUT_H
+--- a/ioctlsort.c
++++ b/ioctlsort.c
+@@ -33,7 +33,7 @@
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
+-#include <asm/ioctl.h>
++#include <linux/ioctl.h>
+ struct ioctlent {
+       const char *info;
+--- a/mknod.c
++++ b/mknod.c
+@@ -1,6 +1,7 @@
+ #include "defs.h"
+ #include <fcntl.h>
++#include <sys/stat.h>
+ #ifdef MAJOR_IN_SYSMACROS
+ # include <sys/sysmacros.h>
+--- a/printmode.c
++++ b/printmode.c
+@@ -1,6 +1,7 @@
+ #include "defs.h"
+ #include <fcntl.h>
++#include <sys/stat.h>
+ #include "xlat/modetypes.h"
diff --git a/package/devel/strace/patches/100-musl_fix.patch b/package/devel/strace/patches/100-musl_fix.patch
deleted file mode 100644 (file)
index e4105bc..0000000
+++ /dev/null
@@ -1,165 +0,0 @@
---- a/net.c
-+++ b/net.c
-@@ -50,11 +50,7 @@
- #include <arpa/inet.h>
- #include <net/if.h>
- #include <asm/types.h>
--#if defined(__GLIBC__)
--# include <netipx/ipx.h>
--#else
--# include <linux/ipx.h>
--#endif
-+#include <linux/ipx.h>
- #if defined(__GLIBC__) && defined(HAVE_SIN6_SCOPE_ID_LINUX)
- # if defined(HAVE_LINUX_IN6_H)
-@@ -94,14 +90,6 @@
- # define PF_UNSPEC AF_UNSPEC
- #endif
--/* Under Linux these are enums so we can't test for them with ifdef. */
--#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
--
- static const struct xlat domains[] = {
- #ifdef PF_UNSPEC
-       { PF_UNSPEC,    "PF_UNSPEC"     },
-@@ -493,24 +481,16 @@ static const struct xlat protocols[] = {
-       { IPPROTO_ICMP, "IPPROTO_ICMP"  },
-       { IPPROTO_TCP,  "IPPROTO_TCP"   },
-       { IPPROTO_UDP,  "IPPROTO_UDP"   },
--#ifdef IPPROTO_IGMP
-       { IPPROTO_IGMP, "IPPROTO_IGMP"  },
--#endif
- #ifdef IPPROTO_GGP
-       { IPPROTO_GGP,  "IPPROTO_GGP"   },
- #endif
- #ifdef IPPROTO_IPIP
-       { IPPROTO_IPIP, "IPPROTO_IPIP"  },
- #endif
--#ifdef IPPROTO_EGP
-       { IPPROTO_EGP,  "IPPROTO_EGP"   },
--#endif
--#ifdef IPPROTO_PUP
-       { IPPROTO_PUP,  "IPPROTO_PUP"   },
--#endif
--#ifdef IPPROTO_IDP
-       { IPPROTO_IDP,  "IPPROTO_IDP"   },
--#endif
- #ifdef IPPROTO_TP
-       { IPPROTO_TP,   "IPPROTO_TP"    },
- #endif
-@@ -571,12 +551,8 @@ static const struct xlat protocols[] = {
- #ifdef IPPROTO_UDPLITE
-       { IPPROTO_UDPLITE, "IPPROTO_UDPLITE" },
- #endif
--#ifdef IPPROTO_RAW
-       { IPPROTO_RAW,  "IPPROTO_RAW"   },
--#endif
--#ifdef IPPROTO_MAX
-       { IPPROTO_MAX,  "IPPROTO_MAX"   },
--#endif
-       { 0,            NULL            },
- };
- static const struct xlat msg_flags[] = {
---- a/process.c
-+++ b/process.c
-@@ -55,19 +55,6 @@
- # endif
- #endif
--#ifdef HAVE_LINUX_PTRACE_H
--# undef PTRACE_SYSCALL
--# ifdef HAVE_STRUCT_IA64_FPREG
--#  define ia64_fpreg XXX_ia64_fpreg
--# endif
--# ifdef HAVE_STRUCT_PT_ALL_USER_REGS
--#  define pt_all_user_regs XXX_pt_all_user_regs
--# endif
--# include <linux/ptrace.h>
--# undef ia64_fpreg
--# undef pt_all_user_regs
--#endif
--
- #if defined(SPARC64)
- # define r_pc r_tpc
- # undef PTRACE_GETREGS
-@@ -94,6 +81,7 @@
- #include <sched.h>
- #include <asm/posix_types.h>
-+#include <asm/ptrace.h>
- #undef GETGROUPS_T
- #define GETGROUPS_T __kernel_gid_t
- #undef GETGROUPS32_T
-@@ -2857,7 +2845,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 +2860,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 +2873,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;
- }
---- a/signal.c
-+++ b/signal.c
-@@ -35,6 +35,7 @@
- #include <sys/user.h>
- #include <fcntl.h>
-+#include <asm/ptrace.h>
- #ifdef HAVE_SYS_REG_H
- # include <sys/reg.h>
- # ifndef PTRACE_PEEKUSR
---- a/time.c
-+++ b/time.c
-@@ -774,7 +774,7 @@ printsigevent(struct tcb *tcp, long arg)
-                       /* _pad[0] is the _tid field which might not be
-                          present in the userlevel definition of the
-                          struct.  */
--                      tprintf("{%d}", sev._sigev_un._pad[0]);
-+                      tprintf("{%d}", *(int *) &sev.sigev_notify_function);
-               else if (sev.sigev_notify == SIGEV_THREAD)
-                       tprintf("{%p, %p}", sev.sigev_notify_function,
-                               sev.sigev_notify_attributes);
---- a/defs.h
-+++ b/defs.h
-@@ -27,6 +27,7 @@
-  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-  */
-+#define _LARGEFILE64_SOURCE 1
- #ifdef HAVE_CONFIG_H
- # include "config.h"
- #endif
-@@ -222,7 +223,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