logo

oasis

Own branch of Oasis Linux (upstream: <https://git.sr.ht/~mcf/oasis/>) git clone https://anongit.hacktivis.me/git/oasis.git
commit: a13fa66f67543d4320b75d4aeb18d9ad7dbae180
parent 0efd2554baf69ef060af250e3971cf2fe94492ae
Author: Michael Forney <mforney@mforney.org>
Date:   Sat, 15 May 2021 01:53:17 -0700

strace: Update to 5.12

Diffstat:

Mpkg/strace/.gitignore2+-
Mpkg/strace/config.h108+++++++------------------------------------------------------------------------
Mpkg/strace/gen.lua6++++--
Mpkg/strace/mpers.txt2+-
Mpkg/strace/patch/0001-Don-t-return-expression-in-void-function.patch8++++----
Mpkg/strace/patch/0002-Use-__typeof__-spelling-of-typeof.patch38+++++++++++++++++++-------------------
Mpkg/strace/patch/0003-Make-tcp_sysent-a-static-inline-function.patch8++++----
Mpkg/strace/patch/0004-Avoid-empty-initializer-lists.patch20++++++++++----------
Mpkg/strace/patch/0005-Avoid-pointer-arithmetic-on-void.patch20++++++++++----------
Mpkg/strace/patch/0007-Don-t-omit-second-operand-to-operator.patch16++++++++--------
Mpkg/strace/patch/0008-Avoid-unnecessary-VLAs.patch16++++++++--------
Mpkg/strace/patch/0010-Use-alloca-when-VLAs-aren-t-available.patch36++++++------------------------------
Mpkg/strace/patch/0011-Avoid-index-ranges.patch8++++----
Mpkg/strace/sha2562+-
Mpkg/strace/url2+-
Mpkg/strace/ver2+-
16 files changed, 91 insertions(+), 203 deletions(-)

diff --git a/pkg/strace/.gitignore b/pkg/strace/.gitignore @@ -1,3 +1,3 @@ /src -/strace-5.11.tar.xz +/strace-5.12.tar.xz /tools.ninja diff --git a/pkg/strace/config.h b/pkg/strace/config.h @@ -10,6 +10,7 @@ #define COPYRIGHT_YEAR "2021" /* #undef CSKY */ #define ENABLE_ARM_OABI 0 +/* #undef ENABLE_SECONTEXT */ /* #undef ENABLE_STACKTRACE */ #define HAVE_ACCEPT4 1 /* #undef HAVE_ASM_CACHECTL_H */ @@ -18,7 +19,7 @@ /* #undef HAVE_ASM_SYSMIPS_H */ /* #undef HAVE_BE64TOH */ /* #undef HAVE_BLUETOOTH_BLUETOOTH_H */ -/* #undef HAVE_BROKEN_CC */ +#define HAVE_BROKEN_CC 1 #define HAVE_DECL_CTL_ABI 1 #define HAVE_DECL_CTL_ARLAN 1 #define HAVE_DECL_CTL_BUS 1 @@ -323,18 +324,6 @@ #define HAVE_DECL_TCA_ACT_STATS 1 #define HAVE_DECL_TCA_ACT_UNSPEC 1 #define HAVE_DECL_TCA_ACT_USED_HW_STATS 1 -#define HAVE_DECL_TCA_STAB_BASE 1 -#define HAVE_DECL_TCA_STAB_DATA 1 -#define HAVE_DECL_TCA_STAB_UNSPEC 1 -#define HAVE_DECL_TCA_STATS_APP 1 -#define HAVE_DECL_TCA_STATS_BASIC 1 -#define HAVE_DECL_TCA_STATS_BASIC_HW 1 -#define HAVE_DECL_TCA_STATS_PAD 1 -#define HAVE_DECL_TCA_STATS_PKT64 1 -#define HAVE_DECL_TCA_STATS_QUEUE 1 -#define HAVE_DECL_TCA_STATS_RATE_EST 1 -#define HAVE_DECL_TCA_STATS_RATE_EST64 1 -#define HAVE_DECL_TCA_STATS_UNSPEC 1 #define HAVE_DECL_VM_BLOCK_DUMP 1 #define HAVE_DECL_VM_DIRTY_BACKGROUND 1 #define HAVE_DECL_VM_DIRTY_EXPIRE_CS 1 @@ -379,42 +368,12 @@ /* #undef HAVE_LIBIBERTY_DEMANGLE_H */ /* #undef HAVE_LIBUNWIND_PTRACE_H */ #define HAVE_LINUX_BPF_H 1 -#define HAVE_LINUX_BSG_H 1 -#define HAVE_LINUX_DM_IOCTL_H 1 -#define HAVE_LINUX_DQBLK_XFS_H 1 -#define HAVE_LINUX_FALLOC_H 1 -#define HAVE_LINUX_HIDDEV_H 1 -#define HAVE_LINUX_IO_URING_H 1 #define HAVE_LINUX_IPC_H 1 -#define HAVE_LINUX_IP_VS_H 1 -#define HAVE_LINUX_KCMP_H 1 #define HAVE_LINUX_KVM_H 1 -#define HAVE_LINUX_MEMFD_H 1 -#define HAVE_LINUX_MMTIMER_H 1 -#define HAVE_LINUX_MQUEUE_H 1 #define HAVE_LINUX_NETFILTER_ARP_ARP_TABLES_H 1 #define HAVE_LINUX_NETFILTER_BRIDGE_EBTABLES_H 1 -#define HAVE_LINUX_NETFILTER_IPSET_IP_SET_H 1 #define HAVE_LINUX_NETFILTER_IPV4_IP_TABLES_H 1 #define HAVE_LINUX_NETFILTER_IPV6_IP6_TABLES_H 1 -#define HAVE_LINUX_NETFILTER_NFNETLINK_ACCT_H 1 -#define HAVE_LINUX_NETFILTER_NFNETLINK_CONNTRACK_H 1 -#define HAVE_LINUX_NETFILTER_NFNETLINK_CTHELPER_H 1 -#define HAVE_LINUX_NETFILTER_NFNETLINK_CTTIMEOUT_H 1 -#define HAVE_LINUX_NETFILTER_NFNETLINK_H 1 -#define HAVE_LINUX_NETFILTER_NFNETLINK_LOG_H 1 -#define HAVE_LINUX_NETFILTER_NFNETLINK_QUEUE_H 1 -#define HAVE_LINUX_NETFILTER_NF_TABLES_COMPAT_H 1 -#define HAVE_LINUX_NETFILTER_NF_TABLES_H 1 -#define HAVE_LINUX_NETFILTER_XT_OSF_H 1 -#define HAVE_LINUX_NSFS_H 1 -#define HAVE_LINUX_PERF_EVENT_H 1 -#define HAVE_LINUX_QUOTA_H 1 -#define HAVE_LINUX_SCHED_H 1 -#define HAVE_LINUX_SECCOMP_H 1 -#define HAVE_LINUX_SECUREBITS_H 1 -#define HAVE_LINUX_USERFAULTFD_H 1 -#define HAVE_LINUX_UTSNAME_H 1 /* #undef HAVE_M32_MPERS */ /* #undef HAVE_M32_STRUCT_STAT */ /* #undef HAVE_M32_STRUCT_STAT64 */ @@ -442,6 +401,8 @@ #define HAVE_READAHEAD 1 /* #undef HAVE_S390_COMPAT_REGS */ #define HAVE_SCSI_SG_H 1 +/* #undef HAVE_SELINUX_RUNTIME */ +/* #undef HAVE_SELINUX_SELINUX_H */ #define HAVE_SIGINFO_T_SI_OVERRUN 1 #define HAVE_SIGINFO_T_SI_SYSCALL 1 #define HAVE_SIGINFO_T_SI_TIMERID 1 @@ -455,7 +416,6 @@ #define HAVE_STRINGS_H 1 #define HAVE_STRING_H 1 #define HAVE_STRNDUP 1 -#define HAVE_STRUCT_BLK_USER_TRACE_SETUP 1 #define HAVE_STRUCT_BPF_INSN 1 #define HAVE_STRUCT_BPF_MAP_INFO 1 #define HAVE_STRUCT_BPF_MAP_INFO_BTF_ID 1 @@ -502,64 +462,21 @@ #define HAVE_STRUCT_BPF_PROG_INFO_TYPE 1 #define HAVE_STRUCT_BPF_PROG_INFO_XLATED_PROG_INSNS 1 #define HAVE_STRUCT_BPF_PROG_INFO_XLATED_PROG_LEN 1 -#define HAVE_STRUCT_CLONE_ARGS_CGROUP 1 -#define HAVE_STRUCT_DCBMSG 1 -#define HAVE_STRUCT_FLOCK 1 -#define HAVE_STRUCT_FLOCK64 1 -#define HAVE_STRUCT_F_OWNER_EX 1 -#define HAVE_STRUCT_GNET_STATS_BASIC 1 -#define HAVE_STRUCT_GNET_STATS_QUEUE 1 -#define HAVE_STRUCT_GNET_STATS_RATE_EST 1 -#define HAVE_STRUCT_GNET_STATS_RATE_EST64 1 /* #undef HAVE_STRUCT_IA64_FPREG */ -#define HAVE_STRUCT_IFADDRLBLMSG 1 #define HAVE_STRUCT_IOCB_AIO_FLAGS 1 #define HAVE_STRUCT_IOCB_AIO_RW_FLAGS 1 -#define HAVE_STRUCT_IO_CQRING_OFFSETS_FLAGS 1 -#define HAVE_STRUCT_IO_URING_PARAMS_FEATURES 1 -#define HAVE_STRUCT_IO_URING_PARAMS_RESV 1 -#define HAVE_STRUCT_IO_URING_PARAMS_WQ_FD 1 -#define HAVE_STRUCT_KCMP_EPOLL_SLOT 1 -#define HAVE_STRUCT_KEYCTL_KDF_PARAMS 1 -#define HAVE_STRUCT_KEYCTL_PKEY_PARAMS 1 -#define HAVE_STRUCT_KEYCTL_PKEY_QUERY 1 #define HAVE_STRUCT_KVM_CPUID2 1 #define HAVE_STRUCT_KVM_REGS 1 #define HAVE_STRUCT_KVM_SREGS 1 #define HAVE_STRUCT_KVM_USERSPACE_MEMORY_REGION 1 #define HAVE_STRUCT_MMSGHDR 1 -#define HAVE_STRUCT_MTD_WRITE_REQ 1 -#define HAVE_STRUCT_NETCONFMSG 1 -#define HAVE_STRUCT_PERF_EVENT_ATTR_AUX_SAMPLE_SIZE 1 -#define HAVE_STRUCT_PERF_EVENT_ATTR_AUX_WATERMARK 1 -#define HAVE_STRUCT_PERF_EVENT_ATTR_BP_TYPE 1 -#define HAVE_STRUCT_PERF_EVENT_ATTR_BRANCH_SAMPLE_TYPE 1 -#define HAVE_STRUCT_PERF_EVENT_ATTR_COMM_EXEC 1 -#define HAVE_STRUCT_PERF_EVENT_ATTR_CONFIG1 1 -#define HAVE_STRUCT_PERF_EVENT_ATTR_CONFIG2 1 -#define HAVE_STRUCT_PERF_EVENT_ATTR_CONTEXT_SWITCH 1 -#define HAVE_STRUCT_PERF_EVENT_ATTR_EXCLUDE_CALLCHAIN_KERNEL 1 -#define HAVE_STRUCT_PERF_EVENT_ATTR_EXCLUDE_CALLCHAIN_USER 1 -#define HAVE_STRUCT_PERF_EVENT_ATTR_EXCLUDE_GUEST 1 -#define HAVE_STRUCT_PERF_EVENT_ATTR_EXCLUDE_HOST 1 -#define HAVE_STRUCT_PERF_EVENT_ATTR_MMAP2 1 -#define HAVE_STRUCT_PERF_EVENT_ATTR_MMAP_DATA 1 -#define HAVE_STRUCT_PERF_EVENT_ATTR_NAMESPACES 1 -#define HAVE_STRUCT_PERF_EVENT_ATTR_PRECISE_IP 1 -#define HAVE_STRUCT_PERF_EVENT_ATTR_SAMPLE_ID_ALL 1 -#define HAVE_STRUCT_PERF_EVENT_ATTR_SAMPLE_MAX_STACK 1 -#define HAVE_STRUCT_PERF_EVENT_ATTR_SAMPLE_REGS_INTR 1 -#define HAVE_STRUCT_PERF_EVENT_ATTR_SAMPLE_REGS_USER 1 -#define HAVE_STRUCT_PERF_EVENT_ATTR_SAMPLE_STACK_USER 1 -#define HAVE_STRUCT_PERF_EVENT_ATTR_USE_CLOCKID 1 -#define HAVE_STRUCT_PERF_EVENT_ATTR_WRITE_BACKWARD 1 -#define HAVE_STRUCT_PTP_SYS_OFFSET 1 /* #undef HAVE_STRUCT_PTRACE_PEEKSIGINFO_ARGS */ #define HAVE_STRUCT_PTRACE_SYSCALL_INFO 1 /* #undef HAVE_STRUCT_PT_ALL_USER_REGS */ #define HAVE_STRUCT_SIGCONTEXT 1 /* #undef HAVE_STRUCT_SOCKADDR_HCI_HCI_CHANNEL */ /* #undef HAVE_STRUCT_SOCKADDR_L2_L2_BDADDR_TYPE */ +#define HAVE_STRUCT_SOCKADDR_STORAGE 1 /* #undef HAVE_STRUCT_STAT64 */ /* #undef HAVE_STRUCT_STAT64_ST_MTIME_NSEC */ #define HAVE_STRUCT_STATFS 1 @@ -572,18 +489,11 @@ #define HAVE_STRUCT_STATFS_F_FRSIZE 1 #define HAVE_STRUCT_STATFS_F_FSID_VAL 1 /* #undef HAVE_STRUCT_STATFS_F_FSID___VAL */ -#define HAVE_STRUCT_STATX 1 #define HAVE_STRUCT_STAT_ST_MTIME_NSEC 1 -#define HAVE_STRUCT_TC_SIZESPEC 1 -#define HAVE_STRUCT_UBI_ATTACH_REQ_MAX_BEB_PER1024 1 -#define HAVE_STRUCT_UBI_MKVOL_REQ_FLAGS 1 #define HAVE_STRUCT_USER_DESC 1 #define HAVE_STRUCT_USER_DESC_LM 1 #define HAVE_STRUCT_UTSNAME_DOMAINNAME 1 /* #undef HAVE_STRUCT___AIO_SIGSET */ -/* #undef HAVE_STRUCT___KERNEL_FLOCK */ -/* #undef HAVE_STRUCT___KERNEL_FLOCK64 */ -/* #undef HAVE_STRUCT___KERNEL_F_OWNER_EX */ #define HAVE_STRUCT___KERNEL_SOCK_TIMEVAL 1 #define HAVE_STRUCT___KERNEL_TIMESPEC 1 #define HAVE_STRUCT___OLD_KERNEL_STAT 1 @@ -721,7 +631,7 @@ /* #undef M32_SIZEOF_LONG */ /* #undef M32_SIZEOF_STRUCT_MSQID64_DS */ /* #undef M68K */ -#define MANPAGE_DATE "2021-02-07" +#define MANPAGE_DATE "2021-04-04" /* #undef METAG */ /* #undef MICROBLAZE */ /* #undef MIPS */ @@ -733,10 +643,10 @@ #define PACKAGE "strace" #define PACKAGE_BUGREPORT "strace-devel@lists.strace.io" #define PACKAGE_NAME "strace" -#define PACKAGE_STRING "strace 5.11" +#define PACKAGE_STRING "strace 5.12" #define PACKAGE_TARNAME "strace" #define PACKAGE_URL "https://strace.io" -#define PACKAGE_VERSION "5.11" +#define PACKAGE_VERSION "5.12" /* #undef POWERPC */ /* #undef POWERPC64 */ /* #undef POWERPC64LE */ @@ -774,7 +684,7 @@ # define __EXTENSIONS__ 1 #endif /* #undef USE_UNWINDER */ -#define VERSION "5.11" +#define VERSION "5.12" #if defined AC_APPLE_UNIVERSAL_BUILD # if defined __BIG_ENDIAN__ # define WORDS_BIGENDIAN 1 diff --git a/pkg/strace/gen.lua b/pkg/strace/gen.lua @@ -1,5 +1,6 @@ cflags{ '-D HAVE_CONFIG_H', + '-D IN_STRACE', -- it is important that the arch-specific directory is searched first '-I $srcdir/src/linux/x86_64', '-I $srcdir/src/linux/generic', @@ -34,7 +35,7 @@ sub('tools.ninja', function() }) build('cc', '$outdir/ioctlsort'..i..'.c.o', { '$srcdir/src/ioctlsort.c', - '|', '$outdir/ioctl_iocdef.h', '$outdir/ioctls_all'..i..'.h', + '|', '$outdir/ioctl_iocdef.h', '$srcdir/ioctls_zfs.h', '$outdir/ioctls_all'..i..'.h', }, {cflags=string.format([[$cflags -D 'IOCTLSORT_INC="ioctls_all%d.h"']], i)}) exe('ioctlsort'..i, {'ioctlsort'..i..'.c.o'}) rule('ioctlsort'..i, '$outdir/ioctlsort'..i..' >$out') @@ -188,6 +189,7 @@ local srcs = paths[[src/( mmap_notify.c mmsghdr.c mount.c + mount_setattr.c move_mount.c mq.c msghdr.c @@ -225,11 +227,11 @@ local srcs = paths[[src/( poke.c poll.c prctl.c - print_kernel_sigset.c print_dev_t.c print_group_req.c print_ifindex.c print_instruction_pointer.c + print_kernel_sigset.c print_kernel_version.c print_mac.c print_mq_attr.c diff --git a/pkg/strace/mpers.txt b/pkg/strace/mpers.txt @@ -19,8 +19,8 @@ ipc_shmctl.c loop.c mtd.c perf_ioctl.c -print_kernel_sigset.c print_group_req.c +print_kernel_sigset.c print_mq_attr.c print_msgbuf.c print_sg_req_info.c diff --git a/pkg/strace/patch/0001-Don-t-return-expression-in-void-function.patch b/pkg/strace/patch/0001-Don-t-return-expression-in-void-function.patch @@ -1,4 +1,4 @@ -From 5df1446d7d0c88d93e063b17b6ec9b872d13f1f8 Mon Sep 17 00:00:00 2001 +From 2d644a73ecf46c454a40a78c1db0ab4ec76760bf Mon Sep 17 00:00:00 2001 From: Michael Forney <mforney@mforney.org> Date: Fri, 5 Jul 2019 20:52:24 -0700 Subject: [PATCH] Don't return expression in void function @@ -8,10 +8,10 @@ Subject: [PATCH] Don't return expression in void function 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/defs.h b/src/defs.h -index 3475d36a2..518e57346 100644 +index 5c369eceb..bbc8aa38f 100644 --- a/src/defs.h +++ b/src/defs.h -@@ -722,7 +722,7 @@ extern bool pathtrace_match_set(struct tcb *, struct path_set *); +@@ -726,7 +726,7 @@ extern bool pathtrace_match_set(struct tcb *, struct path_set *); static inline void pathtrace_select(const char *path) { @@ -21,5 +21,5 @@ index 3475d36a2..518e57346 100644 static inline bool -- -2.30.0 +2.31.1 diff --git a/pkg/strace/patch/0002-Use-__typeof__-spelling-of-typeof.patch b/pkg/strace/patch/0002-Use-__typeof__-spelling-of-typeof.patch @@ -1,4 +1,4 @@ -From 62a54ba2c7356ade3e2eb7f66647410daafc5718 Mon Sep 17 00:00:00 2001 +From eeb1e797fc52a2a7fc470420ddd57344362c2c2e Mon Sep 17 00:00:00 2001 From: Michael Forney <mforney@mforney.org> Date: Sat, 6 Jul 2019 01:33:01 -0700 Subject: [PATCH] Use __typeof__ spelling of typeof @@ -18,7 +18,7 @@ Subject: [PATCH] Use __typeof__ spelling of typeof 11 files changed, 22 insertions(+), 22 deletions(-) diff --git a/src/btrfs.c b/src/btrfs.c -index eb6f7e02b..819fcf084 100644 +index df2b35a7f..2c49dcc67 100644 --- a/src/btrfs.c +++ b/src/btrfs.c @@ -214,7 +214,7 @@ btrfs_print_logical_ino_container(struct tcb *tcp, @@ -48,7 +48,7 @@ index eb6f7e02b..819fcf084 100644 inherit.num_qgroups, &record, sizeof(record), tfetch_mem, print_uint64_array_member, 0); } -@@ -1137,7 +1137,7 @@ MPERS_PRINTER_DECL(int, btrfs_ioctl, +@@ -1149,7 +1149,7 @@ MPERS_PRINTER_DECL(int, btrfs_ioctl, PRINT_FIELD_OBJ_PTR(args, key, print_btrfs_ioctl_search_key, entering(tcp), !abbrev(tcp)); @@ -57,7 +57,7 @@ index eb6f7e02b..819fcf084 100644 sizeof(args.buf), args.key.nr_items); tprint_struct_end(); if (entering(tcp)) -@@ -1173,7 +1173,7 @@ MPERS_PRINTER_DECL(int, btrfs_ioctl, +@@ -1185,7 +1185,7 @@ MPERS_PRINTER_DECL(int, btrfs_ioctl, entering(tcp), !abbrev(tcp)); tprint_struct_next(); PRINT_FIELD_U(args, buf_size); @@ -66,7 +66,7 @@ index eb6f7e02b..819fcf084 100644 args.buf_size, args.key.nr_items); tprint_struct_end(); if (entering(tcp)) -@@ -1250,7 +1250,7 @@ MPERS_PRINTER_DECL(int, btrfs_ioctl, +@@ -1263,7 +1263,7 @@ MPERS_PRINTER_DECL(int, btrfs_ioctl, struct btrfs_ioctl_space_info info; tprint_struct_next(); tprints_field_name("spaces"); @@ -76,10 +76,10 @@ index eb6f7e02b..819fcf084 100644 &info, sizeof(info), tfetch_mem, print_btrfs_ioctl_space_info, 0); diff --git a/src/defs.h b/src/defs.h -index 518e57346..00a36249e 100644 +index bbc8aa38f..d8f84b32b 100644 --- a/src/defs.h +++ b/src/defs.h -@@ -1039,7 +1039,7 @@ print_local_array_ex(struct tcb *tcp, +@@ -1047,7 +1047,7 @@ print_local_array_ex(struct tcb *tcp, # define print_local_array_upto(tcp_, start_addr_, upto_, print_func_) \ print_local_array_ex((tcp_), (start_addr_), \ CLAMP((upto_), 0, \ @@ -88,7 +88,7 @@ index 518e57346..00a36249e 100644 sizeof((start_addr_)[0]), (print_func_), \ NULL, 0, NULL, NULL) -@@ -1805,8 +1805,8 @@ scno_is_valid(kernel_ulong_t scno) +@@ -1793,8 +1793,8 @@ scno_is_valid(kernel_ulong_t scno) # define ILOG2_ITER_(val_, ret_, bit_) \ do { \ @@ -100,10 +100,10 @@ index 518e57346..00a36249e 100644 (val_) >>= shift_; \ (ret_) |= shift_; \ diff --git a/src/fs_0x94_ioctl.c b/src/fs_0x94_ioctl.c -index f42ec2f0c..65381ec1b 100644 +index 7aa170af0..b908ea1fb 100644 --- a/src/fs_0x94_ioctl.c +++ b/src/fs_0x94_ioctl.c -@@ -95,7 +95,7 @@ decode_file_dedupe_range(struct tcb *const tcp, const kernel_ulong_t arg) +@@ -94,7 +94,7 @@ decode_file_dedupe_range(struct tcb *const tcp, const kernel_ulong_t arg) if (abbrev(tcp) && range.dest_count > count) limit = &count; @@ -113,7 +113,7 @@ index f42ec2f0c..65381ec1b 100644 tfetch_mem, print_file_dedupe_range_info, limit); diff --git a/src/fs_f_ioctl.c b/src/fs_f_ioctl.c -index 4509f3d58..f763cad8d 100644 +index 7b51bc9f9..ee9a42754 100644 --- a/src/fs_f_ioctl.c +++ b/src/fs_f_ioctl.c @@ -72,7 +72,7 @@ decode_fiemap(struct tcb *const tcp, const kernel_ulong_t arg) @@ -194,10 +194,10 @@ index 467f5d042..be54782bf 100644 # ifndef offsetofend # define offsetofend(type_, member_) \ diff --git a/src/net.c b/src/net.c -index 9942df21a..dc62e59cb 100644 +index b23911a97..9790943be 100644 --- a/src/net.c +++ b/src/net.c -@@ -459,7 +459,7 @@ SYS_FUNC(socketpair) +@@ -528,7 +528,7 @@ SYS_FUNC(socketpair) #define MAYBE_PRINT_FIELD_LEN(print_prefix_, where_, field_, \ len_, print_func_, ...) \ do { \ @@ -207,10 +207,10 @@ index 9942df21a..dc62e59cb 100644 if (len_ > start) { \ print_prefix_; \ diff --git a/src/ubi.c b/src/ubi.c -index 93cec79c4..9047df640 100644 +index bd2d2811e..ff9f88cd0 100644 --- a/src/ubi.c +++ b/src/ubi.c -@@ -84,7 +84,7 @@ static bool +@@ -76,7 +76,7 @@ static bool print_ubi_rnvol_req_ent_array_member(struct tcb *tcp, void *elem_buf, size_t elem_size, void *data) { @@ -233,18 +233,18 @@ index fd240259c..6d98c0b9c 100644 printf(", "); printf("{transid=%" PRI__u64 ", objectid=", diff --git a/tests/fcntl-common.c b/tests/fcntl-common.c -index 155166617..ebc2e07aa 100644 +index 878a23c7c..0cfa23174 100644 --- a/tests/fcntl-common.c +++ b/tests/fcntl-common.c @@ -22,7 +22,7 @@ #define TEST_FLOCK64_EINVAL(cmd) test_flock64_einval(cmd, #cmd) #ifdef HAVE_TYPEOF --# define TYPEOF_FLOCK_OFF_T typeof(((struct_kernel_flock *) NULL)->l_len) -+# define TYPEOF_FLOCK_OFF_T __typeof__(((struct_kernel_flock *) NULL)->l_len) +-# define TYPEOF_FLOCK_OFF_T typeof(((struct flock *) NULL)->l_len) ++# define TYPEOF_FLOCK_OFF_T __typeof__(((struct flock *) NULL)->l_len) #else # define TYPEOF_FLOCK_OFF_T off_t #endif -- -2.30.0 +2.31.1 diff --git a/pkg/strace/patch/0003-Make-tcp_sysent-a-static-inline-function.patch b/pkg/strace/patch/0003-Make-tcp_sysent-a-static-inline-function.patch @@ -1,4 +1,4 @@ -From b1d79a14c7df4f1698ac2243873a3b09b22cf8bb Mon Sep 17 00:00:00 2001 +From 21e7b497ab2009b9905566d3846c5aeb4d6db795 Mon Sep 17 00:00:00 2001 From: Michael Forney <mforney@mforney.org> Date: Sat, 6 Jul 2019 01:40:36 -0700 Subject: [PATCH] Make tcp_sysent a static inline function @@ -10,10 +10,10 @@ operator without evaluating the macro argument multiple times. 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/defs.h b/src/defs.h -index 00a36249e..2768fcd46 100644 +index d8f84b32b..728e1fede 100644 --- a/src/defs.h +++ b/src/defs.h -@@ -386,8 +386,12 @@ struct tcb { +@@ -390,8 +390,12 @@ struct tcb { # define syscall_tampered_nofail(tcp) ((tcp)->flags & TCB_TAMPERED_NO_FAIL) # define has_seccomp_filter(tcp) ((tcp)->flags & TCB_SECCOMP_FILTER) @@ -29,5 +29,5 @@ index 00a36249e..2768fcd46 100644 # include "xlat.h" -- -2.30.0 +2.31.1 diff --git a/pkg/strace/patch/0004-Avoid-empty-initializer-lists.patch b/pkg/strace/patch/0004-Avoid-empty-initializer-lists.patch @@ -1,4 +1,4 @@ -From d98579a234b81512a4def2bc740457fcd0637ac2 Mon Sep 17 00:00:00 2001 +From d34216667b2ae3823893e80e98e5b7cc0a37c166 Mon Sep 17 00:00:00 2001 From: Michael Forney <mforney@mforney.org> Date: Sat, 6 Jul 2019 01:54:05 -0700 Subject: [PATCH] Avoid empty initializer lists @@ -20,7 +20,7 @@ Subject: [PATCH] Avoid empty initializer lists 13 files changed, 17 insertions(+), 17 deletions(-) diff --git a/src/bpf.c b/src/bpf.c -index 7d2f4b85d..4e8bbe09a 100644 +index 3d25a8b90..b53dd98a2 100644 --- a/src/bpf.c +++ b/src/bpf.c @@ -42,7 +42,7 @@ bpf_cmd_decoder(struct tcb *const tcp, \ @@ -32,7 +32,7 @@ index 7d2f4b85d..4e8bbe09a 100644 const size_t attr_size = bpf_cmd ## _struct_size; \ const unsigned int len = MIN(size, attr_size); \ memcpy(&attr, data, len); \ -@@ -153,7 +153,7 @@ print_ebpf_prog(struct tcb *const tcp, const uint64_t addr, const uint32_t len) +@@ -154,7 +154,7 @@ print_ebpf_prog(struct tcb *const tcp, const uint64_t addr, const uint32_t len) if (abbrev(tcp)) { printaddr(addr); } else { @@ -42,10 +42,10 @@ index 7d2f4b85d..4e8bbe09a 100644 print_array(tcp, addr, len, &insn, sizeof(insn), diff --git a/src/net.c b/src/net.c -index dc62e59cb..c80958500 100644 +index 9790943be..ea2b71df8 100644 --- a/src/net.c +++ b/src/net.c -@@ -681,7 +681,7 @@ print_tpacket_stats(struct tcb *const tcp, const kernel_ulong_t addr, +@@ -752,7 +752,7 @@ print_tpacket_stats(struct tcb *const tcp, const kernel_ulong_t addr, static void print_icmp_filter(struct tcb *const tcp, const kernel_ulong_t addr, int len) { @@ -55,10 +55,10 @@ index dc62e59cb..c80958500 100644 if (len > (int) sizeof(filter)) len = sizeof(filter); diff --git a/src/sched.c b/src/sched.c -index a9bbe64ff..661077e2f 100644 +index acd4d32cf..d7de19ada 100644 --- a/src/sched.c +++ b/src/sched.c -@@ -97,7 +97,7 @@ static void +@@ -111,7 +111,7 @@ static void print_sched_attr(struct tcb *const tcp, const kernel_ulong_t addr, unsigned int usize) { @@ -81,10 +81,10 @@ index 5fc0789c3..cdea7f5b8 100644 return; tprints(sprintsigmask_n("", mask, len)); diff --git a/src/strace.c b/src/strace.c -index ab82a9908..24180a15f 100644 +index 61a598cb1..e67121d9a 100644 --- a/src/strace.c +++ b/src/strace.c -@@ -3387,7 +3387,7 @@ trace_syscall(struct tcb *tcp, unsigned int *sig) +@@ -3436,7 +3436,7 @@ trace_syscall(struct tcb *tcp, unsigned int *sig) syscall_entering_finish(tcp, res); return res; } else { @@ -225,5 +225,5 @@ index a14899530..b08881ae7 100644 assert(sigprocmask(SIG_BLOCK, &mask, NULL) == 0); -- -2.30.0 +2.31.1 diff --git a/pkg/strace/patch/0005-Avoid-pointer-arithmetic-on-void.patch b/pkg/strace/patch/0005-Avoid-pointer-arithmetic-on-void.patch @@ -1,4 +1,4 @@ -From 39bde60243deec54676cd119f08192a1c8f7b06b Mon Sep 17 00:00:00 2001 +From 3e8180da79247998e838a028112e8b86a43e8172 Mon Sep 17 00:00:00 2001 From: Michael Forney <mforney@mforney.org> Date: Sun, 7 Jul 2019 21:25:13 -0700 Subject: [PATCH] Avoid pointer arithmetic on `void *` @@ -33,33 +33,33 @@ index 7d2872dc9..fd6c276cb 100644 smc_states, "SMC_???"); tprint_struct_next(); diff --git a/src/print_timespec.h b/src/print_timespec.h -index feb6599f1..3351755cb 100644 +index 9603a6bb6..f5f747c42 100644 --- a/src/print_timespec.h +++ b/src/print_timespec.h -@@ -67,6 +67,8 @@ bool +@@ -66,6 +66,8 @@ bool PRINT_TIMESPEC_ARRAY_DATA_SIZE(const void *arg, const unsigned int nmemb, const size_t size) { + const char *ts = arg; + if (nmemb > size / sizeof(TIMESPEC_T)) { - tprints("?"); + tprint_unavailable(); return false; -@@ -74,10 +76,10 @@ PRINT_TIMESPEC_ARRAY_DATA_SIZE(const void *arg, const unsigned int nmemb, +@@ -73,10 +75,10 @@ PRINT_TIMESPEC_ARRAY_DATA_SIZE(const void *arg, const unsigned int nmemb, - tprints("["); + tprint_array_begin(); - for (unsigned int i = 0; i < nmemb; i++, arg += sizeof(TIMESPEC_T)) { + for (unsigned int i = 0; i < nmemb; i++, ts += sizeof(TIMESPEC_T)) { if (i) - tprints(", "); + tprint_array_next(); - print_unaligned_timespec_t(arg); + print_unaligned_timespec_t(ts); } - tprints("]"); + tprint_array_end(); diff --git a/src/sockaddr.c b/src/sockaddr.c -index ca8c86ce8..1f2ee0122 100644 +index 3da702153..9487741d6 100644 --- a/src/sockaddr.c +++ b/src/sockaddr.c @@ -497,7 +497,7 @@ print_sockaddr_data_ll(struct tcb *tcp, const void *const buf, @@ -116,5 +116,5 @@ index 6cebb8e26..e8ca2ad5d 100644 } -- -2.30.0 +2.31.1 diff --git a/pkg/strace/patch/0007-Don-t-omit-second-operand-to-operator.patch b/pkg/strace/patch/0007-Don-t-omit-second-operand-to-operator.patch @@ -1,4 +1,4 @@ -From 2aafc896306daf6fc8a470993ffd6d300d2e410c Mon Sep 17 00:00:00 2001 +From bf1b06786d4a813efd06e179ce0db5a991312400 Mon Sep 17 00:00:00 2001 From: Michael Forney <mforney@mforney.org> Date: Sun, 7 Jul 2019 21:53:16 -0700 Subject: [PATCH] Don't omit second operand to '?' operator @@ -10,7 +10,7 @@ Subject: [PATCH] Don't omit second operand to '?' operator 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/open.c b/src/open.c -index 4af4320b0..8191470ed 100644 +index 1dd79e9dc..9aaff9ec9 100644 --- a/src/open.c +++ b/src/open.c @@ -63,8 +63,9 @@ sprint_open_modes64(uint64_t flags) @@ -26,10 +26,10 @@ index 4af4320b0..8191470ed 100644 const char * diff --git a/src/prctl.c b/src/prctl.c -index 58b644946..6147082eb 100644 +index 62e79510e..cb4379e57 100644 --- a/src/prctl.c +++ b/src/prctl.c -@@ -76,7 +76,7 @@ sprint_sve_val(kernel_ulong_t arg) +@@ -67,7 +67,7 @@ sprint_sve_val(kernel_ulong_t arg) const char *flags_str = sprintflags("", pr_sve_vl_flags, flags); xsprintf(out, "%s%s%#" PRI_klx, @@ -39,10 +39,10 @@ index 58b644946..6147082eb 100644 return out; } diff --git a/src/strace.c b/src/strace.c -index 24180a15f..a71860e55 100644 +index e67121d9a..6e9425272 100644 --- a/src/strace.c +++ b/src/strace.c -@@ -2257,7 +2257,7 @@ init(int argc, char *argv[]) +@@ -2290,7 +2290,7 @@ init(int argc, char *argv[]) break; case GETOPT_TS: tflag_long_set = true; @@ -51,7 +51,7 @@ index 24180a15f..a71860e55 100644 error_opt_arg(c, lopt, optarg); break; case 'T': -@@ -2357,10 +2357,10 @@ init(int argc, char *argv[]) +@@ -2401,10 +2401,10 @@ init(int argc, char *argv[]) qualify_kvm(optarg); break; case GETOPT_QUAL_QUIET: @@ -65,5 +65,5 @@ index 24180a15f..a71860e55 100644 default: error_msg_and_help(NULL); -- -2.30.0 +2.31.1 diff --git a/pkg/strace/patch/0008-Avoid-unnecessary-VLAs.patch b/pkg/strace/patch/0008-Avoid-unnecessary-VLAs.patch @@ -1,4 +1,4 @@ -From ac6d6953ee3bbb0a2717bb814c78f5671a993407 Mon Sep 17 00:00:00 2001 +From 6fcedfbc61c7f5b8896635407f0d6f4da1fea06b Mon Sep 17 00:00:00 2001 From: Michael Forney <mforney@mforney.org> Date: Sun, 7 Jul 2019 21:58:46 -0700 Subject: [PATCH] Avoid unnecessary VLAs @@ -25,7 +25,7 @@ index afd4b3758..c1ed46588 100644 const size_t c = columns[i]; diff --git a/src/nlattr.c b/src/nlattr.c -index 8ac034031..648181ac8 100644 +index c007cc8b5..bc8287c1c 100644 --- a/src/nlattr.c +++ b/src/nlattr.c @@ -344,7 +344,7 @@ decode_nla_hwaddr(struct tcb *const tcp, @@ -60,10 +60,10 @@ index 40a8c1991..1482787ff 100644 if (!inet_ntop(diag_msg->idiag_family, diag_msg->id.idiag_dst, dst_buf, text_size)) diff --git a/src/syscall.c b/src/syscall.c -index 52f2f29f6..cbb51fff4 100644 +index ebe5dd9b6..dc5997a94 100644 --- a/src/syscall.c +++ b/src/syscall.c -@@ -303,7 +303,7 @@ decode_socket_subcall(struct tcb *tcp) +@@ -304,7 +304,7 @@ decode_socket_subcall(struct tcb *tcp) const kernel_ulong_t scno = SYS_socket_subcall + call; const unsigned int nargs = sysent[scno].nargs; @@ -73,10 +73,10 @@ index 52f2f29f6..cbb51fff4 100644 if (umoven(tcp, tcp->u_arg[1], nargs * current_wordsize, buf) < 0) return; diff --git a/src/util.c b/src/util.c -index 31b3876a3..8e12df0f1 100644 +index e87ac94b0..063db0382 100644 --- a/src/util.c +++ b/src/util.c -@@ -493,8 +493,7 @@ enum sock_proto +@@ -508,8 +508,7 @@ enum sock_proto getfdproto(struct tcb *tcp, int fd) { #ifdef HAVE_SYS_XATTR_H @@ -86,7 +86,7 @@ index 31b3876a3..8e12df0f1 100644 ssize_t r; char path[sizeof("/proc/%u/fd/%u") + 2 * sizeof(int)*3]; -@@ -502,7 +501,7 @@ getfdproto(struct tcb *tcp, int fd) +@@ -517,7 +516,7 @@ getfdproto(struct tcb *tcp, int fd) return SOCK_PROTO_UNKNOWN; xsprintf(path, "/proc/%u/fd/%u", get_proc_pid(tcp), fd); @@ -96,5 +96,5 @@ index 31b3876a3..8e12df0f1 100644 return SOCK_PROTO_UNKNOWN; else { -- -2.30.0 +2.31.1 diff --git a/pkg/strace/patch/0010-Use-alloca-when-VLAs-aren-t-available.patch b/pkg/strace/patch/0010-Use-alloca-when-VLAs-aren-t-available.patch @@ -1,17 +1,17 @@ -From 4a468614678d3ae7b58e95428352268c975d1812 Mon Sep 17 00:00:00 2001 +From 1c1cc6c87f4388ef1e7259fee347a0c36fe11bac Mon Sep 17 00:00:00 2001 From: Michael Forney <mforney@mforney.org> Date: Thu, 30 Jan 2020 21:57:34 -0800 Subject: [PATCH] Use alloca when VLAs aren't available --- - src/evdev.c | 14 +++++++++++--- - 1 file changed, 11 insertions(+), 3 deletions(-) + src/evdev.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/evdev.c b/src/evdev.c -index 198d799f3..f74ab9a71 100644 +index 08d5d9034..01b87ca3e 100644 --- a/src/evdev.c +++ b/src/evdev.c -@@ -169,9 +169,13 @@ decode_bitset(struct tcb *const tcp, const kernel_ulong_t arg, +@@ -161,9 +161,13 @@ decode_bitset(struct tcb *const tcp, const kernel_ulong_t arg, return RVAL_IOCTL_DECODED; } @@ -26,30 +26,6 @@ index 198d799f3..f74ab9a71 100644 return RVAL_IOCTL_DECODED; if (xlat_verbose(xlat_verbosity) != XLAT_STYLE_RAW) { -@@ -227,9 +231,13 @@ mtslots_ioctl(struct tcb *const tcp, const unsigned int code, - return RVAL_IOCTL_DECODED; - } - -+#ifndef __STDC_NO_VLA__ - int buffer[size]; -+#else -+ int *buffer = alloca(size * sizeof(int)); -+#endif - -- if (umove_or_printaddr(tcp, arg, &buffer)) -+ if (umoven_or_printaddr(tcp, arg, size * sizeof(int), buffer)) - return RVAL_IOCTL_DECODED; - - tprint_struct_begin(); -@@ -241,7 +249,7 @@ mtslots_ioctl(struct tcb *const tcp, const unsigned int code, - tprints("["); - - unsigned int i; -- for (i = 1; i < ARRAY_SIZE(buffer); i++) -+ for (i = 1; i < size; i++) - tprintf("%s%d", i > 1 ? ", " : "", buffer[i]); - - tprints("]"); -- -2.30.0 +2.31.1 diff --git a/pkg/strace/patch/0011-Avoid-index-ranges.patch b/pkg/strace/patch/0011-Avoid-index-ranges.patch @@ -1,4 +1,4 @@ -From 81cd93d38da7a3e33d1e34f8272db1f262eda287 Mon Sep 17 00:00:00 2001 +From 499954f5529fb95ed5bc435ff79c320d7f3e8ee9 Mon Sep 17 00:00:00 2001 From: Michael Forney <mforney@mforney.org> Date: Thu, 30 Jan 2020 22:32:50 -0800 Subject: [PATCH] Avoid index ranges @@ -33,10 +33,10 @@ index c12a1eca3..dc3794787 100644 return sprint_mac_addr(hwaddr, MIN(size, sz)); diff --git a/src/util.c b/src/util.c -index 8e12df0f1..6cbb0cd91 100644 +index 063db0382..05d160080 100644 --- a/src/util.c +++ b/src/util.c -@@ -1201,16 +1201,16 @@ dumpstr(struct tcb *const tcp, const kernel_ulong_t addr, +@@ -1231,16 +1231,16 @@ dumpstr(struct tcb *const tcp, const kernel_ulong_t addr, ? 1 + ilog2_klong(len - 1) / HEX_BIT : DUMPSTR_OFFS_MIN_CHARS; kernel_ulong_t i = 0; const unsigned char *src; @@ -58,5 +58,5 @@ index 8e12df0f1..6cbb0cd91 100644 /* Fetching data from tracee. */ -- -2.30.0 +2.31.1 diff --git a/pkg/strace/sha256 b/pkg/strace/sha256 @@ -1 +1 @@ -ffe340b10c145a0f85734271e9cce56457d23f21a7ea5931ab32f8cf4e793879 strace-5.11.tar.xz +29171edf9d252f89c988a4c340dfdec662f458cb8c63d85431d64bab5911e7c4 strace-5.12.tar.xz diff --git a/pkg/strace/url b/pkg/strace/url @@ -1 +1 @@ -url = "https://github.com/strace/strace/releases/download/v5.11/strace-5.11.tar.xz" +url = "https://github.com/strace/strace/releases/download/v5.12/strace-5.12.tar.xz" diff --git a/pkg/strace/ver b/pkg/strace/ver @@ -1 +1 @@ -5.11 r0 +5.12 r0