logo

oasis

Own branch of Oasis Linux (upstream: <https://git.sr.ht/~mcf/oasis/>) git clone https://anongit.hacktivis.me/git/oasis.git
commit: f936cfb15b1657e4e256b712170953fc6b1ab6c6
parent e36dab4af887d3be3abd8d09d5857ef300dff75a
Author: Michael Forney <mforney@mforney.org>
Date:   Thu, 13 Aug 2020 02:05:36 -0700

strace: Update to 5.8

Diffstat:

Mpkg/strace/.gitignore2+-
Mpkg/strace/config.h17++++++++++-------
Mpkg/strace/patch/0002-Use-__typeof__-spelling-of-typeof.patch52++++++++++++++++++++++++++--------------------------
Mpkg/strace/patch/0004-Avoid-empty-initializer-lists.patch22+++++++++++-----------
Mpkg/strace/patch/0005-Avoid-pointer-arithmetic-on-void.patch8++++----
Mpkg/strace/patch/0009-Avoid-index-ranges-and-empty-initializer-lists-in-sy.patch58+++++++++++++++++++++++++++++-----------------------------
Mpkg/strace/patch/0010-Use-alloca-when-VLAs-aren-t-available.patch12++++++------
Mpkg/strace/patch/0011-Avoid-index-ranges.patch8++++----
Dpkg/strace/patch/0012-io_uring-Remove-struct-io_cqring_offsets-compile-tim.patch44--------------------------------------------
Dpkg/strace/patch/0013-io_uring-Add-io_cqring_offset-flags.patch208-------------------------------------------------------------------------------
Mpkg/strace/sha2562+-
Mpkg/strace/url2+-
Mpkg/strace/ver2+-
13 files changed, 94 insertions(+), 343 deletions(-)

diff --git a/pkg/strace/.gitignore b/pkg/strace/.gitignore @@ -1,3 +1,3 @@ /src -/strace-5.7.tar.xz +/strace-5.8.tar.xz /tools.ninja diff --git a/pkg/strace/config.h b/pkg/strace/config.h @@ -531,6 +531,7 @@ #define HAVE_LINUX_IP_VS_H 1 #define HAVE_LINUX_KCMP_H 1 #define HAVE_LINUX_KVM_H 1 +#define HAVE_LINUX_LOOP_H 1 #define HAVE_LINUX_MEMFD_H 1 #define HAVE_LINUX_MMTIMER_H 1 #define HAVE_LINUX_MOUNT_H 1 @@ -657,8 +658,8 @@ #define HAVE_STRUCT_BTRFS_IOCTL_DEFRAG_RANGE_ARGS_START 1 #define HAVE_STRUCT_BTRFS_IOCTL_FEATURE_FLAGS_COMPAT_FLAGS 1 #define HAVE_STRUCT_BTRFS_IOCTL_FS_INFO_ARGS_NODESIZE 1 -#define HAVE_STRUCT_BTRFS_IOCTL_LOGICAL_INO_ARGS_FLAGS 1 -#define HAVE_STRUCT_BTRFS_IOCTL_SEARCH_ARGS_V2_BUF_SIZE 1 +#define HAVE_STRUCT_BTRFS_IOCTL_LOGICAL_INO_ARGS 1 +#define HAVE_STRUCT_BTRFS_IOCTL_LOGICAL_INO_ARGS_INODES 1 #define HAVE_STRUCT_CLONE_ARGS_CGROUP 1 #define HAVE_STRUCT_CRYPTO_REPORT_AEAD 1 #define HAVE_STRUCT_CRYPTO_REPORT_AEAD_IVSIZE 1 @@ -698,8 +699,8 @@ #define HAVE_STRUCT_IOCB_AIO_FLAGS 1 #define HAVE_STRUCT_IOCB_AIO_RW_FLAGS 1 #define HAVE_STRUCT_IO_CQRING_OFFSETS 1 +#define HAVE_STRUCT_IO_CQRING_OFFSETS_CQES 1 #define HAVE_STRUCT_IO_CQRING_OFFSETS_FLAGS 1 -/* #undef HAVE_STRUCT_IO_CQRING_OFFSETS_RESV */ #define HAVE_STRUCT_IO_SQRING_OFFSETS 1 #define HAVE_STRUCT_IO_SQRING_OFFSETS_RESV2 1 #define HAVE_STRUCT_IO_URING_FILES_UPDATE 1 @@ -721,6 +722,8 @@ #define HAVE_STRUCT_KVM_REGS 1 #define HAVE_STRUCT_KVM_SREGS 1 #define HAVE_STRUCT_KVM_USERSPACE_MEMORY_REGION 1 +#define HAVE_STRUCT_LOOP_CONFIG 1 +#define HAVE_STRUCT_LOOP_CONFIG___RESERVED 1 #define HAVE_STRUCT_MMSGHDR 1 #define HAVE_STRUCT_MTD_WRITE_REQ 1 #define HAVE_STRUCT_NDT_CONFIG 1 @@ -971,7 +974,7 @@ /* #undef M32_SIZEOF_LONG */ /* #undef M32_SIZEOF_STRUCT_MSQID64_DS */ /* #undef M68K */ -#define MANPAGE_DATE "2020-04-24" +#define MANPAGE_DATE "2020-06-16" /* #undef METAG */ /* #undef MICROBLAZE */ /* #undef MIPS */ @@ -983,10 +986,10 @@ #define PACKAGE "strace" #define PACKAGE_BUGREPORT "strace-devel@lists.strace.io" #define PACKAGE_NAME "strace" -#define PACKAGE_STRING "strace 5.7" +#define PACKAGE_STRING "strace 5.8" #define PACKAGE_TARNAME "strace" #define PACKAGE_URL "https://strace.io" -#define PACKAGE_VERSION "5.7" +#define PACKAGE_VERSION "5.8" /* #undef POWERPC */ /* #undef POWERPC64 */ /* #undef POWERPC64LE */ @@ -1024,7 +1027,7 @@ # define __EXTENSIONS__ 1 #endif /* #undef USE_UNWINDER */ -#define VERSION "5.7" +#define VERSION "5.8" #if defined AC_APPLE_UNIVERSAL_BUILD # if defined __BIG_ENDIAN__ # define WORDS_BIGENDIAN 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,23 +1,23 @@ -From 0e52d3415b494f37166d31c523ce0609880c4825 Mon Sep 17 00:00:00 2001 +From f0030f1c023963e1d58f91026ab6f1d714a7af06 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 --- btrfs.c | 8 ++++---- + defs.h | 4 ++-- file_ioctl.c | 4 ++-- gcc_compat.h | 2 +- list.h | 10 +++++----- tests/btrfs.c | 2 +- tests/fcntl-common.c | 2 +- - util.c | 4 ++-- 7 files changed, 16 insertions(+), 16 deletions(-) diff --git a/btrfs.c b/btrfs.c -index dc5eff1a..693b1b7d 100644 +index 77ce151f..6e6cb721 100644 --- a/btrfs.c +++ b/btrfs.c -@@ -247,7 +247,7 @@ btrfs_print_logical_ino_container(struct tcb *tcp, +@@ -248,7 +248,7 @@ btrfs_print_logical_ino_container(struct tcb *tcp, tprints(", ..."); } else { const uint64_t val_addr = @@ -26,7 +26,7 @@ index dc5eff1a..693b1b7d 100644 uint64_t record[3]; tprints(", val="); print_array(tcp, val_addr, container.elem_cnt / 3, -@@ -286,7 +286,7 @@ btrfs_print_ino_path_container(struct tcb *tcp, +@@ -287,7 +287,7 @@ btrfs_print_ino_path_container(struct tcb *tcp, tprints(", ..."); } else { uint64_t val_addr = @@ -35,7 +35,7 @@ index dc5eff1a..693b1b7d 100644 uint64_t offset; tprints(", val="); print_array(tcp, val_addr, container.elem_cnt, -@@ -319,7 +319,7 @@ btrfs_print_qgroup_inherit(struct tcb *const tcp, const kernel_ulong_t qgi_addr) +@@ -320,7 +320,7 @@ btrfs_print_qgroup_inherit(struct tcb *const tcp, const kernel_ulong_t qgi_addr) } else { uint64_t record; tprints(", qgroups="); @@ -44,7 +44,7 @@ index dc5eff1a..693b1b7d 100644 inherit.num_qgroups, &record, sizeof(record), tfetch_mem, print_uint64_array_member, 0); } -@@ -1149,7 +1149,7 @@ MPERS_PRINTER_DECL(int, btrfs_ioctl, +@@ -1139,7 +1139,7 @@ MPERS_PRINTER_DECL(int, btrfs_ioctl, } else { struct btrfs_ioctl_space_info info; tprints(", spaces="); @@ -53,11 +53,26 @@ index dc5eff1a..693b1b7d 100644 args.total_spaces, &info, sizeof(info), tfetch_mem, print_btrfs_ioctl_space_info, 0); +diff --git a/defs.h b/defs.h +index 3fd8cba1..08e85fed 100644 +--- a/defs.h ++++ b/defs.h +@@ -1699,8 +1699,8 @@ scno_is_valid(kernel_ulong_t scno) + + #define ILOG2_ITER_(val_, ret_, bit_) \ + do { \ +- typeof(ret_) shift_ = \ +- ((val_) > ((((typeof(val_)) 1) \ ++ __typeof__(ret_) shift_ = \ ++ ((val_) > ((((__typeof__(val_)) 1) \ + << (1 << (bit_))) - 1)) << (bit_); \ + (val_) >>= shift_; \ + (ret_) |= shift_; \ diff --git a/file_ioctl.c b/file_ioctl.c -index 94cb71f8..eed79727 100644 +index d9a07ab0..63c2bcb3 100644 --- a/file_ioctl.c +++ b/file_ioctl.c -@@ -164,7 +164,7 @@ file_ioctl(struct tcb *const tcp, const unsigned int code, +@@ -157,7 +157,7 @@ file_ioctl(struct tcb *const tcp, const unsigned int code, if (abbrev(tcp) && args.dest_count > count) limit = &count; @@ -66,7 +81,7 @@ index 94cb71f8..eed79727 100644 args.dest_count, &info, sizeof(info), tfetch_mem, print_file_dedupe_range_info, limit); -@@ -212,7 +212,7 @@ file_ioctl(struct tcb *const tcp, const unsigned int code, +@@ -202,7 +202,7 @@ file_ioctl(struct tcb *const tcp, const unsigned int code, struct fiemap_extent fe; tprints(", fm_extents="); print_array(tcp, @@ -156,21 +171,6 @@ index 27694326..46667e4e 100644 #else # define TYPEOF_FLOCK_OFF_T off_t #endif -diff --git a/util.c b/util.c -index 59696b58..6eda524d 100644 ---- a/util.c -+++ b/util.c -@@ -1122,8 +1122,8 @@ dumpiov_upto(struct tcb *const tcp, const int len, const kernel_ulong_t addr, - - #define ILOG2_ITER_(val_, ret_, bit_) \ - do { \ -- typeof(ret_) shift_ = \ -- ((val_) > ((((typeof(val_)) 1) \ -+ __typeof__(ret_) shift_ = \ -+ ((val_) > ((((__typeof__(val_)) 1) \ - << (1 << (bit_))) - 1)) << (bit_); \ - (val_) >>= shift_; \ - (ret_) |= shift_; \ -- -2.26.2 +2.28.0 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 21b9f7852ec9daf1a356c3b588b8053bed5b8383 Mon Sep 17 00:00:00 2001 +From 6b445913b3178e5056b13e73ab03cc05d2b47bc4 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/bpf.c b/bpf.c -index 469f809a..cad5ab05 100644 +index af830053..6b77f17f 100644 --- a/bpf.c +++ b/bpf.c @@ -43,7 +43,7 @@ bpf_cmd_decoder(struct tcb *const tcp, \ @@ -42,10 +42,10 @@ index 469f809a..cad5ab05 100644 print_array(tcp, addr, len, &insn, sizeof(insn), diff --git a/net.c b/net.c -index a58fa921..d5f2dc1d 100644 +index fa4638e7..7b049211 100644 --- a/net.c +++ b/net.c -@@ -729,7 +729,7 @@ print_tpacket_stats(struct tcb *const tcp, const kernel_ulong_t addr, +@@ -655,7 +655,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) { @@ -68,7 +68,7 @@ index 788ef39b..2e5775d5 100644 bool is_set = false; diff --git a/signal.c b/signal.c -index 3cb54bb3..bc03dae8 100644 +index d5d59105..d20317ca 100644 --- a/signal.c +++ b/signal.c @@ -246,7 +246,7 @@ print_sigset_addr_len_limit(struct tcb *const tcp, const kernel_ulong_t addr, @@ -81,7 +81,7 @@ index 3cb54bb3..bc03dae8 100644 return; tprints(sprintsigmask_n("", mask, len)); diff --git a/strace.c b/strace.c -index 311e4d62..2a4e6001 100644 +index 4c96a98b..fed04fc9 100644 --- a/strace.c +++ b/strace.c @@ -3359,7 +3359,7 @@ trace_syscall(struct tcb *tcp, unsigned int *sig) @@ -199,12 +199,12 @@ index 2c4dae19..59bc2dd0 100644 .sigev_notify = 0xdefaced, .sigev_signo = 0xfacefeed, diff --git a/tests/wait4.c b/tests/wait4.c -index ea40577a..d25bd87a 100644 +index 048e6225..b7bf7c8a 100644 --- a/tests/wait4.c +++ b/tests/wait4.c -@@ -72,7 +72,7 @@ sprint_rusage(const struct rusage *const ru) +@@ -89,7 +89,7 @@ k_wait4(const unsigned int pid, void const *wstatus, static pid_t - do_wait4(pid_t pid, int *wstatus, int options, struct rusage *ru) + do_wait4(pid_t pid, int *wstatus, int options, kernel_rusage_t *ru) { - sigset_t mask = {}; + sigset_t mask = {0}; @@ -212,7 +212,7 @@ index ea40577a..d25bd87a 100644 assert(sigprocmask(SIG_BLOCK, &mask, NULL) == 0); diff --git a/tests/waitid.c b/tests/waitid.c -index c58df5e2..730c58d7 100644 +index 8716fa08..4ec091f4 100644 --- a/tests/waitid.c +++ b/tests/waitid.c @@ -130,7 +130,7 @@ do_waitid(const unsigned int idtype, @@ -225,5 +225,5 @@ index c58df5e2..730c58d7 100644 assert(sigprocmask(SIG_BLOCK, &mask, NULL) == 0); -- -2.26.2 +2.28.0 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 1626ee384c34018d4d0f2c887cfdca05bccec2ff Mon Sep 17 00:00:00 2001 +From a5642a0735182fca95b8a1191df91233f88393a0 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 *` @@ -59,10 +59,10 @@ index 0f0e296d..4449f857 100644 tprints("]"); diff --git a/sockaddr.c b/sockaddr.c -index b6b9aa7d..948fa517 100644 +index b0046331..35e36392 100644 --- a/sockaddr.c +++ b/sockaddr.c -@@ -475,7 +475,7 @@ print_sockaddr_data_ll(const void *const buf, const int addrlen) +@@ -481,7 +481,7 @@ print_sockaddr_data_ll(struct tcb *tcp, const void *const buf, static void print_sockaddr_data_raw(const void *const buf, const int addrlen) { @@ -107,5 +107,5 @@ index 59af8641..3ff59781 100644 len -= m; } -- -2.27.0 +2.28.0 diff --git a/pkg/strace/patch/0009-Avoid-index-ranges-and-empty-initializer-lists-in-sy.patch b/pkg/strace/patch/0009-Avoid-index-ranges-and-empty-initializer-lists-in-sy.patch @@ -1,4 +1,4 @@ -From 0c68c7de0bfd8a1ebab376b0952f5a1a2c47643a Mon Sep 17 00:00:00 2001 +From 80d9bfb16cb9318f33521ea92a1c194e206cc479 Mon Sep 17 00:00:00 2001 From: Michael Forney <mforney@mforney.org> Date: Sun, 7 Jul 2019 22:29:34 -0700 Subject: [PATCH] Avoid index ranges and empty initializer lists in syscallent @@ -25,7 +25,7 @@ Subject: [PATCH] Avoid index ranges and empty initializer lists in syscallent 17 files changed, 173 insertions(+), 167 deletions(-) diff --git a/linux/alpha/syscallent.h b/linux/alpha/syscallent.h -index b0d680b6..54a03ddc 100644 +index fa86c9ae..21280054 100644 --- a/linux/alpha/syscallent.h +++ b/linux/alpha/syscallent.h @@ -60,7 +60,7 @@ @@ -137,7 +137,7 @@ index b0d680b6..54a03ddc 100644 [379] = { 3, TD, SEN(readahead), "readahead" }, -[380] = { }, +/* [380] - unused */ - [381] = { 2, TS, SEN(kill), "tkill" }, + [381] = { 2, TS|TP, SEN(tkill), "tkill" }, [382] = { 5, TF, SEN(setxattr), "setxattr" }, [383] = { 5, TF, SEN(setxattr), "lsetxattr" }, @@ -347,7 +347,7 @@ @@ -150,7 +150,7 @@ index b0d680b6..54a03ddc 100644 [406] = { 3, 0, SEN(lookup_dcookie), "lookup_dcookie" }, [407] = { 1, TD, SEN(epoll_create), "epoll_create" }, diff --git a/linux/arm/syscallent.h b/linux/arm/syscallent.h -index e9eee9f8..57612683 100644 +index b744074e..a4a1dd41 100644 --- a/linux/arm/syscallent.h +++ b/linux/arm/syscallent.h @@ -433,7 +433,7 @@ @@ -163,13 +163,13 @@ index e9eee9f8..57612683 100644 [ARM_FIRST_SHUFFLED_SYSCALL+1+2] = { 3, TM, SEN(printargs), "cacheflush" }, [ARM_FIRST_SHUFFLED_SYSCALL+1+3] = { 0, 0, SEN(printargs), "usr26" }, diff --git a/linux/avr32/syscallent.h b/linux/avr32/syscallent.h -index 0b24353a..15a97080 100644 +index 491ff8e9..3338de47 100644 --- a/linux/avr32/syscallent.h +++ b/linux/avr32/syscallent.h @@ -228,7 +228,7 @@ [219] = { 3, TF|TSF|TSFA, SEN(statfs64), "statfs64" }, [220] = { 3, TD|TFSF|TSFA, SEN(fstatfs64), "fstatfs64" }, - [221] = { 3, TS, SEN(tgkill), "tgkill" }, + [221] = { 3, TS|TP, SEN(tgkill), "tgkill" }, -[222] = { }, +/* [222] - unused */ [223] = { 2, TF, SEN(utimes), "utimes" }, @@ -185,7 +185,7 @@ index 0b24353a..15a97080 100644 [284] = { 5, TD, SEN(pread), "pread64" }, [285] = { 5, TD, SEN(pwrite), "pwrite64" }, diff --git a/linux/bfin/syscallent.h b/linux/bfin/syscallent.h -index 4deafe0b..398efac3 100644 +index 53d5c235..df2a8003 100644 --- a/linux/bfin/syscallent.h +++ b/linux/bfin/syscallent.h @@ -229,7 +229,7 @@ @@ -198,7 +198,7 @@ index 4deafe0b..398efac3 100644 [225] = { 4, TD, SEN(readahead), "readahead" }, [226] = { 5, TF, SEN(setxattr), "setxattr" }, diff --git a/linux/i386/syscallent.h b/linux/i386/syscallent.h -index 04278701..93321dd4 100644 +index c6e9cd9b..2ee607aa 100644 --- a/linux/i386/syscallent.h +++ b/linux/i386/syscallent.h @@ -229,7 +229,7 @@ @@ -229,7 +229,7 @@ index 04278701..93321dd4 100644 [287] = { 4, 0, SEN(request_key), "request_key" }, [288] = { 5, 0, SEN(keyctl), "keyctl" }, diff --git a/linux/m68k/syscallent.h b/linux/m68k/syscallent.h -index 315dbb6c..d3084ca5 100644 +index e5ebefe1..742a951d 100644 --- a/linux/m68k/syscallent.h +++ b/linux/m68k/syscallent.h @@ -225,7 +225,7 @@ @@ -240,9 +240,9 @@ index 315dbb6c..d3084ca5 100644 +/* [218 ... 219] - unused */ [220] = { 3, TD, SEN(getdents64), "getdents64" }, [221] = { 0, PU|NF, SEN(gettid), "gettid" }, - [222] = { 2, TS, SEN(kill), "tkill" }, + [222] = { 2, TS|TP, SEN(tkill), "tkill" }, diff --git a/linux/microblaze/syscallent.h b/linux/microblaze/syscallent.h -index c17aad12..a75ecafa 100644 +index 1c816318..001308d6 100644 --- a/linux/microblaze/syscallent.h +++ b/linux/microblaze/syscallent.h @@ -229,7 +229,7 @@ @@ -273,7 +273,7 @@ index c17aad12..a75ecafa 100644 [287] = { 4, 0, SEN(request_key), "request_key" }, [288] = { 5, 0, SEN(keyctl), "keyctl" }, diff --git a/linux/mips/syscallent-compat.h b/linux/mips/syscallent-compat.h -index 918f1107..2c0e8143 100644 +index 61ccfe4e..9444e4c4 100644 --- a/linux/mips/syscallent-compat.h +++ b/linux/mips/syscallent-compat.h @@ -69,13 +69,13 @@ @@ -437,7 +437,7 @@ index 918f1107..2c0e8143 100644 [3261] = { 0, 0, SEN(printargs), "posix_netunboot" }, [3262] = { 0, 0, SEN(printargs), "posix_rdump" }, diff --git a/linux/powerpc/syscallent.h b/linux/powerpc/syscallent.h -index 6958edae..8330a2dc 100644 +index db4dd2b5..b6508a9b 100644 --- a/linux/powerpc/syscallent.h +++ b/linux/powerpc/syscallent.h @@ -231,7 +231,7 @@ @@ -450,7 +450,7 @@ index 6958edae..8330a2dc 100644 [226] = { 4, TD|TN, SEN(sendfile64), "sendfile64" }, [227] = { 2, TM, SEN(io_setup), "io_setup" }, diff --git a/linux/powerpc64/syscallent.h b/linux/powerpc64/syscallent.h -index 608caedf..b86cb12a 100644 +index 9c306d28..53c0096b 100644 --- a/linux/powerpc64/syscallent.h +++ b/linux/powerpc64/syscallent.h @@ -199,14 +199,14 @@ @@ -492,7 +492,7 @@ index 608caedf..b86cb12a 100644 [256] = { 5, 0, SEN(printargs), "sys_debug_setcontext" }, [257] = { 5, 0, SEN(vserver), "vserver" }, diff --git a/linux/s390/syscallent.h b/linux/s390/syscallent.h -index c61ad77b..3ae6e1e7 100644 +index 7af96b5c..97fe42e2 100644 --- a/linux/s390/syscallent.h +++ b/linux/s390/syscallent.h @@ -26,8 +26,8 @@ @@ -523,7 +523,7 @@ index c61ad77b..3ae6e1e7 100644 -[ 35] = { }, +/* [ 35] - unused */ [ 36] = { 0, 0, SEN(sync), "sync" }, - [ 37] = { 2, TS, SEN(kill), "kill" }, + [ 37] = { 2, TS|TP, SEN(kill), "kill" }, [ 38] = { 2, TF, SEN(rename), "rename" }, @@ -53,7 +53,7 @@ [ 41] = { 1, TD, SEN(dup), "dup" }, @@ -619,14 +619,14 @@ index c61ad77b..3ae6e1e7 100644 @@ -251,7 +251,7 @@ [239] = { 3, 0, SEN(sched_setaffinity), "sched_setaffinity" }, [240] = { 3, 0, SEN(sched_getaffinity), "sched_getaffinity" }, - [241] = { 3, TS, SEN(tgkill), "tgkill" }, + [241] = { 3, TS|TP, SEN(tgkill), "tgkill" }, -[242] = { }, +/* [242] - unused */ [243] = { 2, TM, SEN(io_setup), "io_setup" }, [244] = { 1, TM, SEN(io_destroy), "io_destroy" }, [245] = { 5, 0, SEN(io_getevents_time32), "io_getevents" }, diff --git a/linux/s390x/syscallent.h b/linux/s390x/syscallent.h -index c4937579..8ce485fa 100644 +index 6daa310e..8542e839 100644 --- a/linux/s390x/syscallent.h +++ b/linux/s390x/syscallent.h @@ -21,29 +21,29 @@ @@ -668,7 +668,7 @@ index c4937579..8ce485fa 100644 -[ 35] = { }, +/* [ 35] - unused */ [ 36] = { 0, 0, SEN(sync), "sync" }, - [ 37] = { 2, TS, SEN(kill), "kill" }, + [ 37] = { 2, TS|TP, SEN(kill), "kill" }, [ 38] = { 2, TF, SEN(rename), "rename" }, @@ -52,22 +52,22 @@ [ 41] = { 1, TD, SEN(dup), "dup" }, @@ -821,7 +821,7 @@ index c4937579..8ce485fa 100644 @@ -235,7 +235,7 @@ [239] = { 3, 0, SEN(sched_setaffinity), "sched_setaffinity" }, [240] = { 3, 0, SEN(sched_getaffinity), "sched_getaffinity" }, - [241] = { 3, TS, SEN(tgkill), "tgkill" }, + [241] = { 3, TS|TP, SEN(tgkill), "tgkill" }, -[242] = { }, +/* [242] - unused */ [243] = { 2, TM, SEN(io_setup), "io_setup" }, @@ -837,7 +837,7 @@ index c4937579..8ce485fa 100644 [266] = { 3, TD|TFSF|TSFA, SEN(fstatfs64), "fstatfs64" }, [267] = { 5, TM|SI, SEN(remap_file_pages), "remap_file_pages" }, diff --git a/linux/sh/syscallent.h b/linux/sh/syscallent.h -index 61eb7283..6dc45919 100644 +index 5349f720..48d65c5e 100644 --- a/linux/sh/syscallent.h +++ b/linux/sh/syscallent.h @@ -197,7 +197,7 @@ @@ -876,7 +876,7 @@ index 61eb7283..6dc45919 100644 [253] = { 4, 0, SEN(lookup_dcookie), "lookup_dcookie" }, [254] = { 1, TD, SEN(epoll_create), "epoll_create" }, @@ -279,7 +279,7 @@ - [270] = { 3, TS, SEN(tgkill), "tgkill" }, + [270] = { 3, TS|TP, SEN(tgkill), "tgkill" }, [271] = { 2, TF, SEN(utimes), "utimes" }, [272] = { 6, TD, SEN(fadvise64_64), "fadvise64_64" }, -[273] = { }, @@ -894,7 +894,7 @@ index 61eb7283..6dc45919 100644 [295] = { 4, TD|TF, SEN(openat), "openat" }, [296] = { 3, TD|TF, SEN(mkdirat), "mkdirat" }, diff --git a/linux/sh64/syscallent.h b/linux/sh64/syscallent.h -index f681635c..d19dafa8 100644 +index 4ec35d31..b9040a15 100644 --- a/linux/sh64/syscallent.h +++ b/linux/sh64/syscallent.h @@ -89,7 +89,7 @@ @@ -967,7 +967,7 @@ index f681635c..d19dafa8 100644 [281] = { 3, 0, SEN(lookup_dcookie), "lookup_dcookie" }, [282] = { 1, TD, SEN(epoll_create), "epoll_create" }, @@ -305,7 +311,7 @@ - [298] = { 3, TS, SEN(tgkill), "tgkill" }, + [298] = { 3, TS|TP, SEN(tgkill), "tgkill" }, [299] = { 2, TF, SEN(utimes), "utimes" }, [300] = { 4, TD, SEN(fadvise64_64), "fadvise64_64" }, -[301] = { }, @@ -985,7 +985,7 @@ index f681635c..d19dafa8 100644 [323] = { 4, TD|TF, SEN(openat), "openat" }, [324] = { 3, TD|TF, SEN(mkdirat), "mkdirat" }, diff --git a/linux/sparc/syscallent.h b/linux/sparc/syscallent.h -index 3417e7fc..5e89f4e4 100644 +index a385368a..acdbff6e 100644 --- a/linux/sparc/syscallent.h +++ b/linux/sparc/syscallent.h @@ -57,7 +57,7 @@ @@ -1007,7 +1007,7 @@ index 3417e7fc..5e89f4e4 100644 [166] = { 1, 0, SEN(set_tid_address), "set_tid_address" }, [167] = { 5, TF, SEN(mount), "mount" }, diff --git a/linux/sparc64/syscallent.h b/linux/sparc64/syscallent.h -index dd77685c..732dca82 100644 +index 5faa721c..eec17849 100644 --- a/linux/sparc64/syscallent.h +++ b/linux/sparc64/syscallent.h @@ -36,10 +36,10 @@ @@ -1021,7 +1021,7 @@ index dd77685c..732dca82 100644 -[ 35] = { }, +/* [ 35] - unused */ [ 36] = { 0, 0, SEN(sync), "sync" }, - [ 37] = { 2, TS, SEN(kill), "kill" }, + [ 37] = { 2, TS|TP, SEN(kill), "kill" }, [ 38] = { 2, TF|TST|TSTA, SEN(stat), "stat" }, @@ -48,7 +48,7 @@ [ 41] = { 1, TD, SEN(dup), "dup" }, @@ -1118,7 +1118,7 @@ index dd77685c..732dca82 100644 [233] = { 1, 0, SEN(stime), "stime" }, [234] = { 3, TF|TSF|TSFA, SEN(statfs64), "statfs64" }, diff --git a/linux/xtensa/syscallent.h b/linux/xtensa/syscallent.h -index 385630a9..7653c940 100644 +index a94fd93d..eb189ffc 100644 --- a/linux/xtensa/syscallent.h +++ b/linux/xtensa/syscallent.h @@ -7,7 +7,7 @@ @@ -1243,5 +1243,5 @@ index 385630a9..7653c940 100644 [321] = { 6, TD|TF, SEN(fanotify_mark), "fanotify_mark" }, [322] = { 6, 0, SEN(process_vm_readv), "process_vm_readv" }, -- -2.26.2 +2.28.0 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,4 +1,4 @@ -From d611486eb337e97b15886059a1b55319bd02d3e1 Mon Sep 17 00:00:00 2001 +From 0ad7047e306f4aef8f4a6346e9dfff8079b1c571 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 @@ -8,10 +8,10 @@ Subject: [PATCH] Use alloca when VLAs aren't available 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/evdev.c b/evdev.c -index 573f18f4..27eb8a38 100644 +index 1d4e9aef..58e705ae 100644 --- a/evdev.c +++ b/evdev.c -@@ -198,9 +198,13 @@ decode_bitset(struct tcb *const tcp, const kernel_ulong_t arg, +@@ -181,9 +181,13 @@ decode_bitset(struct tcb *const tcp, const kernel_ulong_t arg, return RVAL_IOCTL_DECODED; } @@ -26,7 +26,7 @@ index 573f18f4..27eb8a38 100644 return RVAL_IOCTL_DECODED; if (xlat_verbose(xlat_verbosity) != XLAT_STYLE_RAW) { -@@ -255,9 +259,13 @@ mtslots_ioctl(struct tcb *const tcp, const unsigned int code, +@@ -238,9 +242,13 @@ mtslots_ioctl(struct tcb *const tcp, const unsigned int code, return RVAL_IOCTL_DECODED; } @@ -41,7 +41,7 @@ index 573f18f4..27eb8a38 100644 return RVAL_IOCTL_DECODED; tprints("{code="); -@@ -266,7 +274,7 @@ mtslots_ioctl(struct tcb *const tcp, const unsigned int code, +@@ -249,7 +257,7 @@ mtslots_ioctl(struct tcb *const tcp, const unsigned int code, tprints(", values=["); unsigned int i; @@ -51,5 +51,5 @@ index 573f18f4..27eb8a38 100644 tprints("]}"); -- -2.25.0 +2.28.0 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 db02e7c4bbee683d647235294fc9ba7110dfa798 Mon Sep 17 00:00:00 2001 +From 82bc9666c33984b6655fce1c142a8e8773dbb398 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 c5d5f5c4..a7c54b3e 100644 return sprint_mac_addr(hwaddr, MIN(size, sz)); diff --git a/util.c b/util.c -index c15e6514..f61d82b6 100644 +index 0e1ea8df..c831e2ec 100644 --- a/util.c +++ b/util.c -@@ -1247,16 +1247,16 @@ dumpstr(struct tcb *const tcp, const kernel_ulong_t addr, +@@ -1185,16 +1185,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 c15e6514..f61d82b6 100644 /* Fetching data from tracee. */ -- -2.26.2 +2.28.0 diff --git a/pkg/strace/patch/0012-io_uring-Remove-struct-io_cqring_offsets-compile-tim.patch b/pkg/strace/patch/0012-io_uring-Remove-struct-io_cqring_offsets-compile-tim.patch @@ -1,44 +0,0 @@ -From 8ba630f69445285a84daa356fc9bdb0dd059be40 Mon Sep 17 00:00:00 2001 -From: Chris Packham <chris.packham@alliedtelesis.co.nz> -Date: Mon, 15 Jun 2020 22:01:25 +1200 -Subject: [PATCH] io_uring: Remove struct io_cqring_offsets compile time - asserts - -The generated types/check-io_uring.c already checks the kernel's struct -io_cqring_offsets for compatibility with the strace definition so -there's no need for manual checks. - -* io_uring.c [HAVE_STRUCT_IO_CQRING_OFFSETS]: Remove static_asserts. ---- - io_uring.c | 15 --------------- - 1 file changed, 15 deletions(-) - -diff --git a/io_uring.c b/io_uring.c -index cd183457..cfeea82b 100644 ---- a/io_uring.c -+++ b/io_uring.c -@@ -18,21 +18,6 @@ - #include "xlat/uring_enter_flags.h" - #include "xlat/uring_register_opcodes.h" - --#ifdef HAVE_STRUCT_IO_CQRING_OFFSETS --# ifdef HAVE_STRUCT_IO_CQRING_OFFSETS_RESV --static_assert(offsetof(struct_io_cqring_offsets, resv) -- >= offsetof(struct io_cqring_offsets, resv), -- "struct io_cqring_offsets.resv offset mismatch" -- ", please update the decoder"); --static_assert(sizeof_field(struct_io_cqring_offsets, resv) -- <= sizeof_field(struct io_cqring_offsets, resv), -- "struct io_cqring_offsets.resv size mismatch" -- ", please update the decoder"); --# else /* !HAVE_STRUCT_IO_CQRING_OFFSETS_RESV */ --static_assert(0, "struct io_cqring_offsets.resv is missing" -- ", please update the decoder"); --# endif --#endif /* HAVE_STRUCT_IO_CQRING_OFFSETS */ - #ifdef HAVE_STRUCT_IO_URING_PARAMS - # ifdef HAVE_STRUCT_IO_URING_PARAMS_RESV - static_assert(offsetof(struct_io_uring_params, resv) --- -2.28.0 - diff --git a/pkg/strace/patch/0013-io_uring-Add-io_cqring_offset-flags.patch b/pkg/strace/patch/0013-io_uring-Add-io_cqring_offset-flags.patch @@ -1,208 +0,0 @@ -From 7be4c3c00f7b7568b4c7602e8430e90d2df91e3b Mon Sep 17 00:00:00 2001 -From: Chris Packham <chris.packham@alliedtelesis.co.nz> -Date: Mon, 15 Jun 2020 22:01:26 +1200 -Subject: [PATCH] io_uring: Add io_cqring_offset flags - -Add support for displaying struct io_cqring_offsets.flags introduced -by Linux kernel commits v5.8-rc1~190^2~22 and v5.8-rc1~190^2~21. - -* types/io_uring.h (struct_io_cqring_offsets): Replace resv array -with flags, resv1, and resv2 fields. -* xlat/uring_cqring_flags.in: New file. -* configure.ac (AC_CHECK_MEMBERS): Check struct io_cqring_offsets.flags. -* io_uring.c: Include "xlat/uring_cqring_flags.h". -(SYS_FUNC(io_uring_setup)): Replace printing of the resv array -of struct io_cqring_offsets with flags, resv1, and resv2 fields. -* tests/io_uring_setup.c: Check it. - -Co-authored-by: Dmitry V. Levin <ldv@altlinux.org> -Resolves: https://github.com/strace/strace/issues/138 ---- - configure.ac | 1 + - io_uring.c | 11 +++++---- - tests/io_uring_setup.c | 31 ++++++++++++++++++++---- - types/io_uring.h | 4 +++- - xlat/uring_cqring_flags.h | 48 ++++++++++++++++++++++++++++++++++++++ - xlat/uring_cqring_flags.in | 1 + - 6 files changed, 86 insertions(+), 10 deletions(-) - create mode 100644 xlat/uring_cqring_flags.h - create mode 100644 xlat/uring_cqring_flags.in - -diff --git a/configure.ac b/configure.ac -index d0fd51ff..91c2249e 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -481,6 +481,7 @@ AC_CHECK_HEADERS([linux/bpf.h], [ - - AC_CHECK_HEADERS([linux/io_uring.h], [ - AC_CHECK_MEMBERS(m4_normalize([ -+ struct io_cqring_offsets.flags, - struct io_uring_params.features, - struct io_uring_params.wq_fd, - struct io_uring_params.resv -diff --git a/io_uring.c b/io_uring.c -index cfeea82b..2ffe163e 100644 ---- a/io_uring.c -+++ b/io_uring.c -@@ -17,6 +17,7 @@ - #include "xlat/uring_setup_flags.h" - #include "xlat/uring_enter_flags.h" - #include "xlat/uring_register_opcodes.h" -+#include "xlat/uring_cqring_flags.h" - - #ifdef HAVE_STRUCT_IO_URING_PARAMS - # ifdef HAVE_STRUCT_IO_URING_PARAMS_RESV -@@ -88,10 +89,12 @@ SYS_FUNC(io_uring_setup) - PRINT_FIELD_U(", ", params.cq_off, ring_entries); - PRINT_FIELD_U(", ", params.cq_off, overflow); - PRINT_FIELD_U(", ", params.cq_off, cqes); -- if (!IS_ARRAY_ZERO(params.cq_off.resv)) { -- PRINT_FIELD_ARRAY(", ", params.cq_off, resv, tcp, -- print_xint64_array_member); -- } -+ PRINT_FIELD_FLAGS(", ", params.cq_off, flags, -+ uring_cqring_flags, "IORING_CQ_???"); -+ if (params.cq_off.resv1) -+ PRINT_FIELD_X(", ", params.cq_off, resv1); -+ if (params.cq_off.resv2) -+ PRINT_FIELD_X(", ", params.cq_off, resv2); - tprints("}"); - } - tprints("}"); -diff --git a/tests/io_uring_setup.c b/tests/io_uring_setup.c -index 317b0d7a..a59e4a1a 100644 ---- a/tests/io_uring_setup.c -+++ b/tests/io_uring_setup.c -@@ -27,6 +27,7 @@ - # include "xlat.h" - - # include "xlat/uring_setup_features.h" -+# include "xlat/uring_cqring_flags.h" - - # ifdef HAVE_STRUCT_IO_URING_PARAMS_FEATURES - # ifdef HAVE_STRUCT_IO_URING_PARAMS_WQ_FD -@@ -144,20 +145,40 @@ main(void) - params->sq_off.resv2); - - printf("}, cq_off={head=%u, tail=%u, ring_mask=%u" -- ", ring_entries=%u, overflow=%u, cqes=%u", -+ ", ring_entries=%u, overflow=%u, cqes=%u, flags=", - params->cq_off.head, - params->cq_off.tail, - params->cq_off.ring_mask, - params->cq_off.ring_entries, - params->cq_off.overflow, - params->cq_off.cqes); -- if (params->cq_off.resv[0] || params->cq_off.resv[1]) { -- printf(", resv=[%#llx, %#llx]", -+#ifdef HAVE_STRUCT_IO_CQRING_OFFSETS_FLAGS -+ printflags(uring_cqring_flags, -+ params->cq_off.flags, -+ "IORING_CQ_???"); -+ if (params->cq_off.resv1) -+ printf(", resv1=%#x", params->cq_off.resv1); -+ if (params->cq_off.resv2) -+ printf(", resv2=%#llx", - (unsigned long long) -- params->cq_off.resv[0], -+ params->cq_off.resv2); -+#else -+ union { -+ struct { -+ uint32_t flags; -+ uint32_t resv1; -+ } s; -+ uint64_t v; -+ } u = { .v = params->cq_off.resv[0] }; -+ printflags(uring_cqring_flags, u.s.flags, -+ "IORING_CQ_???"); -+ if (u.s.resv1) -+ printf(", resv1=%#x", u.s.resv1); -+ if (params->cq_off.resv[1]) -+ printf(", resv2=%#llx", - (unsigned long long) - params->cq_off.resv[1]); -- } -+#endif - - printf("}}) = %ld<anon_inode:[io_uring]>\n", rc); - } -diff --git a/types/io_uring.h b/types/io_uring.h -index 76f432c3..2fe1c13a 100644 ---- a/types/io_uring.h -+++ b/types/io_uring.h -@@ -31,7 +31,9 @@ typedef struct { - uint32_t ring_entries; - uint32_t overflow; - uint32_t cqes; -- uint64_t resv[2]; -+ /** Added by v5.8-rc1~190^2~22 */ uint32_t flags; -+ /** Added by v5.8-rc1~190^2~22 */ uint32_t resv1; -+ /** Added by v5.8-rc1~190^2~22 */ uint64_t resv2; - } struct_io_cqring_offsets; - - typedef struct { -diff --git a/xlat/uring_cqring_flags.h b/xlat/uring_cqring_flags.h -new file mode 100644 -index 00000000..7c06c35c ---- /dev/null -+++ b/xlat/uring_cqring_flags.h -@@ -0,0 +1,48 @@ -+/* Generated by ./gen.sh from ./uring_cqring_flags.in; do not edit. */ -+ -+#include "gcc_compat.h" -+#include "static_assert.h" -+ -+#if defined(IORING_CQ_EVENTFD_DISABLED) || (defined(HAVE_DECL_IORING_CQ_EVENTFD_DISABLED) && HAVE_DECL_IORING_CQ_EVENTFD_DISABLED) -+DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE -+static_assert((IORING_CQ_EVENTFD_DISABLED) == (1U), "IORING_CQ_EVENTFD_DISABLED != 1U"); -+DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE -+#else -+# define IORING_CQ_EVENTFD_DISABLED 1U -+#endif -+ -+#ifndef XLAT_MACROS_ONLY -+ -+# ifdef IN_MPERS -+ -+# error static const struct xlat uring_cqring_flags in mpers mode -+ -+# else -+ -+static const struct xlat_data uring_cqring_flags_xdata[] = { -+ XLAT(IORING_CQ_EVENTFD_DISABLED), -+ #define XLAT_VAL_0 ((unsigned) (IORING_CQ_EVENTFD_DISABLED)) -+ #define XLAT_STR_0 STRINGIFY(IORING_CQ_EVENTFD_DISABLED) -+}; -+static -+const struct xlat uring_cqring_flags[1] = { { -+ .data = uring_cqring_flags_xdata, -+ .size = ARRAY_SIZE(uring_cqring_flags_xdata), -+ .type = XT_NORMAL, -+ .flags_mask = 0 -+# ifdef XLAT_VAL_0 -+ | XLAT_VAL_0 -+# endif -+ , -+ .flags_strsz = 0 -+# ifdef XLAT_STR_0 -+ + sizeof(XLAT_STR_0) -+# endif -+ , -+} }; -+ -+# undef XLAT_STR_0 -+# undef XLAT_VAL_0 -+# endif /* !IN_MPERS */ -+ -+#endif /* !XLAT_MACROS_ONLY */ -diff --git a/xlat/uring_cqring_flags.in b/xlat/uring_cqring_flags.in -new file mode 100644 -index 00000000..c81fbc20 ---- /dev/null -+++ b/xlat/uring_cqring_flags.in -@@ -0,0 +1 @@ -+IORING_CQ_EVENTFD_DISABLED 1U --- -2.28.0 - diff --git a/pkg/strace/sha256 b/pkg/strace/sha256 @@ -1 +1 @@ -b284b59f9bcd95b9728cea5bd5c0edc5ebe360af73dc76fbf6334f11c777ccd8 strace-5.7.tar.xz +df4a669f7fff9cc302784085bd4b72fab216a426a3f72c892b28a537b71e7aa9 strace-5.8.tar.xz diff --git a/pkg/strace/url b/pkg/strace/url @@ -1 +1 @@ -url = "https://github.com/strace/strace/releases/download/v5.7/strace-5.7.tar.xz" +url = "https://github.com/strace/strace/releases/download/v5.8/strace-5.8.tar.xz" diff --git a/pkg/strace/ver b/pkg/strace/ver @@ -1 +1 @@ -5.7 r1 +5.8 r0