logo

oasis

Own branch of Oasis Linux (upstream: <https://git.sr.ht/~mcf/oasis/>) git clone https://anongit.hacktivis.me/git/oasis.git
commit: 01eb93d6f752c2bb3815bb794572231651f105fa
parent 7a0f1ecc4e7b59ece9d98d070bbc06bc7f11ab86
Author: Michael Forney <mforney@mforney.org>
Date:   Thu, 21 Mar 2024 22:35:37 -0700

strace: Update to 6.8

Diffstat:

Mpkg/strace/.gitignore2+-
Mpkg/strace/gen.lua12+++++++++---
Mpkg/strace/patch/0001-Don-t-return-expression-in-void-function.patch8++++----
Mpkg/strace/patch/0002-Use-__typeof__-spelling-of-typeof.patch58++++++++++++++++++++++++++--------------------------------
Mpkg/strace/patch/0003-Make-tcp_sysent-a-static-inline-function.patch8++++----
Mpkg/strace/patch/0004-Avoid-empty-initializer-lists.patch52+++++++++++++++++++---------------------------------
Mpkg/strace/patch/0005-Avoid-pointer-arithmetic-on-void.patch16++++++++--------
Mpkg/strace/patch/0007-Don-t-omit-second-operand-to-operator.patch62+++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
Mpkg/strace/patch/0008-Avoid-unnecessary-VLAs.patch14+++++++-------
Mpkg/strace/patch/0011-Avoid-index-ranges.patch8++++----
Mpkg/strace/sha2562+-
Mpkg/strace/url2+-
Mpkg/strace/ver2+-
13 files changed, 140 insertions(+), 106 deletions(-)

diff --git a/pkg/strace/.gitignore b/pkg/strace/.gitignore @@ -1,3 +1,3 @@ /src -/strace-6.4.tar.xz +/strace-6.8.tar.xz /tools.ninja diff --git a/pkg/strace/gen.lua b/pkg/strace/gen.lua @@ -97,6 +97,7 @@ local srcs = paths[[src/( bpf_sock_filter.c btrfs.c cacheflush.c + cachestat.c capability.c chdir.c chmod.c @@ -119,6 +120,7 @@ local srcs = paths[[src/( evdev_mpers.c eventfd.c execve.c + exitkill.c fadvise.c fallocate.c fanotify.c @@ -149,7 +151,7 @@ local srcs = paths[[src/( fstatfs.c fstatfs64.c futex.c - futex_waitv.c + futex2.c gen/gen_hdio.c get_personality.c get_robust_list.c @@ -186,9 +188,12 @@ local srcs = paths[[src/( link.c lirc_ioctl.c listen.c + listmount.c lookup_dcookie.c loop.c lseek.c + lsm.c + map_shadow_stack.c mem.c membarrier.c memfd_create.c @@ -316,6 +321,7 @@ local srcs = paths[[src/( stat64.c statfs.c statfs64.c + statmount.c statx.c strauss.c string_to_uint.c @@ -381,8 +387,8 @@ file('bin/strace', '755', '$outdir/strace') build('sed', '$outdir/strace.1', '$srcdir/doc/strace.1.in', { expr={ - [[-e 's,@STRACE_MANPAGE_DATE@,2023-06-11,']], - [[-e 's,@VERSION@,6.4,']], + [[-e 's,@STRACE_MANPAGE_DATE@,2024-03-13,']], + [[-e 's,@VERSION@,6.8,']], [[-e 's,@ENABLE_STACKTRACE_TRUE@,#,']], [[-e 's,@ENABLE_STACKTRACE_FALSE@,,']], [[-e 's,@ENABLE_SECONTEXT_TRUE@,#,']], 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 14b52959359f69bc5806bbd8d8c44f72d912aa1a Mon Sep 17 00:00:00 2001 +From 79aac49a3d3953b6e62b477bd488c3b7237a5aee 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 846a7ae5a..d6b54a633 100644 +index 89ec13fc5..465d58139 100644 --- a/src/defs.h +++ b/src/defs.h -@@ -807,7 +807,7 @@ extern bool pathtrace_match_set(struct tcb *, struct path_set *, +@@ -824,7 +824,7 @@ extern bool pathtrace_match_set(struct tcb *, struct path_set *, static inline void pathtrace_select(const char *path) { @@ -21,5 +21,5 @@ index 846a7ae5a..d6b54a633 100644 static inline bool -- -2.37.3 +2.44.0 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 cdecbf8aee12f837e878a568814bb81550412b6b Mon Sep 17 00:00:00 2001 +From 268084161926ad4d1d110a3a5432e7ffd4e92fdf 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 @@ -21,10 +21,10 @@ Subject: [PATCH] Use __typeof__ spelling of typeof 14 files changed, 32 insertions(+), 32 deletions(-) diff --git a/src/bpf.c b/src/bpf.c -index 7bdeb4f65..1e72f3e30 100644 +index bbcdceddd..690df570d 100644 --- a/src/bpf.c +++ b/src/bpf.c -@@ -1432,7 +1432,7 @@ BEGIN_BPF_CMD_DECODER(BPF_LINK_CREATE) +@@ -1440,7 +1440,7 @@ BEGIN_BPF_CMD_DECODER(BPF_LINK_CREATE) tprint_struct_next(); PRINT_FIELD_U(attr, target_btf_id); } @@ -33,7 +33,7 @@ index 7bdeb4f65..1e72f3e30 100644 break; /* TODO: prog type == BPF_PROG_TYPE_TRACING */ -@@ -1448,7 +1448,7 @@ BEGIN_BPF_CMD_DECODER(BPF_LINK_CREATE) +@@ -1456,7 +1456,7 @@ BEGIN_BPF_CMD_DECODER(BPF_LINK_CREATE) print_iter_info_array_member, 0); tprint_struct_next(); PRINT_FIELD_U(attr, iter_info_len); @@ -42,7 +42,7 @@ index 7bdeb4f65..1e72f3e30 100644 break; } -@@ -1460,7 +1460,7 @@ BEGIN_BPF_CMD_DECODER(BPF_LINK_CREATE) +@@ -1468,7 +1468,7 @@ BEGIN_BPF_CMD_DECODER(BPF_LINK_CREATE) tprint_struct_begin(); PRINT_FIELD_X(attr.perf_event, bpf_cookie); tprint_struct_end(); @@ -51,7 +51,7 @@ index 7bdeb4f65..1e72f3e30 100644 break; /* TODO: prog type == BPF_PROG_TYPE_KPROBE */ -@@ -1500,7 +1500,7 @@ BEGIN_BPF_CMD_DECODER(BPF_LINK_CREATE) +@@ -1508,7 +1508,7 @@ BEGIN_BPF_CMD_DECODER(BPF_LINK_CREATE) &buf.cookie, sizeof(buf.cookie), tfetch_mem, print_xint_array_member, 0); tprint_struct_end(); @@ -60,7 +60,7 @@ index 7bdeb4f65..1e72f3e30 100644 break; } -@@ -1510,7 +1510,7 @@ BEGIN_BPF_CMD_DECODER(BPF_LINK_CREATE) +@@ -1518,7 +1518,7 @@ BEGIN_BPF_CMD_DECODER(BPF_LINK_CREATE) * can pick up non-zero values in the union at the end * of the link_create struct. */ @@ -128,10 +128,10 @@ index 31ee871b3..76d7a2bec 100644 &info, sizeof(info), tfetch_mem, print_btrfs_ioctl_space_info, 0); diff --git a/src/defs.h b/src/defs.h -index d6b54a633..d24b11884 100644 +index 465d58139..ae1d1d1dc 100644 --- a/src/defs.h +++ b/src/defs.h -@@ -1145,7 +1145,7 @@ print_local_array_ex(struct tcb *tcp, +@@ -1162,7 +1162,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, \ @@ -140,7 +140,7 @@ index d6b54a633..d24b11884 100644 sizeof((start_addr_)[0]), (print_func_), \ NULL, 0, NULL, NULL) -@@ -2027,8 +2027,8 @@ scno_pers_is_valid(kernel_ulong_t scno, unsigned int pers) +@@ -2045,8 +2045,8 @@ scno_pers_is_valid(kernel_ulong_t scno, unsigned int pers) # define ILOG2_ITER_(val_, ret_, bit_) \ do { \ @@ -178,27 +178,21 @@ index 7b51bc9f9..ee9a42754 100644 tfetch_mem, print_fiemap_extent, 0); } diff --git a/src/landlock.c b/src/landlock.c -index d3ddb4edb..151bea7af 100644 +index 7ee44f84c..16a430de8 100644 --- a/src/landlock.c +++ b/src/landlock.c -@@ -19,7 +19,7 @@ print_landlock_ruleset_attr(struct tcb *tcp, const kernel_ulong_t addr, +@@ -21,9 +21,9 @@ print_landlock_ruleset_attr(struct tcb *tcp, const kernel_ulong_t addr, { - struct landlock_ruleset_attr attr; + struct landlock_ruleset_attr attr = { 0 }; + const size_t min_attr_size = +- offsetofend(typeof(attr), handled_access_fs); ++ offsetofend(__typeof__(attr), handled_access_fs); + const size_t max_attr_size = +- offsetofend(typeof(attr), handled_access_net); ++ offsetofend(__typeof__(attr), handled_access_net); -- if (size < offsetofend(typeof(attr), handled_access_fs)) { -+ if (size < offsetofend(__typeof__(attr), handled_access_fs)) { + if (size < min_attr_size) { printaddr(addr); - return; - } -@@ -31,7 +31,7 @@ print_landlock_ruleset_attr(struct tcb *tcp, const kernel_ulong_t addr, - PRINT_FIELD_FLAGS(attr, handled_access_fs, landlock_ruleset_access_fs, - "LANDLOCK_ACCESS_FS_???"); - -- if (size > offsetofend(typeof(attr), handled_access_fs)) { -+ if (size > offsetofend(__typeof__(attr), handled_access_fs)) { - tprint_arg_next(); - tprint_more_data_follows(); - } diff --git a/src/list.h b/src/list.h index 4de4cb3be..f4ec11f0e 100644 --- a/src/list.h @@ -242,7 +236,7 @@ index 4de4cb3be..f4ec11f0e 100644 #endif /* !STRACE_LIST_H */ diff --git a/src/macros.h b/src/macros.h -index f22be23c5..184f016b0 100644 +index cb290c612..81cde400a 100644 --- a/src/macros.h +++ b/src/macros.h @@ -62,7 +62,7 @@ @@ -255,10 +249,10 @@ index f22be23c5..184f016b0 100644 # ifndef offsetofend # define offsetofend(type_, member_) \ diff --git a/src/print_fields.h b/src/print_fields.h -index eca389e7e..b97e86377 100644 +index 09548ce21..6a7e76982 100644 --- a/src/print_fields.h +++ b/src/print_fields.h -@@ -774,7 +774,7 @@ tprint_sysret_end(void) +@@ -792,7 +792,7 @@ tprint_sysret_end(void) # define MAYBE_PRINT_FIELD_LEN(print_prefix_, where_, field_, \ len_, print_func_, ...) \ do { \ @@ -312,7 +306,7 @@ index 25f6e76c5..c62566800 100644 /* session id is printed as 0x%x in libteec */ diff --git a/src/ubi.c b/src/ubi.c -index bd2d2811e..ff9f88cd0 100644 +index 11a435b10..e75377783 100644 --- a/src/ubi.c +++ b/src/ubi.c @@ -76,7 +76,7 @@ static bool @@ -325,7 +319,7 @@ index bd2d2811e..ff9f88cd0 100644 tprint_struct_begin(); PRINT_FIELD_D(*p, vol_id); diff --git a/tests/btrfs.c b/tests/btrfs.c -index d8ef87a96..321d3a25c 100644 +index ab5bfae68..a3161875b 100644 --- a/tests/btrfs.c +++ b/tests/btrfs.c @@ -876,7 +876,7 @@ btrfs_print_tree_search_buf(struct btrfs_ioctl_search_key *key, @@ -351,5 +345,5 @@ index 20f92dd1d..aa6ecc8f5 100644 # define TYPEOF_FLOCK_OFF_T off_t #endif -- -2.37.3 +2.44.0 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 0355d08676cdc94354bd35f8d885984938645fb3 Mon Sep 17 00:00:00 2001 +From 75a23af067ff5390a47df1e877f68834241009b9 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 d24b11884..60b9e3322 100644 +index ae1d1d1dc..bbd8f6748 100644 --- a/src/defs.h +++ b/src/defs.h -@@ -398,8 +398,12 @@ struct tcb { +@@ -402,8 +402,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 d24b11884..60b9e3322 100644 # include "xlat.h" -- -2.37.3 +2.44.0 diff --git a/pkg/strace/patch/0004-Avoid-empty-initializer-lists.patch b/pkg/strace/patch/0004-Avoid-empty-initializer-lists.patch @@ -1,11 +1,10 @@ -From 463e94867f84bcb4dc85e18cb4304edea90d8659 Mon Sep 17 00:00:00 2001 +From 70c04478b105ab15e3e3a4bfcfcf96ace104b32e 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 --- src/bpf.c | 4 ++-- - src/futex_waitv.c | 2 +- src/sched.c | 2 +- src/signal.c | 2 +- src/strace.c | 2 +- @@ -17,13 +16,13 @@ Subject: [PATCH] Avoid empty initializer lists tests/timer_create.c | 2 +- tests/wait4.c | 2 +- tests/waitid.c | 2 +- - 13 files changed, 17 insertions(+), 17 deletions(-) + 12 files changed, 16 insertions(+), 16 deletions(-) diff --git a/src/bpf.c b/src/bpf.c -index 1e72f3e30..7a6406687 100644 +index 690df570d..16f2b7d31 100644 --- a/src/bpf.c +++ b/src/bpf.c -@@ -48,7 +48,7 @@ bpf_cmd_decoder(struct tcb *const tcp, \ +@@ -50,7 +50,7 @@ bpf_cmd_decoder(struct tcb *const tcp, \ #define BEGIN_BPF_CMD_DECODER(bpf_cmd) \ static DECL_BPF_CMD_DECODER(decode_ ## bpf_cmd) \ { \ @@ -32,7 +31,7 @@ index 1e72f3e30..7a6406687 100644 size_t attr_size = bpf_cmd ## _struct_size; \ const unsigned int len = MIN(size, attr_size); \ memcpy(&attr, data, len); \ -@@ -159,7 +159,7 @@ print_ebpf_prog(struct tcb *const tcp, const uint64_t addr, const uint32_t len) +@@ -161,7 +161,7 @@ print_ebpf_prog(struct tcb *const tcp, const uint64_t addr, const uint32_t len) if (abbrev(tcp)) { printaddr(addr); } else { @@ -41,19 +40,6 @@ index 1e72f3e30..7a6406687 100644 struct ebpf_insn insn; print_array(tcp, addr, len, &insn, sizeof(insn), -diff --git a/src/futex_waitv.c b/src/futex_waitv.c -index 512ee715d..340201aa3 100644 ---- a/src/futex_waitv.c -+++ b/src/futex_waitv.c -@@ -49,7 +49,7 @@ print_waiter_array(struct tcb * const tcp, const kernel_ulong_t waiters, - const unsigned int nr_futexes) - { - struct futex_waitv buf; -- struct print_waiter_data data = {}; -+ struct print_waiter_data data = {0}; - - print_array(tcp, waiters, nr_futexes, &buf, sizeof(buf), - tfetch_mem, print_waiter, &data); diff --git a/src/sched.c b/src/sched.c index 010366871..2dda5b872 100644 --- a/src/sched.c @@ -81,10 +67,10 @@ index 98f84d500..8680b10fb 100644 return; tprints_string(sprintsigmask_n("", mask, len)); diff --git a/src/strace.c b/src/strace.c -index 5752177b7..9cd4ff461 100644 +index 649b8d160..9c87e34ed 100644 --- a/src/strace.c +++ b/src/strace.c -@@ -3693,7 +3693,7 @@ trace_syscall(struct tcb *tcp, unsigned int *sig) +@@ -3891,7 +3891,7 @@ trace_syscall(struct tcb *tcp, unsigned int *sig) syscall_entering_finish(tcp, res); return res; } else { @@ -94,7 +80,7 @@ index 5752177b7..9cd4ff461 100644 if (res != 0) { res = syscall_exiting_trace(tcp, &ts, res); diff --git a/tests/btrfs.c b/tests/btrfs.c -index 321d3a25c..442377130 100644 +index a3161875b..88112e463 100644 --- a/tests/btrfs.c +++ b/tests/btrfs.c @@ -313,7 +313,7 @@ btrfs_test_subvol_ioctls(void) @@ -114,7 +100,7 @@ index 321d3a25c..442377130 100644 + struct btrfs_ioctl_vol_args vol_args = {0}; ioctl(-1, BTRFS_IOC_BALANCE_CTL, 1); - printf("ioctl(-1, %s, %sBTRFS_BALANCE_CTL_PAUSE%s) = -1 EBADF (%m)\n", + printf("ioctl(-1, %s, %sBTRFS_BALANCE_CTL_PAUSE%s)" RVAL_EBADF, @@ -764,7 +764,7 @@ btrfs_print_defrag_range_args(struct btrfs_ioctl_defrag_range_args *args, static void btrfs_test_defrag_ioctls(void) @@ -132,9 +118,9 @@ index 321d3a25c..442377130 100644 + struct btrfs_ioctl_space_args args = {0}; ioctl(-1, BTRFS_IOC_SPACE_INFO, NULL); - printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", + printf("ioctl(-1, %s, NULL)" RVAL_EBADF, diff --git a/tests/clock_nanosleep.c b/tests/clock_nanosleep.c -index 51bd0d7f7..a1053fd1e 100644 +index 13c3dad87..4638d492b 100644 --- a/tests/clock_nanosleep.c +++ b/tests/clock_nanosleep.c @@ -39,7 +39,7 @@ main(void) @@ -147,7 +133,7 @@ index 51bd0d7f7..a1053fd1e 100644 const struct itimerval itv = { .it_interval.tv_usec = 222222, diff --git a/tests/nanosleep.c b/tests/nanosleep.c -index 8ff6a86b8..6377f38ee 100644 +index 743105e80..2a7ddff5c 100644 --- a/tests/nanosleep.c +++ b/tests/nanosleep.c @@ -53,7 +53,7 @@ main(void) @@ -160,7 +146,7 @@ index 8ff6a86b8..6377f38ee 100644 const struct itimerval itv = { .it_value.tv_usec = 111111 }; diff --git a/tests/restart_syscall.c b/tests/restart_syscall.c -index e4e83dc09..da83d1dc7 100644 +index a9b1d2291..7fd7fb602 100644 --- a/tests/restart_syscall.c +++ b/tests/restart_syscall.c @@ -26,7 +26,7 @@ main(void) @@ -170,8 +156,8 @@ index e4e83dc09..da83d1dc7 100644 - const sigset_t set = {}; + const sigset_t set = {0}; const struct sigaction act = { .sa_handler = SIG_IGN }; - const struct itimerval itv = { .it_value.tv_usec = 111111 }; - const struct timespec req = { .tv_nsec = 222222222 }; + const struct itimerval itv = { .it_interval.tv_usec = 22222, + .it_value.tv_usec = 11111 }; diff --git a/tests/setrlimit.c b/tests/setrlimit.c index d4953f6f8..60d54fbd8 100644 --- a/tests/setrlimit.c @@ -186,12 +172,12 @@ index d4953f6f8..60d54fbd8 100644 continue; rlimit[0] = libc_rlim.rlim_cur; diff --git a/tests/timer_create.c b/tests/timer_create.c -index af91da0d3..a0a79f1ad 100644 +index e4357b2cf..8d6cd415f 100644 --- a/tests/timer_create.c +++ b/tests/timer_create.c @@ -24,7 +24,7 @@ main(void) - printf("timer_create(CLOCK_REALTIME, NULL, NULL) = -1 %s (%m)\n", - errno2name()); + printf("timer_create(CLOCK_REALTIME, NULL, NULL) = %s\n", + sprintrc(-1)); - int tid[4] = {}; + int tid[4] = {0}; @@ -225,5 +211,5 @@ index 1ed763840..fef941874 100644 assert(sigprocmask(SIG_BLOCK, &mask, NULL) == 0); -- -2.37.3 +2.44.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 989bfd76544b4f62ade9e35d2476332934d27d86 Mon Sep 17 00:00:00 2001 +From c154f9dfaaccabc52af12ccabc86e9d0c6c18ada 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 *` @@ -12,7 +12,7 @@ Subject: [PATCH] Avoid pointer arithmetic on `void *` 5 files changed, 15 insertions(+), 13 deletions(-) diff --git a/src/netlink_smc_diag.c b/src/netlink_smc_diag.c -index f7ff06b6b..dbf5be980 100644 +index 74e78b966..c3a28a839 100644 --- a/src/netlink_smc_diag.c +++ b/src/netlink_smc_diag.c @@ -42,7 +42,7 @@ DECL_NETLINK_DIAG_DECODER(decode_smc_diag_req) @@ -24,7 +24,7 @@ index f7ff06b6b..dbf5be980 100644 PRINT_FIELD_FLAGS(req, diag_ext, smc_diag_extended_flags, "1<<SMC_DIAG_\?\?\?-1"); -@@ -250,7 +250,7 @@ DECL_NETLINK_DIAG_DECODER(decode_smc_diag_msg) +@@ -261,7 +261,7 @@ DECL_NETLINK_DIAG_DECODER(decode_smc_diag_msg) if (len >= sizeof(msg)) { if (!umoven_or_printaddr(tcp, addr + offset, sizeof(msg) - offset, @@ -34,7 +34,7 @@ index f7ff06b6b..dbf5be980 100644 smc_states, "SMC_???"); tprint_struct_next(); diff --git a/src/print_timespec.h b/src/print_timespec.h -index 9603a6bb6..f5f747c42 100644 +index dc5f9d10c..87f7ff973 100644 --- a/src/print_timespec.h +++ b/src/print_timespec.h @@ -66,6 +66,8 @@ bool @@ -60,7 +60,7 @@ index 9603a6bb6..f5f747c42 100644 tprint_array_end(); diff --git a/src/sockaddr.c b/src/sockaddr.c -index 9139da1cd..7126ad2fc 100644 +index ee1ce8828..c1f9b1740 100644 --- a/src/sockaddr.c +++ b/src/sockaddr.c @@ -583,7 +583,7 @@ print_sockaddr_data_ll(struct tcb *tcp, const void *const buf, @@ -82,7 +82,7 @@ index 9139da1cd..7126ad2fc 100644 const int transport_len = MIN(sa->transport_len, len - offsetof(struct sockaddr_rxrpc, diff --git a/src/tee.c b/src/tee.c -index fc735e0da..f705a7a94 100644 +index c62566800..1596a5095 100644 --- a/src/tee.c +++ b/src/tee.c @@ -69,7 +69,7 @@ tee_fetch_buf_data(struct tcb *const tcp, @@ -95,7 +95,7 @@ index fc735e0da..f705a7a94 100644 (arg_size + TEE_IOCTL_PARAM_SIZE(*num_params) != buf->buf_len)) { /* diff --git a/src/ucopy.c b/src/ucopy.c -index c769a1916..ed401ae74 100644 +index b4e746b0b..007b5373e 100644 --- a/src/ucopy.c +++ b/src/ucopy.c @@ -186,7 +186,7 @@ vm_read_mem(const pid_t pid, void *laddr, @@ -148,5 +148,5 @@ index c769a1916..ed401ae74 100644 } -- -2.37.3 +2.44.0 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 3b3898e2a370be0489226da973e18176530e267a Mon Sep 17 00:00:00 2001 +From 586b8d1808d18149a872f0ee1dc8903b9f9e8750 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 @@ -7,8 +7,10 @@ Subject: [PATCH] Don't omit second operand to '?' operator src/kd_ioctl.c | 2 +- src/open.c | 5 +++-- src/prctl.c | 8 ++++---- - src/strace.c | 6 +++--- - 4 files changed, 11 insertions(+), 10 deletions(-) + src/strace.c | 8 ++++---- + src/strauss.c | 4 +++- + src/util.c | 2 +- + 6 files changed, 16 insertions(+), 13 deletions(-) diff --git a/src/kd_ioctl.c b/src/kd_ioctl.c index ada23d536..fddbd38fb 100644 @@ -70,10 +72,10 @@ index f6b4dd741..951133a83 100644 return out; diff --git a/src/strace.c b/src/strace.c -index 9cd4ff461..4403bd27e 100644 +index 9c87e34ed..13904f6e1 100644 --- a/src/strace.c +++ b/src/strace.c -@@ -2494,7 +2494,7 @@ init(int argc, char *argv[]) +@@ -2609,7 +2609,7 @@ init(int argc, char *argv[]) break; case GETOPT_TS: tflag_long_set = true; @@ -82,7 +84,16 @@ index 9cd4ff461..4403bd27e 100644 error_opt_arg(c, lopt, optarg); break; case 'T': -@@ -2614,10 +2614,10 @@ init(int argc, char *argv[]) +@@ -2683,7 +2683,7 @@ init(int argc, char *argv[]) + error_opt_arg(c, lopt, optarg); + break; + case GETOPT_TIPS: +- if (parse_tips_arg(optarg ?: "")) ++ if (parse_tips_arg(optarg ? optarg : "")) + error_opt_arg(c, lopt, optarg); + break; + case GETOPT_ARGV0: +@@ -2729,10 +2729,10 @@ init(int argc, char *argv[]) qualify_kvm(optarg); break; case GETOPT_QUAL_QUIET: @@ -95,6 +106,43 @@ index 9cd4ff461..4403bd27e 100644 break; case GETOPT_QUAL_DECODE_PID: qualify_decode_pid(optarg); +diff --git a/src/strauss.c b/src/strauss.c +index bec85021b..5d49f950a 100644 +--- a/src/strauss.c ++++ b/src/strauss.c +@@ -367,6 +367,7 @@ print_totd(void) + struct timeval tv; + size_t id; + size_t i; ++ const char *tip; + + if (printed || show_tips == TIPS_NONE) + return; +@@ -386,9 +387,10 @@ print_totd(void) + for (i = 0; (i < MAX_TIP_LINES) && (tips_tricks_tweaks[id][i] || + (i < (ARRAY_SIZE(tip_right) - 1))); + i++) { ++ tip = tips_tricks_tweaks[id][i]; + fprintf(stderr, "%s%-*s%s%s\n", + tip_left[MIN(i + 1, ARRAY_SIZE(tip_left) - 1)], +- w, tips_tricks_tweaks[id][i] ?: "", ++ w, tip ? tip : "", + tip_right[MIN(i + 1, ARRAY_SIZE(tip_right) - 1)], + strauss[MIN(3 + i, strauss_lines - 1)]); + } +diff --git a/src/util.c b/src/util.c +index efd390577..5e87559dc 100644 +--- a/src/util.c ++++ b/src/util.c +@@ -640,7 +640,7 @@ printsocket(struct tcb *tcp, int fd, const char *path) + return false; + + const char *details = get_sockaddr_by_inode(tcp, fd, inode); +- print_string_in_angle_brackets(details ?: path); ++ print_string_in_angle_brackets(details ? details : path); + + return true; + } -- -2.37.3 +2.44.0 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 a98e58cc36d6df5935dbedd9e1c2947262b8b67c Mon Sep 17 00:00:00 2001 +From ab57c5ea74c7a1ced31c07bb62c43fc766811e01 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 @@ -12,7 +12,7 @@ Subject: [PATCH] Avoid unnecessary VLAs 5 files changed, 7 insertions(+), 8 deletions(-) diff --git a/src/count.c b/src/count.c -index e4f362787..ad203748b 100644 +index 2494a44d6..704e3a8d5 100644 --- a/src/count.c +++ b/src/count.c @@ -414,7 +414,7 @@ call_summary_pers(FILE *outf) @@ -60,7 +60,7 @@ index d3a3b9283..e0079456f 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 c636ba37c..687d08bc0 100644 +index 6d9e843fe..44d5e9e0b 100644 --- a/src/syscall.c +++ b/src/syscall.c @@ -287,7 +287,7 @@ decode_socket_subcall(struct tcb *tcp) @@ -73,10 +73,10 @@ index c636ba37c..687d08bc0 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 a63d80678..a3bea5b76 100644 +index efd390577..c9e0c6212 100644 --- a/src/util.c +++ b/src/util.c -@@ -556,8 +556,7 @@ enum sock_proto +@@ -569,8 +569,7 @@ enum sock_proto getfdproto(struct tcb *tcp, int fd) { #ifdef HAVE_SYS_XATTR_H @@ -86,7 +86,7 @@ index a63d80678..a3bea5b76 100644 ssize_t r; char path[sizeof("/proc/%u/fd/%u") + 2 * sizeof(int)*3]; -@@ -565,7 +564,7 @@ getfdproto(struct tcb *tcp, int fd) +@@ -578,7 +577,7 @@ getfdproto(struct tcb *tcp, int fd) return SOCK_PROTO_UNKNOWN; xsprintf(path, "/proc/%u/fd/%u", get_proc_pid(tcp->pid), fd); @@ -96,5 +96,5 @@ index a63d80678..a3bea5b76 100644 return SOCK_PROTO_UNKNOWN; else { -- -2.37.3 +2.44.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 d1c93514cb65877134e8f53b189adbcd5a0e1b43 Mon Sep 17 00:00:00 2001 +From b7f05e44f267fde2bc317a54430ec106d5af2808 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 cad1013a8..73d7bbe28 100644 return sprint_mac_addr(hwaddr, MIN(size, sz)); diff --git a/src/util.c b/src/util.c -index a3bea5b76..21fb9560f 100644 +index c9e0c6212..875c3ae9c 100644 --- a/src/util.c +++ b/src/util.c -@@ -1477,16 +1477,16 @@ dumpstr(struct tcb *const tcp, const kernel_ulong_t addr, +@@ -1519,16 +1519,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 a3bea5b76..21fb9560f 100644 /* Fetching data from tracee. */ -- -2.37.3 +2.44.0 diff --git a/pkg/strace/sha256 b/pkg/strace/sha256 @@ -1 +1 @@ -27987dbac57fdfd260c6db4dc8328df35c95c6867c8a3d4371d59cdcf4eb9238 strace-6.4.tar.xz +ba6950a96824cdf93a584fa04f0a733896d2a6bc5f0ad9ffe505d9b41e970149 strace-6.8.tar.xz diff --git a/pkg/strace/url b/pkg/strace/url @@ -1 +1 @@ -url = "https://github.com/strace/strace/releases/download/v6.4/strace-6.4.tar.xz" +url = "https://github.com/strace/strace/releases/download/v6.8/strace-6.8.tar.xz" diff --git a/pkg/strace/ver b/pkg/strace/ver @@ -1 +1 @@ -6.4 r0 +6.8 r0