strace: Update to 6.19

This commit is contained in:
Michael Forney
2026-04-01 23:14:48 -07:00
parent 8722291dd1
commit f0ebd1300a
16 changed files with 228 additions and 81 deletions
+1 -1
View File
@@ -30,7 +30,7 @@
/source-sans-3.028R.tar.gz
/source-serif-4.004R.tar.gz
/src.tar.gz
/strace-6.12.tar.xz
/strace-6.19.tar.xz
/sys.tar.gz
/syslinux-6.03.tar.xz
/terminus-font-4.49.1.tar.gz
+63 -11
View File
@@ -7,7 +7,7 @@
#define ASM_SIGRTMIN 32
/* #undef AVR32 */
/* #undef BFIN */
#define COPYRIGHT_YEAR "2024"
#define COPYRIGHT_YEAR "2026"
/* #undef CSKY */
#define ENABLE_ARM_OABI 0
/* #undef ENABLE_SECONTEXT */
@@ -172,7 +172,10 @@
#define HAVE_STRUCT_BPF_MAP_INFO_BTF_ID 1
#define HAVE_STRUCT_BPF_MAP_INFO_BTF_KEY_TYPE_ID 1
#define HAVE_STRUCT_BPF_MAP_INFO_BTF_VALUE_TYPE_ID 1
#define HAVE_STRUCT_BPF_MAP_INFO_BTF_VMLINUX_ID 1
#define HAVE_STRUCT_BPF_MAP_INFO_BTF_VMLINUX_VALUE_TYPE_ID 1
/* #undef HAVE_STRUCT_BPF_MAP_INFO_HASH */
/* #undef HAVE_STRUCT_BPF_MAP_INFO_HASH_SIZE */
#define HAVE_STRUCT_BPF_MAP_INFO_ID 1
#define HAVE_STRUCT_BPF_MAP_INFO_IFINDEX 1
#define HAVE_STRUCT_BPF_MAP_INFO_KEY_SIZE 1
@@ -180,10 +183,11 @@
#define HAVE_STRUCT_BPF_MAP_INFO_MAP_FLAGS 1
#define HAVE_STRUCT_BPF_MAP_INFO_MAX_ENTRIES 1
#define HAVE_STRUCT_BPF_MAP_INFO_NAME 1
/* #undef HAVE_STRUCT_BPF_MAP_INFO_PAD */
#define HAVE_STRUCT_BPF_MAP_INFO_TYPE 1
#define HAVE_STRUCT_BPF_MAP_INFO_VALUE_SIZE 1
#define HAVE_STRUCT_BPF_PROG_INFO 1
#define HAVE_STRUCT_BPF_PROG_INFO_ATTACH_BTF_ID 1
#define HAVE_STRUCT_BPF_PROG_INFO_ATTACH_BTF_OBJ_ID 1
#define HAVE_STRUCT_BPF_PROG_INFO_BTF_ID 1
#define HAVE_STRUCT_BPF_PROG_INFO_CREATED_BY_UID 1
#define HAVE_STRUCT_BPF_PROG_INFO_FUNC_INFO 1
@@ -224,11 +228,12 @@
#define HAVE_STRUCT_KBDIACRUC 1
#define HAVE_STRUCT_KVM_CPUID2 1
#define HAVE_STRUCT_KVM_REGS 1
#define HAVE_STRUCT_KVM_RUN_FLAGS 1
#define HAVE_STRUCT_KVM_RUN_IMMEDIATE_EXIT 1
#define HAVE_STRUCT_KVM_SREGS 1
#define HAVE_STRUCT_KVM_USERSPACE_MEMORY_REGION 1
#define HAVE_STRUCT_MMSGHDR 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
#define HAVE_STRUCT_SOCKADDR_ALG_NEW 1
@@ -265,7 +270,6 @@
#define HAVE_STRUCT___KERNEL_SOCK_TIMEVAL 1
#define HAVE_STRUCT___KERNEL_TIMESPEC 1
#define HAVE_STRUCT___OLD_KERNEL_STAT 1
#define HAVE_STRUCT___PTRACE_SYSCALL_INFO 1
#define HAVE_SYNC_FILE_RANGE 1
#define HAVE_SYS_EVENTFD_H 1
#define HAVE_SYS_FANOTIFY_H 1
@@ -292,18 +296,29 @@
#define HAVE_UNION_BPF_ATTR_BPF_FD 1
#define HAVE_UNION_BPF_ATTR_BTF 1
#define HAVE_UNION_BPF_ATTR_BTF_FD 1
#define HAVE_UNION_BPF_ATTR_BTF_FLAGS 1
#define HAVE_UNION_BPF_ATTR_BTF_ID 1
#define HAVE_UNION_BPF_ATTR_BTF_KEY_TYPE_ID 1
#define HAVE_UNION_BPF_ATTR_BTF_LOG_BUF 1
#define HAVE_UNION_BPF_ATTR_BTF_LOG_LEVEL 1
#define HAVE_UNION_BPF_ATTR_BTF_LOG_SIZE 1
#define HAVE_UNION_BPF_ATTR_BTF_LOG_TRUE_SIZE 1
#define HAVE_UNION_BPF_ATTR_BTF_SIZE 1
#define HAVE_UNION_BPF_ATTR_BTF_TOKEN_FD 1
#define HAVE_UNION_BPF_ATTR_BTF_VALUE_TYPE_ID 1
#define HAVE_UNION_BPF_ATTR_BTF_VMLINUX_VALUE_TYPE_ID 1
#define HAVE_UNION_BPF_ATTR_CORE_RELOS 1
#define HAVE_UNION_BPF_ATTR_CORE_RELO_CNT 1
#define HAVE_UNION_BPF_ATTR_CORE_RELO_REC_SIZE 1
/* #undef HAVE_UNION_BPF_ATTR_DUMMY */
#define HAVE_UNION_BPF_ATTR_ENABLE_STATS_TYPE 1
/* #undef HAVE_UNION_BPF_ATTR_EXCL_PROG_HASH */
/* #undef HAVE_UNION_BPF_ATTR_EXCL_PROG_HASH_SIZE */
#define HAVE_UNION_BPF_ATTR_EXPECTED_ATTACH_TYPE 1
#define HAVE_UNION_BPF_ATTR_EXPECTED_REVISION 1
#define HAVE_UNION_BPF_ATTR_FD_ARRAY 1
/* #undef HAVE_UNION_BPF_ATTR_FD_ARRAY_CNT */
/* #undef HAVE_UNION_BPF_ATTR_FD_BY_ID_TOKEN_FD */
#define HAVE_UNION_BPF_ATTR_FILE_FLAGS 1
#define HAVE_UNION_BPF_ATTR_FLAGS 1
#define HAVE_UNION_BPF_ATTR_FUNC_INFO 1
@@ -319,6 +334,7 @@
#define HAVE_UNION_BPF_ATTR_ITER_CREATE_LINK_FD 1
#define HAVE_UNION_BPF_ATTR_KERN_VERSION 1
#define HAVE_UNION_BPF_ATTR_KEY 1
/* #undef HAVE_UNION_BPF_ATTR_KEYRING_ID */
#define HAVE_UNION_BPF_ATTR_KEY_SIZE 1
#define HAVE_UNION_BPF_ATTR_LICENSE 1
#define HAVE_UNION_BPF_ATTR_LINE_INFO 1
@@ -329,15 +345,28 @@
/* #undef HAVE_UNION_BPF_ATTR_LINK_CREATE_BPF_COOKIE */
/* #undef HAVE_UNION_BPF_ATTR_LINK_CREATE_CNT */
/* #undef HAVE_UNION_BPF_ATTR_LINK_CREATE_COOKIES */
/* #undef HAVE_UNION_BPF_ATTR_LINK_CREATE_EXPECTED_REVISION */
#define HAVE_UNION_BPF_ATTR_LINK_CREATE_FLAGS 1
/* #undef HAVE_UNION_BPF_ATTR_LINK_CREATE_HOOKNUM */
#define HAVE_UNION_BPF_ATTR_LINK_CREATE_ITER_INFO 1
#define HAVE_UNION_BPF_ATTR_LINK_CREATE_ITER_INFO_LEN 1
#define HAVE_UNION_BPF_ATTR_LINK_CREATE_KPROBE_MULTI 1
#define HAVE_UNION_BPF_ATTR_LINK_CREATE_NETFILTER 1
/* #undef HAVE_UNION_BPF_ATTR_LINK_CREATE_OFFSETS */
/* #undef HAVE_UNION_BPF_ATTR_LINK_CREATE_PATH */
#define HAVE_UNION_BPF_ATTR_LINK_CREATE_PERF_EVENT 1
/* #undef HAVE_UNION_BPF_ATTR_LINK_CREATE_PF */
/* #undef HAVE_UNION_BPF_ATTR_LINK_CREATE_PID */
/* #undef HAVE_UNION_BPF_ATTR_LINK_CREATE_PRIORITY */
#define HAVE_UNION_BPF_ATTR_LINK_CREATE_PROG_FD 1
/* #undef HAVE_UNION_BPF_ATTR_LINK_CREATE_REF_CTR_OFFSETS */
/* #undef HAVE_UNION_BPF_ATTR_LINK_CREATE_RELATIVE_FD */
/* #undef HAVE_UNION_BPF_ATTR_LINK_CREATE_RELATIVE_ID */
/* #undef HAVE_UNION_BPF_ATTR_LINK_CREATE_SYMS */
#define HAVE_UNION_BPF_ATTR_LINK_CREATE_TARGET_BTF_ID 1
#define HAVE_UNION_BPF_ATTR_LINK_CREATE_TARGET_FD 1
#define HAVE_UNION_BPF_ATTR_LINK_CREATE_TARGET_IFINDEX 1
#define HAVE_UNION_BPF_ATTR_LINK_CREATE_UPROBE_MULTI 1
#define HAVE_UNION_BPF_ATTR_LINK_DETACH_LINK_FD 1
#define HAVE_UNION_BPF_ATTR_LINK_ID 1
#define HAVE_UNION_BPF_ATTR_LINK_UPDATE_FLAGS 1
@@ -347,19 +376,20 @@
#define HAVE_UNION_BPF_ATTR_LOG_BUF 1
#define HAVE_UNION_BPF_ATTR_LOG_LEVEL 1
#define HAVE_UNION_BPF_ATTR_LOG_SIZE 1
#define HAVE_UNION_BPF_ATTR_LOG_TRUE_SIZE 1
#define HAVE_UNION_BPF_ATTR_MAP_EXTRA 1
#define HAVE_UNION_BPF_ATTR_MAP_FD 1
#define HAVE_UNION_BPF_ATTR_MAP_FLAGS 1
#define HAVE_UNION_BPF_ATTR_MAP_ID 1
#define HAVE_UNION_BPF_ATTR_MAP_IFINDEX 1
#define HAVE_UNION_BPF_ATTR_MAP_NAME 1
#define HAVE_UNION_BPF_ATTR_MAP_TOKEN_FD 1
#define HAVE_UNION_BPF_ATTR_MAP_TYPE 1
#define HAVE_UNION_BPF_ATTR_MAX_ENTRIES 1
#define HAVE_UNION_BPF_ATTR_NEXT_ID 1
#define HAVE_UNION_BPF_ATTR_NEXT_KEY 1
#define HAVE_UNION_BPF_ATTR_NUMA_NODE 1
#define HAVE_UNION_BPF_ATTR_OPEN_FLAGS 1
/* #undef HAVE_UNION_BPF_ATTR_PAD */
#define HAVE_UNION_BPF_ATTR_PATHNAME 1
#define HAVE_UNION_BPF_ATTR_PATH_FD 1
#define HAVE_UNION_BPF_ATTR_PROG_BIND_MAP_FLAGS 1
@@ -370,20 +400,36 @@
#define HAVE_UNION_BPF_ATTR_PROG_ID 1
#define HAVE_UNION_BPF_ATTR_PROG_IFINDEX 1
#define HAVE_UNION_BPF_ATTR_PROG_NAME 1
/* #undef HAVE_UNION_BPF_ATTR_PROG_STREAM_READ_PROG_FD */
/* #undef HAVE_UNION_BPF_ATTR_PROG_STREAM_READ_STREAM_BUF */
/* #undef HAVE_UNION_BPF_ATTR_PROG_STREAM_READ_STREAM_BUF_LEN */
/* #undef HAVE_UNION_BPF_ATTR_PROG_STREAM_READ_STREAM_ID */
#define HAVE_UNION_BPF_ATTR_PROG_TOKEN_FD 1
#define HAVE_UNION_BPF_ATTR_PROG_TYPE 1
#define HAVE_UNION_BPF_ATTR_QUERY_ATTACH_FLAGS 1
#define HAVE_UNION_BPF_ATTR_QUERY_ATTACH_TYPE 1
/* #undef HAVE_UNION_BPF_ATTR_QUERY_DUMMY */
#define HAVE_UNION_BPF_ATTR_QUERY_LINK_ATTACH_FLAGS 1
#define HAVE_UNION_BPF_ATTR_QUERY_LINK_IDS 1
#define HAVE_UNION_BPF_ATTR_QUERY_PROG_ATTACH_FLAGS 1
#define HAVE_UNION_BPF_ATTR_QUERY_PROG_CNT 1
#define HAVE_UNION_BPF_ATTR_QUERY_PROG_IDS 1
#define HAVE_UNION_BPF_ATTR_QUERY_QUERY_FLAGS 1
#define HAVE_UNION_BPF_ATTR_QUERY_REVISION 1
#define HAVE_UNION_BPF_ATTR_QUERY_TARGET_FD 1
#define HAVE_UNION_BPF_ATTR_QUERY_TARGET_IFINDEX 1
#define HAVE_UNION_BPF_ATTR_RAW_TRACEPOINT_COOKIE 1
/* #undef HAVE_UNION_BPF_ATTR_RAW_TRACEPOINT_DUMMY */
#define HAVE_UNION_BPF_ATTR_RAW_TRACEPOINT_NAME 1
#define HAVE_UNION_BPF_ATTR_RAW_TRACEPOINT_PROG_FD 1
#define HAVE_UNION_BPF_ATTR_RELATIVE_FD 1
#define HAVE_UNION_BPF_ATTR_RELATIVE_ID 1
#define HAVE_UNION_BPF_ATTR_REPLACE_BPF_FD 1
/* #undef HAVE_UNION_BPF_ATTR_SIGNATURE */
/* #undef HAVE_UNION_BPF_ATTR_SIGNATURE_SIZE */
#define HAVE_UNION_BPF_ATTR_START_ID 1
#define HAVE_UNION_BPF_ATTR_TARGET_FD 1
#define HAVE_UNION_BPF_ATTR_TARGET_IFINDEX 1
#define HAVE_UNION_BPF_ATTR_TASK_FD_QUERY_BUF 1
#define HAVE_UNION_BPF_ATTR_TASK_FD_QUERY_BUF_LEN 1
#define HAVE_UNION_BPF_ATTR_TASK_FD_QUERY_FD 1
@@ -412,6 +458,7 @@
#define HAVE_UNION_BPF_ATTR_TOKEN_CREATE_FLAGS 1
#define HAVE_UNION_BPF_ATTR_VALUE 1
#define HAVE_UNION_BPF_ATTR_VALUE_SIZE 1
#define HAVE_UNION_BPF_ATTR_VALUE_TYPE_BTF_OBJ_FD 1
#define HAVE_UNISTD_H 1
/* #undef HAVE_USTAT_H */
#define HAVE_WCHAR_H 1
@@ -441,10 +488,10 @@
#define PACKAGE "strace"
#define PACKAGE_BUGREPORT "strace-devel@lists.strace.io"
#define PACKAGE_NAME "strace"
#define PACKAGE_STRING "strace 6.12"
#define PACKAGE_STRING "strace 6.19"
#define PACKAGE_TARNAME "strace"
#define PACKAGE_URL "https://strace.io"
#define PACKAGE_VERSION "6.12"
#define PACKAGE_VERSION "6.19"
/* #undef POWERPC */
/* #undef POWERPC64 */
/* #undef POWERPC64LE */
@@ -459,11 +506,11 @@
#define SIZEOF_OFF_T 8
#define SIZEOF_STRUCT_I64_I32 16
#define SIZEOF_STRUCT_MSQID64_DS 120
#define SLM_MANPAGE_DATE "2022-01-01"
#define SLM_MANPAGE_DATE "2025-07-02"
/* #undef SPARC */
/* #undef SPARC64 */
#define STDC_HEADERS 1
#define STRACE_MANPAGE_DATE "2024-06-30"
#define STRACE_MANPAGE_DATE "2025-11-13"
/* #undef TILE */
/* #undef USE_DEMANGLE */
/* #undef USE_LIBDW */
@@ -510,6 +557,9 @@
#ifndef __STDC_WANT_IEC_60559_DFP_EXT__
# define __STDC_WANT_IEC_60559_DFP_EXT__ 1
#endif
#ifndef __STDC_WANT_IEC_60559_EXT__
# define __STDC_WANT_IEC_60559_EXT__ 1
#endif
#ifndef __STDC_WANT_IEC_60559_FUNCS_EXT__
# define __STDC_WANT_IEC_60559_FUNCS_EXT__ 1
#endif
@@ -529,7 +579,7 @@
/* # undef _XOPEN_SOURCE */
#endif
/* #undef USE_UNWINDER */
#define VERSION "6.12"
#define VERSION "6.19"
#if defined AC_APPLE_UNIVERSAL_BUILD
# if defined __BIG_ENDIAN__
# define WORDS_BIGENDIAN 1
@@ -540,7 +590,9 @@
# endif
#endif
/* #undef X32 */
#define X86_64 1
#ifdef __x86_64__
# define X86_64 1
#endif
/* #undef XTENSA */
/* #undef gid_t */
/* #undef typeof */
+10 -3
View File
@@ -86,6 +86,7 @@ local srcs = paths[[src/(
access.c
affinity.c
aio.c
alarm.c
alpha.c
basic_filters.c
bind.c
@@ -121,6 +122,7 @@ local srcs = paths[[src/(
evdev_mpers.c
eventfd.c
execve.c
exit.c
exitkill.c
fadvise.c
fallocate.c
@@ -138,10 +140,12 @@ local srcs = paths[[src/(
fetch_struct_stat64.c
fetch_struct_statfs.c
fetch_struct_xfs_quotastat.c
file_attr.c
file_handle.c
filter_qualify.c
filter_seccomp.c
flock.c
fs_0x15_ioctl.c
fs_0x94_ioctl.c
fs_f_ioctl.c
fs_x_ioctl.c
@@ -170,6 +174,7 @@ local srcs = paths[[src/(
io_uring.c
ioctl.c
ioperm.c
iopl.c
ioprio.c
ipc.c
ipc_msg.c
@@ -190,6 +195,7 @@ local srcs = paths[[src/(
lirc_ioctl.c
listen.c
listmount.c
listns.c
lookup_dcookie.c
loop.c
lseek.c
@@ -225,13 +231,13 @@ local srcs = paths[[src/(
netlink_smc_diag.c
netlink_sock_diag.c
netlink_unix_diag.c
nice.c
nlattr.c
nsfs.c
numa.c
number_set.c
oldstat.c
open.c
open_tree.c
or1k_atomic.c
pathtrace.c
perf.c
@@ -306,6 +312,7 @@ local srcs = paths[[src/(
seccomp.c
seccomp_ioctl.c
sendfile.c
set_tid_address.c
sg_io_v3.c
sg_io_v4.c
shutdown.c
@@ -390,8 +397,8 @@ file('bin/strace', '755', '$outdir/strace')
build('sed', '$outdir/strace.1', '$srcdir/doc/strace.1.in', {
expr={
[[-e 's,@STRACE_MANPAGE_DATE@,2024-06-30,']],
[[-e 's,@VERSION@,6.12,']],
[[-e 's,@STRACE_MANPAGE_DATE@,2025-11-13,']],
[[-e 's,@VERSION@,6.19,']],
[[-e 's,@ENABLE_STACKTRACE_TRUE@,#,']],
[[-e 's,@ENABLE_STACKTRACE_FALSE@,,']],
[[-e 's,@ENABLE_SECONTEXT_TRUE@,#,']],
@@ -1,4 +1,4 @@
From 79aac49a3d3953b6e62b477bd488c3b7237a5aee Mon Sep 17 00:00:00 2001
From 31ffe0d9dfed05dd5524a91a6f0125c87f3d626c 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 89ec13fc5..465d58139 100644
index a22f1c99a..47e1c71f6 100644
--- a/src/defs.h
+++ b/src/defs.h
@@ -824,7 +824,7 @@ extern bool pathtrace_match_set(struct tcb *, struct path_set *,
@@ -838,7 +838,7 @@ extern bool pathtrace_match_set(struct tcb *, struct path_set *,
static inline void
pathtrace_select(const char *path)
{
@@ -21,5 +21,5 @@ index 89ec13fc5..465d58139 100644
static inline bool
--
2.44.0
2.49.0
@@ -1,4 +1,4 @@
From c154f9dfaaccabc52af12ccabc86e9d0c6c18ada Mon Sep 17 00:00:00 2001
From 1bd3c3baab04866e76014412c839e3f954485207 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 *`
@@ -6,10 +6,10 @@ Subject: [PATCH] Avoid pointer arithmetic on `void *`
---
src/netlink_smc_diag.c | 4 ++--
src/print_timespec.h | 6 ++++--
src/sockaddr.c | 4 ++--
src/sockaddr.c | 6 +++---
src/tee.c | 2 +-
src/ucopy.c | 12 ++++++------
5 files changed, 15 insertions(+), 13 deletions(-)
5 files changed, 16 insertions(+), 14 deletions(-)
diff --git a/src/netlink_smc_diag.c b/src/netlink_smc_diag.c
index 74e78b966..c3a28a839 100644
@@ -60,10 +60,19 @@ index dc5f9d10c..87f7ff973 100644
tprint_array_end();
diff --git a/src/sockaddr.c b/src/sockaddr.c
index ee1ce8828..c1f9b1740 100644
index 874821c60..98220288d 100644
--- a/src/sockaddr.c
+++ b/src/sockaddr.c
@@ -583,7 +583,7 @@ print_sockaddr_data_ll(struct tcb *tcp, const void *const buf,
@@ -605,7 +605,7 @@ print_sockaddr_data_tipc(struct tcb *tcp, const void *const buf,
tprint_struct_next();
tprints_field_name("addr");
- const void *const addr_buf = buf + offsetof(struct sockaddr_tipc, addr);
+ const void *const addr_buf = (char *)buf + offsetof(struct sockaddr_tipc, addr);
const int addr_len = sizeof(struct sockaddr_tipc) - offsetof(struct sockaddr_tipc, addr);
switch (sa->addrtype) {
@@ -657,7 +657,7 @@ print_sockaddr_data_tipc(struct tcb *tcp, const void *const buf,
static void
print_sockaddr_data_raw(const void *const buf, const int addrlen)
{
@@ -72,7 +81,7 @@ index ee1ce8828..c1f9b1740 100644
const int datalen = addrlen - SIZEOF_SA_FAMILY;
tprints_field_name("sa_data");
@@ -780,7 +780,7 @@ print_sockaddr_data_rxrpc(struct tcb *tcp, const void *const buf,
@@ -854,7 +854,7 @@ print_sockaddr_data_rxrpc(struct tcb *tcp, const void *const buf,
tprints_field_name("transport");
tprint_struct_begin();
@@ -82,10 +91,10 @@ index ee1ce8828..c1f9b1740 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 c62566800..1596a5095 100644
index 08754212a..dca390adb 100644
--- a/src/tee.c
+++ b/src/tee.c
@@ -69,7 +69,7 @@ tee_fetch_buf_data(struct tcb *const tcp,
@@ -56,7 +56,7 @@ tee_fetch_buf_data(struct tcb *const tcp,
tee_print_buf(buf);
return RVAL_IOCTL_DECODED;
}
@@ -148,5 +157,5 @@ index b4e746b0b..007b5373e 100644
}
--
2.44.0
2.49.0
@@ -1,33 +0,0 @@
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
This way we can include the second operand to the conditional
operator without evaluating the macro argument multiple times.
---
src/defs.h | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/src/defs.h b/src/defs.h
index ae1d1d1dc..bbd8f6748 100644
--- a/src/defs.h
+++ b/src/defs.h
@@ -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)
-extern const struct_sysent stub_sysent;
-# define tcp_sysent(tcp) (tcp->s_ent ?: &stub_sysent)
+static inline const struct_sysent *
+tcp_sysent(struct tcb *tcp)
+{
+ extern const struct_sysent stub_sysent;
+ return tcp->s_ent ? tcp->s_ent : &stub_sysent;
+}
# define n_args(tcp) (tcp_sysent(tcp)->nargs)
# include "xlat.h"
--
2.44.0
@@ -1,18 +1,32 @@
From e245f2d71d44d2a858517321a01d3ca71147042f Mon Sep 17 00:00:00 2001
From 2a87525db61778ad915273dea37a17ae88e7a1f1 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
---
src/open.c | 5 +++--
src/prctl.c | 8 ++++----
src/strace.c | 8 ++++----
src/strauss.c | 4 +++-
src/util.c | 2 +-
5 files changed, 15 insertions(+), 12 deletions(-)
src/defs.h | 2 +-
src/open.c | 5 +++--
src/prctl.c | 8 ++++----
src/strace.c | 10 +++++-----
src/strauss.c | 4 +++-
src/util.c | 4 ++--
6 files changed, 18 insertions(+), 15 deletions(-)
diff --git a/src/defs.h b/src/defs.h
index 47e1c71f6..cd63f9d35 100644
--- a/src/defs.h
+++ b/src/defs.h
@@ -404,7 +404,7 @@ struct tcb {
# define has_seccomp_filter(tcp) ((tcp)->flags & TCB_SECCOMP_FILTER)
extern const struct_sysent stub_sysent;
-# define tcp_sysent(tcp) (tcp->s_ent ?: &stub_sysent)
+# define tcp_sysent(tcp) (tcp->s_ent ? tcp->s_ent : &stub_sysent)
# define n_args(tcp) MIN(tcp_sysent(tcp)->nargs, MAX_ARGS)
# include "xlat.h"
diff --git a/src/open.c b/src/open.c
index 6356c5831..df59ea999 100644
index 00bb697d0..77e6b2d9a 100644
--- a/src/open.c
+++ b/src/open.c
@@ -88,8 +88,9 @@ sprint_open_modes64(uint64_t flags)
@@ -28,10 +42,10 @@ index 6356c5831..df59ea999 100644
const char *
diff --git a/src/prctl.c b/src/prctl.c
index dbabb3a18..712715b98 100644
index e4d6de888..89101e5cd 100644
--- a/src/prctl.c
+++ b/src/prctl.c
@@ -98,10 +98,10 @@ sprint_sve_val(kernel_ulong_t arg, bool aux)
@@ -99,10 +99,10 @@ sprint_sve_val(kernel_ulong_t arg, bool aux)
if (!aux && flags && xlat_verbose(xlat_verbosity) == XLAT_STYLE_VERBOSE)
{
xsprintf(out, "%#" PRI_klx " /* %s%s%#" PRI_klx " */",
@@ -44,7 +58,7 @@ index dbabb3a18..712715b98 100644
}
return out;
@@ -134,10 +134,10 @@ sprint_sme_val(kernel_ulong_t arg, bool aux)
@@ -135,10 +135,10 @@ sprint_sme_val(kernel_ulong_t arg, bool aux)
if (!aux && flags && xlat_verbose(xlat_verbosity) == XLAT_STYLE_VERBOSE)
{
xsprintf(out, "%#" PRI_klx " /* %s%s%#" PRI_klx " */",
@@ -58,10 +72,10 @@ index dbabb3a18..712715b98 100644
return out;
diff --git a/src/strace.c b/src/strace.c
index 1a9d53bc8..9ac16c8c3 100644
index ee80de0bc..74a09dc7a 100644
--- a/src/strace.c
+++ b/src/strace.c
@@ -2649,7 +2649,7 @@ init(int argc, char *argv[])
@@ -2636,7 +2636,7 @@ init(int argc, char *argv[])
break;
case GETOPT_TS:
tflag_long_set = true;
@@ -70,7 +84,7 @@ index 1a9d53bc8..9ac16c8c3 100644
error_opt_arg(c, lopt, optarg);
break;
case 'T':
@@ -2723,7 +2723,7 @@ init(int argc, char *argv[])
@@ -2710,7 +2710,7 @@ init(int argc, char *argv[])
error_opt_arg(c, lopt, optarg);
break;
case GETOPT_TIPS:
@@ -79,9 +93,13 @@ index 1a9d53bc8..9ac16c8c3 100644
error_opt_arg(c, lopt, optarg);
break;
case GETOPT_ARGV0:
@@ -2772,10 +2772,10 @@ init(int argc, char *argv[])
@@ -2759,13 +2759,13 @@ init(int argc, char *argv[])
qualify_kvm(optarg);
break;
case GETOPT_QUAL_NAMESPACE:
- qualify_namespace(optarg ?: namespace_qual);
+ qualify_namespace(optarg ? optarg : namespace_qual);
break;
case GETOPT_QUAL_QUIET:
- qualify_quiet(optarg ?: qflag_qual);
+ qualify_quiet(optarg ? optarg : qflag_qual);
@@ -117,7 +135,7 @@ index bec85021b..5d49f950a 100644
strauss[MIN(3 + i, strauss_lines - 1)]);
}
diff --git a/src/util.c b/src/util.c
index ada3ba76a..a88dd008d 100644
index 0d6d7da45..e6d6ee667 100644
--- a/src/util.c
+++ b/src/util.c
@@ -640,7 +640,7 @@ printsocket(struct tcb *tcp, int fd, const char *path)
@@ -129,6 +147,15 @@ index ada3ba76a..a88dd008d 100644
return true;
}
@@ -1394,7 +1394,7 @@ printpathn(struct tcb *const tcp, const kernel_ulong_t addr, unsigned int n)
if (nul_seen < 0)
printaddr(addr);
else {
- print_quoted_cstring(path, (unsigned int) nul_seen ?: n);
+ print_quoted_cstring(path, nul_seen ? (unsigned int) nul_seen : n);
if (nul_seen)
selinux_printfilecon(tcp, path);
--
2.44.0
2.49.0
@@ -0,0 +1,85 @@
From 8fbfd70d38e4dbff3c4ec6c9362ad7c765e5089f Mon Sep 17 00:00:00 2001
From: Michael Forney <mforney@mforney.org>
Date: Wed, 1 Apr 2026 23:28:49 -0700
Subject: [PATCH] Use ISO C alignment and attribute syntax
---
src/gcc_compat.h | 4 ++--
src/quota.c | 4 ++--
src/rtnl_link.c | 4 ++--
src/sockaddr.c | 4 ++--
4 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/src/gcc_compat.h b/src/gcc_compat.h
index 35291b747..7e576d35c 100644
--- a/src/gcc_compat.h
+++ b/src/gcc_compat.h
@@ -54,8 +54,8 @@
# define ATTRIBUTE_PACKED __attribute__((__packed__))
# else
# define ATTRIBUTE_FORMAT(args) /* empty */
-# define ATTRIBUTE_ALIGNED(arg) /* empty */
-# define ATTRIBUTE_PACKED /* empty */
+# define ATTRIBUTE_ALIGNED(arg) _Alignas(arg)
+# define ATTRIBUTE_PACKED [[gnu::packed]]
# endif
/*
diff --git a/src/quota.c b/src/quota.c
index c3aeda229..bf6ca186c 100644
--- a/src/quota.c
+++ b/src/quota.c
@@ -36,7 +36,7 @@
* leads to problems when it is used on 32-bit tracee which does not have such
* padding.
*/
-struct if_dqblk {
+struct ATTRIBUTE_PACKED if_dqblk {
uint64_t dqb_bhardlimit;
uint64_t dqb_bsoftlimit;
uint64_t dqb_curspace;
@@ -46,7 +46,7 @@ struct if_dqblk {
uint64_t dqb_btime;
uint64_t dqb_itime;
uint32_t dqb_valid;
-} ATTRIBUTE_PACKED;
+};
struct if_nextdqblk {
uint64_t dqb_bhardlimit;
diff --git a/src/rtnl_link.c b/src/rtnl_link.c
index acc244560..e345e87d3 100644
--- a/src/rtnl_link.c
+++ b/src/rtnl_link.c
@@ -926,10 +926,10 @@ decode_ifla_vf_guid(struct tcb *const tcp,
* aligned; trying to handle both possible attribute sizes.
*/
union {
- struct {
+ struct ATTRIBUTE_PACKED {
uint32_t vf;
uint64_t guid;
- } ATTRIBUTE_PACKED ivg_32;
+ } ivg_32;
struct {
uint32_t vf;
uint64_t ATTRIBUTE_ALIGNED(8) guid;
diff --git a/src/sockaddr.c b/src/sockaddr.c
index 98220288d..afa2fd6a8 100644
--- a/src/sockaddr.c
+++ b/src/sockaddr.c
@@ -757,9 +757,9 @@ print_sockaddr_data_bt(struct tcb *tcp, const void *const buf,
uint16_t hci_channel;
};
- struct bdaddr {
+ struct ATTRIBUTE_PACKED bdaddr {
uint8_t b[6];
- } ATTRIBUTE_PACKED;
+ };
struct sockaddr_sco {
/* sa_family_t */ uint16_t sco_family;
--
2.49.0
+1 -1
View File
@@ -1 +1 @@
c47da93be45b6055f4dc741d7f20efaf50ca10160a5b100c109b294fd9c0bdfe strace-6.12.tar.xz
e076c851eec0972486ec842164fdc54547f9d17abd3d1449de8b120f5d299143 strace-6.19.tar.xz
+1 -1
View File
@@ -1 +1 @@
url = "https://github.com/strace/strace/releases/download/v6.12/strace-6.12.tar.xz"
url = "https://github.com/strace/strace/releases/download/v6.19/strace-6.19.tar.xz"
+1 -1
View File
@@ -1 +1 @@
6.12 r0
6.19