diff --git a/backport-io_uring-Add-io_cqring_offset-flags.patch b/backport-io_uring-Add-io_cqring_offset-flags.patch deleted file mode 100644 index 13b25405d33aa7cc77c83ca1345995f196e33089..0000000000000000000000000000000000000000 --- a/backport-io_uring-Add-io_cqring_offset-flags.patch +++ /dev/null @@ -1,151 +0,0 @@ -From 592b915033de37322e19f3e6413de33317d272fe Mon Sep 17 00:00:00 2001 -From: Chris Packham -Date: Tue, 10 Nov 2020 10:02:26 +0800 -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. - -Signed-off-by: Dmitry V. Levin -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.in | 1 + - 5 files changed, 38 insertions(+), 10 deletions(-) - create mode 100644 xlat/uring_cqring_flags.in - -diff --git a/configure.ac b/configure.ac -index 7c4f929..958c097 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -475,6 +475,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 cd18345..7da371f 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_CQRING_OFFSETS - # ifdef HAVE_STRUCT_IO_CQRING_OFFSETS_RESV -@@ -103,10 +104,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 317b0d7..3d362b8 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\n", rc); - } -diff --git a/types/io_uring.h b/types/io_uring.h -index 76f432c..2fe1c13 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.in b/xlat/uring_cqring_flags.in -new file mode 100644 -index 0000000..c81fbc2 ---- /dev/null -+++ b/xlat/uring_cqring_flags.in -@@ -0,0 +1 @@ -+IORING_CQ_EVENTFD_DISABLED 1U --- -2.27.0 \ No newline at end of file diff --git a/backport-io_uring-Remove-struct-io_cqring_offsets-compile-tim.patch b/backport-io_uring-Remove-struct-io_cqring_offsets-compile-tim.patch deleted file mode 100644 index 309e2ce2358eb2834c0f4341739c91ee0ec5e536..0000000000000000000000000000000000000000 --- a/backport-io_uring-Remove-struct-io_cqring_offsets-compile-tim.patch +++ /dev/null @@ -1,46 +0,0 @@ -From fded17c15bca4150165f899cc47f67bab963d9a7 Mon Sep 17 00:00:00 2001 -From: Chris Packham -Date: Mon, 15 Jun 2020 22:01:25 +1200 -Subject: [PATCH 1/2] 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. -Signed-off-by: Chris Packham -Resolves: https://github.com/strace/strace/issues/143 ---- - io_uring.c | 15 --------------- - 1 file changed, 15 deletions(-) - -diff --git a/io_uring.c b/io_uring.c -index cd18345..cfeea82 100644 ---- a/io_uring.c -+++ b/io_uring.c -@@ -18,21 +18,6 @@ - #include "xlat/uring_register_opcodes.h" - #include "xlat/uring_cqring_flags.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) --- -1.8.3.1 - diff --git a/backport-uring-fix-build-against-5.8-libc-headers.patch b/backport-uring-fix-build-against-5.8-libc-headers.patch deleted file mode 100644 index bc4aa6ac69e2e8b475f3c3d47a7957e7179c4ea9..0000000000000000000000000000000000000000 --- a/backport-uring-fix-build-against-5.8-libc-headers.patch +++ /dev/null @@ -1,99 +0,0 @@ -From 8dda6b8ddbe18b6bb83cf1fa6bc71ebdc82e1b72 Mon Sep 17 00:00:00 2001 -From: Bruce Ashfield -Date: Tue, 10 Nov 2020 10:53:58 +0800 -Subject: [PATCH] uring: fix build against 5.8 libc-headers - -To get strace building against v5.8 headers before the next -version of strace is released, we need to copy in a bootstrapped -file from the latest git (xlat/uring_cqring_flags.h) and remove -remove unnecessary asserts for v5.8+ (in a similar manner to the -main strace repository). - -Upstream-status: inappropriate. oe specific (upstream builds bootstrap) - -Signed-off-by: Bruce Ashfield -https://patchwork.openembedded.org/patch/175096/ ---- - types/check-io_uring.c | 10 -------- - xlat/uring_cqring_flags.h | 48 +++++++++++++++++++++++++++++++++++++++ - 2 files changed, 48 insertions(+), 10 deletions(-) - create mode 100644 xlat/uring_cqring_flags.h - -diff --git a/types/check-io_uring.c b/types/check-io_uring.c -index dc21569..d5bd4b1 100644 ---- a/types/check-io_uring.c -+++ b/types/check-io_uring.c -@@ -13,16 +13,6 @@ static_assert(sizeof(struct io_sqring_offsets) <= offsetof(struct_io_sqring_offs - # endif /* HAVE_STRUCT_IO_SQRING_OFFSETS_RESV2 */ - #endif /* HAVE_STRUCT_IO_SQRING_OFFSETS */ - --#ifdef HAVE_STRUCT_IO_CQRING_OFFSETS --# ifdef HAVE_STRUCT_IO_CQRING_OFFSETS_RESV --static_assert(sizeof(struct io_cqring_offsets) == sizeof(struct_io_cqring_offsets), -- "struct io_cqring_offsets size mismatch, please update the decoder or fix the kernel"); --# else --static_assert(sizeof(struct io_cqring_offsets) <= offsetof(struct_io_cqring_offsets, resv), --"struct io_cqring_offsets size mismatch, please update the decoder or fix the kernel"); --# endif /* HAVE_STRUCT_IO_CQRING_OFFSETS_RESV */ --#endif /* HAVE_STRUCT_IO_CQRING_OFFSETS */ -- - #ifdef HAVE_STRUCT_IO_URING_PARAMS - # ifdef HAVE_STRUCT_IO_URING_PARAMS_CQ_OFF - static_assert(sizeof(struct io_uring_params) == sizeof(struct_io_uring_params), -diff --git a/xlat/uring_cqring_flags.h b/xlat/uring_cqring_flags.h -new file mode 100644 -index 0000000..0352749 ---- /dev/null -+++ b/xlat/uring_cqring_flags.h -@@ -0,0 +1,48 @@ -+/* Generated by ./xlat/gen.sh from ./xlat/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 */ --- -2.27.0 - diff --git a/strace-5.10.tar.xz b/strace-5.10.tar.xz new file mode 100644 index 0000000000000000000000000000000000000000..4d3c29e49fd094435d208f72998d67509c494707 Binary files /dev/null and b/strace-5.10.tar.xz differ diff --git a/strace-5.6.tar.xz b/strace-5.6.tar.xz deleted file mode 100644 index edb16497561d67d3354cca22c05b28bf94608829..0000000000000000000000000000000000000000 Binary files a/strace-5.6.tar.xz and /dev/null differ diff --git a/strace.spec b/strace.spec index 746c78487cb60f0742e7285aa5415402afccbf14..b4d0c481e25af606185bb613271c2a6666187d4d 100644 --- a/strace.spec +++ b/strace.spec @@ -2,8 +2,8 @@ # This spec file is from upstream. Summary: Tracks and displays system calls associated with a running process Name: strace -Version: 5.6 -Release: 2 +Version: 5.10 +Release: 1 # The test suite is GPLv2+, all the rest is LGPLv2.1+. License: LGPL-2.1+ and GPL-2.0+ # Some distros require Group tag to be present, @@ -19,9 +19,6 @@ Source: strace-%{version}.tar.gz %endif BuildRequires: gcc gzip -Patch0: backport-io_uring-Add-io_cqring_offset-flags.patch -Patch1: backport-io_uring-Remove-struct-io_cqring_offsets-compile-tim.patch -Patch2: backport-uring-fix-build-against-5.8-libc-headers.patch # Install Bluetooth headers for AF_BLUETOOTH sockets decoding. %if 0%{?fedora} >= 18 || 0%{?centos} >= 6 || 0%{?rhel} >= 8 || 0%{?suse_version} >= 1200 || 0%{?openEuler} >= 1 BuildRequires: pkgconfig(bluez) @@ -104,6 +101,9 @@ wait %{_mandir}/man1/* %changelog +* Mon Feb 1 2021 xinghe - 5.10-1 +- update to 5.10 + * Thu Nov 10 2020 xinghe - 5.6-2 - fix master build error