mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-20 22:23:27 +00:00
strace: update to version 2.26
The new patch is a backport from current strace master. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
This commit is contained in:
parent
7fb58b8f00
commit
b55fbb6b2d
@ -9,12 +9,12 @@ include $(TOPDIR)/rules.mk
|
|||||||
include $(INCLUDE_DIR)/kernel.mk
|
include $(INCLUDE_DIR)/kernel.mk
|
||||||
|
|
||||||
PKG_NAME:=strace
|
PKG_NAME:=strace
|
||||||
PKG_VERSION:=4.25
|
PKG_VERSION:=4.26
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
|
||||||
PKG_SOURCE_URL:=https://strace.io/files/$(PKG_VERSION)
|
PKG_SOURCE_URL:=https://strace.io/files/$(PKG_VERSION)
|
||||||
PKG_HASH:=d685f8e65470b7832c3aff60c57ab4459f26ff89f07c10f92bd70ee89efac701
|
PKG_HASH:=7c4d2ffeef4f7d1cdc71062ca78d1130eb52f947c2fca82f59f6a1183bfa1e1c
|
||||||
|
|
||||||
PKG_LICENSE:=BSD-3c
|
PKG_LICENSE:=BSD-3c
|
||||||
PKG_LICENSE_FILES:=COPYRIGHT
|
PKG_LICENSE_FILES:=COPYRIGHT
|
||||||
|
91
package/devel/strace/patches/001-mips-o32-fix-build.patch
Normal file
91
package/devel/strace/patches/001-mips-o32-fix-build.patch
Normal file
@ -0,0 +1,91 @@
|
|||||||
|
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
|
@ -1,6 +1,6 @@
|
|||||||
--- a/ptrace.h
|
--- a/ptrace.h
|
||||||
+++ b/ptrace.h
|
+++ b/ptrace.h
|
||||||
@@ -49,7 +49,14 @@
|
@@ -30,7 +30,14 @@
|
||||||
# define ptrace_peeksiginfo_args XXX_ptrace_peeksiginfo_args
|
# define ptrace_peeksiginfo_args XXX_ptrace_peeksiginfo_args
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user