strace: update to 5.11 (#6447)

This commit is contained in:
Lucy Phipps 2021-02-24 15:11:02 +00:00 committed by GitHub
parent 87a7a36e64
commit 7d270ee3d0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 105 additions and 6 deletions

View File

@ -0,0 +1,66 @@
#from https://github.com/strace/strace/compare/e5b5a73ac749534080641ac7119714a8ae2f57d3...cdfc8ebaeff56a0083042afab374fa1b45ba61db
diff --git a/configure.ac b/configure.ac
index bc85b4934..590a591b7 100644
--- a/configure.ac
+++ b/configure.ac
@@ -329,6 +329,13 @@ AC_CHECK_FUNCS(m4_normalize([
AC_CHECK_TYPES([sig_atomic_t, struct sigcontext],,, [#include <signal.h>])
+AC_CHECK_TYPES([struct sockaddr_storage],
+ [],
+ [mkdir -p src/linux/generic/linux
+ cp $srcdir/src/linux/generic/socket.h.in src/linux/generic/linux/socket.h
+ CPPFLAGS="-Isrc/linux/generic $CPPFLAGS"],
+ [#include <sys/socket.h>])
+
AC_CHECK_TYPES([struct mmsghdr],,, [#include <sys/socket.h>])
AC_CHECK_TYPES([__kernel_long_t, __kernel_ulong_t],,,
@@ -585,7 +592,7 @@ AC_CACHE_CHECK([whether <linux/signal.h> can be used along with <signal.h>],
if test "x$st_cv_linux_signal" = xno; then
mkdir -p src/linux/generic/linux
cp $srcdir/src/linux/generic/signal.h.in src/linux/generic/linux/signal.h
- CPPFLAGS="$CPPFLAGS -Ilinux/generic"
+ CPPFLAGS="-Isrc/linux/generic $CPPFLAGS"
fi
AC_CHECK_TYPES([struct __aio_sigset],,, [#include <linux/aio_abi.h>])
diff --git a/src/Makefile.am b/src/Makefile.am
index eec669778..efe6881c0 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -545,6 +545,7 @@ EXTRA_DIST = \
linux/generic/shuffle_scno.c \
linux/generic/signal.h.in \
linux/generic/signalent.h \
+ linux/generic/socket.h.in \
linux/generic/subcallent.h \
linux/generic/syscallent-common.h \
linux/generic/syscallent_base_nr.h \
@@ -1018,7 +1019,11 @@ CLEANFILES = $(ioctl_redefs_h) $(ioctlent_h) $(mpers_preproc_files) \
ioctl_iocdef.h ioctl_iocdef.i \
bpf_attr_check.c native_printer_decls.h native_printer_defs.h \
printers.h sen.h sys_func.h
-DISTCLEANFILES = gnu/stubs-32.h gnu/stubs-x32.h linux/generic/linux/signal.h
+DISTCLEANFILES = gnu/stubs-32.h \
+ gnu/stubs-x32.h \
+ linux/generic/linux/signal.h \
+ linux/generic/linux/socket.h \
+ #
include scno.am
diff --git a/src/linux/generic/socket.h.in b/src/linux/generic/socket.h.in
new file mode 100644
index 000000000..585771ee9
--- /dev/null
+++ b/src/linux/generic/socket.h.in
@@ -0,0 +1,7 @@
+#include_next <linux/socket.h>
+/*
+ * <sys/socket.h> expects <linux/socket.h> to define struct sockaddr_storage.
+ */
+#ifndef sockaddr_storage
+# define sockaddr_storage __kernel_sockaddr_storage
+#endif

View File

@ -2,9 +2,9 @@ TERMUX_PKG_HOMEPAGE=https://strace.io/
TERMUX_PKG_DESCRIPTION="Debugging utility to monitor system calls and signals received"
TERMUX_PKG_LICENSE="BSD"
TERMUX_PKG_MAINTAINER="@termux"
TERMUX_PKG_VERSION=5.10
TERMUX_PKG_VERSION=5.11
TERMUX_PKG_SRCURL=https://github.com/strace/strace/releases/download/v$TERMUX_PKG_VERSION/strace-$TERMUX_PKG_VERSION.tar.xz
TERMUX_PKG_SHA256=fe3982ea4cd9aeb3b4ba35f6279f0b577a37175d3282be24b9a5537b56b8f01c
TERMUX_PKG_SHA256=ffe340b10c145a0f85734271e9cce56457d23f21a7ea5931ab32f8cf4e793879
TERMUX_PKG_DEPENDS="libdw"
# Without st_cv_m32_mpers=no the build fails if gawk is installed.
@ -18,5 +18,6 @@ st_cv_m32_mpers=no
TERMUX_PKG_RM_AFTER_INSTALL="bin/strace-graph"
termux_step_pre_configure() {
autoreconf # for configure.ac in 5.11fix.patch
CPPFLAGS+=" -Dfputs_unlocked=fputs"
}

View File

@ -0,0 +1,13 @@
--- strace-5.11/bundled/linux/include/uapi/linux/fs.h 2021-02-06 08:00:00.000000000 +0000
+++ strace-5.11.mod/bundled/linux/include/uapi/linux/fs.h 2021-02-24 12:31:35.510000000 +0000
@@ -43,10 +43,6 @@
#define SEEK_HOLE 4 /* seek to the next hole */
#define SEEK_MAX SEEK_HOLE
-#define RENAME_NOREPLACE (1 << 0) /* Don't overwrite target */
-#define RENAME_EXCHANGE (1 << 1) /* Exchange source and dest */
-#define RENAME_WHITEOUT (1 << 2) /* Whiteout source */
-
struct file_clone_range {
__s64 src_fd;
__u64 src_offset;

View File

@ -0,0 +1,19 @@
--- strace-5.11/src/sigreturn.c 2021-02-16 08:00:00.000000000 +0000
+++ strace-5.11.mod/src/sigreturn.c 2021-02-24 13:57:17.100000000 +0000
@@ -14,14 +14,16 @@
# include <asm/sigcontext.h>
#endif
+#if !(defined(__ANDROID__) && (defined(__arm__) || defined(__aarch64__)))
static inline void
print_sigmask_addr_size(const void *const addr, const unsigned int size)
{
tprint_struct_begin();
tprints_field_name("mask");
tprints(sprintsigmask_n("", addr, size));
tprint_struct_end();
}
+#endif
#define tprintsigmask_addr(mask_) \
print_sigmask_addr_size((mask_), sizeof(mask_))

View File

@ -1,6 +1,6 @@
diff -uNr strace-4.24/strace.c strace-4.24.mod/strace.c
--- strace-4.24/strace.c 2018-07-11 03:00:57.000000000 +0300
+++ strace-4.24.mod/strace.c 2018-10-03 01:15:15.105370170 +0300
--- strace-4.24/src/strace.c 2018-07-11 03:00:57.000000000 +0300
+++ strace-4.24.mod/src/strace.c 2018-10-03 01:15:15.105370170 +0300
@@ -442,11 +442,7 @@
static void
swap_uid(void)

View File

@ -1,6 +1,6 @@
diff -u -r ../strace-5.8/xlat/faccessat_flags.h ./xlat/faccessat_flags.h
--- ../strace-5.8/xlat/faccessat_flags.h 2020-08-06 15:17:00.000000000 +0000
+++ ./xlat/faccessat_flags.h 2020-08-08 22:33:14.973327911 +0000
--- ../strace-5.8/src/xlat/faccessat_flags.h 2020-08-06 15:17:00.000000000 +0000
+++ ./src/xlat/faccessat_flags.h 2020-08-08 22:33:14.973327911 +0000
@@ -3,6 +3,8 @@
#include "gcc_compat.h"
#include "static_assert.h"