aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--package/devel/strace/Makefile4
-rw-r--r--package/devel/strace/patches/001-mips-o32-fix-build.patch91
-rw-r--r--package/devel/strace/patches/100-workaround--pt-reg-collisions-ppc.patch10
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