diff options
-rw-r--r-- | package/devel/strace/Makefile | 4 | ||||
-rw-r--r-- | package/devel/strace/patches/001-mips-o32-fix-build.patch | 91 | ||||
-rw-r--r-- | package/devel/strace/patches/100-workaround--pt-reg-collisions-ppc.patch | 10 |
3 files changed, 7 insertions, 98 deletions
diff --git a/package/devel/strace/Makefile b/package/devel/strace/Makefile index b342a8c0d0..2d4332bf79 100644 --- a/package/devel/strace/Makefile +++ b/package/devel/strace/Makefile @@ -9,12 +9,12 @@ include $(TOPDIR)/rules.mk include $(INCLUDE_DIR)/kernel.mk PKG_NAME:=strace -PKG_VERSION:=4.26 +PKG_VERSION:=5.0 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=https://strace.io/files/$(PKG_VERSION) -PKG_HASH:=7c4d2ffeef4f7d1cdc71062ca78d1130eb52f947c2fca82f59f6a1183bfa1e1c +PKG_HASH:=3b7ad77eb2b81dc6078046a9cc56eed5242b67b63748e7fc28f7c2daf4e647da PKG_LICENSE:=BSD-3c PKG_LICENSE_FILES:=COPYRIGHT diff --git a/package/devel/strace/patches/001-mips-o32-fix-build.patch b/package/devel/strace/patches/001-mips-o32-fix-build.patch deleted file mode 100644 index 71dbf70da8..0000000000 --- a/package/devel/strace/patches/001-mips-o32-fix-build.patch +++ /dev/null @@ -1,91 +0,0 @@ -From 2c8b6de913973274e877639658e9e7273a012adb Mon Sep 17 00:00:00 2001 -From: "Dmitry V. Levin" <ldv@altlinux.org> -Date: Tue, 8 Jan 2019 19:23:44 +0000 -Subject: [PATCH] mips o32: fix build - -Commit 917c2ccf3a67 "Refactor stack pointers" moved mips_REG_* macros -from linux/mips/arch_regs.h to linux/mips/arch_regs.c because these -macros are no longer used outside syscall.c or files included by -syscall.c, but this caused a build regression on mips o32 because -decode_syscall_subcall() uses mips_REG_SP prior to its definition. - -* syscall.c (decode_syscall_subcall): Move ... -* linux/mips/get_syscall_args.c: ... here. -* NEWS: Mention this fix. - -Reported-by: Baruch Siach <baruch@tkos.co.il> -Fixes: v4.26~61 "Refactor stack pointers" ---- - NEWS | 1 + - linux/mips/get_syscall_args.c | 26 ++++++++++++++++++++++++++ - syscall.c | 27 ++------------------------- - 3 files changed, 29 insertions(+), 25 deletions(-) - ---- a/linux/mips/get_syscall_args.c -+++ b/linux/mips/get_syscall_args.c -@@ -37,3 +37,29 @@ arch_get_syscall_args(struct tcb *tcp) - #endif - return 1; - } -+ -+#ifdef SYS_syscall_subcall -+static void -+decode_syscall_subcall(struct tcb *tcp) -+{ -+ if (!scno_is_valid(tcp->u_arg[0])) -+ return; -+ tcp->scno = tcp->u_arg[0]; -+ tcp->qual_flg = qual_flags(tcp->scno); -+ tcp->s_ent = &sysent[tcp->scno]; -+ memmove(&tcp->u_arg[0], &tcp->u_arg[1], -+ sizeof(tcp->u_arg) - sizeof(tcp->u_arg[0])); -+ /* -+ * Fetching the last arg of 7-arg syscalls (fadvise64_64 -+ * and sync_file_range) requires additional code, -+ * see linux/mips/get_syscall_args.c -+ */ -+ if (tcp->s_ent->nargs == MAX_ARGS) { -+ if (umoven(tcp, -+ mips_REG_SP + MAX_ARGS * sizeof(tcp->u_arg[0]), -+ sizeof(tcp->u_arg[0]), -+ &tcp->u_arg[MAX_ARGS - 1]) < 0) -+ tcp->u_arg[MAX_ARGS - 1] = 0; -+ } -+} -+#endif /* SYS_syscall_subcall */ ---- a/syscall.c -+++ b/syscall.c -@@ -349,31 +349,8 @@ decode_ipc_subcall(struct tcb *tcp) - #endif /* SYS_ipc_subcall */ - - #ifdef SYS_syscall_subcall --static void --decode_syscall_subcall(struct tcb *tcp) --{ -- if (!scno_is_valid(tcp->u_arg[0])) -- return; -- tcp->scno = tcp->u_arg[0]; -- tcp->qual_flg = qual_flags(tcp->scno); -- tcp->s_ent = &sysent[tcp->scno]; -- memmove(&tcp->u_arg[0], &tcp->u_arg[1], -- sizeof(tcp->u_arg) - sizeof(tcp->u_arg[0])); --# ifdef LINUX_MIPSO32 -- /* -- * Fetching the last arg of 7-arg syscalls (fadvise64_64 -- * and sync_file_range) requires additional code, -- * see linux/mips/get_syscall_args.c -- */ -- if (tcp->s_ent->nargs == MAX_ARGS) { -- if (umoven(tcp, -- mips_REG_SP + MAX_ARGS * sizeof(tcp->u_arg[0]), -- sizeof(tcp->u_arg[0]), -- &tcp->u_arg[MAX_ARGS - 1]) < 0) -- tcp->u_arg[MAX_ARGS - 1] = 0; -- } --# endif /* LINUX_MIPSO32 */ --} -+/* The implementation is architecture specific. */ -+static void decode_syscall_subcall(struct tcb *); - #endif /* SYS_syscall_subcall */ - - static void diff --git a/package/devel/strace/patches/100-workaround--pt-reg-collisions-ppc.patch b/package/devel/strace/patches/100-workaround--pt-reg-collisions-ppc.patch index 9560804a7a..93e2980749 100644 --- a/package/devel/strace/patches/100-workaround--pt-reg-collisions-ppc.patch +++ b/package/devel/strace/patches/100-workaround--pt-reg-collisions-ppc.patch @@ -1,17 +1,17 @@ --- a/ptrace.h +++ b/ptrace.h @@ -30,7 +30,14 @@ - # define ptrace_peeksiginfo_args XXX_ptrace_peeksiginfo_args - #endif + # define ptrace_peeksiginfo_args XXX_ptrace_peeksiginfo_args + # endif +#if POWERPC +#include <linux/types.h> +#define __ASSEMBLY__ +#endif - #include <linux/ptrace.h> + # include <linux/ptrace.h> +#if POWERPC +#undef __ASSEMBLY__ +#endif - #ifdef HAVE_STRUCT_IA64_FPREG - # undef ia64_fpreg + # ifdef HAVE_STRUCT_IA64_FPREG + # undef ia64_fpreg |