strace: update to 4.10
- 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
This commit is contained in:
		| @@ -10,9 +10,9 @@ include $(INCLUDE_DIR)/kernel.mk | |||||||
|  |  | ||||||
| PKG_NAME:=strace | PKG_NAME:=strace | ||||||
|  |  | ||||||
| PKG_VERSION:=4.8 | PKG_VERSION:=4.10 | ||||||
| PKG_RELEASE:=1 | PKG_RELEASE:=1 | ||||||
| PKG_MD5SUM:=c575ef43829586801f514fd91bfe7575 | PKG_MD5SUM:=107a5be455493861189e9b57a3a51912 | ||||||
|  |  | ||||||
| PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz | PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz | ||||||
| PKG_SOURCE_URL:=@SF/$(PKG_NAME) | PKG_SOURCE_URL:=@SF/$(PKG_NAME) | ||||||
|   | |||||||
| @@ -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" | ||||||
|  |   | ||||||
| @@ -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 |  | ||||||
		Reference in New Issue
	
	Block a user
	 Jo-Philipp Wich
					Jo-Philipp Wich