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_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) | ||||
|   | ||||
| @@ -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