diff --git a/.gitignore b/.gitignore
index 137831d..a2c5d2d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1 @@
-SOURCES/strace-5.7.tar.xz
+SOURCES/strace-5.13.tar.xz
diff --git a/.strace.metadata b/.strace.metadata
index cce1af2..4c2d4b4 100644
--- a/.strace.metadata
+++ b/.strace.metadata
@@ -1 +1 @@
-95c9d5aa664982d53ce1e5ab058d8fb73e200f0c SOURCES/strace-5.7.tar.xz
+0f48c474de7d34009d3455f589efe790d24050b5 SOURCES/strace-5.13.tar.xz
diff --git a/SOURCES/0113-io_uring-Remove-struct-io_cqring_offsets-compile-tim.patch b/SOURCES/0113-io_uring-Remove-struct-io_cqring_offsets-compile-tim.patch
deleted file mode 100644
index 5040cd6..0000000
--- a/SOURCES/0113-io_uring-Remove-struct-io_cqring_offsets-compile-tim.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From ff85f882bbd8a399e036b8465520d1ff0867f4f1 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 113/115] 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 ac1807b..fd83313 100644
---- a/io_uring.c
-+++ b/io_uring.c
-@@ -17,21 +17,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.1.4
-
diff --git a/SOURCES/0114-io_uring-Add-io_cqring_offset-flags.patch b/SOURCES/0114-io_uring-Add-io_cqring_offset-flags.patch
deleted file mode 100644
index fc37a3f..0000000
--- a/SOURCES/0114-io_uring-Add-io_cqring_offset-flags.patch
+++ /dev/null
@@ -1,383 +0,0 @@
-From c51b292b237214ccfcae5a84085f8d0a7e85c8ba 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 114/115] 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.in |  1 +
- 5 files changed, 38 insertions(+), 10 deletions(-)
- create mode 100644 xlat/uring_cqring_flags.in
-
-Index: strace-5.7/configure.ac
-===================================================================
---- strace-5.7.orig/configure.ac	2020-11-09 04:39:07.197892960 +0100
-+++ strace-5.7/configure.ac	2020-11-09 04:39:14.943826575 +0100
-@@ -481,6 +481,7 @@
- 
- 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
-Index: strace-5.7/io_uring.c
-===================================================================
---- strace-5.7.orig/io_uring.c	2020-11-09 04:39:07.197892960 +0100
-+++ strace-5.7/io_uring.c	2020-11-09 04:39:14.943826575 +0100
-@@ -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 @@
- 		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("}");
-Index: strace-5.7/tests/io_uring_setup.c
-===================================================================
---- strace-5.7.orig/tests/io_uring_setup.c	2020-11-09 04:39:07.197892960 +0100
-+++ strace-5.7/tests/io_uring_setup.c	2020-11-09 04:39:14.943826575 +0100
-@@ -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 @@
- 						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);
- 		}
-Index: strace-5.7/types/io_uring.h
-===================================================================
---- strace-5.7.orig/types/io_uring.h	2020-11-09 04:39:07.198892952 +0100
-+++ strace-5.7/types/io_uring.h	2020-11-09 04:39:14.944826567 +0100
-@@ -31,7 +31,9 @@
- 	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 {
-Index: strace-5.7/xlat/uring_cqring_flags.in
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/xlat/uring_cqring_flags.in	2020-11-09 04:39:14.944826567 +0100
-@@ -0,0 +1 @@
-+IORING_CQ_EVENTFD_DISABLED	1U
-Index: strace-5.7/Makefile.in
-===================================================================
---- strace-5.7.orig/Makefile.in	2020-11-09 04:39:07.201892926 +0100
-+++ strace-5.7/Makefile.in	2020-11-09 04:42:54.519945367 +0100
-@@ -1506,10 +1506,10 @@
- 	xlat/uffd_register_mode_flags.in xlat/uffd_zeropage_flags.in \
- 	xlat/umount_flags.in xlat/unix_diag_attrs.in \
- 	xlat/unix_diag_show.in xlat/unshare_flags.in \
--	xlat/uring_enter_flags.in xlat/uring_op_flags.in \
--	xlat/uring_ops.in xlat/uring_register_opcodes.in \
--	xlat/uring_setup_features.in xlat/uring_setup_flags.in \
--	xlat/usagewho.in xlat/v4l2_buf_flags.in \
-+	xlat/uring_cqring_flags.in xlat/uring_enter_flags.in \
-+	xlat/uring_op_flags.in xlat/uring_ops.in \
-+	xlat/uring_register_opcodes.in xlat/uring_setup_features.in \
-+	xlat/uring_setup_flags.in xlat/usagewho.in xlat/v4l2_buf_flags.in \
- 	xlat/v4l2_buf_flags_masks.in xlat/v4l2_buf_flags_ts_src.in \
- 	xlat/v4l2_buf_flags_ts_type.in xlat/v4l2_buf_types.in \
- 	xlat/v4l2_capture_modes.in xlat/v4l2_colorspaces.in \
-@@ -1755,10 +1755,10 @@
- 	xlat/uffd_register_mode_flags.h xlat/uffd_zeropage_flags.h \
- 	xlat/umount_flags.h xlat/unix_diag_attrs.h \
- 	xlat/unix_diag_show.h xlat/unshare_flags.h \
--	xlat/uring_enter_flags.h xlat/uring_op_flags.h \
--	xlat/uring_ops.h xlat/uring_register_opcodes.h \
--	xlat/uring_setup_features.h xlat/uring_setup_flags.h \
--	xlat/usagewho.h xlat/v4l2_buf_flags.h \
-+	xlat/uring_cqring_flags.h xlat/uring_enter_flags.h \
-+	xlat/uring_op_flags.h xlat/uring_ops.h \
-+	xlat/uring_register_opcodes.h xlat/uring_setup_features.h \
-+	xlat/uring_setup_flags.h xlat/usagewho.h xlat/v4l2_buf_flags.h \
- 	xlat/v4l2_buf_flags_masks.h xlat/v4l2_buf_flags_ts_src.h \
- 	xlat/v4l2_buf_flags_ts_type.h xlat/v4l2_buf_types.h \
- 	xlat/v4l2_capture_modes.h xlat/v4l2_colorspaces.h \
-@@ -9974,6 +9974,8 @@
- 	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
- $(top_srcdir)/xlat/unshare_flags.h: $(top_srcdir)/xlat/unshare_flags.in $(top_srcdir)/xlat/gen.sh
- 	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
-+$(top_srcdir)/xlat/uring_cqring_flags.h: $(top_srcdir)/xlat/uring_cqring_flags.in $(top_srcdir)/xlat/gen.sh
-+	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
- $(top_srcdir)/xlat/uring_enter_flags.h: $(top_srcdir)/xlat/uring_enter_flags.in $(top_srcdir)/xlat/gen.sh
- 	$(AM_V_GEN)$(top_srcdir)/xlat/gen.sh $< $@
- $(top_srcdir)/xlat/uring_op_flags.h: $(top_srcdir)/xlat/uring_op_flags.in $(top_srcdir)/xlat/gen.sh
-Index: strace-5.7/configure
-===================================================================
---- strace-5.7.orig/configure	2020-11-09 04:39:07.205892892 +0100
-+++ strace-5.7/configure	2020-11-09 05:07:10.675485410 +0100
-@@ -12580,7 +12580,17 @@
- #define HAVE_LINUX_IO_URING_H 1
- _ACEOF
- 
--	ac_fn_c_check_member "$LINENO" "struct io_uring_params" "features" "ac_cv_member_struct_io_uring_params_features" "#include <linux/io_uring.h>
-+	ac_fn_c_check_member "$LINENO" "struct io_cqring_offsets" "flags" "ac_cv_member_struct_io_cqring_offsets_flags" "#include <linux/io_uring.h>
-+"
-+if test "x$ac_cv_member_struct_io_cqring_offsets_flags" = xyes; then :
-+
-+cat >>confdefs.h <<_ACEOF
-+#define HAVE_STRUCT_IO_CQRING_OFFSETS_FLAGS 1
-+_ACEOF
-+
-+
-+fi
-+ac_fn_c_check_member "$LINENO" "struct io_uring_params" "features" "ac_cv_member_struct_io_uring_params_features" "#include <linux/io_uring.h>
- "
- if test "x$ac_cv_member_struct_io_uring_params_features" = xyes; then :
- 
-Index: strace-5.7/tests-m32/io_uring_setup.c
-===================================================================
---- strace-5.7.orig/tests-m32/io_uring_setup.c	2020-11-09 04:39:07.206892883 +0100
-+++ strace-5.7/tests-m32/io_uring_setup.c	2020-11-09 04:39:14.951826507 +0100
-@@ -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 @@
- 						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);
- 		}
-Index: strace-5.7/tests-mx32/io_uring_setup.c
-===================================================================
---- strace-5.7.orig/tests-mx32/io_uring_setup.c	2020-11-09 04:39:07.206892883 +0100
-+++ strace-5.7/tests-mx32/io_uring_setup.c	2020-11-09 04:39:14.951826507 +0100
-@@ -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 @@
- 						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);
- 		}
-Index: strace-5.7/xlat/uring_cqring_flags.h
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/xlat/uring_cqring_flags.h	2020-11-09 05:07:27.046345327 +0100
-@@ -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 */
diff --git a/SOURCES/0115-xlat-update-IORING_-constants.patch b/SOURCES/0115-xlat-update-IORING_-constants.patch
deleted file mode 100644
index 34b14d1..0000000
--- a/SOURCES/0115-xlat-update-IORING_-constants.patch
+++ /dev/null
@@ -1,217 +0,0 @@
-From dd6b70f5d4db14b432f424071d262e87fa944c96 Mon Sep 17 00:00:00 2001
-From: "Dmitry V. Levin" <ldv@altlinux.org>
-Date: Sun, 28 Jun 2020 08:00:00 +0000
-Subject: [PATCH 115/115] xlat: update IORING_* constants
-
-* xlat/uring_ops.in (IORING_OP_TEE): New constant introduced by Linux
-kernel commit v5.8-rc1~190^2~14.
-* tests/io_uring_register.c: Update expected output.
----
- tests/io_uring_register.c | 12 ++++++------
- xlat/uring_ops.in         |  1 +
- 2 files changed, 7 insertions(+), 6 deletions(-)
-
-Index: strace-5.7/tests/io_uring_register.c
-===================================================================
---- strace-5.7.orig/tests/io_uring_register.c	2020-11-09 04:44:38.311057254 +0100
-+++ strace-5.7/tests/io_uring_register.c	2020-11-09 04:44:40.445038991 +0100
-@@ -225,12 +225,12 @@
- 	probe->ops[0].flags = 0;
- 	probe->ops[0].resv2 = 0xbeefface;
- 
--	probe->ops[1].op = 32;
-+	probe->ops[1].op = 33;
- 	probe->ops[1].resv = 0;
- 	probe->ops[1].flags = IO_URING_OP_SUPPORTED;
- 	probe->ops[1].resv2 = 0xdeadc0de;
- 
--	probe->ops[2].op = 33;
-+	probe->ops[2].op = 34;
- 	probe->ops[2].resv = 0xaf;
- 	probe->ops[2].flags = 0xbeef;
- 	probe->ops[2].resv2 = 0;
-@@ -245,22 +245,22 @@
- 	       ", {last_op=IORING_OP_EPOLL_CTL, ops_len=%hhu"
- 	       ", resv2=[0, %#x, 0], ops=["
- 	       "{op=IORING_OP_NOP, resv=0xde, flags=0, resv2=0xbeefface}, "
--	       "{op=IORING_OP_REMOVE_BUFFERS, flags=IO_URING_OP_SUPPORTED"
-+	       "{op=IORING_OP_TEE, flags=IO_URING_OP_SUPPORTED"
- 	       ", resv2=0xdeadc0de}, "
--	       "{op=33 /* IORING_OP_??? */, resv=0xaf"
-+	       "{op=34 /* IORING_OP_??? */, resv=0xaf"
- 	       ", flags=IO_URING_OP_SUPPORTED|0xbeee}, "
- 	       "{op=254 /* IORING_OP_??? */"
- 	       ", flags=0xc0de /* IO_URING_OP_??? */}]}, 4) = %s\n",
- 	       fd_null, path_null, probe->ops_len, probe->resv2[1], errstr);
- 
--	probe->last_op = 33;
-+	probe->last_op = 34;
- 	probe->resv2[1] = 0;
- 	fill_memory_ex(probe->ops, sizeof(probe->ops[0]) * (DEFAULT_STRLEN + 1),
- 		    0x40, 0x80);
- 	sys_io_uring_register(fd_null, IORING_REGISTER_PROBE, probe,
- 			      DEFAULT_STRLEN + 1);
- 	printf("io_uring_register(%u<%s>, IORING_REGISTER_PROBE"
--	       ", {last_op=33 /* IORING_OP_??? */, ops_len=%hhu, ops=[",
-+	       ", {last_op=34 /* IORING_OP_??? */, ops_len=%hhu, ops=[",
- 	       fd_null, path_null, probe->ops_len);
- 	for (size_t i = 0; i < DEFAULT_STRLEN; i++) {
- 		printf("%s{op=%u /* IORING_OP_??? */, resv=%#hhx"
-Index: strace-5.7/xlat/uring_ops.in
-===================================================================
---- strace-5.7.orig/xlat/uring_ops.in	2020-11-09 04:44:38.311057254 +0100
-+++ strace-5.7/xlat/uring_ops.in	2020-11-09 04:44:40.445038991 +0100
-@@ -32,3 +32,4 @@
- IORING_OP_SPLICE		30
- IORING_OP_PROVIDE_BUFFERS	31
- IORING_OP_REMOVE_BUFFERS	32
-+IORING_OP_TEE			33
-Index: strace-5.7/tests-m32/io_uring_register.c
-===================================================================
---- strace-5.7.orig/tests-m32/io_uring_register.c	2020-11-09 04:44:38.312057246 +0100
-+++ strace-5.7/tests-m32/io_uring_register.c	2020-11-09 04:44:40.445038991 +0100
-@@ -225,12 +225,12 @@
- 	probe->ops[0].flags = 0;
- 	probe->ops[0].resv2 = 0xbeefface;
- 
--	probe->ops[1].op = 32;
-+	probe->ops[1].op = 33;
- 	probe->ops[1].resv = 0;
- 	probe->ops[1].flags = IO_URING_OP_SUPPORTED;
- 	probe->ops[1].resv2 = 0xdeadc0de;
- 
--	probe->ops[2].op = 33;
-+	probe->ops[2].op = 34;
- 	probe->ops[2].resv = 0xaf;
- 	probe->ops[2].flags = 0xbeef;
- 	probe->ops[2].resv2 = 0;
-@@ -245,22 +245,22 @@
- 	       ", {last_op=IORING_OP_EPOLL_CTL, ops_len=%hhu"
- 	       ", resv2=[0, %#x, 0], ops=["
- 	       "{op=IORING_OP_NOP, resv=0xde, flags=0, resv2=0xbeefface}, "
--	       "{op=IORING_OP_REMOVE_BUFFERS, flags=IO_URING_OP_SUPPORTED"
-+	       "{op=IORING_OP_TEE, flags=IO_URING_OP_SUPPORTED"
- 	       ", resv2=0xdeadc0de}, "
--	       "{op=33 /* IORING_OP_??? */, resv=0xaf"
-+	       "{op=34 /* IORING_OP_??? */, resv=0xaf"
- 	       ", flags=IO_URING_OP_SUPPORTED|0xbeee}, "
- 	       "{op=254 /* IORING_OP_??? */"
- 	       ", flags=0xc0de /* IO_URING_OP_??? */}]}, 4) = %s\n",
- 	       fd_null, path_null, probe->ops_len, probe->resv2[1], errstr);
- 
--	probe->last_op = 33;
-+	probe->last_op = 34;
- 	probe->resv2[1] = 0;
- 	fill_memory_ex(probe->ops, sizeof(probe->ops[0]) * (DEFAULT_STRLEN + 1),
- 		    0x40, 0x80);
- 	sys_io_uring_register(fd_null, IORING_REGISTER_PROBE, probe,
- 			      DEFAULT_STRLEN + 1);
- 	printf("io_uring_register(%u<%s>, IORING_REGISTER_PROBE"
--	       ", {last_op=33 /* IORING_OP_??? */, ops_len=%hhu, ops=[",
-+	       ", {last_op=34 /* IORING_OP_??? */, ops_len=%hhu, ops=[",
- 	       fd_null, path_null, probe->ops_len);
- 	for (size_t i = 0; i < DEFAULT_STRLEN; i++) {
- 		printf("%s{op=%u /* IORING_OP_??? */, resv=%#hhx"
-Index: strace-5.7/tests-mx32/io_uring_register.c
-===================================================================
---- strace-5.7.orig/tests-mx32/io_uring_register.c	2020-11-09 04:44:38.312057246 +0100
-+++ strace-5.7/tests-mx32/io_uring_register.c	2020-11-09 04:44:40.446038982 +0100
-@@ -225,12 +225,12 @@
- 	probe->ops[0].flags = 0;
- 	probe->ops[0].resv2 = 0xbeefface;
- 
--	probe->ops[1].op = 32;
-+	probe->ops[1].op = 33;
- 	probe->ops[1].resv = 0;
- 	probe->ops[1].flags = IO_URING_OP_SUPPORTED;
- 	probe->ops[1].resv2 = 0xdeadc0de;
- 
--	probe->ops[2].op = 33;
-+	probe->ops[2].op = 34;
- 	probe->ops[2].resv = 0xaf;
- 	probe->ops[2].flags = 0xbeef;
- 	probe->ops[2].resv2 = 0;
-@@ -245,22 +245,22 @@
- 	       ", {last_op=IORING_OP_EPOLL_CTL, ops_len=%hhu"
- 	       ", resv2=[0, %#x, 0], ops=["
- 	       "{op=IORING_OP_NOP, resv=0xde, flags=0, resv2=0xbeefface}, "
--	       "{op=IORING_OP_REMOVE_BUFFERS, flags=IO_URING_OP_SUPPORTED"
-+	       "{op=IORING_OP_TEE, flags=IO_URING_OP_SUPPORTED"
- 	       ", resv2=0xdeadc0de}, "
--	       "{op=33 /* IORING_OP_??? */, resv=0xaf"
-+	       "{op=34 /* IORING_OP_??? */, resv=0xaf"
- 	       ", flags=IO_URING_OP_SUPPORTED|0xbeee}, "
- 	       "{op=254 /* IORING_OP_??? */"
- 	       ", flags=0xc0de /* IO_URING_OP_??? */}]}, 4) = %s\n",
- 	       fd_null, path_null, probe->ops_len, probe->resv2[1], errstr);
- 
--	probe->last_op = 33;
-+	probe->last_op = 34;
- 	probe->resv2[1] = 0;
- 	fill_memory_ex(probe->ops, sizeof(probe->ops[0]) * (DEFAULT_STRLEN + 1),
- 		    0x40, 0x80);
- 	sys_io_uring_register(fd_null, IORING_REGISTER_PROBE, probe,
- 			      DEFAULT_STRLEN + 1);
- 	printf("io_uring_register(%u<%s>, IORING_REGISTER_PROBE"
--	       ", {last_op=33 /* IORING_OP_??? */, ops_len=%hhu, ops=[",
-+	       ", {last_op=34 /* IORING_OP_??? */, ops_len=%hhu, ops=[",
- 	       fd_null, path_null, probe->ops_len);
- 	for (size_t i = 0; i < DEFAULT_STRLEN; i++) {
- 		printf("%s{op=%u /* IORING_OP_??? */, resv=%#hhx"
-Index: strace-5.7/xlat/uring_ops.h
-===================================================================
---- strace-5.7.orig/xlat/uring_ops.h	2020-11-09 04:44:38.313057237 +0100
-+++ strace-5.7/xlat/uring_ops.h	2020-11-09 04:47:01.835829135 +0100
-@@ -234,6 +234,13 @@
- #else
- # define IORING_OP_REMOVE_BUFFERS 32
- #endif
-+#if defined(IORING_OP_TEE) || (defined(HAVE_DECL_IORING_OP_TEE) && HAVE_DECL_IORING_OP_TEE)
-+DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
-+static_assert((IORING_OP_TEE) == (33), "IORING_OP_TEE != 33");
-+DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
-+#else
-+# define IORING_OP_TEE 33
-+#endif
- 
- #ifndef XLAT_MACROS_ONLY
- 
-@@ -343,6 +350,9 @@
-  [IORING_OP_REMOVE_BUFFERS] = XLAT(IORING_OP_REMOVE_BUFFERS),
-  #define XLAT_VAL_32 ((unsigned) (IORING_OP_REMOVE_BUFFERS))
-  #define XLAT_STR_32 STRINGIFY(IORING_OP_REMOVE_BUFFERS)
-+ [IORING_OP_TEE] = XLAT(IORING_OP_TEE),
-+ #define XLAT_VAL_33 ((unsigned) (IORING_OP_TEE))
-+ #define XLAT_STR_33 STRINGIFY(IORING_OP_TEE)
- };
- static
- const struct xlat uring_ops[1] = { {
-@@ -449,6 +459,9 @@
- #  ifdef XLAT_VAL_32
-   | XLAT_VAL_32
- #  endif
-+#  ifdef XLAT_VAL_33
-+  | XLAT_VAL_33
-+#  endif
-   ,
-  .flags_strsz = 0
- #  ifdef XLAT_STR_0
-@@ -550,6 +563,9 @@
- #  ifdef XLAT_STR_32
-   + sizeof(XLAT_STR_32)
- #  endif
-+#  ifdef XLAT_STR_33
-+  + sizeof(XLAT_STR_33)
-+#  endif
-   ,
- } };
- 
-@@ -619,6 +635,8 @@
- #  undef XLAT_VAL_31
- #  undef XLAT_STR_32
- #  undef XLAT_VAL_32
-+#  undef XLAT_STR_33
-+#  undef XLAT_VAL_33
- # endif /* !IN_MPERS */
- 
- #endif /* !XLAT_MACROS_ONLY */
diff --git a/SOURCES/0118-types-skip-field-lines-that-start-with-comments.patch b/SOURCES/0118-types-skip-field-lines-that-start-with-comments.patch
deleted file mode 100644
index b9a37cd..0000000
--- a/SOURCES/0118-types-skip-field-lines-that-start-with-comments.patch
+++ /dev/null
@@ -1,84 +0,0 @@
-From b0a361c0a9095b396ff7100203c767ec9ffd2cfa Mon Sep 17 00:00:00 2001
-From: "Dmitry V. Levin" <ldv@altlinux.org>
-Date: Tue, 16 Jun 2020 08:00:00 +0000
-Subject: [PATCH] types: skip field lines that start with comments
-
-This allows to exclude certain fields from type checks by placing
-comments at the beginning of the corresponding lines.
-
-* types/find_last_type_fields.awk: Skip lines starting with spaces
-followed by "/".
----
- types/find_last_type_fields.awk | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-Index: strace-5.7/types/find_last_type_fields.awk
-===================================================================
---- strace-5.7.orig/types/find_last_type_fields.awk	2020-01-21 19:02:38.000000000 +0100
-+++ strace-5.7/types/find_last_type_fields.awk	2020-11-09 04:47:06.976785148 +0100
-@@ -17,7 +17,7 @@
- 		print a[1] "." last_field
- 		next
- 	}
--	if (match($0, /^[[:space:]]+[^];:[]+[[:space:]]+([^][:space:];:[]+)(\[[^];:[]*\])?;.*$/, a)) {
-+	if (match($0, /^[[:space:]]+[^];[:space:]:\/[][^];:[]*[[:space:]]+([^][:space:];:[]+)(\[[^];:[]*\])?;.*$/, a)) {
- 		last_field = a[1]
- 		next
- 	}
-Index: strace-5.7/types/check-io_uring.c
-===================================================================
---- strace-5.7.orig/types/check-io_uring.c	2020-11-09 04:47:06.977785139 +0100
-+++ strace-5.7/types/check-io_uring.c	2020-11-09 04:49:10.033732186 +0100
-@@ -14,13 +14,13 @@
- #endif /* HAVE_STRUCT_IO_SQRING_OFFSETS */
- 
- #ifdef HAVE_STRUCT_IO_CQRING_OFFSETS
--# ifdef HAVE_STRUCT_IO_CQRING_OFFSETS_RESV
-+# ifdef HAVE_STRUCT_IO_CQRING_OFFSETS_CQES
- 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),
-+static_assert(sizeof(struct io_cqring_offsets) <= offsetof(struct_io_cqring_offsets, cqes),
- "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_CQES */
- #endif /* HAVE_STRUCT_IO_CQRING_OFFSETS */
- 
- #ifdef HAVE_STRUCT_IO_URING_PARAMS
-Index: strace-5.7/config.h.in
-===================================================================
---- strace-5.7.orig/config.h.in	2020-11-09 04:47:06.980785114 +0100
-+++ strace-5.7/config.h.in	2020-11-09 04:50:11.871203054 +0100
-@@ -2596,8 +2596,8 @@
- /* Define to 1 if the system has the type `struct io_cqring_offsets'. */
- #undef HAVE_STRUCT_IO_CQRING_OFFSETS
- 
--/* Define to 1 if `resv' is a member of `struct io_cqring_offsets'. */
--#undef HAVE_STRUCT_IO_CQRING_OFFSETS_RESV
-+/* Define to 1 if `cqes' is a member of `struct io_cqring_offsets'. */
-+#undef HAVE_STRUCT_IO_CQRING_OFFSETS_CQES
- 
- /* Define to 1 if the system has the type `struct io_sqring_offsets'. */
- #undef HAVE_STRUCT_IO_SQRING_OFFSETS
-Index: strace-5.7/configure
-===================================================================
---- strace-5.7.orig/configure	2020-11-09 04:47:06.988785045 +0100
-+++ strace-5.7/configure	2020-11-09 04:51:12.500684263 +0100
-@@ -13475,13 +13475,13 @@
- #define HAVE_STRUCT_IO_CQRING_OFFSETS 1
- _ACEOF
- 
--ac_fn_c_check_member "$LINENO" "struct io_cqring_offsets" "resv" "ac_cv_member_struct_io_cqring_offsets_resv" "$ac_includes_default
-+ac_fn_c_check_member "$LINENO" "struct io_cqring_offsets" "cqes" "ac_cv_member_struct_io_cqring_offsets_cqes" "$ac_includes_default
- #include <linux/io_uring.h>
- "
--if test "x$ac_cv_member_struct_io_cqring_offsets_resv" = xyes; then :
-+if test "x$ac_cv_member_struct_io_cqring_offsets_cqes" = xyes; then :
- 
- cat >>confdefs.h <<_ACEOF
--#define HAVE_STRUCT_IO_CQRING_OFFSETS_RESV 1
-+#define HAVE_STRUCT_IO_CQRING_OFFSETS_CQES 1
- _ACEOF
- 
- 
diff --git a/SOURCES/0119-print_fields.h-add-PRINT_FIELD_LEN-macro.patch b/SOURCES/0119-print_fields.h-add-PRINT_FIELD_LEN-macro.patch
deleted file mode 100644
index c955bde..0000000
--- a/SOURCES/0119-print_fields.h-add-PRINT_FIELD_LEN-macro.patch
+++ /dev/null
@@ -1,155 +0,0 @@
-From 8806a21b612d76c8732d0df2ebaf52b62166ce51 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?=C3=81kos=20Uzonyi?= <uzonyi.akos@gmail.com>
-Date: Sat, 13 Jun 2020 18:18:31 +0200
-Subject: [PATCH 119/138] print_fields.h: add PRINT_FIELD_LEN macro
-
-* print_fields.h (PRINT_FIELD_LEN): New macro.
-* net.c: (print_get_linger, print_get_ucred, print_tpacket_stats):
-Rewrite using PRINT_FIELD_LEN.
----
- net.c          | 90 ++++++----------------------------------------------------
- print_fields.h | 15 ++++++++++
- 2 files changed, 23 insertions(+), 82 deletions(-)
-
-diff --git a/net.c b/net.c
-index a58fa92..9ea34b2 100644
---- a/net.c
-+++ b/net.c
-@@ -579,24 +579,8 @@ print_get_linger(struct tcb *const tcp, const kernel_ulong_t addr,
- 	if (umoven_or_printaddr(tcp, addr, len, &linger))
- 		return;
- 
--	if (len < sizeof(linger.l_onoff)) {
--		tprints("{l_onoff=");
--		print_quoted_string((void *) &linger.l_onoff,
--				    len, QUOTE_FORCE_HEX);
--	} else {
--		PRINT_FIELD_D("{", linger, l_onoff);
--
--		if (len > offsetof(struct linger, l_linger)) {
--			len -= offsetof(struct linger, l_linger);
--			if (len < sizeof(linger.l_linger)) {
--				tprints(", l_linger=");
--				print_quoted_string((void *) &linger.l_linger,
--						    len, QUOTE_FORCE_HEX);
--			} else {
--				PRINT_FIELD_D(", ", linger, l_linger);
--			}
--		}
--	}
-+	PRINT_FIELD_LEN("{", linger, l_onoff, len, PRINT_FIELD_D);
-+	PRINT_FIELD_LEN(", ", linger, l_linger, len, PRINT_FIELD_D);
- 	tprints("}");
- }
- 
-@@ -617,38 +601,9 @@ print_get_ucred(struct tcb *const tcp, const kernel_ulong_t addr,
- 	if (umoven_or_printaddr(tcp, addr, len, &uc))
- 		return;
- 
--	if (len < sizeof(uc.pid)) {
--		tprints("{pid=");
--		print_quoted_string((void *) &uc.pid,
--				    len, QUOTE_FORCE_HEX);
--	} else {
--		PRINT_FIELD_D("{", uc, pid);
--
--		if (len > offsetof(struct ucred, uid)) {
--			len -= offsetof(struct ucred, uid);
--			if (len < sizeof(uc.uid)) {
--				tprints(", uid=");
--				print_quoted_string((void *) &uc.uid,
--						    len, QUOTE_FORCE_HEX);
--			} else {
--				PRINT_FIELD_UID(", ", uc, uid);
--
--				if (len > offsetof(struct ucred, gid) -
--					  offsetof(struct ucred, uid)) {
--					len -= offsetof(struct ucred, gid) -
--					       offsetof(struct ucred, uid);
--					if (len < sizeof(uc.gid)) {
--						tprints(", gid=");
--						print_quoted_string((void *) &uc.gid,
--								    len,
--								    QUOTE_FORCE_HEX);
--					} else {
--						PRINT_FIELD_UID(", ", uc, gid);
--					}
--				}
--			}
--		}
--	}
-+	PRINT_FIELD_LEN("{", uc, pid, len, PRINT_FIELD_D);
-+	PRINT_FIELD_LEN(", ", uc, uid, len, PRINT_FIELD_UID);
-+	PRINT_FIELD_LEN(", ", uc, gid, len, PRINT_FIELD_UID);
- 	tprints("}");
- }
- 
-@@ -688,38 +643,9 @@ print_tpacket_stats(struct tcb *const tcp, const kernel_ulong_t addr,
- 	if (umoven_or_printaddr(tcp, addr, len, &stats))
- 		return;
- 
--	if (len < sizeof(stats.tp_packets)) {
--		tprints("{tp_packets=");
--		print_quoted_string((void *) &stats.tp_packets,
--				    len, QUOTE_FORCE_HEX);
--	} else {
--		PRINT_FIELD_U("{", stats, tp_packets);
--
--		if (len > offsetof(struct tp_stats, tp_drops)) {
--			len -= offsetof(struct tp_stats, tp_drops);
--			if (len < sizeof(stats.tp_drops)) {
--				tprints(", tp_drops=");
--				print_quoted_string((void *) &stats.tp_drops,
--						    len, QUOTE_FORCE_HEX);
--			} else {
--				PRINT_FIELD_U(", ", stats, tp_drops);
--
--				if (len > offsetof(struct tp_stats, tp_freeze_q_cnt) -
--					  offsetof(struct tp_stats, tp_drops)) {
--					len -= offsetof(struct tp_stats, tp_freeze_q_cnt) -
--					       offsetof(struct tp_stats, tp_drops);
--					if (len < sizeof(stats.tp_freeze_q_cnt)) {
--						tprints(", tp_freeze_q_cnt=");
--						print_quoted_string((void *) &stats.tp_freeze_q_cnt,
--								    len,
--								    QUOTE_FORCE_HEX);
--					} else {
--						PRINT_FIELD_U(", ", stats, tp_freeze_q_cnt);
--					}
--				}
--			}
--		}
--	}
-+	PRINT_FIELD_LEN("{", stats, tp_packets, len, PRINT_FIELD_U);
-+	PRINT_FIELD_LEN(", ", stats, tp_drops, len, PRINT_FIELD_U);
-+	PRINT_FIELD_LEN(", ", stats, tp_freeze_q_cnt, len, PRINT_FIELD_U);
- 	tprints("}");
- }
- #endif /* PACKET_STATISTICS */
-diff --git a/print_fields.h b/print_fields.h
-index 02c56bf..70dbbff 100644
---- a/print_fields.h
-+++ b/print_fields.h
-@@ -277,4 +277,19 @@
- 			       (size_), (hwtype_));			\
- 	} while (0)
- 
-+# define PRINT_FIELD_LEN(prefix_, where_, field_, 			\
-+			len_, print_func_, ...)				\
-+	do {								\
-+		unsigned int start = offsetof(typeof(where_), field_);	\
-+		unsigned int end = start + sizeof(where_.field_);	\
-+		if (len_ >= end) {					\
-+			print_func_(prefix_, where_, field_,		\
-+					##__VA_ARGS__);			\
-+		} else if (len_ > start) {				\
-+			tprintf("%s%s=", prefix_, #field_);		\
-+			print_quoted_string((void *)&where_.field_,	\
-+					len_ - start, QUOTE_FORCE_HEX);	\
-+		}							\
-+	} while (0)
-+
- #endif /* !STRACE_PRINT_FIELDS_H */
--- 
-2.1.4
-
diff --git a/SOURCES/0120-Move-ilog-functions-from-util.c-to-defs.h.patch b/SOURCES/0120-Move-ilog-functions-from-util.c-to-defs.h.patch
deleted file mode 100644
index 8d70014..0000000
--- a/SOURCES/0120-Move-ilog-functions-from-util.c-to-defs.h.patch
+++ /dev/null
@@ -1,157 +0,0 @@
-From c9e41cd3485fa1a65dc6206c5b210b4be4c5597c Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?=C3=81kos=20Uzonyi?= <uzonyi.akos@gmail.com>
-Date: Sat, 13 Jun 2020 18:18:32 +0200
-Subject: [PATCH 120/138] Move ilog* functions from util.c to defs.h
-
-* util.c (ILOG2_ITER_, ilog2_klong, ilog2_64, ilog2_32): Move ...
-* defs.h: ... here.
----
- defs.h | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- util.c | 62 --------------------------------------------------------------
- 2 files changed, 60 insertions(+), 62 deletions(-)
-
-diff --git a/defs.h b/defs.h
-index 3aa07fb..d8bd513 100644
---- a/defs.h
-+++ b/defs.h
-@@ -1698,4 +1698,64 @@ scno_is_valid(kernel_ulong_t scno)
- 
- # define SYS_FUNC(syscall_name) int SYS_FUNC_NAME(sys_ ## syscall_name)(struct tcb *tcp)
- 
-+#define ILOG2_ITER_(val_, ret_, bit_)					\
-+	do {								\
-+		typeof(ret_) shift_ =					\
-+			((val_) > ((((typeof(val_)) 1)			\
-+				   << (1 << (bit_))) - 1)) << (bit_);	\
-+		(val_) >>= shift_;					\
-+		(ret_) |= shift_;					\
-+	} while (0)
-+
-+/**
-+ * Calculate floor(log2(val)), with the exception of val == 0, for which 0
-+ * is returned as well.
-+ *
-+ * @param val 64-bit value to calculate integer base-2 logarithm for.
-+ * @return    (unsigned int) floor(log2(val)) if val > 0, 0 if val == 0.
-+ */
-+static inline unsigned int
-+ilog2_64(uint64_t val)
-+{
-+	unsigned int ret = 0;
-+
-+	ILOG2_ITER_(val, ret, 5);
-+	ILOG2_ITER_(val, ret, 4);
-+	ILOG2_ITER_(val, ret, 3);
-+	ILOG2_ITER_(val, ret, 2);
-+	ILOG2_ITER_(val, ret, 1);
-+	ILOG2_ITER_(val, ret, 0);
-+
-+	return ret;
-+}
-+
-+/**
-+ * Calculate floor(log2(val)), with the exception of val == 0, for which 0
-+ * is returned as well.
-+ *
-+ * @param val 32-bit value to calculate integer base-2 logarithm for.
-+ * @return    (unsigned int) floor(log2(val)) if val > 0, 0 if val == 0.
-+ */
-+static inline unsigned int
-+ilog2_32(uint32_t val)
-+{
-+	unsigned int ret = 0;
-+
-+	ILOG2_ITER_(val, ret, 4);
-+	ILOG2_ITER_(val, ret, 3);
-+	ILOG2_ITER_(val, ret, 2);
-+	ILOG2_ITER_(val, ret, 1);
-+	ILOG2_ITER_(val, ret, 0);
-+
-+	return ret;
-+}
-+
-+#if SIZEOF_KERNEL_LONG_T > 4
-+# define ilog2_klong ilog2_64
-+#else
-+# define ilog2_klong ilog2_32
-+#endif
-+
-+#undef ILOG2_ITER_
-+
- #endif /* !STRACE_DEFS_H */
-diff --git a/util.c b/util.c
-index 59696b5..cde76c1 100644
---- a/util.c
-+++ b/util.c
-@@ -1120,68 +1120,6 @@ dumpiov_upto(struct tcb *const tcp, const int len, const kernel_ulong_t addr,
- #undef iov
- }
- 
--#define ILOG2_ITER_(val_, ret_, bit_)					\
--	do {								\
--		typeof(ret_) shift_ =					\
--			((val_) > ((((typeof(val_)) 1)			\
--				   << (1 << (bit_))) - 1)) << (bit_);	\
--		(val_) >>= shift_;					\
--		(ret_) |= shift_;					\
--	} while (0)
--
--#if SIZEOF_KERNEL_LONG_T > 4
--
--# define ilog2_klong ilog2_64
--/**
-- * Calculate floor(log2(val)), with the exception of val == 0, for which 0
-- * is returned as well.
-- *
-- * @param val 64-bit value to calculate integer base-2 logarithm for.
-- * @return    (unsigned int) floor(log2(val)) if val > 0, 0 if val == 0.
-- */
--static inline unsigned int
--ilog2_64(uint64_t val)
--{
--	unsigned int ret = 0;
--
--	ILOG2_ITER_(val, ret, 5);
--	ILOG2_ITER_(val, ret, 4);
--	ILOG2_ITER_(val, ret, 3);
--	ILOG2_ITER_(val, ret, 2);
--	ILOG2_ITER_(val, ret, 1);
--	ILOG2_ITER_(val, ret, 0);
--
--	return ret;
--}
--
--#else /* SIZEOF_KERNEL_LONG_T == 4 */
--
--# define ilog2_klong ilog2_32
--/**
-- * Calculate floor(log2(val)), with the exception of val == 0, for which 0
-- * is returned as well.
-- *
-- * @param val 32-bit value to calculate integer base-2 logarithm for.
-- * @return    (unsigned int) floor(log2(val)) if val > 0, 0 if val == 0.
-- */
--static inline unsigned int
--ilog2_32(uint32_t val)
--{
--	unsigned int ret = 0;
--
--	ILOG2_ITER_(val, ret, 4);
--	ILOG2_ITER_(val, ret, 3);
--	ILOG2_ITER_(val, ret, 2);
--	ILOG2_ITER_(val, ret, 1);
--	ILOG2_ITER_(val, ret, 0);
--
--	return ret;
--}
--
--#endif /* SIZEOF_KERNEL_LONG_T */
--
--#undef ILOG2_ITER_
--
- void
- dumpstr(struct tcb *const tcp, const kernel_ulong_t addr,
- 	const kernel_ulong_t len)
--- 
-2.1.4
-
diff --git a/SOURCES/0122-tests-inject-nf.test-replace-getpid-with-geteuid.patch b/SOURCES/0122-tests-inject-nf.test-replace-getpid-with-geteuid.patch
deleted file mode 100644
index 1b15526..0000000
--- a/SOURCES/0122-tests-inject-nf.test-replace-getpid-with-geteuid.patch
+++ /dev/null
@@ -1,235 +0,0 @@
-From c5be5bb949988c262012e7f4763b1d658c1769b9 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?=C3=81kos=20Uzonyi?= <uzonyi.akos@gmail.com>
-Date: Fri, 19 Jun 2020 12:06:42 +0200
-Subject: [PATCH 122/138] tests/inject-nf.test: replace getpid with geteuid
-
-Since we treat PIDs as signed integers, large values (>=2^31) will
-cause overflow when we use printpid.
-UIDs are treated as unsigned integers, so geteuid is a good alternative.
-(getuid would be problematic, as it does not exists on alpha).
-Also, on systems where geteuid32 exists, geteuid returns maximum 16 bit
-values, so we have to use geteuid32 in this case.
-
-[ldv: geteuid syscall was introduced on Alpha by Linux kernel commit
-v5.1-rc1~160^2~3^2~1, so this test will not work on old Alpha kernels.]
-
-* tests/inject-nf.c: Replace getpid with either geteuid32 or geteuid.
-[__alpha__]: Remove.
-[__NR_geteuid32]: New condition.
-* tests/inject-nf.test (SYSCALL): Replace getpid with '/^geteuid(32)?$'.
-Remove alpha workaround.
----
- tests/inject-nf.c    | 20 +++++++++-----------
- tests/inject-nf.test |  9 +--------
- 2 files changed, 10 insertions(+), 19 deletions(-)
-
-Index: strace-5.7/tests/inject-nf.c
-===================================================================
---- strace-5.7.orig/tests/inject-nf.c	2020-09-09 14:50:44.159739392 +0200
-+++ strace-5.7/tests/inject-nf.c	2020-09-09 14:56:17.193937896 +0200
-@@ -16,28 +16,26 @@
- 
- #include "raw_syscall.h"
- 
--#ifdef __alpha__
--/* alpha has no getpid */
--# define SC_NR __NR_getpgrp
--# define SC_NAME "getpgrp"
--# define getpid getpgrp
-+#ifdef __NR_geteuid32
-+# define SC_NR __NR_geteuid32
-+# define SC_NAME "geteuid32"
- #else
--# define SC_NR __NR_getpid
--# define SC_NAME "getpid"
-+# define SC_NR __NR_geteuid
-+# define SC_NAME "geteuid"
- #endif
- 
- #ifdef raw_syscall_0
- # define INVOKE_SC(err) raw_syscall_0(SC_NR, &err)
- #else
--/* No raw_syscall_0, let's use getpid() and hope for the best.  */
--# define INVOKE_SC(err) getpid()
-+/* No raw_syscall_0, let's use geteuid() and hope for the best. */
-+# define INVOKE_SC(err) geteuid()
- #endif
- 
- /*
-  * This prototype is intentionally different
-  * from the prototype provided by <unistd.h>.
-  */
--extern kernel_ulong_t getpid(void);
-+extern kernel_ulong_t geteuid(void);
- 
- int
- main(int ac, char **av)
-@@ -45,7 +43,7 @@
- 	assert(ac == 1 || ac == 2);
- 
- 	kernel_ulong_t expected =
--		(ac == 1) ? getpid() : strtoull(av[1], NULL, 0);
-+		(ac == 1) ? geteuid() : strtoull(av[1], NULL, 0);
- 	kernel_ulong_t err = 0;
- 	kernel_ulong_t rc = INVOKE_SC(err);
- 
-Index: strace-5.7/tests/inject-nf.test
-===================================================================
---- strace-5.7.orig/tests/inject-nf.test	2020-09-09 14:50:44.159739392 +0200
-+++ strace-5.7/tests/inject-nf.test	2020-09-09 14:56:17.194937896 +0200
-@@ -9,14 +9,7 @@
- 
- . "${srcdir=.}/scno_tampering.sh"
- 
--case "$STRACE_ARCH" in
--alpha)
--	SYSCALL=getpgrp
--	;;
--*)
--	SYSCALL=getpid
--	;;
--esac
-+SYSCALL='/^geteuid(32)?$'
- 
- run_prog
- prog="$args"
-Index: strace-5.7/tests-m32/inject-nf.c
-===================================================================
---- strace-5.7.orig/tests-m32/inject-nf.c	2019-09-25 03:02:03.000000000 +0200
-+++ strace-5.7/tests-m32/inject-nf.c	2020-09-09 14:58:03.687001371 +0200
-@@ -16,28 +16,26 @@
- 
- #include "raw_syscall.h"
- 
--#ifdef __alpha__
--/* alpha has no getpid */
--# define SC_NR __NR_getpgrp
--# define SC_NAME "getpgrp"
--# define getpid getpgrp
-+#ifdef __NR_geteuid32
-+# define SC_NR __NR_geteuid32
-+# define SC_NAME "geteuid32"
- #else
--# define SC_NR __NR_getpid
--# define SC_NAME "getpid"
-+# define SC_NR __NR_geteuid
-+# define SC_NAME "geteuid"
- #endif
- 
- #ifdef raw_syscall_0
- # define INVOKE_SC(err) raw_syscall_0(SC_NR, &err)
- #else
--/* No raw_syscall_0, let's use getpid() and hope for the best.  */
--# define INVOKE_SC(err) getpid()
-+/* No raw_syscall_0, let's use geteuid() and hope for the best. */
-+# define INVOKE_SC(err) geteuid()
- #endif
- 
- /*
-  * This prototype is intentionally different
-  * from the prototype provided by <unistd.h>.
-  */
--extern kernel_ulong_t getpid(void);
-+extern kernel_ulong_t geteuid(void);
- 
- int
- main(int ac, char **av)
-@@ -45,7 +43,7 @@
- 	assert(ac == 1 || ac == 2);
- 
- 	kernel_ulong_t expected =
--		(ac == 1) ? getpid() : strtoull(av[1], NULL, 0);
-+		(ac == 1) ? geteuid() : strtoull(av[1], NULL, 0);
- 	kernel_ulong_t err = 0;
- 	kernel_ulong_t rc = INVOKE_SC(err);
- 
-Index: strace-5.7/tests-m32/inject-nf.test
-===================================================================
---- strace-5.7.orig/tests-m32/inject-nf.test	2018-12-25 00:46:43.000000000 +0100
-+++ strace-5.7/tests-m32/inject-nf.test	2020-09-09 14:58:03.727001394 +0200
-@@ -9,14 +9,7 @@
- 
- . "${srcdir=.}/scno_tampering.sh"
- 
--case "$STRACE_ARCH" in
--alpha)
--	SYSCALL=getpgrp
--	;;
--*)
--	SYSCALL=getpid
--	;;
--esac
-+SYSCALL='/^geteuid(32)?$'
- 
- run_prog
- prog="$args"
-Index: strace-5.7/tests-mx32/inject-nf.c
-===================================================================
---- strace-5.7.orig/tests-mx32/inject-nf.c	2019-09-25 03:02:03.000000000 +0200
-+++ strace-5.7/tests-mx32/inject-nf.c	2020-09-09 14:58:03.708001383 +0200
-@@ -16,28 +16,26 @@
- 
- #include "raw_syscall.h"
- 
--#ifdef __alpha__
--/* alpha has no getpid */
--# define SC_NR __NR_getpgrp
--# define SC_NAME "getpgrp"
--# define getpid getpgrp
-+#ifdef __NR_geteuid32
-+# define SC_NR __NR_geteuid32
-+# define SC_NAME "geteuid32"
- #else
--# define SC_NR __NR_getpid
--# define SC_NAME "getpid"
-+# define SC_NR __NR_geteuid
-+# define SC_NAME "geteuid"
- #endif
- 
- #ifdef raw_syscall_0
- # define INVOKE_SC(err) raw_syscall_0(SC_NR, &err)
- #else
--/* No raw_syscall_0, let's use getpid() and hope for the best.  */
--# define INVOKE_SC(err) getpid()
-+/* No raw_syscall_0, let's use geteuid() and hope for the best. */
-+# define INVOKE_SC(err) geteuid()
- #endif
- 
- /*
-  * This prototype is intentionally different
-  * from the prototype provided by <unistd.h>.
-  */
--extern kernel_ulong_t getpid(void);
-+extern kernel_ulong_t geteuid(void);
- 
- int
- main(int ac, char **av)
-@@ -45,7 +43,7 @@
- 	assert(ac == 1 || ac == 2);
- 
- 	kernel_ulong_t expected =
--		(ac == 1) ? getpid() : strtoull(av[1], NULL, 0);
-+		(ac == 1) ? geteuid() : strtoull(av[1], NULL, 0);
- 	kernel_ulong_t err = 0;
- 	kernel_ulong_t rc = INVOKE_SC(err);
- 
-Index: strace-5.7/tests-mx32/inject-nf.test
-===================================================================
---- strace-5.7.orig/tests-mx32/inject-nf.test	2018-12-25 00:46:43.000000000 +0100
-+++ strace-5.7/tests-mx32/inject-nf.test	2020-09-09 14:58:03.750001408 +0200
-@@ -9,14 +9,7 @@
- 
- . "${srcdir=.}/scno_tampering.sh"
- 
--case "$STRACE_ARCH" in
--alpha)
--	SYSCALL=getpgrp
--	;;
--*)
--	SYSCALL=getpid
--	;;
--esac
-+SYSCALL='/^geteuid(32)?$'
- 
- run_prog
- prog="$args"
diff --git a/SOURCES/0123-fcntl-use-print_fields.h-macros.patch b/SOURCES/0123-fcntl-use-print_fields.h-macros.patch
deleted file mode 100644
index 9f4d96a..0000000
--- a/SOURCES/0123-fcntl-use-print_fields.h-macros.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-From eba856eb0246ce2a2ba99d68611da1af7814080e Mon Sep 17 00:00:00 2001
-From: "Dmitry V. Levin" <ldv@altlinux.org>
-Date: Mon, 13 Jul 2020 08:00:00 +0000
-Subject: [PATCH 123/138] fcntl: use print_fields.h macros
-
-* fcntl.c: Include "print_fields.h".
-(print_struct_flock64, print_f_owner_ex): Use PRINT_FIELD_* macros
-from print_fields.h.
----
- fcntl.c | 19 +++++++++----------
- 1 file changed, 9 insertions(+), 10 deletions(-)
-
-diff --git a/fcntl.c b/fcntl.c
-index 0b4221c..e84549e 100644
---- a/fcntl.c
-+++ b/fcntl.c
-@@ -11,6 +11,7 @@
- 
- #include "defs.h"
- #include "flock.h"
-+#include "print_fields.h"
- 
- #include "xlat/f_owner_types.h"
- #include "xlat/f_seals.h"
-@@ -22,14 +23,12 @@
- static void
- print_struct_flock64(const struct_kernel_flock64 *fl, const int getlk)
- {
--	tprints("{l_type=");
--	printxval(lockfcmds, (unsigned short) fl->l_type, "F_???");
--	tprints(", l_whence=");
--	printxval(whence_codes, (unsigned short) fl->l_whence, "SEEK_???");
--	tprintf(", l_start=%" PRId64 ", l_len=%" PRId64,
--		(int64_t) fl->l_start, (int64_t) fl->l_len);
-+	PRINT_FIELD_XVAL("{", *fl, l_type, lockfcmds, "F_???");
-+	PRINT_FIELD_XVAL(", ", *fl, l_whence, whence_codes, "SEEK_???");
-+	PRINT_FIELD_D(", ", *fl, l_start);
-+	PRINT_FIELD_D(", ", *fl, l_len);
- 	if (getlk)
--		tprintf(", l_pid=%lu", (unsigned long) fl->l_pid);
-+		PRINT_FIELD_D(", ", *fl, l_pid);
- 	tprints("}");
- }
- 
-@@ -59,9 +58,9 @@ print_f_owner_ex(struct tcb *const tcp, const kernel_ulong_t addr)
- 	if (umove_or_printaddr(tcp, addr, &owner))
- 		return;
- 
--	tprints("{type=");
--	printxval(f_owner_types, owner.type, "F_OWNER_???");
--	tprintf(", pid=%d}", owner.pid);
-+	PRINT_FIELD_XVAL("{", owner, type, f_owner_types, "F_OWNER_???");
-+	PRINT_FIELD_D(", ", owner, pid);
-+	tprints("}");
- }
- 
- static int
--- 
-2.1.4
-
diff --git a/SOURCES/0124-kcmp-fix-KCMP_FILE-decoding.patch b/SOURCES/0124-kcmp-fix-KCMP_FILE-decoding.patch
deleted file mode 100644
index b15613f..0000000
--- a/SOURCES/0124-kcmp-fix-KCMP_FILE-decoding.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 86923d3a0a01c520ea25d22587143ad6b8dab18b Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?=C3=81kos=20Uzonyi?= <uzonyi.akos@gmail.com>
-Date: Sat, 13 Jun 2020 18:18:28 +0200
-Subject: [PATCH 124/138] kcmp: fix KCMP_FILE decoding
-
-* kcmp.c (SYS_FUNC(kcmp)): Fix KCMP_FILE pid arguments.
-
-Fixes: v4.20~66 ("kcmp: output fds using a separate function")
----
- kcmp.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/kcmp.c b/kcmp.c
-index 6819265..6211555 100644
---- a/kcmp.c
-+++ b/kcmp.c
-@@ -38,7 +38,7 @@ SYS_FUNC(kcmp)
- 			tprints(", ");
- 			printfd_pid_tracee_ns(tcp, pid1, idx1);
- 			tprints(", ");
--			printfd_pid_tracee_ns(tcp, pid1, idx2);
-+			printfd_pid_tracee_ns(tcp, pid2, idx2);
- 
- 			break;
- 
--- 
-2.1.4
-
diff --git a/SOURCES/0125-printsiginfo-fix-printing-of-siginfo_t.si_pid-and-si.patch b/SOURCES/0125-printsiginfo-fix-printing-of-siginfo_t.si_pid-and-si.patch
deleted file mode 100644
index 6ec6f26..0000000
--- a/SOURCES/0125-printsiginfo-fix-printing-of-siginfo_t.si_pid-and-si.patch
+++ /dev/null
@@ -1,518 +0,0 @@
-From 56a29d0e192b119c101146e2197246f51661b6b5 Mon Sep 17 00:00:00 2001
-From: "Dmitry V. Levin" <ldv@altlinux.org>
-Date: Fri, 17 Jul 2020 08:00:00 +0000
-Subject: [PATCH 125/138] printsiginfo: fix printing of siginfo_t.si_pid and
- siginfo_t.si_uid
-
-* printsiginfo.c (printsigsource): Print siginfo_t.si_pid using
-PRINT_FIELD_D, print siginfo_t.si_uid using PRINT_FIELD_UID.
-* tests/clone_ptrace.c (main): Update expected output.
-* tests/orphaned_process_group.c (main): Likewise.
-* tests/pidfd_send_signal.c (main): Likewise.
-* tests/ptrace.c (test_peeksiginfo): Likewise.
-* tests/rt_sigqueueinfo.c (main): Likewise.
-* tests/rt_tgsigqueueinfo.c (main): Likewise.
-* tests/siginfo.c (main): Likewise.
-* tests/waitid.c (sprint_siginfo): Likewise.
----
- printsiginfo.c                 |  5 ++---
- tests/clone_ptrace.c           |  2 +-
- tests/orphaned_process_group.c |  2 +-
- tests/pidfd_send_signal.c      |  2 +-
- tests/ptrace.c                 | 12 ++++++------
- tests/rt_sigqueueinfo.c        |  2 +-
- tests/rt_tgsigqueueinfo.c      |  4 ++--
- tests/siginfo.c                | 10 +++++-----
- tests/waitid.c                 |  4 ++--
- 9 files changed, 21 insertions(+), 22 deletions(-)
-
-Index: strace-5.7/printsiginfo.c
-===================================================================
---- strace-5.7.orig/printsiginfo.c	2020-09-09 14:50:44.013739305 +0200
-+++ strace-5.7/printsiginfo.c	2020-09-09 14:58:30.753017503 +0200
-@@ -58,9 +58,8 @@
- static void
- printsigsource(const siginfo_t *sip)
- {
--	tprintf(", si_pid=%u, si_uid=%u",
--		(unsigned int) sip->si_pid,
--		(unsigned int) sip->si_uid);
-+	PRINT_FIELD_D(", ", *sip, si_pid);
-+	PRINT_FIELD_UID(", ", *sip, si_uid);
- }
- 
- static void
-Index: strace-5.7/tests/clone_ptrace.c
-===================================================================
---- strace-5.7.orig/tests/clone_ptrace.c	2020-09-09 14:50:44.013739305 +0200
-+++ strace-5.7/tests/clone_ptrace.c	2020-09-09 14:58:30.754017504 +0200
-@@ -96,7 +96,7 @@
- 		error_msg_and_fail("unexpected child exit status %d", status);
- 
- 	printf("--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_KILLED, si_pid=%d"
--	       ", si_uid=%u, si_status=%s, si_utime=%u, si_stime=%u} ---\n"
-+	       ", si_uid=%d, si_status=%s, si_utime=%u, si_stime=%u} ---\n"
- #if !QUIET_EXIT
- 	       "+++ exited with 0 +++\n"
- #endif
-Index: strace-5.7/tests/orphaned_process_group.c
-===================================================================
---- strace-5.7.orig/tests/orphaned_process_group.c	2020-09-09 14:50:44.013739305 +0200
-+++ strace-5.7/tests/orphaned_process_group.c	2020-09-09 14:58:30.754017504 +0200
-@@ -139,7 +139,7 @@
- 	 */
- 	leader = getpid();
- 	printf("%-5d --- %s {si_signo=%s, si_code=SI_TKILL"
--	       ", si_pid=%d, si_uid=%u} ---\n",
-+	       ", si_pid=%d, si_uid=%d} ---\n",
- 	       stopped, "SIGSTOP", "SIGSTOP", stopped, geteuid());
- 	printf("%-5d --- stopped by SIGSTOP ---\n", stopped);
- 	printf("%-5d +++ exited with 0 +++\n", leader);
-Index: strace-5.7/tests/pidfd_send_signal.c
-===================================================================
---- strace-5.7.orig/tests/pidfd_send_signal.c	2020-09-09 14:50:44.013739305 +0200
-+++ strace-5.7/tests/pidfd_send_signal.c	2020-09-09 14:58:30.754017504 +0200
-@@ -54,7 +54,7 @@
- 
- 	sys_pidfd_send_signal(fd, SIGUSR2, si, -1);
- 	printf("pidfd_send_signal(%d, SIGUSR2, {si_signo=SIGUSR1"
--	       ", si_code=SI_QUEUE, si_errno=%u, si_pid=%u, si_uid=%u"
-+	       ", si_code=SI_QUEUE, si_errno=%u, si_pid=%d, si_uid=%d"
- 	       ", si_value={int=%d, ptr=%p}}, %#x) = %s\n",
- 	       fd, si->si_errno, si->si_pid, si->si_uid, si->si_int, si->si_ptr,
- 	       -1U, errstr);
-Index: strace-5.7/tests/ptrace.c
-===================================================================
---- strace-5.7.orig/tests/ptrace.c	2020-09-09 14:50:44.013739305 +0200
-+++ strace-5.7/tests/ptrace.c	2020-09-09 14:58:30.754017504 +0200
-@@ -127,16 +127,16 @@
- 			printf("ptrace(PTRACE_PEEKSIGINFO, %u"
- 			       ", {off=%llu, flags=0, nr=%u}"
- 			       ", [{si_signo=SIGUSR1, si_code=SI_TKILL"
--			       ", si_pid=%u, si_uid=%u}"
-+			       ", si_pid=%d, si_uid=%d}"
- 			       ", {si_signo=SIGUSR2, si_code=SI_TKILL"
--			       ", si_pid=%u, si_uid=%u}"
-+			       ", si_pid=%d, si_uid=%d}"
- 			       ", {si_signo=SIGALRM, si_code=SI_TKILL"
--			       ", si_pid=%u, si_uid=%u}"
-+			       ", si_pid=%d, si_uid=%d}"
- 			       "]) = %s\n",
- 			       (unsigned) pid, psi->off, psi->nr,
--			       (unsigned) pid, (unsigned) uid,
--			       (unsigned) pid, (unsigned) uid,
--			       (unsigned) pid, (unsigned) uid,
-+			       (int) pid, (int) uid,
-+			       (int) pid, (int) uid,
-+			       (int) pid, (int) uid,
- 			       errstr);
- 		}
- 
-Index: strace-5.7/tests/rt_sigqueueinfo.c
-===================================================================
---- strace-5.7.orig/tests/rt_sigqueueinfo.c	2020-09-09 14:50:44.013739305 +0200
-+++ strace-5.7/tests/rt_sigqueueinfo.c	2020-09-09 14:58:30.754017504 +0200
-@@ -27,7 +27,7 @@
- 	if (sigqueue(pid, SIGUSR1, value))
- 		perror_msg_and_skip("sigqueue");
- 	printf("rt_sigqueueinfo(%u, SIGUSR1, {si_signo=SIGUSR1, "
--		"si_code=SI_QUEUE, si_pid=%u, si_uid=%u, "
-+		"si_code=SI_QUEUE, si_pid=%d, si_uid=%d, "
- 		"si_value={int=%d, ptr=%p}}) = 0\n",
- 		pid, pid, getuid(), value.sival_int, value.sival_ptr);
- 	printf("+++ exited with 0 +++\n");
-Index: strace-5.7/tests/rt_tgsigqueueinfo.c
-===================================================================
---- strace-5.7.orig/tests/rt_tgsigqueueinfo.c	2020-09-09 14:50:44.013739305 +0200
-+++ strace-5.7/tests/rt_tgsigqueueinfo.c	2020-09-09 14:58:30.755017504 +0200
-@@ -53,8 +53,8 @@
- 			"rt_tgsigqueueinfo");
- 
- 	printf("rt_tgsigqueueinfo(%u, %u, %s, {si_signo=%s"
--		", si_code=SI_QUEUE, si_errno=ENOENT, si_pid=%u"
--		", si_uid=%u, si_value={int=%d, ptr=%p}}) = 0\n",
-+		", si_code=SI_QUEUE, si_errno=ENOENT, si_pid=%d"
-+		", si_uid=%d, si_value={int=%d, ptr=%p}}) = 0\n",
- 		info->si_pid, info->si_pid, "SIGUSR1", "SIGUSR1",
- 		info->si_pid, info->si_uid, info->si_value.sival_int,
- 		info->si_value.sival_ptr);
-Index: strace-5.7/tests/siginfo.c
-===================================================================
---- strace-5.7.orig/tests/siginfo.c	2020-09-09 14:50:44.013739305 +0200
-+++ strace-5.7/tests/siginfo.c	2020-09-09 14:58:30.755017504 +0200
-@@ -63,7 +63,7 @@
- 
- 	sigsuspend(&unblock_mask);
- 	tprintf("--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED"
--		", si_pid=%d, si_uid=%u, si_status=%d"
-+		", si_pid=%d, si_uid=%d, si_status=%d"
- 		", si_utime=%llu, si_stime=%llu} ---\n",
- 		sinfo.si_pid, sinfo.si_uid, sinfo.si_status,
- 		zero_extend_signed_to_ull(sinfo.si_utime),
-@@ -94,7 +94,7 @@
- 
- 	sigsuspend(&unblock_mask);
- 	tprintf("--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_KILLED"
--		", si_pid=%d, si_uid=%u, si_status=SIGUSR1"
-+		", si_pid=%d, si_uid=%d, si_status=SIGUSR1"
- 		", si_utime=%llu, si_stime=%llu} ---\n",
- 		sinfo.si_pid, sinfo.si_uid,
- 		zero_extend_signed_to_ull(sinfo.si_utime),
-@@ -121,7 +121,7 @@
- 
- 	sigsuspend(&unblock_mask);
- 	tprintf("--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_STOPPED"
--		", si_pid=%d, si_uid=%u, si_status=SIGSTOP"
-+		", si_pid=%d, si_uid=%d, si_status=SIGSTOP"
- 		", si_utime=%llu, si_stime=%llu} ---\n",
- 		sinfo.si_pid, sinfo.si_uid,
- 		zero_extend_signed_to_ull(sinfo.si_utime),
-@@ -131,7 +131,7 @@
- 
- 	sigsuspend(&unblock_mask);
- 	tprintf("--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_CONTINUED"
--		", si_pid=%d, si_uid=%u, si_status=SIGCONT"
-+		", si_pid=%d, si_uid=%d, si_status=SIGCONT"
- 		", si_utime=%llu, si_stime=%llu} ---\n",
- 		sinfo.si_pid, sinfo.si_uid,
- 		zero_extend_signed_to_ull(sinfo.si_utime),
-@@ -142,7 +142,7 @@
- 
- 	sigsuspend(&unblock_mask);
- 	tprintf("--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED"
--		", si_pid=%d, si_uid=%u, si_status=0"
-+		", si_pid=%d, si_uid=%d, si_status=0"
- 		", si_utime=%llu, si_stime=%llu} ---\n",
- 		sinfo.si_pid, sinfo.si_uid,
- 		zero_extend_signed_to_ull(sinfo.si_utime),
-Index: strace-5.7/tests/waitid.c
-===================================================================
---- strace-5.7.orig/tests/waitid.c	2020-09-09 14:50:44.013739305 +0200
-+++ strace-5.7/tests/waitid.c	2020-09-09 14:58:30.755017504 +0200
-@@ -103,8 +103,8 @@
- 	snprintf(buf, sizeof(buf),
- 		 "{si_signo=SIGCHLD"
- 		 ", si_code=%s"
--		 ", si_pid=%u"
--		 ", si_uid=%u"
-+		 ", si_pid=%d"
-+		 ", si_uid=%d"
- 		 ", si_status=%s"
- 		 ", si_utime=%llu"
- 		 ", si_stime=%llu}",
-Index: strace-5.7/tests-m32/clone_ptrace.c
-===================================================================
---- strace-5.7.orig/tests-m32/clone_ptrace.c	2020-04-04 00:58:26.000000000 +0200
-+++ strace-5.7/tests-m32/clone_ptrace.c	2020-09-09 14:59:06.931039067 +0200
-@@ -96,7 +96,7 @@
- 		error_msg_and_fail("unexpected child exit status %d", status);
- 
- 	printf("--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_KILLED, si_pid=%d"
--	       ", si_uid=%u, si_status=%s, si_utime=%u, si_stime=%u} ---\n"
-+	       ", si_uid=%d, si_status=%s, si_utime=%u, si_stime=%u} ---\n"
- #if !QUIET_EXIT
- 	       "+++ exited with 0 +++\n"
- #endif
-Index: strace-5.7/tests-m32/orphaned_process_group.c
-===================================================================
---- strace-5.7.orig/tests-m32/orphaned_process_group.c	2019-03-06 17:02:38.000000000 +0100
-+++ strace-5.7/tests-m32/orphaned_process_group.c	2020-09-09 14:59:07.012039115 +0200
-@@ -139,7 +139,7 @@
- 	 */
- 	leader = getpid();
- 	printf("%-5d --- %s {si_signo=%s, si_code=SI_TKILL"
--	       ", si_pid=%d, si_uid=%u} ---\n",
-+	       ", si_pid=%d, si_uid=%d} ---\n",
- 	       stopped, "SIGSTOP", "SIGSTOP", stopped, geteuid());
- 	printf("%-5d --- stopped by SIGSTOP ---\n", stopped);
- 	printf("%-5d +++ exited with 0 +++\n", leader);
-Index: strace-5.7/tests-m32/pidfd_send_signal.c
-===================================================================
---- strace-5.7.orig/tests-m32/pidfd_send_signal.c	2019-08-14 13:22:32.000000000 +0200
-+++ strace-5.7/tests-m32/pidfd_send_signal.c	2020-09-09 14:59:07.077039154 +0200
-@@ -54,7 +54,7 @@
- 
- 	sys_pidfd_send_signal(fd, SIGUSR2, si, -1);
- 	printf("pidfd_send_signal(%d, SIGUSR2, {si_signo=SIGUSR1"
--	       ", si_code=SI_QUEUE, si_errno=%u, si_pid=%u, si_uid=%u"
-+	       ", si_code=SI_QUEUE, si_errno=%u, si_pid=%d, si_uid=%d"
- 	       ", si_value={int=%d, ptr=%p}}, %#x) = %s\n",
- 	       fd, si->si_errno, si->si_pid, si->si_uid, si->si_int, si->si_ptr,
- 	       -1U, errstr);
-Index: strace-5.7/tests-m32/ptrace.c
-===================================================================
---- strace-5.7.orig/tests-m32/ptrace.c	2019-09-25 03:02:03.000000000 +0200
-+++ strace-5.7/tests-m32/ptrace.c	2020-09-09 14:59:07.142039193 +0200
-@@ -127,16 +127,16 @@
- 			printf("ptrace(PTRACE_PEEKSIGINFO, %u"
- 			       ", {off=%llu, flags=0, nr=%u}"
- 			       ", [{si_signo=SIGUSR1, si_code=SI_TKILL"
--			       ", si_pid=%u, si_uid=%u}"
-+			       ", si_pid=%d, si_uid=%d}"
- 			       ", {si_signo=SIGUSR2, si_code=SI_TKILL"
--			       ", si_pid=%u, si_uid=%u}"
-+			       ", si_pid=%d, si_uid=%d}"
- 			       ", {si_signo=SIGALRM, si_code=SI_TKILL"
--			       ", si_pid=%u, si_uid=%u}"
-+			       ", si_pid=%d, si_uid=%d}"
- 			       "]) = %s\n",
- 			       (unsigned) pid, psi->off, psi->nr,
--			       (unsigned) pid, (unsigned) uid,
--			       (unsigned) pid, (unsigned) uid,
--			       (unsigned) pid, (unsigned) uid,
-+			       (int) pid, (int) uid,
-+			       (int) pid, (int) uid,
-+			       (int) pid, (int) uid,
- 			       errstr);
- 		}
- 
-Index: strace-5.7/tests-m32/rt_sigqueueinfo.c
-===================================================================
---- strace-5.7.orig/tests-m32/rt_sigqueueinfo.c	2018-12-25 00:46:43.000000000 +0100
-+++ strace-5.7/tests-m32/rt_sigqueueinfo.c	2020-09-09 14:59:07.204039230 +0200
-@@ -27,7 +27,7 @@
- 	if (sigqueue(pid, SIGUSR1, value))
- 		perror_msg_and_skip("sigqueue");
- 	printf("rt_sigqueueinfo(%u, SIGUSR1, {si_signo=SIGUSR1, "
--		"si_code=SI_QUEUE, si_pid=%u, si_uid=%u, "
-+		"si_code=SI_QUEUE, si_pid=%d, si_uid=%d, "
- 		"si_value={int=%d, ptr=%p}}) = 0\n",
- 		pid, pid, getuid(), value.sival_int, value.sival_ptr);
- 	printf("+++ exited with 0 +++\n");
-Index: strace-5.7/tests-m32/rt_tgsigqueueinfo.c
-===================================================================
---- strace-5.7.orig/tests-m32/rt_tgsigqueueinfo.c	2019-09-25 03:02:03.000000000 +0200
-+++ strace-5.7/tests-m32/rt_tgsigqueueinfo.c	2020-09-09 14:59:07.258039262 +0200
-@@ -53,8 +53,8 @@
- 			"rt_tgsigqueueinfo");
- 
- 	printf("rt_tgsigqueueinfo(%u, %u, %s, {si_signo=%s"
--		", si_code=SI_QUEUE, si_errno=ENOENT, si_pid=%u"
--		", si_uid=%u, si_value={int=%d, ptr=%p}}) = 0\n",
-+		", si_code=SI_QUEUE, si_errno=ENOENT, si_pid=%d"
-+		", si_uid=%d, si_value={int=%d, ptr=%p}}) = 0\n",
- 		info->si_pid, info->si_pid, "SIGUSR1", "SIGUSR1",
- 		info->si_pid, info->si_uid, info->si_value.sival_int,
- 		info->si_value.sival_ptr);
-Index: strace-5.7/tests-m32/siginfo.c
-===================================================================
---- strace-5.7.orig/tests-m32/siginfo.c	2018-12-25 00:46:43.000000000 +0100
-+++ strace-5.7/tests-m32/siginfo.c	2020-09-09 14:59:07.311039293 +0200
-@@ -63,7 +63,7 @@
- 
- 	sigsuspend(&unblock_mask);
- 	tprintf("--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED"
--		", si_pid=%d, si_uid=%u, si_status=%d"
-+		", si_pid=%d, si_uid=%d, si_status=%d"
- 		", si_utime=%llu, si_stime=%llu} ---\n",
- 		sinfo.si_pid, sinfo.si_uid, sinfo.si_status,
- 		zero_extend_signed_to_ull(sinfo.si_utime),
-@@ -94,7 +94,7 @@
- 
- 	sigsuspend(&unblock_mask);
- 	tprintf("--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_KILLED"
--		", si_pid=%d, si_uid=%u, si_status=SIGUSR1"
-+		", si_pid=%d, si_uid=%d, si_status=SIGUSR1"
- 		", si_utime=%llu, si_stime=%llu} ---\n",
- 		sinfo.si_pid, sinfo.si_uid,
- 		zero_extend_signed_to_ull(sinfo.si_utime),
-@@ -121,7 +121,7 @@
- 
- 	sigsuspend(&unblock_mask);
- 	tprintf("--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_STOPPED"
--		", si_pid=%d, si_uid=%u, si_status=SIGSTOP"
-+		", si_pid=%d, si_uid=%d, si_status=SIGSTOP"
- 		", si_utime=%llu, si_stime=%llu} ---\n",
- 		sinfo.si_pid, sinfo.si_uid,
- 		zero_extend_signed_to_ull(sinfo.si_utime),
-@@ -131,7 +131,7 @@
- 
- 	sigsuspend(&unblock_mask);
- 	tprintf("--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_CONTINUED"
--		", si_pid=%d, si_uid=%u, si_status=SIGCONT"
-+		", si_pid=%d, si_uid=%d, si_status=SIGCONT"
- 		", si_utime=%llu, si_stime=%llu} ---\n",
- 		sinfo.si_pid, sinfo.si_uid,
- 		zero_extend_signed_to_ull(sinfo.si_utime),
-@@ -142,7 +142,7 @@
- 
- 	sigsuspend(&unblock_mask);
- 	tprintf("--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED"
--		", si_pid=%d, si_uid=%u, si_status=0"
-+		", si_pid=%d, si_uid=%d, si_status=0"
- 		", si_utime=%llu, si_stime=%llu} ---\n",
- 		sinfo.si_pid, sinfo.si_uid,
- 		zero_extend_signed_to_ull(sinfo.si_utime),
-Index: strace-5.7/tests-m32/waitid.c
-===================================================================
---- strace-5.7.orig/tests-m32/waitid.c	2020-04-19 03:22:29.000000000 +0200
-+++ strace-5.7/tests-m32/waitid.c	2020-09-09 14:59:07.371039329 +0200
-@@ -103,8 +103,8 @@
- 	snprintf(buf, sizeof(buf),
- 		 "{si_signo=SIGCHLD"
- 		 ", si_code=%s"
--		 ", si_pid=%u"
--		 ", si_uid=%u"
-+		 ", si_pid=%d"
-+		 ", si_uid=%d"
- 		 ", si_status=%s"
- 		 ", si_utime=%llu"
- 		 ", si_stime=%llu}",
-Index: strace-5.7/tests-mx32/clone_ptrace.c
-===================================================================
---- strace-5.7.orig/tests-mx32/clone_ptrace.c	2020-04-04 00:58:26.000000000 +0200
-+++ strace-5.7/tests-mx32/clone_ptrace.c	2020-09-09 14:59:06.978039095 +0200
-@@ -96,7 +96,7 @@
- 		error_msg_and_fail("unexpected child exit status %d", status);
- 
- 	printf("--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_KILLED, si_pid=%d"
--	       ", si_uid=%u, si_status=%s, si_utime=%u, si_stime=%u} ---\n"
-+	       ", si_uid=%d, si_status=%s, si_utime=%u, si_stime=%u} ---\n"
- #if !QUIET_EXIT
- 	       "+++ exited with 0 +++\n"
- #endif
-Index: strace-5.7/tests-mx32/orphaned_process_group.c
-===================================================================
---- strace-5.7.orig/tests-mx32/orphaned_process_group.c	2019-03-06 17:02:38.000000000 +0100
-+++ strace-5.7/tests-mx32/orphaned_process_group.c	2020-09-09 14:59:07.046039135 +0200
-@@ -139,7 +139,7 @@
- 	 */
- 	leader = getpid();
- 	printf("%-5d --- %s {si_signo=%s, si_code=SI_TKILL"
--	       ", si_pid=%d, si_uid=%u} ---\n",
-+	       ", si_pid=%d, si_uid=%d} ---\n",
- 	       stopped, "SIGSTOP", "SIGSTOP", stopped, geteuid());
- 	printf("%-5d --- stopped by SIGSTOP ---\n", stopped);
- 	printf("%-5d +++ exited with 0 +++\n", leader);
-Index: strace-5.7/tests-mx32/pidfd_send_signal.c
-===================================================================
---- strace-5.7.orig/tests-mx32/pidfd_send_signal.c	2019-08-14 13:22:32.000000000 +0200
-+++ strace-5.7/tests-mx32/pidfd_send_signal.c	2020-09-09 14:59:07.110039174 +0200
-@@ -54,7 +54,7 @@
- 
- 	sys_pidfd_send_signal(fd, SIGUSR2, si, -1);
- 	printf("pidfd_send_signal(%d, SIGUSR2, {si_signo=SIGUSR1"
--	       ", si_code=SI_QUEUE, si_errno=%u, si_pid=%u, si_uid=%u"
-+	       ", si_code=SI_QUEUE, si_errno=%u, si_pid=%d, si_uid=%d"
- 	       ", si_value={int=%d, ptr=%p}}, %#x) = %s\n",
- 	       fd, si->si_errno, si->si_pid, si->si_uid, si->si_int, si->si_ptr,
- 	       -1U, errstr);
-Index: strace-5.7/tests-mx32/ptrace.c
-===================================================================
---- strace-5.7.orig/tests-mx32/ptrace.c	2019-09-25 03:02:03.000000000 +0200
-+++ strace-5.7/tests-mx32/ptrace.c	2020-09-09 14:59:07.174039212 +0200
-@@ -127,16 +127,16 @@
- 			printf("ptrace(PTRACE_PEEKSIGINFO, %u"
- 			       ", {off=%llu, flags=0, nr=%u}"
- 			       ", [{si_signo=SIGUSR1, si_code=SI_TKILL"
--			       ", si_pid=%u, si_uid=%u}"
-+			       ", si_pid=%d, si_uid=%d}"
- 			       ", {si_signo=SIGUSR2, si_code=SI_TKILL"
--			       ", si_pid=%u, si_uid=%u}"
-+			       ", si_pid=%d, si_uid=%d}"
- 			       ", {si_signo=SIGALRM, si_code=SI_TKILL"
--			       ", si_pid=%u, si_uid=%u}"
-+			       ", si_pid=%d, si_uid=%d}"
- 			       "]) = %s\n",
- 			       (unsigned) pid, psi->off, psi->nr,
--			       (unsigned) pid, (unsigned) uid,
--			       (unsigned) pid, (unsigned) uid,
--			       (unsigned) pid, (unsigned) uid,
-+			       (int) pid, (int) uid,
-+			       (int) pid, (int) uid,
-+			       (int) pid, (int) uid,
- 			       errstr);
- 		}
- 
-Index: strace-5.7/tests-mx32/rt_sigqueueinfo.c
-===================================================================
---- strace-5.7.orig/tests-mx32/rt_sigqueueinfo.c	2018-12-25 00:46:43.000000000 +0100
-+++ strace-5.7/tests-mx32/rt_sigqueueinfo.c	2020-09-09 14:59:07.232039246 +0200
-@@ -27,7 +27,7 @@
- 	if (sigqueue(pid, SIGUSR1, value))
- 		perror_msg_and_skip("sigqueue");
- 	printf("rt_sigqueueinfo(%u, SIGUSR1, {si_signo=SIGUSR1, "
--		"si_code=SI_QUEUE, si_pid=%u, si_uid=%u, "
-+		"si_code=SI_QUEUE, si_pid=%d, si_uid=%d, "
- 		"si_value={int=%d, ptr=%p}}) = 0\n",
- 		pid, pid, getuid(), value.sival_int, value.sival_ptr);
- 	printf("+++ exited with 0 +++\n");
-Index: strace-5.7/tests-mx32/rt_tgsigqueueinfo.c
-===================================================================
---- strace-5.7.orig/tests-mx32/rt_tgsigqueueinfo.c	2019-09-25 03:02:03.000000000 +0200
-+++ strace-5.7/tests-mx32/rt_tgsigqueueinfo.c	2020-09-09 14:59:07.284039277 +0200
-@@ -53,8 +53,8 @@
- 			"rt_tgsigqueueinfo");
- 
- 	printf("rt_tgsigqueueinfo(%u, %u, %s, {si_signo=%s"
--		", si_code=SI_QUEUE, si_errno=ENOENT, si_pid=%u"
--		", si_uid=%u, si_value={int=%d, ptr=%p}}) = 0\n",
-+		", si_code=SI_QUEUE, si_errno=ENOENT, si_pid=%d"
-+		", si_uid=%d, si_value={int=%d, ptr=%p}}) = 0\n",
- 		info->si_pid, info->si_pid, "SIGUSR1", "SIGUSR1",
- 		info->si_pid, info->si_uid, info->si_value.sival_int,
- 		info->si_value.sival_ptr);
-Index: strace-5.7/tests-mx32/siginfo.c
-===================================================================
---- strace-5.7.orig/tests-mx32/siginfo.c	2018-12-25 00:46:43.000000000 +0100
-+++ strace-5.7/tests-mx32/siginfo.c	2020-09-09 14:59:07.338039310 +0200
-@@ -63,7 +63,7 @@
- 
- 	sigsuspend(&unblock_mask);
- 	tprintf("--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED"
--		", si_pid=%d, si_uid=%u, si_status=%d"
-+		", si_pid=%d, si_uid=%d, si_status=%d"
- 		", si_utime=%llu, si_stime=%llu} ---\n",
- 		sinfo.si_pid, sinfo.si_uid, sinfo.si_status,
- 		zero_extend_signed_to_ull(sinfo.si_utime),
-@@ -94,7 +94,7 @@
- 
- 	sigsuspend(&unblock_mask);
- 	tprintf("--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_KILLED"
--		", si_pid=%d, si_uid=%u, si_status=SIGUSR1"
-+		", si_pid=%d, si_uid=%d, si_status=SIGUSR1"
- 		", si_utime=%llu, si_stime=%llu} ---\n",
- 		sinfo.si_pid, sinfo.si_uid,
- 		zero_extend_signed_to_ull(sinfo.si_utime),
-@@ -121,7 +121,7 @@
- 
- 	sigsuspend(&unblock_mask);
- 	tprintf("--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_STOPPED"
--		", si_pid=%d, si_uid=%u, si_status=SIGSTOP"
-+		", si_pid=%d, si_uid=%d, si_status=SIGSTOP"
- 		", si_utime=%llu, si_stime=%llu} ---\n",
- 		sinfo.si_pid, sinfo.si_uid,
- 		zero_extend_signed_to_ull(sinfo.si_utime),
-@@ -131,7 +131,7 @@
- 
- 	sigsuspend(&unblock_mask);
- 	tprintf("--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_CONTINUED"
--		", si_pid=%d, si_uid=%u, si_status=SIGCONT"
-+		", si_pid=%d, si_uid=%d, si_status=SIGCONT"
- 		", si_utime=%llu, si_stime=%llu} ---\n",
- 		sinfo.si_pid, sinfo.si_uid,
- 		zero_extend_signed_to_ull(sinfo.si_utime),
-@@ -142,7 +142,7 @@
- 
- 	sigsuspend(&unblock_mask);
- 	tprintf("--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED"
--		", si_pid=%d, si_uid=%u, si_status=0"
-+		", si_pid=%d, si_uid=%d, si_status=0"
- 		", si_utime=%llu, si_stime=%llu} ---\n",
- 		sinfo.si_pid, sinfo.si_uid,
- 		zero_extend_signed_to_ull(sinfo.si_utime),
-Index: strace-5.7/tests-mx32/waitid.c
-===================================================================
---- strace-5.7.orig/tests-mx32/waitid.c	2020-04-19 03:22:29.000000000 +0200
-+++ strace-5.7/tests-mx32/waitid.c	2020-09-09 14:59:07.398039345 +0200
-@@ -103,8 +103,8 @@
- 	snprintf(buf, sizeof(buf),
- 		 "{si_signo=SIGCHLD"
- 		 ", si_code=%s"
--		 ", si_pid=%u"
--		 ", si_uid=%u"
-+		 ", si_pid=%d"
-+		 ", si_uid=%d"
- 		 ", si_status=%s"
- 		 ", si_utime=%llu"
- 		 ", si_stime=%llu}",
diff --git a/SOURCES/0126-Use-PRINT_FIELD_UID-instead-of-printuid-where-approp.patch b/SOURCES/0126-Use-PRINT_FIELD_UID-instead-of-printuid-where-approp.patch
deleted file mode 100644
index 16d23fd..0000000
--- a/SOURCES/0126-Use-PRINT_FIELD_UID-instead-of-printuid-where-approp.patch
+++ /dev/null
@@ -1,105 +0,0 @@
-From 64d04198d3c64756ae8a51646b6eac3dff419cb6 Mon Sep 17 00:00:00 2001
-From: "Dmitry V. Levin" <ldv@altlinux.org>
-Date: Fri, 17 Jul 2020 08:00:00 +0000
-Subject: [PATCH 126/138] Use PRINT_FIELD_UID instead of printuid where
- appropriate
-
-* ipc_msgctl.c: Include "print_fields.h".
-(print_msqid_ds): Use PRINT_FIELD_UID instead of printuid.
-* ipc_shmctl.c: Include "print_fields.h".
-(print_shmid_ds): Use PRINT_FIELD_UID instead of printuid.
-* statx.c (SYS_FUNC(statx)): Use PRINT_FIELD_UID instead of printuid.
----
- ipc_msgctl.c | 10 +++++-----
- ipc_shmctl.c | 10 +++++-----
- statx.c      |  4 ++--
- 3 files changed, 12 insertions(+), 12 deletions(-)
-
-diff --git a/ipc_msgctl.c b/ipc_msgctl.c
-index 92eda11..920ed72 100644
---- a/ipc_msgctl.c
-+++ b/ipc_msgctl.c
-@@ -22,6 +22,7 @@ typedef struct NAME_OF_STRUCT_MSQID_DS msqid_ds_t;
- 
- #include MPERS_DEFS
- 
-+#include "print_fields.h"
- #include "xlat/msgctl_flags.h"
- 
- static void
-@@ -37,9 +38,8 @@ print_msqid_ds(struct tcb *const tcp, const kernel_ulong_t addr, int cmd)
- 		if (umove_or_printaddr(tcp, addr, &msqid_ds))
- 			return;
- 
--		tprints("{msg_perm={");
--		printuid("uid=", msqid_ds.msg_perm.uid);
--		printuid(", gid=", msqid_ds.msg_perm.gid);
-+		PRINT_FIELD_UID("{msg_perm={", msqid_ds.msg_perm, uid);
-+		PRINT_FIELD_UID(", ", msqid_ds.msg_perm, gid);
- 		tprints(", mode=");
- 		print_numeric_umode_t(msqid_ds.msg_perm.mode);
- 
-@@ -50,8 +50,8 @@ print_msqid_ds(struct tcb *const tcp, const kernel_ulong_t addr, int cmd)
- 
- 		tprintf(", key=%u",
- 			(unsigned) msqid_ds.msg_perm.NAME_OF_STRUCT_IPC_PERM_KEY);
--		printuid(", cuid=", msqid_ds.msg_perm.cuid);
--		printuid(", cgid=", msqid_ds.msg_perm.cgid);
-+		PRINT_FIELD_UID(", ", msqid_ds.msg_perm, cuid);
-+		PRINT_FIELD_UID(", ", msqid_ds.msg_perm, cgid);
- 		tprints("}");
- 		tprintf(", msg_stime=%u", (unsigned) msqid_ds.msg_stime);
- 		tprintf(", msg_rtime=%u", (unsigned) msqid_ds.msg_rtime);
-diff --git a/ipc_shmctl.c b/ipc_shmctl.c
-index 0fb584e..83e36f3 100644
---- a/ipc_shmctl.c
-+++ b/ipc_shmctl.c
-@@ -22,6 +22,7 @@ typedef struct NAME_OF_STRUCT_SHMID_DS shmid_ds_t;
- 
- #include MPERS_DEFS
- 
-+#include "print_fields.h"
- #include "xlat/shmctl_flags.h"
- 
- static void
-@@ -37,9 +38,8 @@ print_shmid_ds(struct tcb *const tcp, const kernel_ulong_t addr, int cmd)
- 		if (umove_or_printaddr(tcp, addr, &shmid_ds))
- 			return;
- 
--		tprints("{shm_perm={");
--		printuid("uid=", shmid_ds.shm_perm.uid);
--		printuid(", gid=", shmid_ds.shm_perm.gid);
-+		PRINT_FIELD_UID("{shm_perm={", shmid_ds.shm_perm, uid);
-+		PRINT_FIELD_UID(", ", shmid_ds.shm_perm, gid);
- 		tprints(", mode=");
- 		print_numeric_umode_t(shmid_ds.shm_perm.mode);
- 
-@@ -50,8 +50,8 @@ print_shmid_ds(struct tcb *const tcp, const kernel_ulong_t addr, int cmd)
- 
- 		tprintf(", key=%u",
- 			(unsigned) shmid_ds.shm_perm.NAME_OF_STRUCT_IPC_PERM_KEY);
--		printuid(", cuid=", shmid_ds.shm_perm.cuid);
--		printuid(", cgid=", shmid_ds.shm_perm.cgid);
-+		PRINT_FIELD_UID(", ", shmid_ds.shm_perm, cuid);
-+		PRINT_FIELD_UID(", ", shmid_ds.shm_perm, cgid);
- 		tprints("}");
- 		tprintf(", shm_segsz=%u", (unsigned) shmid_ds.shm_segsz);
- 		tprintf(", shm_cpid=%u", (unsigned) shmid_ds.shm_cpid);
-diff --git a/statx.c b/statx.c
-index 54b6d7c..7b00b8e 100644
---- a/statx.c
-+++ b/statx.c
-@@ -60,8 +60,8 @@ SYS_FUNC(statx)
- 
- 		if (!abbrev(tcp)) {
- 			PRINT_FIELD_U(", ", stx, stx_nlink);
--			printuid(", stx_uid=", stx.stx_uid);
--			printuid(", stx_gid=", stx.stx_gid);
-+			PRINT_FIELD_UID(", ", stx, stx_uid);
-+			PRINT_FIELD_UID(", ", stx, stx_gid);
- 		}
- 
- 		tprints(", stx_mode=");
--- 
-2.1.4
-
diff --git a/SOURCES/0127-Consistently-print-process-ids-as-signed-integers.patch b/SOURCES/0127-Consistently-print-process-ids-as-signed-integers.patch
deleted file mode 100644
index c93332f..0000000
--- a/SOURCES/0127-Consistently-print-process-ids-as-signed-integers.patch
+++ /dev/null
@@ -1,525 +0,0 @@
-From edf6f95bd19f5ce7ac0ef62f923cd17fb6052f51 Mon Sep 17 00:00:00 2001
-From: "Dmitry V. Levin" <ldv@altlinux.org>
-Date: Sat, 18 Jul 2020 08:00:00 +0000
-Subject: [PATCH 127/138] Consistently print process ids as signed integers
-
-* block.c (block_ioctl): Print struct_blk_user_trace_setup.pid using
-PRINT_FIELD_D instead of PRINT_FIELD_U.
-* bpf.c (BPF_TASK_FD_QUERY): Print task_fd_query.pid using PRINT_FIELD_D
-instead of PRINT_FIELD_U.
-* ipc_msgctl.c (print_msqid_ds): Print msqid_ds.msg_lspid
-and msqid_ds.msg_lrpid using PRINT_FIELD_D.
-* ipc_shmctl.c (print_shmid_ds): Print shmid_ds.shm_cpid and shm_lpid
-using PRINT_FIELD_D.
-* msghdr.c (print_scm_creds): Print ucred.pid using PRINT_FIELD_D
-instead of PRINT_FIELD_U.
-* netlink.c (print_nlmsghdr): Print nlmsghdr.nlmsg_pid using %d format
-instead of %u.
-* tests/bpf.c (BPF_TASK_FD_QUERY_checks): Update expected output.
-* tests/ioctl_block.c (main): Update expected output.
-* tests/ipc_msg.c (main): Likewise.
-* tests/ipc_shm.c (main): Likewise.
-* tests/net-yy-netlink.c (main): Likewise.
-* tests/netlink_protocol.c (test_nlmsgerr): Likewise.
----
- block.c                  | 2 +-
- bpf.c                    | 2 +-
- ipc_msgctl.c             | 4 ++--
- ipc_shmctl.c             | 4 ++--
- msghdr.c                 | 2 +-
- netlink.c                | 2 +-
- tests/bpf.c              | 8 ++++----
- tests/ioctl_block.c      | 2 +-
- tests/ipc_msg.c          | 6 +++---
- tests/ipc_shm.c          | 8 ++++----
- tests/net-yy-netlink.c   | 4 ++--
- tests/netlink_protocol.c | 4 ++--
- 12 files changed, 24 insertions(+), 24 deletions(-)
-
-Index: strace-5.7/block.c
-===================================================================
---- strace-5.7.orig/block.c	2020-09-09 14:50:43.878739225 +0200
-+++ strace-5.7/block.c	2020-09-09 14:59:14.715043707 +0200
-@@ -179,7 +179,7 @@
- 			PRINT_FIELD_U(", ", buts, buf_nr);
- 			PRINT_FIELD_U(", ", buts, start_lba);
- 			PRINT_FIELD_U(", ", buts, end_lba);
--			PRINT_FIELD_U(", ", buts, pid);
-+			PRINT_FIELD_D(", ", buts, pid);
- 			return 0;
- 		} else {
- 			struct_blk_user_trace_setup buts;
-Index: strace-5.7/bpf.c
-===================================================================
---- strace-5.7.orig/bpf.c	2020-09-09 14:50:43.878739225 +0200
-+++ strace-5.7/bpf.c	2020-09-09 14:59:14.715043707 +0200
-@@ -927,7 +927,7 @@
- 	if (entering(tcp)) {
- 		set_tcb_priv_ulong(tcp, attr.buf_len);
- 
--		PRINT_FIELD_U("{task_fd_query={", attr, pid);
-+		PRINT_FIELD_D("{task_fd_query={", attr, pid);
- 		PRINT_FIELD_FD(", ", attr, fd, tcp);
- 		PRINT_FIELD_U(", ", attr, flags);
- 		PRINT_FIELD_U(", ", attr, buf_len);
-Index: strace-5.7/ipc_msgctl.c
-===================================================================
---- strace-5.7.orig/ipc_msgctl.c	2020-09-09 14:59:12.909042630 +0200
-+++ strace-5.7/ipc_msgctl.c	2020-09-09 14:59:14.715043707 +0200
-@@ -58,8 +58,8 @@
- 		tprintf(", msg_ctime=%u", (unsigned) msqid_ds.msg_ctime);
- 		tprintf(", msg_qnum=%u", (unsigned) msqid_ds.msg_qnum);
- 		tprintf(", msg_qbytes=%u", (unsigned) msqid_ds.msg_qbytes);
--		tprintf(", msg_lspid=%u", (unsigned) msqid_ds.msg_lspid);
--		tprintf(", msg_lrpid=%u", (unsigned) msqid_ds.msg_lrpid);
-+		PRINT_FIELD_D(", ", msqid_ds, msg_lspid);
-+		PRINT_FIELD_D(", ", msqid_ds, msg_lrpid);
- 		tprints("}");
- 		break;
- 
-Index: strace-5.7/ipc_shmctl.c
-===================================================================
---- strace-5.7.orig/ipc_shmctl.c	2020-09-09 14:59:12.909042630 +0200
-+++ strace-5.7/ipc_shmctl.c	2020-09-09 14:59:14.716043707 +0200
-@@ -54,8 +54,8 @@
- 		PRINT_FIELD_UID(", ", shmid_ds.shm_perm, cgid);
- 		tprints("}");
- 		tprintf(", shm_segsz=%u", (unsigned) shmid_ds.shm_segsz);
--		tprintf(", shm_cpid=%u", (unsigned) shmid_ds.shm_cpid);
--		tprintf(", shm_lpid=%u", (unsigned) shmid_ds.shm_lpid);
-+		PRINT_FIELD_D(", ", shmid_ds, shm_cpid);
-+		PRINT_FIELD_D(", ", shmid_ds, shm_lpid);
- 		tprintf(", shm_nattch=%u", (unsigned) shmid_ds.shm_nattch);
- 		tprintf(", shm_atime=%u", (unsigned) shmid_ds.shm_atime);
- 		tprintf(", shm_dtime=%u", (unsigned) shmid_ds.shm_dtime);
-Index: strace-5.7/msghdr.c
-===================================================================
---- strace-5.7.orig/msghdr.c	2020-09-09 14:50:43.878739225 +0200
-+++ strace-5.7/msghdr.c	2020-09-09 14:59:14.717043708 +0200
-@@ -69,7 +69,7 @@
- {
- 	const struct ucred *uc = cmsg_data;
- 
--	PRINT_FIELD_U("{", *uc, pid);
-+	PRINT_FIELD_D("{", *uc, pid);
- 	PRINT_FIELD_UID(", ", *uc, uid);
- 	PRINT_FIELD_UID(", ", *uc, gid);
- 	tprints("}");
-Index: strace-5.7/netlink.c
-===================================================================
---- strace-5.7.orig/netlink.c	2020-09-09 14:50:43.878739225 +0200
-+++ strace-5.7/netlink.c	2020-09-09 14:59:14.717043708 +0200
-@@ -446,7 +446,7 @@
- 	decode_nlmsg_flags(nlmsghdr->nlmsg_flags,
- 			   nlmsghdr->nlmsg_type, family);
- 
--	tprintf(", seq=%u, pid=%u}", nlmsghdr->nlmsg_seq,
-+	tprintf(", seq=%u, pid=%d}", nlmsghdr->nlmsg_seq,
- 		nlmsghdr->nlmsg_pid);
- }
- 
-Index: strace-5.7/tests/bpf.c
-===================================================================
---- strace-5.7.orig/tests/bpf.c	2020-09-09 14:50:43.878739225 +0200
-+++ strace-5.7/tests/bpf.c	2020-09-09 14:59:14.717043708 +0200
-@@ -1289,16 +1289,16 @@
- 
- static const struct bpf_attr_check BPF_TASK_FD_QUERY_checks[] = {
- 	{
--		.data = { .BPF_TASK_FD_QUERY_data = { .pid = 0xdeadbeef } },
-+		.data = { .BPF_TASK_FD_QUERY_data = { .pid = 1735928559 } },
- 		.size = offsetofend(struct BPF_TASK_FD_QUERY_struct, pid),
--		.str = "task_fd_query={pid=3735928559, fd=0" FD0_PATH
-+		.str = "task_fd_query={pid=1735928559, fd=0" FD0_PATH
- 		       ", flags=0, buf_len=0, buf=NULL, prog_id=0"
- 		       ", fd_type=BPF_FD_TYPE_RAW_TRACEPOINT"
- 		       ", probe_offset=0, probe_addr=0}"
- 	},
- 	{ /* 1 */
- 		.data = { .BPF_TASK_FD_QUERY_data = {
--			.pid = 0xcafef00d,
-+			.pid = 1405705229,
- 			.fd = 0xdeadbeef,
- 			.flags = 0xfacefeed,
- 			.buf_len = 0xdefaced,
-@@ -1309,7 +1309,7 @@
- 			.probe_addr = 0xfac5fed5fac7fed8
- 		} },
- 		.size = offsetofend(struct BPF_TASK_FD_QUERY_struct, probe_addr),
--		.str = "task_fd_query={pid=3405705229"
-+		.str = "task_fd_query={pid=1405705229"
- 		       ", fd=-559038737"
- 		       ", flags=4207869677"
- 		       ", buf_len=233811181"
-Index: strace-5.7/tests/ioctl_block.c
-===================================================================
---- strace-5.7.orig/tests/ioctl_block.c	2020-09-09 14:50:43.878739225 +0200
-+++ strace-5.7/tests/ioctl_block.c	2020-09-09 14:59:14.717043708 +0200
-@@ -165,7 +165,7 @@
- 
- 	ioctl(-1, BLKTRACESETUP, buts);
- 	printf("ioctl(-1, BLKTRACESETUP, {act_mask=%hu, buf_size=%u, buf_nr=%u"
--	       ", start_lba=%" PRI__u64 ", end_lba=%" PRI__u64 ", pid=%u})"
-+	       ", start_lba=%" PRI__u64 ", end_lba=%" PRI__u64 ", pid=%d})"
- 	       " = -1 EBADF (%m)\n",
- 	       buts->act_mask, buts->buf_size, buts->buf_nr,
- 	       buts->start_lba, buts->end_lba, buts->pid);
-Index: strace-5.7/tests/ipc_msg.c
-===================================================================
---- strace-5.7.orig/tests/ipc_msg.c	2020-09-09 14:50:43.878739225 +0200
-+++ strace-5.7/tests/ipc_msg.c	2020-09-09 14:59:14.717043708 +0200
-@@ -128,15 +128,15 @@
- 	printf("msgctl\\(%d, (%s\\|)?%s, \\{msg_perm=\\{uid=%u"
- 	       ", gid=%u, mode=%#o, key=%u, cuid=%u, cgid=%u\\}, msg_stime=%u"
- 	       ", msg_rtime=%u, msg_ctime=%u, msg_qnum=%u, msg_qbytes=%u"
--	       ", msg_lspid=%u, msg_lrpid=%u\\}\\) = 0\n",
-+	       ", msg_lspid=%d, msg_lrpid=%d\\}\\) = 0\n",
- 	       id, str_ipc_64, str_ipc_stat,
- 	       (unsigned) ds.msg_perm.uid, (unsigned) ds.msg_perm.gid,
- 	       (unsigned) ds.msg_perm.mode, (unsigned) ds.msg_perm.__key,
- 	       (unsigned) ds.msg_perm.cuid, (unsigned) ds.msg_perm.cgid,
- 	       (unsigned) ds.msg_stime, (unsigned) ds.msg_rtime,
- 	       (unsigned) ds.msg_ctime, (unsigned) ds.msg_qnum,
--	       (unsigned) ds.msg_qbytes, (unsigned) ds.msg_lspid,
--	       (unsigned) ds.msg_lrpid);
-+	       (unsigned) ds.msg_qbytes, (int) ds.msg_lspid,
-+	       (int) ds.msg_lrpid);
- 
- 	if (msgctl(id, IPC_SET, &ds))
- 		perror_msg_and_skip("msgctl IPC_SET");
-Index: strace-5.7/tests/ipc_shm.c
-===================================================================
---- strace-5.7.orig/tests/ipc_shm.c	2020-09-09 14:50:43.878739225 +0200
-+++ strace-5.7/tests/ipc_shm.c	2020-09-09 14:59:14.718043708 +0200
-@@ -168,15 +168,15 @@
- 	if (shmctl(id, IPC_STAT, &ds))
- 		perror_msg_and_skip("shmctl IPC_STAT");
- 	printf("shmctl\\(%d, (%s\\|)?%s, \\{shm_perm=\\{uid=%u, gid=%u, "
--		"mode=%#o, key=%u, cuid=%u, cgid=%u\\}, shm_segsz=%u, shm_cpid=%u, "
--		"shm_lpid=%u, shm_nattch=%u, shm_atime=%u, shm_dtime=%u, "
-+		"mode=%#o, key=%u, cuid=%u, cgid=%u\\}, shm_segsz=%u, shm_cpid=%d, "
-+		"shm_lpid=%d, shm_nattch=%u, shm_atime=%u, shm_dtime=%u, "
- 		"shm_ctime=%u\\}\\) = 0\n",
- 		id, str_ipc_64, str_ipc_stat,
- 		(unsigned) ds.shm_perm.uid, (unsigned) ds.shm_perm.gid,
- 		(unsigned) ds.shm_perm.mode, (unsigned) ds.shm_perm.__key,
- 		(unsigned) ds.shm_perm.cuid, (unsigned) ds.shm_perm.cgid,
--		(unsigned) ds.shm_segsz, (unsigned) ds.shm_cpid,
--		(unsigned) ds.shm_lpid, (unsigned) ds.shm_nattch,
-+		(unsigned) ds.shm_segsz, (int) ds.shm_cpid,
-+		(int) ds.shm_lpid, (unsigned) ds.shm_nattch,
- 		(unsigned) ds.shm_atime, (unsigned) ds.shm_dtime,
- 		(unsigned) ds. shm_ctime);
- 
-Index: strace-5.7/tests/net-yy-netlink.c
-===================================================================
---- strace-5.7.orig/tests/net-yy-netlink.c	2020-09-09 14:50:43.878739225 +0200
-+++ strace-5.7/tests/net-yy-netlink.c	2020-09-09 14:59:14.718043708 +0200
-@@ -67,13 +67,13 @@
- 	if (bind(fd, sa, *len))
- 		perror_msg_and_skip("bind");
- 	printf("bind(%d" FMT_UNBOUND ", {sa_family=AF_NETLINK"
--	       ", nl_pid=%u, nl_groups=00000000}, %u) = 0\n",
-+	       ", nl_pid=%d, nl_groups=00000000}, %u) = 0\n",
- 	       fd, ARG_UNBOUND, addr.nl_pid, (unsigned) *len);
- 
- 	if (getsockname(fd, sa, len))
- 		perror_msg_and_fail("getsockname");
- 	printf("getsockname(%d" FMT_BOUND ", {sa_family=AF_NETLINK"
--	       ", nl_pid=%u, nl_groups=00000000}, [%u]) = 0\n",
-+	       ", nl_pid=%d, nl_groups=00000000}, [%u]) = 0\n",
- 	       fd, ARG_BOUND, addr.nl_pid, (unsigned) *len);
- 
- 	if (close(fd))
-Index: strace-5.7/tests/netlink_protocol.c
-===================================================================
---- strace-5.7.orig/tests/netlink_protocol.c	2020-09-09 14:50:43.878739225 +0200
-+++ strace-5.7/tests/netlink_protocol.c	2020-09-09 14:59:14.718043708 +0200
-@@ -264,7 +264,7 @@
- 	printf("sendto(%d, {{len=%u, type=NLMSG_ERROR, flags=NLM_F_REQUEST"
- 	       ", seq=0, pid=0}, {error=-EACCES"
- 	       ", msg={len=%u, type=NLMSG_NOOP, flags=NLM_F_REQUEST|0x%x"
--	       ", seq=%u, pid=%u}}}, %u, MSG_DONTWAIT, NULL, 0) = %s\n",
-+	       ", seq=%u, pid=%d}}}, %u, MSG_DONTWAIT, NULL, 0) = %s\n",
- 	       fd, nlh->nlmsg_len, err->msg.nlmsg_len, NLM_F_DUMP,
- 	       err->msg.nlmsg_seq, err->msg.nlmsg_pid,
- 	       nlh->nlmsg_len, sprintrc(rc));
-@@ -289,7 +289,7 @@
- 	printf("sendto(%d, {{len=%u, type=NLMSG_ERROR, flags=NLM_F_REQUEST"
- 	       ", seq=0, pid=0}, {error=-EACCES"
- 	       ", msg={{len=%u, type=NLMSG_NOOP, flags=NLM_F_REQUEST|0x%x"
--	       ", seq=%u, pid=%u}, \"\\x61\\x62\\x63\\x64\"}}}"
-+	       ", seq=%u, pid=%d}, \"\\x61\\x62\\x63\\x64\"}}}"
- 	       ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
- 	       fd, nlh->nlmsg_len, err->msg.nlmsg_len, NLM_F_DUMP,
- 	       err->msg.nlmsg_seq, err->msg.nlmsg_pid,
-Index: strace-5.7/tests-m32/bpf.c
-===================================================================
---- strace-5.7.orig/tests-m32/bpf.c	2020-04-18 15:47:17.000000000 +0200
-+++ strace-5.7/tests-m32/bpf.c	2020-09-09 14:59:52.229066067 +0200
-@@ -1289,16 +1289,16 @@
- 
- static const struct bpf_attr_check BPF_TASK_FD_QUERY_checks[] = {
- 	{
--		.data = { .BPF_TASK_FD_QUERY_data = { .pid = 0xdeadbeef } },
-+		.data = { .BPF_TASK_FD_QUERY_data = { .pid = 1735928559 } },
- 		.size = offsetofend(struct BPF_TASK_FD_QUERY_struct, pid),
--		.str = "task_fd_query={pid=3735928559, fd=0" FD0_PATH
-+		.str = "task_fd_query={pid=1735928559, fd=0" FD0_PATH
- 		       ", flags=0, buf_len=0, buf=NULL, prog_id=0"
- 		       ", fd_type=BPF_FD_TYPE_RAW_TRACEPOINT"
- 		       ", probe_offset=0, probe_addr=0}"
- 	},
- 	{ /* 1 */
- 		.data = { .BPF_TASK_FD_QUERY_data = {
--			.pid = 0xcafef00d,
-+			.pid = 1405705229,
- 			.fd = 0xdeadbeef,
- 			.flags = 0xfacefeed,
- 			.buf_len = 0xdefaced,
-@@ -1309,7 +1309,7 @@
- 			.probe_addr = 0xfac5fed5fac7fed8
- 		} },
- 		.size = offsetofend(struct BPF_TASK_FD_QUERY_struct, probe_addr),
--		.str = "task_fd_query={pid=3405705229"
-+		.str = "task_fd_query={pid=1405705229"
- 		       ", fd=-559038737"
- 		       ", flags=4207869677"
- 		       ", buf_len=233811181"
-Index: strace-5.7/tests-m32/ioctl_block.c
-===================================================================
---- strace-5.7.orig/tests-m32/ioctl_block.c	2019-07-24 19:12:18.000000000 +0200
-+++ strace-5.7/tests-m32/ioctl_block.c	2020-09-09 14:59:52.290066103 +0200
-@@ -165,7 +165,7 @@
- 
- 	ioctl(-1, BLKTRACESETUP, buts);
- 	printf("ioctl(-1, BLKTRACESETUP, {act_mask=%hu, buf_size=%u, buf_nr=%u"
--	       ", start_lba=%" PRI__u64 ", end_lba=%" PRI__u64 ", pid=%u})"
-+	       ", start_lba=%" PRI__u64 ", end_lba=%" PRI__u64 ", pid=%d})"
- 	       " = -1 EBADF (%m)\n",
- 	       buts->act_mask, buts->buf_size, buts->buf_nr,
- 	       buts->start_lba, buts->end_lba, buts->pid);
-Index: strace-5.7/tests-m32/ipc_msg.c
-===================================================================
---- strace-5.7.orig/tests-m32/ipc_msg.c	2019-09-25 03:02:03.000000000 +0200
-+++ strace-5.7/tests-m32/ipc_msg.c	2020-09-09 14:59:52.349066138 +0200
-@@ -128,15 +128,15 @@
- 	printf("msgctl\\(%d, (%s\\|)?%s, \\{msg_perm=\\{uid=%u"
- 	       ", gid=%u, mode=%#o, key=%u, cuid=%u, cgid=%u\\}, msg_stime=%u"
- 	       ", msg_rtime=%u, msg_ctime=%u, msg_qnum=%u, msg_qbytes=%u"
--	       ", msg_lspid=%u, msg_lrpid=%u\\}\\) = 0\n",
-+	       ", msg_lspid=%d, msg_lrpid=%d\\}\\) = 0\n",
- 	       id, str_ipc_64, str_ipc_stat,
- 	       (unsigned) ds.msg_perm.uid, (unsigned) ds.msg_perm.gid,
- 	       (unsigned) ds.msg_perm.mode, (unsigned) ds.msg_perm.__key,
- 	       (unsigned) ds.msg_perm.cuid, (unsigned) ds.msg_perm.cgid,
- 	       (unsigned) ds.msg_stime, (unsigned) ds.msg_rtime,
- 	       (unsigned) ds.msg_ctime, (unsigned) ds.msg_qnum,
--	       (unsigned) ds.msg_qbytes, (unsigned) ds.msg_lspid,
--	       (unsigned) ds.msg_lrpid);
-+	       (unsigned) ds.msg_qbytes, (int) ds.msg_lspid,
-+	       (int) ds.msg_lrpid);
- 
- 	if (msgctl(id, IPC_SET, &ds))
- 		perror_msg_and_skip("msgctl IPC_SET");
-Index: strace-5.7/tests-m32/ipc_shm.c
-===================================================================
---- strace-5.7.orig/tests-m32/ipc_shm.c	2019-11-28 20:30:05.000000000 +0100
-+++ strace-5.7/tests-m32/ipc_shm.c	2020-09-09 14:59:52.406066172 +0200
-@@ -168,15 +168,15 @@
- 	if (shmctl(id, IPC_STAT, &ds))
- 		perror_msg_and_skip("shmctl IPC_STAT");
- 	printf("shmctl\\(%d, (%s\\|)?%s, \\{shm_perm=\\{uid=%u, gid=%u, "
--		"mode=%#o, key=%u, cuid=%u, cgid=%u\\}, shm_segsz=%u, shm_cpid=%u, "
--		"shm_lpid=%u, shm_nattch=%u, shm_atime=%u, shm_dtime=%u, "
-+		"mode=%#o, key=%u, cuid=%u, cgid=%u\\}, shm_segsz=%u, shm_cpid=%d, "
-+		"shm_lpid=%d, shm_nattch=%u, shm_atime=%u, shm_dtime=%u, "
- 		"shm_ctime=%u\\}\\) = 0\n",
- 		id, str_ipc_64, str_ipc_stat,
- 		(unsigned) ds.shm_perm.uid, (unsigned) ds.shm_perm.gid,
- 		(unsigned) ds.shm_perm.mode, (unsigned) ds.shm_perm.__key,
- 		(unsigned) ds.shm_perm.cuid, (unsigned) ds.shm_perm.cgid,
--		(unsigned) ds.shm_segsz, (unsigned) ds.shm_cpid,
--		(unsigned) ds.shm_lpid, (unsigned) ds.shm_nattch,
-+		(unsigned) ds.shm_segsz, (int) ds.shm_cpid,
-+		(int) ds.shm_lpid, (unsigned) ds.shm_nattch,
- 		(unsigned) ds.shm_atime, (unsigned) ds.shm_dtime,
- 		(unsigned) ds. shm_ctime);
- 
-Index: strace-5.7/tests-m32/net-yy-netlink.c
-===================================================================
---- strace-5.7.orig/tests-m32/net-yy-netlink.c	2020-04-04 00:58:26.000000000 +0200
-+++ strace-5.7/tests-m32/net-yy-netlink.c	2020-09-09 14:59:52.464066207 +0200
-@@ -67,13 +67,13 @@
- 	if (bind(fd, sa, *len))
- 		perror_msg_and_skip("bind");
- 	printf("bind(%d" FMT_UNBOUND ", {sa_family=AF_NETLINK"
--	       ", nl_pid=%u, nl_groups=00000000}, %u) = 0\n",
-+	       ", nl_pid=%d, nl_groups=00000000}, %u) = 0\n",
- 	       fd, ARG_UNBOUND, addr.nl_pid, (unsigned) *len);
- 
- 	if (getsockname(fd, sa, len))
- 		perror_msg_and_fail("getsockname");
- 	printf("getsockname(%d" FMT_BOUND ", {sa_family=AF_NETLINK"
--	       ", nl_pid=%u, nl_groups=00000000}, [%u]) = 0\n",
-+	       ", nl_pid=%d, nl_groups=00000000}, [%u]) = 0\n",
- 	       fd, ARG_BOUND, addr.nl_pid, (unsigned) *len);
- 
- 	if (close(fd))
-Index: strace-5.7/tests-m32/netlink_protocol.c
-===================================================================
---- strace-5.7.orig/tests-m32/netlink_protocol.c	2018-12-30 16:35:21.000000000 +0100
-+++ strace-5.7/tests-m32/netlink_protocol.c	2020-09-09 14:59:52.524066242 +0200
-@@ -264,7 +264,7 @@
- 	printf("sendto(%d, {{len=%u, type=NLMSG_ERROR, flags=NLM_F_REQUEST"
- 	       ", seq=0, pid=0}, {error=-EACCES"
- 	       ", msg={len=%u, type=NLMSG_NOOP, flags=NLM_F_REQUEST|0x%x"
--	       ", seq=%u, pid=%u}}}, %u, MSG_DONTWAIT, NULL, 0) = %s\n",
-+	       ", seq=%u, pid=%d}}}, %u, MSG_DONTWAIT, NULL, 0) = %s\n",
- 	       fd, nlh->nlmsg_len, err->msg.nlmsg_len, NLM_F_DUMP,
- 	       err->msg.nlmsg_seq, err->msg.nlmsg_pid,
- 	       nlh->nlmsg_len, sprintrc(rc));
-@@ -289,7 +289,7 @@
- 	printf("sendto(%d, {{len=%u, type=NLMSG_ERROR, flags=NLM_F_REQUEST"
- 	       ", seq=0, pid=0}, {error=-EACCES"
- 	       ", msg={{len=%u, type=NLMSG_NOOP, flags=NLM_F_REQUEST|0x%x"
--	       ", seq=%u, pid=%u}, \"\\x61\\x62\\x63\\x64\"}}}"
-+	       ", seq=%u, pid=%d}, \"\\x61\\x62\\x63\\x64\"}}}"
- 	       ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
- 	       fd, nlh->nlmsg_len, err->msg.nlmsg_len, NLM_F_DUMP,
- 	       err->msg.nlmsg_seq, err->msg.nlmsg_pid,
-Index: strace-5.7/tests-mx32/bpf.c
-===================================================================
---- strace-5.7.orig/tests-mx32/bpf.c	2020-04-18 15:47:17.000000000 +0200
-+++ strace-5.7/tests-mx32/bpf.c	2020-09-09 14:59:52.261066086 +0200
-@@ -1289,16 +1289,16 @@
- 
- static const struct bpf_attr_check BPF_TASK_FD_QUERY_checks[] = {
- 	{
--		.data = { .BPF_TASK_FD_QUERY_data = { .pid = 0xdeadbeef } },
-+		.data = { .BPF_TASK_FD_QUERY_data = { .pid = 1735928559 } },
- 		.size = offsetofend(struct BPF_TASK_FD_QUERY_struct, pid),
--		.str = "task_fd_query={pid=3735928559, fd=0" FD0_PATH
-+		.str = "task_fd_query={pid=1735928559, fd=0" FD0_PATH
- 		       ", flags=0, buf_len=0, buf=NULL, prog_id=0"
- 		       ", fd_type=BPF_FD_TYPE_RAW_TRACEPOINT"
- 		       ", probe_offset=0, probe_addr=0}"
- 	},
- 	{ /* 1 */
- 		.data = { .BPF_TASK_FD_QUERY_data = {
--			.pid = 0xcafef00d,
-+			.pid = 1405705229,
- 			.fd = 0xdeadbeef,
- 			.flags = 0xfacefeed,
- 			.buf_len = 0xdefaced,
-@@ -1309,7 +1309,7 @@
- 			.probe_addr = 0xfac5fed5fac7fed8
- 		} },
- 		.size = offsetofend(struct BPF_TASK_FD_QUERY_struct, probe_addr),
--		.str = "task_fd_query={pid=3405705229"
-+		.str = "task_fd_query={pid=1405705229"
- 		       ", fd=-559038737"
- 		       ", flags=4207869677"
- 		       ", buf_len=233811181"
-Index: strace-5.7/tests-mx32/ioctl_block.c
-===================================================================
---- strace-5.7.orig/tests-mx32/ioctl_block.c	2019-07-24 19:12:18.000000000 +0200
-+++ strace-5.7/tests-mx32/ioctl_block.c	2020-09-09 14:59:52.319066120 +0200
-@@ -165,7 +165,7 @@
- 
- 	ioctl(-1, BLKTRACESETUP, buts);
- 	printf("ioctl(-1, BLKTRACESETUP, {act_mask=%hu, buf_size=%u, buf_nr=%u"
--	       ", start_lba=%" PRI__u64 ", end_lba=%" PRI__u64 ", pid=%u})"
-+	       ", start_lba=%" PRI__u64 ", end_lba=%" PRI__u64 ", pid=%d})"
- 	       " = -1 EBADF (%m)\n",
- 	       buts->act_mask, buts->buf_size, buts->buf_nr,
- 	       buts->start_lba, buts->end_lba, buts->pid);
-Index: strace-5.7/tests-mx32/ipc_msg.c
-===================================================================
---- strace-5.7.orig/tests-mx32/ipc_msg.c	2019-09-25 03:02:03.000000000 +0200
-+++ strace-5.7/tests-mx32/ipc_msg.c	2020-09-09 14:59:52.377066155 +0200
-@@ -128,15 +128,15 @@
- 	printf("msgctl\\(%d, (%s\\|)?%s, \\{msg_perm=\\{uid=%u"
- 	       ", gid=%u, mode=%#o, key=%u, cuid=%u, cgid=%u\\}, msg_stime=%u"
- 	       ", msg_rtime=%u, msg_ctime=%u, msg_qnum=%u, msg_qbytes=%u"
--	       ", msg_lspid=%u, msg_lrpid=%u\\}\\) = 0\n",
-+	       ", msg_lspid=%d, msg_lrpid=%d\\}\\) = 0\n",
- 	       id, str_ipc_64, str_ipc_stat,
- 	       (unsigned) ds.msg_perm.uid, (unsigned) ds.msg_perm.gid,
- 	       (unsigned) ds.msg_perm.mode, (unsigned) ds.msg_perm.__key,
- 	       (unsigned) ds.msg_perm.cuid, (unsigned) ds.msg_perm.cgid,
- 	       (unsigned) ds.msg_stime, (unsigned) ds.msg_rtime,
- 	       (unsigned) ds.msg_ctime, (unsigned) ds.msg_qnum,
--	       (unsigned) ds.msg_qbytes, (unsigned) ds.msg_lspid,
--	       (unsigned) ds.msg_lrpid);
-+	       (unsigned) ds.msg_qbytes, (int) ds.msg_lspid,
-+	       (int) ds.msg_lrpid);
- 
- 	if (msgctl(id, IPC_SET, &ds))
- 		perror_msg_and_skip("msgctl IPC_SET");
-Index: strace-5.7/tests-mx32/ipc_shm.c
-===================================================================
---- strace-5.7.orig/tests-mx32/ipc_shm.c	2019-11-28 20:30:05.000000000 +0100
-+++ strace-5.7/tests-mx32/ipc_shm.c	2020-09-09 14:59:52.435066189 +0200
-@@ -168,15 +168,15 @@
- 	if (shmctl(id, IPC_STAT, &ds))
- 		perror_msg_and_skip("shmctl IPC_STAT");
- 	printf("shmctl\\(%d, (%s\\|)?%s, \\{shm_perm=\\{uid=%u, gid=%u, "
--		"mode=%#o, key=%u, cuid=%u, cgid=%u\\}, shm_segsz=%u, shm_cpid=%u, "
--		"shm_lpid=%u, shm_nattch=%u, shm_atime=%u, shm_dtime=%u, "
-+		"mode=%#o, key=%u, cuid=%u, cgid=%u\\}, shm_segsz=%u, shm_cpid=%d, "
-+		"shm_lpid=%d, shm_nattch=%u, shm_atime=%u, shm_dtime=%u, "
- 		"shm_ctime=%u\\}\\) = 0\n",
- 		id, str_ipc_64, str_ipc_stat,
- 		(unsigned) ds.shm_perm.uid, (unsigned) ds.shm_perm.gid,
- 		(unsigned) ds.shm_perm.mode, (unsigned) ds.shm_perm.__key,
- 		(unsigned) ds.shm_perm.cuid, (unsigned) ds.shm_perm.cgid,
--		(unsigned) ds.shm_segsz, (unsigned) ds.shm_cpid,
--		(unsigned) ds.shm_lpid, (unsigned) ds.shm_nattch,
-+		(unsigned) ds.shm_segsz, (int) ds.shm_cpid,
-+		(int) ds.shm_lpid, (unsigned) ds.shm_nattch,
- 		(unsigned) ds.shm_atime, (unsigned) ds.shm_dtime,
- 		(unsigned) ds. shm_ctime);
- 
-Index: strace-5.7/tests-mx32/net-yy-netlink.c
-===================================================================
---- strace-5.7.orig/tests-mx32/net-yy-netlink.c	2020-04-04 00:58:26.000000000 +0200
-+++ strace-5.7/tests-mx32/net-yy-netlink.c	2020-09-09 14:59:52.494066225 +0200
-@@ -67,13 +67,13 @@
- 	if (bind(fd, sa, *len))
- 		perror_msg_and_skip("bind");
- 	printf("bind(%d" FMT_UNBOUND ", {sa_family=AF_NETLINK"
--	       ", nl_pid=%u, nl_groups=00000000}, %u) = 0\n",
-+	       ", nl_pid=%d, nl_groups=00000000}, %u) = 0\n",
- 	       fd, ARG_UNBOUND, addr.nl_pid, (unsigned) *len);
- 
- 	if (getsockname(fd, sa, len))
- 		perror_msg_and_fail("getsockname");
- 	printf("getsockname(%d" FMT_BOUND ", {sa_family=AF_NETLINK"
--	       ", nl_pid=%u, nl_groups=00000000}, [%u]) = 0\n",
-+	       ", nl_pid=%d, nl_groups=00000000}, [%u]) = 0\n",
- 	       fd, ARG_BOUND, addr.nl_pid, (unsigned) *len);
- 
- 	if (close(fd))
-Index: strace-5.7/tests-mx32/netlink_protocol.c
-===================================================================
---- strace-5.7.orig/tests-mx32/netlink_protocol.c	2018-12-30 16:35:21.000000000 +0100
-+++ strace-5.7/tests-mx32/netlink_protocol.c	2020-09-09 14:59:52.553066260 +0200
-@@ -264,7 +264,7 @@
- 	printf("sendto(%d, {{len=%u, type=NLMSG_ERROR, flags=NLM_F_REQUEST"
- 	       ", seq=0, pid=0}, {error=-EACCES"
- 	       ", msg={len=%u, type=NLMSG_NOOP, flags=NLM_F_REQUEST|0x%x"
--	       ", seq=%u, pid=%u}}}, %u, MSG_DONTWAIT, NULL, 0) = %s\n",
-+	       ", seq=%u, pid=%d}}}, %u, MSG_DONTWAIT, NULL, 0) = %s\n",
- 	       fd, nlh->nlmsg_len, err->msg.nlmsg_len, NLM_F_DUMP,
- 	       err->msg.nlmsg_seq, err->msg.nlmsg_pid,
- 	       nlh->nlmsg_len, sprintrc(rc));
-@@ -289,7 +289,7 @@
- 	printf("sendto(%d, {{len=%u, type=NLMSG_ERROR, flags=NLM_F_REQUEST"
- 	       ", seq=0, pid=0}, {error=-EACCES"
- 	       ", msg={{len=%u, type=NLMSG_NOOP, flags=NLM_F_REQUEST|0x%x"
--	       ", seq=%u, pid=%u}, \"\\x61\\x62\\x63\\x64\"}}}"
-+	       ", seq=%u, pid=%d}, \"\\x61\\x62\\x63\\x64\"}}}"
- 	       ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
- 	       fd, nlh->nlmsg_len, err->msg.nlmsg_len, NLM_F_DUMP,
- 	       err->msg.nlmsg_seq, err->msg.nlmsg_pid,
diff --git a/SOURCES/0128-Remove-tcb-parameter-of-read_int_from_file.patch b/SOURCES/0128-Remove-tcb-parameter-of-read_int_from_file.patch
deleted file mode 100644
index d2a21d3..0000000
--- a/SOURCES/0128-Remove-tcb-parameter-of-read_int_from_file.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From 924f71a4296be54e109784dfdb487b732bfc9bbf Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?=C3=81kos=20Uzonyi?= <uzonyi.akos@gmail.com>
-Date: Fri, 17 Jul 2020 23:24:36 +0200
-Subject: [PATCH 128/138] Remove tcb parameter of read_int_from_file
-
-* defs.h (read_int_from_file): Remove tcb parameter.
-* util.c (read_int_from_file): Likewise.
-* msghdr.c (get_optmem_max): Remove tcb parameter of read_int_from_file.
----
- defs.h   | 2 +-
- msghdr.c | 2 +-
- util.c   | 2 +-
- 3 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/defs.h b/defs.h
-index d8bd513..dae1cd9 100644
---- a/defs.h
-+++ b/defs.h
-@@ -498,7 +498,7 @@ extern unsigned os_release;
- # undef KERNEL_VERSION
- # define KERNEL_VERSION(a, b, c) (((a) << 16) + ((b) << 8) + (c))
- 
--extern int read_int_from_file(struct tcb *, const char *, int *);
-+extern int read_int_from_file(const char *, int *);
- 
- extern void set_sortby(const char *);
- extern int set_overhead(const char *);
-diff --git a/msghdr.c b/msghdr.c
-index becbb51..1ab4c6e 100644
---- a/msghdr.c
-+++ b/msghdr.c
-@@ -293,7 +293,7 @@ get_optmem_max(struct tcb *tcp)
- 	static int optmem_max;
- 
- 	if (!optmem_max) {
--		if (read_int_from_file(tcp, "/proc/sys/net/core/optmem_max",
-+		if (read_int_from_file("/proc/sys/net/core/optmem_max",
- 				       &optmem_max) || optmem_max <= 0) {
- 			optmem_max = sizeof(long long) * (2 * IOV_MAX + 512);
- 		} else {
-diff --git a/util.c b/util.c
-index cde76c1..286c690 100644
---- a/util.c
-+++ b/util.c
-@@ -1517,7 +1517,7 @@ print_abnormal_hi(const kernel_ulong_t val)
- }
- 
- int
--read_int_from_file(struct tcb *tcp, const char *const fname, int *const pvalue)
-+read_int_from_file(const char *const fname, int *const pvalue)
- {
- 	const int fd = open_file(fname, O_RDONLY);
- 	if (fd < 0)
--- 
-2.1.4
-
diff --git a/SOURCES/0129-Add-struct-tcb-parameters-to-various-functions.patch b/SOURCES/0129-Add-struct-tcb-parameters-to-various-functions.patch
deleted file mode 100644
index 64e70e3..0000000
--- a/SOURCES/0129-Add-struct-tcb-parameters-to-various-functions.patch
+++ /dev/null
@@ -1,417 +0,0 @@
-From 09ca090db1a67eaf590372ae85a94ba8b41223c2 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?=C3=81kos=20Uzonyi?= <uzonyi.akos@gmail.com>
-Date: Mon, 27 Jul 2020 20:54:06 +0200
-Subject: [PATCH 129/138] Add "struct tcb *" parameters to various functions
-
-This is going to be needed to implement pidns support.
-
-* defs.h (print_sockaddr): Add a "struct tcb *" parameter.
-* printsiginfo.h (printsiginfo): Likewise.
-* fcntl.c (print_struct_flock64): Likewise.  All callers updated.
-* print_fields.h (PRINT_FIELD_SOCKADDR): Likewise.   All callers updated.
-* printsiginfo.c (printsigsource, print_si_info, printsiginfo): Likewise.
-All callers updated.
-* sockaddr.c (print_sockaddr_data_un, print_sockaddr_data_in,
-print_sockaddr_data_in6, print_sockaddr_data_ax25,
-print_sockaddr_data_ipx, print_sockaddr_data_x25,
-print_sockaddr_data_nl, print_sockaddr_data_ll,
-print_sockaddr_data_bt, sockaddr_printer, print_sockaddr): Likewise.
-All callers updated.
----
- defs.h            |  2 +-
- fcntl.c           |  6 +++---
- msghdr.c          |  4 ++--
- print_fields.h    |  4 ++--
- print_group_req.c |  2 +-
- printsiginfo.c    | 22 +++++++++++-----------
- printsiginfo.h    |  2 +-
- sock.c            | 10 +++++-----
- sockaddr.c        | 33 ++++++++++++++++++++-------------
- strace.c          |  2 +-
- 10 files changed, 47 insertions(+), 40 deletions(-)
-
-diff --git a/defs.h b/defs.h
-index dae1cd9..48987f9 100644
---- a/defs.h
-+++ b/defs.h
-@@ -1059,7 +1059,7 @@ printfd(struct tcb *tcp, int fd)
-  * of the tracee the descriptor tcp).  This is a stub.
-  */
- extern void printfd_pid_tracee_ns(struct tcb *tcp, pid_t pid, int fd);
--extern void print_sockaddr(const void *sa, int len);
-+extern void print_sockaddr(struct tcb *, const void *sa, int len);
- extern bool
- print_inet_addr(int af, const void *addr, unsigned int len, const char *var_name);
- extern bool
-diff --git a/fcntl.c b/fcntl.c
-index e84549e..345634c 100644
---- a/fcntl.c
-+++ b/fcntl.c
-@@ -21,7 +21,7 @@
- #include "xlat/notifyflags.h"
- 
- static void
--print_struct_flock64(const struct_kernel_flock64 *fl, const int getlk)
-+print_struct_flock64(struct tcb *const tcp, const struct_kernel_flock64 *fl, const int getlk)
- {
- 	PRINT_FIELD_XVAL("{", *fl, l_type, lockfcmds, "F_???");
- 	PRINT_FIELD_XVAL(", ", *fl, l_whence, whence_codes, "SEEK_???");
-@@ -38,7 +38,7 @@ printflock64(struct tcb *const tcp, const kernel_ulong_t addr, const int getlk)
- 	struct_kernel_flock64 fl;
- 
- 	if (fetch_struct_flock64(tcp, addr, &fl))
--		print_struct_flock64(&fl, getlk);
-+		print_struct_flock64(tcp, &fl, getlk);
- }
- 
- static void
-@@ -47,7 +47,7 @@ printflock(struct tcb *const tcp, const kernel_ulong_t addr, const int getlk)
- 	struct_kernel_flock64 fl;
- 
- 	if (fetch_struct_flock(tcp, addr, &fl))
--		print_struct_flock64(&fl, getlk);
-+		print_struct_flock64(tcp, &fl, getlk);
- }
- 
- static void
-diff --git a/msghdr.c b/msghdr.c
-index 1ab4c6e..ef6dc24 100644
---- a/msghdr.c
-+++ b/msghdr.c
-@@ -216,7 +216,7 @@ print_cmsg_ip_recverr(struct tcb *tcp, const void *cmsg_data,
- 	PRINT_FIELD_U(", ", *err, ee_code);
- 	PRINT_FIELD_U(", ", *err, ee_info);
- 	PRINT_FIELD_U(", ", *err, ee_data);
--	PRINT_FIELD_SOCKADDR(", ", *err, offender);
-+	PRINT_FIELD_SOCKADDR(", ", *err, offender, tcp);
- 	tprints("}");
- }
- 
-@@ -228,7 +228,7 @@ print_cmsg_ip_origdstaddr(struct tcb *tcp, const void *cmsg_data,
- 		data_len > sizeof(struct sockaddr_storage)
- 		? sizeof(struct sockaddr_storage) : data_len;
- 
--	print_sockaddr(cmsg_data, addr_len);
-+	print_sockaddr(tcp, cmsg_data, addr_len);
- }
- 
- typedef void (* const cmsg_printer)(struct tcb *, const void *, unsigned int);
-diff --git a/print_fields.h b/print_fields.h
-index 70dbbff..2413398 100644
---- a/print_fields.h
-+++ b/print_fields.h
-@@ -211,10 +211,10 @@
- 		print_ifindex((where_).field_);				\
- 	} while (0)
- 
--# define PRINT_FIELD_SOCKADDR(prefix_, where_, field_)			\
-+# define PRINT_FIELD_SOCKADDR(prefix_, where_, field_, tcp_)			\
- 	do {								\
- 		STRACE_PRINTF("%s%s=", (prefix_), #field_);		\
--		print_sockaddr(&(where_).field_,			\
-+		print_sockaddr(tcp_, &(where_).field_,			\
- 			       sizeof((where_).field_));		\
- 	} while (0)
- 
-diff --git a/print_group_req.c b/print_group_req.c
-index f0ce58b..9e8ce60 100644
---- a/print_group_req.c
-+++ b/print_group_req.c
-@@ -30,7 +30,7 @@ MPERS_PRINTER_DECL(void, print_group_req, struct tcb *const tcp,
- 		printaddr(addr);
- 	} else if (!umove_or_printaddr(tcp, addr, &greq)) {
- 		PRINT_FIELD_IFINDEX("{", greq, gr_interface);
--		PRINT_FIELD_SOCKADDR(", ", greq, gr_group);
-+		PRINT_FIELD_SOCKADDR(", ", greq, gr_group, tcp);
- 		tprints("}");
- 	}
- }
-diff --git a/printsiginfo.c b/printsiginfo.c
-index 0a9932d..8ed1e7b 100644
---- a/printsiginfo.c
-+++ b/printsiginfo.c
-@@ -56,7 +56,7 @@
- #endif
- 
- static void
--printsigsource(const siginfo_t *sip)
-+printsigsource(struct tcb *tcp, const siginfo_t *sip)
- {
- 	PRINT_FIELD_D(", ", *sip, si_pid);
- 	PRINT_FIELD_UID(", ", *sip, si_uid);
-@@ -116,7 +116,7 @@ print_si_code(int si_signo, unsigned int si_code)
- }
- 
- static void
--print_si_info(const siginfo_t *sip)
-+print_si_info(struct tcb *tcp, const siginfo_t *sip)
- {
- 	if (sip->si_errno)
- 		PRINT_FIELD_ERR_U(", ", *sip, si_errno);
-@@ -124,10 +124,10 @@ print_si_info(const siginfo_t *sip)
- 	if (SI_FROMUSER(sip)) {
- 		switch (sip->si_code) {
- 		case SI_USER:
--			printsigsource(sip);
-+			printsigsource(tcp, sip);
- 			break;
- 		case SI_TKILL:
--			printsigsource(sip);
-+			printsigsource(tcp, sip);
- 			break;
- #if defined HAVE_SIGINFO_T_SI_TIMERID && defined HAVE_SIGINFO_T_SI_OVERRUN
- 		case SI_TIMER:
-@@ -137,7 +137,7 @@ print_si_info(const siginfo_t *sip)
- 			break;
- #endif
- 		default:
--			printsigsource(sip);
-+			printsigsource(tcp, sip);
- 			if (sip->si_ptr)
- 				printsigval(sip);
- 			break;
-@@ -145,7 +145,7 @@ print_si_info(const siginfo_t *sip)
- 	} else {
- 		switch (sip->si_signo) {
- 		case SIGCHLD:
--			printsigsource(sip);
-+			printsigsource(tcp, sip);
- 			tprints(", si_status=");
- 			if (sip->si_code == CLD_EXITED)
- 				tprintf("%d", sip->si_status);
-@@ -204,7 +204,7 @@ print_si_info(const siginfo_t *sip)
- #endif
- 		default:
- 			if (sip->si_pid || sip->si_uid)
--				printsigsource(sip);
-+				printsigsource(tcp, sip);
- 			if (sip->si_ptr)
- 				printsigval(sip);
- 		}
-@@ -215,7 +215,7 @@ print_si_info(const siginfo_t *sip)
- static
- #endif
- void
--printsiginfo(const siginfo_t *sip)
-+printsiginfo(struct tcb *tcp, const siginfo_t *sip)
- {
- 	if (sip->si_signo == 0) {
- 		tprints("{}");
-@@ -230,7 +230,7 @@ printsiginfo(const siginfo_t *sip)
- #ifdef SI_NOINFO
- 	if (sip->si_code != SI_NOINFO)
- #endif
--		print_si_info(sip);
-+		print_si_info(tcp, sip);
- 
- 	tprints("}");
- }
-@@ -241,13 +241,13 @@ MPERS_PRINTER_DECL(void, printsiginfo_at,
- 	siginfo_t si;
- 
- 	if (!umove_or_printaddr(tcp, addr, &si))
--		printsiginfo(&si);
-+		printsiginfo(tcp, &si);
- }
- 
- static bool
- print_siginfo_t(struct tcb *tcp, void *elem_buf, size_t elem_size, void *data)
- {
--	printsiginfo((const siginfo_t *) elem_buf);
-+	printsiginfo(tcp, (const siginfo_t *) elem_buf);
- 	return true;
- }
- 
-diff --git a/printsiginfo.h b/printsiginfo.h
-index 4088cb5..3fec2ab 100644
---- a/printsiginfo.h
-+++ b/printsiginfo.h
-@@ -8,6 +8,6 @@
- #ifndef STRACE_PRINTSIGINFO_H
- # define STRACE_PRINTSIGINFO_H
- 
--extern void printsiginfo(const siginfo_t *);
-+extern void printsiginfo(struct tcb *, const siginfo_t *);
- 
- #endif /* !STRACE_PRINTSIGINFO_H */
-diff --git a/sock.c b/sock.c
-index 5b14007..99a3190 100644
---- a/sock.c
-+++ b/sock.c
-@@ -44,19 +44,19 @@ print_ifreq(struct tcb *const tcp, const unsigned int code,
- 	switch (code) {
- 	case SIOCSIFADDR:
- 	case SIOCGIFADDR:
--		PRINT_FIELD_SOCKADDR("", *ifr, ifr_addr);
-+		PRINT_FIELD_SOCKADDR("", *ifr, ifr_addr, tcp);
- 		break;
- 	case SIOCSIFDSTADDR:
- 	case SIOCGIFDSTADDR:
--		PRINT_FIELD_SOCKADDR("", *ifr, ifr_dstaddr);
-+		PRINT_FIELD_SOCKADDR("", *ifr, ifr_dstaddr, tcp);
- 		break;
- 	case SIOCSIFBRDADDR:
- 	case SIOCGIFBRDADDR:
--		PRINT_FIELD_SOCKADDR("", *ifr, ifr_broadaddr);
-+		PRINT_FIELD_SOCKADDR("", *ifr, ifr_broadaddr, tcp);
- 		break;
- 	case SIOCSIFNETMASK:
- 	case SIOCGIFNETMASK:
--		PRINT_FIELD_SOCKADDR("", *ifr, ifr_netmask);
-+		PRINT_FIELD_SOCKADDR("", *ifr, ifr_netmask, tcp);
- 		break;
- 	case SIOCSIFHWADDR:
- 	case SIOCGIFHWADDR: {
-@@ -126,7 +126,7 @@ print_ifconf_ifreq(struct tcb *tcp, void *elem_buf, size_t elem_size,
- 
- 	tprints("{ifr_name=");
- 	print_ifname(ifr->ifr_name);
--	PRINT_FIELD_SOCKADDR(", ", *ifr, ifr_addr);
-+	PRINT_FIELD_SOCKADDR(", ", *ifr, ifr_addr, tcp);
- 	tprints("}");
- 
- 	return true;
-diff --git a/sockaddr.c b/sockaddr.c
-index b6b9aa7..b004633 100644
---- a/sockaddr.c
-+++ b/sockaddr.c
-@@ -47,7 +47,7 @@ const size_t arp_hardware_types_size = ARRAY_SIZE(arp_hardware_types) - 1;
- const size_t ethernet_protocols_size = ARRAY_SIZE(ethernet_protocols) - 1;
- 
- static void
--print_sockaddr_data_un(const void *const buf, const int addrlen)
-+print_sockaddr_data_un(struct tcb *tcp, const void *const buf, const int addrlen)
- {
- 	const struct sockaddr_un *const sa_un = buf;
- 	const int un_len = addrlen > (int) sizeof(*sa_un)
-@@ -172,7 +172,8 @@ decode_inet_addr(struct tcb *const tcp,
- }
- 
- static void
--print_sockaddr_data_in(const void *const buf, const int addrlen)
-+print_sockaddr_data_in(struct tcb *tcp, const void *const buf,
-+		       const int addrlen)
- {
- 	const struct sockaddr_in *const sa_in = buf;
- 
-@@ -183,7 +184,8 @@ print_sockaddr_data_in(const void *const buf, const int addrlen)
- #define SIN6_MIN_LEN offsetof(struct sockaddr_in6, sin6_scope_id)
- 
- static void
--print_sockaddr_data_in6(const void *const buf, const int addrlen)
-+print_sockaddr_data_in6(struct tcb *tcp, const void *const buf,
-+			const int addrlen)
- {
- 	const struct sockaddr_in6 *const sa_in6 = buf;
- 
-@@ -322,7 +324,8 @@ print_ax25_addr(const void /* ax25_address */ *addr_void)
- }
- 
- static void
--print_sockaddr_data_ax25(const void *const buf, const int addrlen)
-+print_sockaddr_data_ax25(struct tcb *tcp, const void *const buf,
-+			 const int addrlen)
- {
- 	const struct full_sockaddr_ax25 *const sax25 = buf;
- 	size_t addrlen_us = MAX(addrlen, 0);
-@@ -372,7 +375,8 @@ digis_end:
- }
- 
- static void
--print_sockaddr_data_ipx(const void *const buf, const int addrlen)
-+print_sockaddr_data_ipx(struct tcb *tcp, const void *const buf,
-+			const int addrlen)
- {
- 	const struct sockaddr_ipx *const sa_ipx = buf;
- 	unsigned int i;
-@@ -399,7 +403,8 @@ print_x25_addr(const void /* struct x25_address */ *addr_void)
- }
- 
- static void
--print_sockaddr_data_x25(const void *const buf, const int addrlen)
-+print_sockaddr_data_x25(struct tcb *tcp, const void *const buf,
-+			const int addrlen)
- {
- 	const struct sockaddr_x25 *const sa_x25 = buf;
- 
-@@ -407,7 +412,7 @@ print_sockaddr_data_x25(const void *const buf, const int addrlen)
- }
- 
- static void
--print_sockaddr_data_nl(const void *const buf, const int addrlen)
-+print_sockaddr_data_nl(struct tcb *tcp, const void *const buf, const int addrlen)
- {
- 	const struct sockaddr_nl *const sa_nl = buf;
- 
-@@ -442,7 +447,8 @@ print_sll_protocol(const struct sockaddr_ll *const sa_ll)
- }
- 
- static void
--print_sockaddr_data_ll(const void *const buf, const int addrlen)
-+print_sockaddr_data_ll(struct tcb *tcp, const void *const buf,
-+		       const int addrlen)
- {
- 	const struct sockaddr_ll *const sa_ll = buf;
- 
-@@ -567,7 +573,8 @@ print_bluetooth_l2_cid_end:
- }
- 
- static void
--print_sockaddr_data_bt(const void *const buf, const int addrlen)
-+print_sockaddr_data_bt(struct tcb *tcp, const void *const buf,
-+		       const int addrlen)
- {
- 	struct sockaddr_hci {
- 		/* sa_family_t */ uint16_t	hci_family;
-@@ -651,7 +658,7 @@ print_sockaddr_data_bt(const void *const buf, const int addrlen)
- 	}
- }
- 
--typedef void (* const sockaddr_printer)(const void *const, const int);
-+typedef void (* const sockaddr_printer)(struct tcb *tcp, const void *const, const int);
- 
- static const struct {
- 	const sockaddr_printer printer;
-@@ -669,7 +676,7 @@ static const struct {
- };
- 
- void
--print_sockaddr(const void *const buf, const int addrlen)
-+print_sockaddr(struct tcb *tcp, const void *const buf, const int addrlen)
- {
- 	const struct sockaddr *const sa = buf;
- 
-@@ -682,7 +689,7 @@ print_sockaddr(const void *const buf, const int addrlen)
- 		if (sa->sa_family < ARRAY_SIZE(sa_printers)
- 		    && sa_printers[sa->sa_family].printer
- 		    && addrlen >= sa_printers[sa->sa_family].min_len) {
--			sa_printers[sa->sa_family].printer(buf, addrlen);
-+			sa_printers[sa->sa_family].printer(tcp, buf, addrlen);
- 		} else {
- 			print_sockaddr_data_raw(buf, addrlen);
- 		}
-@@ -713,7 +720,7 @@ decode_sockaddr(struct tcb *const tcp, const kernel_ulong_t addr, int addrlen)
- 
- 	memset(&addrbuf.pad[addrlen], 0, sizeof(addrbuf.pad) - addrlen);
- 
--	print_sockaddr(&addrbuf, addrlen);
-+	print_sockaddr(tcp, &addrbuf, addrlen);
- 
- 	return addrbuf.sa.sa_family;
- }
-diff --git a/strace.c b/strace.c
-index 311e4d6..4c96a98 100644
---- a/strace.c
-+++ b/strace.c
-@@ -2941,7 +2941,7 @@ print_stopped(struct tcb *tcp, const siginfo_t *si, const unsigned int sig)
- 		printleader(tcp);
- 		if (si) {
- 			tprintf("--- %s ", sprintsigname(sig));
--			printsiginfo(si);
-+			printsiginfo(tcp, si);
- 			tprints(" ---\n");
- 		} else
- 			tprintf("--- stopped by %s ---\n", sprintsigname(sig));
--- 
-2.1.4
-
diff --git a/SOURCES/0130-Modify-process-class-trace-syscalls-associated-with-.patch b/SOURCES/0130-Modify-process-class-trace-syscalls-associated-with-.patch
deleted file mode 100644
index 89f4358..0000000
--- a/SOURCES/0130-Modify-process-class-trace-syscalls-associated-with-.patch
+++ /dev/null
@@ -1,1391 +0,0 @@
-From 2313eb7158479646ec9f85893453951c3b4b58df Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?=C3=81kos=20Uzonyi?= <uzonyi.akos@gmail.com>
-Date: Fri, 19 Jun 2020 12:06:43 +0200
-Subject: [PATCH 130/138] Modify %process class: trace syscalls associated with
- process lifecycle
-
-The description is rephrased as:
-"Trace system calls associated with process lifecycle
-(creation, exec, termination)."
-
-kill, tkill, tgkill, pidfd_send_signal and rt_sigqueueinfo are added,
-arch_prctl and unshare are removed from the %process class.
-
-syscallent*.h files are updated automatically by:
-find linux -name syscallent*.h -exec \
-sed -i -r -e '
-    /(arch_prctl|unshare)/ {
-        s/(\{[^,]*,\t[^,]*)TP\|/\1/
-        s/(\{[^,]*,\t[^,]*)\|TP/\1/
-        s/(\{[^,]*,\t[^,]*)TP,/\10,/
-    }
-' -e '
-    /(kill|pidfd_send_signal|rt_sigqueueinfo)/ {
-        s/(\{[^,]*,\t[^0][^,]*)/\1|TP/
-        s/(\{[^,]*,\s*)0/\1TP/
-    }
-' {} +
-
-[ldv: document this change in NEWS.]
-
-* strace.1.in: Rephrase %process description.
-* linux/32/syscallent.h: Add TP flag to *kill, pidfd_send_signal and
-rt_sigqueueinfo; remove TP flag from arch_prctl and unshare.
-* linux/64/syscallent.h: Likewise.
-* linux/alpha/syscallent.h: Likewise.
-* linux/arm/syscallent.h: Likewise.
-* linux/avr32/syscallent.h: Likewise.
-* linux/bfin/syscallent.h: Likewise.
-* linux/hppa/syscallent.h: Likewise.
-* linux/i386/syscallent.h: Likewise.
-* linux/ia64/syscallent.h: Likewise.
-* linux/m68k/syscallent.h: Likewise.
-* linux/microblaze/syscallent.h: Likewise.
-* linux/mips/syscallent-compat.h: Likewise.
-* linux/mips/syscallent-n32.h: Likewise.
-* linux/mips/syscallent-n64.h: Likewise.
-* linux/mips/syscallent-o32.h: Likewise.
-* linux/powerpc/syscallent.h: Likewise.
-* linux/powerpc64/syscallent.h: Likewise.
-* linux/s390/syscallent.h: Likewise.
-* linux/s390x/syscallent.h: Likewise.
-* linux/sh/syscallent.h: Likewise.
-* linux/sh64/syscallent.h: Likewise.
-* linux/sparc/syscallent.h: Likewise.
-* linux/sparc64/syscallent.h: Likewise.
-* linux/syscallent-common.h: Likewise.
-* linux/x32/syscallent.h: Likewise.
-* linux/x86_64/syscallent.h: Likewise.
-* linux/xtensa/syscallent.h: Likewise.
-* NEWS: Mention this change.
-
-Conflicts:
-	NEWS
-	linux/i386/syscallent.h
----
- linux/32/syscallent.h          | 10 +++++-----
- linux/64/syscallent.h          | 10 +++++-----
- linux/alpha/syscallent.h       | 12 ++++++------
- linux/arm/syscallent.h         | 10 +++++-----
- linux/avr32/syscallent.h       | 10 +++++-----
- linux/bfin/syscallent.h        | 10 +++++-----
- linux/hppa/syscallent.h        | 10 +++++-----
- linux/i386/syscallent.h        | 12 ++++++------
- linux/ia64/syscallent.h        | 10 +++++-----
- linux/m68k/syscallent.h        | 10 +++++-----
- linux/microblaze/syscallent.h  | 10 +++++-----
- linux/mips/syscallent-compat.h | 10 +++++-----
- linux/mips/syscallent-n32.h    | 10 +++++-----
- linux/mips/syscallent-n64.h    | 10 +++++-----
- linux/mips/syscallent-o32.h    | 10 +++++-----
- linux/powerpc/syscallent.h     | 10 +++++-----
- linux/powerpc64/syscallent.h   | 10 +++++-----
- linux/s390/syscallent.h        | 10 +++++-----
- linux/s390x/syscallent.h       | 10 +++++-----
- linux/sh/syscallent.h          | 10 +++++-----
- linux/sh64/syscallent.h        | 10 +++++-----
- linux/sparc/syscallent.h       | 10 +++++-----
- linux/sparc64/syscallent.h     | 10 +++++-----
- linux/syscallent-common.h      |  2 +-
- linux/x32/syscallent.h         | 14 +++++++-------
- linux/x86_64/syscallent.h      | 12 ++++++------
- linux/xtensa/syscallent.h      | 10 +++++-----
- strace.1.in                    |  4 ++--
- 28 files changed, 138 insertions(+), 138 deletions(-)
-
-diff --git a/linux/32/syscallent.h b/linux/32/syscallent.h
-index 5e1f06d..c74ab18 100644
---- a/linux/32/syscallent.h
-+++ b/linux/32/syscallent.h
-@@ -109,7 +109,7 @@
- [ 94] = { 1,	TP|SE,		SEN(exit),			"exit_group"		},
- [ 95] = { 5,	TP,		SEN(waitid),			"waitid"		},
- [ 96] = { 1,	0,		SEN(set_tid_address),		"set_tid_address"	},
--[ 97] = { 1,	TP,		SEN(unshare),			"unshare"		},
-+[ 97] = { 1,	0,		SEN(unshare),			"unshare"		},
- /* [ 98] futex */
- [ 99] = { 2,	0,		SEN(set_robust_list),		"set_robust_list"	},
- [100] = { 3,	0,		SEN(get_robust_list),		"get_robust_list"	},
-@@ -141,16 +141,16 @@
- [126] = { 1,	0,		SEN(sched_get_priority_min),	"sched_get_priority_min"},
- /* [127] sched_rr_get_interval */
- [128] = { 0,	0,		SEN(restart_syscall),		"restart_syscall"	},
--[129] = { 2,	TS,		SEN(kill),			"kill"			},
--[130] = { 2,	TS,		SEN(kill),			"tkill"			},
--[131] = { 3,	TS,		SEN(tgkill),			"tgkill"		},
-+[129] = { 2,	TS|TP,		SEN(kill),			"kill"			},
-+[130] = { 2,	TS|TP,		SEN(kill),			"tkill"			},
-+[131] = { 3,	TS|TP,		SEN(tgkill),			"tgkill"		},
- [132] = { 2,	TS,		SEN(sigaltstack),		"sigaltstack"		},
- [133] = { 2,	TS,		SEN(rt_sigsuspend),		"rt_sigsuspend"		},
- [134] = { 4,	TS,		SEN(rt_sigaction),		"rt_sigaction"		},
- [135] = { 4,	TS,		SEN(rt_sigprocmask),		"rt_sigprocmask"	},
- [136] = { 2,	TS,		SEN(rt_sigpending),		"rt_sigpending"		},
- /* [137] rt_sigtimedwait */
--[138] = { 3,	TS,		SEN(rt_sigqueueinfo),		"rt_sigqueueinfo"	},
-+[138] = { 3,	TS|TP,		SEN(rt_sigqueueinfo),		"rt_sigqueueinfo"	},
- [139] = { 0,	TS,		SEN(rt_sigreturn),		"rt_sigreturn"		},
- [140] = { 3,	0,		SEN(setpriority),		"setpriority"		},
- [141] = { 2,	0,		SEN(getpriority),		"getpriority"		},
-diff --git a/linux/64/syscallent.h b/linux/64/syscallent.h
-index 9531a05..3fb1305 100644
---- a/linux/64/syscallent.h
-+++ b/linux/64/syscallent.h
-@@ -102,7 +102,7 @@
- [ 94] = { 1,	TP|SE,		SEN(exit),			"exit_group"		},
- [ 95] = { 5,	TP,		SEN(waitid),			"waitid"		},
- [ 96] = { 1,	0,		SEN(set_tid_address),		"set_tid_address"	},
--[ 97] = { 1,	TP,		SEN(unshare),			"unshare"		},
-+[ 97] = { 1,	0,		SEN(unshare),			"unshare"		},
- [ 98] = { 6,	0,		SEN(futex_time64),		"futex"			},
- [ 99] = { 2,	0,		SEN(set_robust_list),		"set_robust_list"	},
- [100] = { 3,	0,		SEN(get_robust_list),		"get_robust_list"	},
-@@ -134,16 +134,16 @@
- [126] = { 1,	0,		SEN(sched_get_priority_min),	"sched_get_priority_min"},
- [127] = { 2,	0,		SEN(sched_rr_get_interval_time64),"sched_rr_get_interval"},
- [128] = { 0,	0,		SEN(restart_syscall),		"restart_syscall"	},
--[129] = { 2,	TS,		SEN(kill),			"kill"			},
--[130] = { 2,	TS,		SEN(kill),			"tkill"			},
--[131] = { 3,	TS,		SEN(tgkill),			"tgkill"		},
-+[129] = { 2,	TS|TP,		SEN(kill),			"kill"			},
-+[130] = { 2,	TS|TP,		SEN(kill),			"tkill"			},
-+[131] = { 3,	TS|TP,		SEN(tgkill),			"tgkill"		},
- [132] = { 2,	TS,		SEN(sigaltstack),		"sigaltstack"		},
- [133] = { 2,	TS,		SEN(rt_sigsuspend),		"rt_sigsuspend"		},
- [134] = { 4,	TS,		SEN(rt_sigaction),		"rt_sigaction"		},
- [135] = { 4,	TS,		SEN(rt_sigprocmask),		"rt_sigprocmask"	},
- [136] = { 2,	TS,		SEN(rt_sigpending),		"rt_sigpending"		},
- [137] = { 4,	TS,		SEN(rt_sigtimedwait_time64),	"rt_sigtimedwait"	},
--[138] = { 3,	TS,		SEN(rt_sigqueueinfo),		"rt_sigqueueinfo"	},
-+[138] = { 3,	TS|TP,		SEN(rt_sigqueueinfo),		"rt_sigqueueinfo"	},
- [139] = { 0,	TS,		SEN(rt_sigreturn),		"rt_sigreturn"		},
- [140] = { 3,	0,		SEN(setpriority),		"setpriority"		},
- [141] = { 2,	0,		SEN(getpriority),		"getpriority"		},
-diff --git a/linux/alpha/syscallent.h b/linux/alpha/syscallent.h
-index b0d680b..93f0b0e 100644
---- a/linux/alpha/syscallent.h
-+++ b/linux/alpha/syscallent.h
-@@ -44,7 +44,7 @@
- [ 34] = { 5,	0,		SEN(printargs),			"osf_chflags"		}, /* not implemented */
- [ 35] = { 5,	0,		SEN(printargs),			"osf_fchflags"		}, /* not implemented */
- [ 36] = { 0,	0,		SEN(sync),			"sync"			},
--[ 37] = { 2,	TS,		SEN(kill),			"kill"			},
-+[ 37] = { 2,	TS|TP,		SEN(kill),			"kill"			},
- [ 38] = { 5,	TF|TST|TSTA,	SEN(printargs),			"osf_old_stat"		}, /* not implemented */
- [ 39] = { 2,	0,		SEN(setpgid),			"setpgid"		},
- [ 40] = { 5,	TF|TLST|TSTA,	SEN(printargs),			"osf_old_lstat"		}, /* not implemented */
-@@ -153,7 +153,7 @@
- [143] = { 5,	0,		SEN(printargs),			"osf_sethostid"		}, /* not implemented */
- [144] = { 2,	0,		SEN(getrlimit),			"getrlimit"		},
- [145] = { 2,	0,		SEN(setrlimit),			"setrlimit"		},
--[146] = { 5,	0,		SEN(printargs),			"osf_old_killpg"	}, /* not implemented */
-+[146] = { 5,	TP,		SEN(printargs),			"osf_old_killpg"	}, /* not implemented */
- [147] = { 0,	0,		SEN(setsid),			"setsid"		},
- [148] = { 4,	TF,		SEN(quotactl),			"quotactl"		},
- [149] = { 5,	0,		SEN(printargs),			"osf_oldquota"		}, /* not implemented */
-@@ -300,7 +300,7 @@
- [353] = { 4,	TS,		SEN(rt_sigprocmask),		"rt_sigprocmask"	},
- [354] = { 2,	TS,		SEN(rt_sigpending),		"rt_sigpending"		},
- [355] = { 4,	TS,		SEN(rt_sigtimedwait_time64),	"rt_sigtimedwait"	},
--[356] = { 3,	TS,		SEN(rt_sigqueueinfo),		"rt_sigqueueinfo"	},
-+[356] = { 3,	TS|TP,		SEN(rt_sigqueueinfo),		"rt_sigqueueinfo"	},
- [357] = { 2,	TS,		SEN(rt_sigsuspend),		"rt_sigsuspend"		},
- [358] = { 5,	TD,		SEN(select),			"select"		},
- [359] = { 2,	TCL,		SEN(gettimeofday),		"gettimeofday"		},
-@@ -325,7 +325,7 @@
- [378] = { 0,	PU|NF,		SEN(gettid),			"gettid"		},
- [379] = { 3,	TD,		SEN(readahead),			"readahead"		},
- [380] = { },
--[381] = { 2,	TS,		SEN(kill),			"tkill"			},
-+[381] = { 2,	TS|TP,		SEN(kill),			"tkill"			},
- [382] = { 5,	TF,		SEN(setxattr),			"setxattr"		},
- [383] = { 5,	TF,		SEN(setxattr),			"lsetxattr"		},
- [384] = { 5,	TD,		SEN(fsetxattr),			"fsetxattr"		},
-@@ -367,7 +367,7 @@
- [421] = { 2,	TCL,		SEN(clock_getres_time64),	"clock_getres"		},
- [422] = { 4,	0,		SEN(clock_nanosleep_time64),	"clock_nanosleep"	},
- [423] = { 4,	TI,		SEN(semtimedop_time64),		"semtimedop"		},
--[424] = { 3,	TS,		SEN(tgkill),			"tgkill"		},
-+[424] = { 3,	TS|TP,		SEN(tgkill),			"tgkill"		},
- [425] = { 2,	TF|TST|TSTA,	SEN(stat64),			"stat64"		},
- [426] = { 2,	TF|TLST|TSTA,	SEN(lstat64),			"lstat64"		},
- [427] = { 2,	TD|TFST|TSTA,	SEN(fstat64),			"fstat64"		},
-@@ -408,7 +408,7 @@
- [462] = { 3,	TD|TF,		SEN(faccessat),			"faccessat"		},
- [463] = { 6,	TD,		SEN(pselect6_time64),		"pselect6"		},
- [464] = { 5,	TD,		SEN(ppoll_time64),		"ppoll"			},
--[465] = { 1,	TP,		SEN(unshare),			"unshare"		},
-+[465] = { 1,	0,		SEN(unshare),			"unshare"		},
- [466] = { 2,	0,		SEN(set_robust_list),		"set_robust_list"	},
- [467] = { 3,	0,		SEN(get_robust_list),		"get_robust_list"	},
- [468] = { 6,	TD,		SEN(splice),			"splice"		},
-diff --git a/linux/arm/syscallent.h b/linux/arm/syscallent.h
-index e9eee9f..73497b6 100644
---- a/linux/arm/syscallent.h
-+++ b/linux/arm/syscallent.h
-@@ -44,7 +44,7 @@
- [ 34] = { 1,	0,		SEN(nice),			"nice"			},
- [ 35] = { 0,	0,		SEN(ftime),			"ftime"			},
- [ 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"		},
- [ 39] = { 2,	TF,		SEN(mkdir),			"mkdir"			},
- [ 40] = { 1,	TF,		SEN(rmdir),			"rmdir"			},
-@@ -185,7 +185,7 @@
- [175] = { 4,	TS,		SEN(rt_sigprocmask),		"rt_sigprocmask"	},
- [176] = { 2,	TS,		SEN(rt_sigpending),		"rt_sigpending"		},
- [177] = { 4,	TS,		SEN(rt_sigtimedwait_time32),	"rt_sigtimedwait"	},
--[178] = { 3,	TS,		SEN(rt_sigqueueinfo),		"rt_sigqueueinfo"	},
-+[178] = { 3,	TS|TP,		SEN(rt_sigqueueinfo),		"rt_sigqueueinfo"	},
- [179] = { 2,	TS,		SEN(rt_sigsuspend),		"rt_sigsuspend"		},
- [180] = { 6,	TD,		SEN(pread),			"pread64"		},
- [181] = { 6,	TD,		SEN(pwrite),			"pwrite64"		},
-@@ -245,7 +245,7 @@
- [235] = { 2,	TF,		SEN(removexattr),		"removexattr"		},
- [236] = { 2,	TF,		SEN(removexattr),		"lremovexattr"		},
- [237] = { 2,	TD,		SEN(fremovexattr),		"fremovexattr"		},
--[238] = { 2,	TS,		SEN(kill),			"tkill"			},
-+[238] = { 2,	TS|TP,		SEN(kill),			"tkill"			},
- [239] = { 4,	TD|TN,		SEN(sendfile64),		"sendfile64"		},
- [240] = { 6,	0,		SEN(futex_time32),		"futex"			},
- [241] = { 3,	0,		SEN(sched_setaffinity),		"sched_setaffinity"	},
-@@ -275,7 +275,7 @@
- [265] = { 4,	0,		SEN(clock_nanosleep_time32),	"clock_nanosleep"	},
- [266] = { 3,	TF|TSF|TSFA,	SEN(statfs64),			"statfs64"		},
- [267] = { 3,	TD|TFSF|TSFA,	SEN(fstatfs64),			"fstatfs64"		},
--[268] = { 3,	TS,		SEN(tgkill),			"tgkill"		},
-+[268] = { 3,	TS|TP,		SEN(tgkill),			"tgkill"		},
- [269] = { 2,	TF,		SEN(utimes),			"utimes"		},
- [270] = { 6,	TD,		SEN(fadvise64_64),		"fadvise64_64"		},
- [271] = { 3,	0,		SEN(printargs),			"pciconfig_iobase"	},
-@@ -344,7 +344,7 @@
- [334] = { 3,	TD|TF,		SEN(faccessat),			"faccessat"		},
- [335] = { 6,	TD,		SEN(pselect6_time32),		"pselect6"		},
- [336] = { 5,	TD,		SEN(ppoll_time32),		"ppoll"			},
--[337] = { 1,	TP,		SEN(unshare),			"unshare"		},
-+[337] = { 1,	0,		SEN(unshare),			"unshare"		},
- [338] = { 2,	0,		SEN(set_robust_list),		"set_robust_list"	},
- [339] = { 3,	0,		SEN(get_robust_list),		"get_robust_list"	},
- [340] = { 6,	TD,		SEN(splice),			"splice"		},
-diff --git a/linux/avr32/syscallent.h b/linux/avr32/syscallent.h
-index 0b24353..b3cf2da 100644
---- a/linux/avr32/syscallent.h
-+++ b/linux/avr32/syscallent.h
-@@ -43,7 +43,7 @@
- [ 34] = { 1,	TF,		SEN(chroot),			"chroot"		},
- [ 35] = { 0,	0,		SEN(sync),			"sync"			},
- [ 36] = { 1,	TD,		SEN(fsync),			"fsync"			},
--[ 37] = { 2,	TS,		SEN(kill),			"kill"			},
-+[ 37] = { 2,	TS|TP,		SEN(kill),			"kill"			},
- [ 38] = { 2,	TF,		SEN(rename),			"rename"		},
- [ 39] = { 2,	TF,		SEN(mkdir),			"mkdir"			},
- [ 40] = { 1,	TF,		SEN(rmdir),			"rmdir"			},
-@@ -78,7 +78,7 @@
- [ 69] = { 4,	TS,		SEN(rt_sigprocmask),		"rt_sigprocmask"	},
- [ 70] = { 2,	TS,		SEN(rt_sigpending),		"rt_sigpending"		},
- [ 71] = { 4,	TS,		SEN(rt_sigtimedwait_time32),	"rt_sigtimedwait"	},
--[ 72] = { 3,	TS,		SEN(rt_sigqueueinfo),		"rt_sigqueueinfo"	},
-+[ 72] = { 3,	TS|TP,		SEN(rt_sigqueueinfo),		"rt_sigqueueinfo"	},
- [ 73] = { 2,	TS,		SEN(rt_sigsuspend),		"rt_sigsuspend"		},
- [ 74] = { 2,	0,		SEN(sethostname),		"sethostname"		},
- [ 75] = { 2,	0,		SEN(setrlimit),			"setrlimit"		},
-@@ -196,7 +196,7 @@
- [187] = { 2,	TF,		SEN(removexattr),		"removexattr"		},
- [188] = { 2,	TF,		SEN(removexattr),		"lremovexattr"		},
- [189] = { 2,	TD,		SEN(fremovexattr),		"fremovexattr"		},
--[190] = { 2,	TS,		SEN(kill),			"tkill"			},
-+[190] = { 2,	TS|TP,		SEN(kill),			"tkill"			},
- [191] = { 4,	TD|TN,		SEN(sendfile64),		"sendfile64"		},
- [192] = { 6,	0,		SEN(futex_time32),		"futex"			},
- [193] = { 3,	0,		SEN(sched_setaffinity),		"sched_setaffinity"	},
-@@ -227,7 +227,7 @@
- [218] = { 4,	0,		SEN(clock_nanosleep_time32),	"clock_nanosleep"	},
- [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] = { },
- [223] = { 2,	TF,		SEN(utimes),			"utimes"		},
- [224] = { 6,	TD,		SEN(fadvise64_64),		"fadvise64_64"		},
-@@ -264,7 +264,7 @@
- [255] = { 3,	TD|TF,		SEN(faccessat),			"faccessat"		},
- [256] = { 6,	TD,		SEN(pselect6_time32),		"pselect6"		},
- [257] = { 5,	TD,		SEN(ppoll_time32),		"ppoll"			},
--[258] = { 1,	TP,		SEN(unshare),			"unshare"		},
-+[258] = { 1,	0,		SEN(unshare),			"unshare"		},
- [259] = { 2,	0,		SEN(set_robust_list),		"set_robust_list"	},
- [260] = { 3,	0,		SEN(get_robust_list),		"get_robust_list"	},
- [261] = { 6,	TD,		SEN(splice),			"splice"		},
-diff --git a/linux/bfin/syscallent.h b/linux/bfin/syscallent.h
-index 4deafe0..b93a844 100644
---- a/linux/bfin/syscallent.h
-+++ b/linux/bfin/syscallent.h
-@@ -44,7 +44,7 @@
- [ 34] = { 1,	0,		SEN(nice),			"nice"			},
- [ 35] = { 0,	0,		SEN(ftime),			"ftime"			},
- [ 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"		},
- [ 39] = { 2,	TF,		SEN(mkdir),			"mkdir"			},
- [ 40] = { 1,	TF,		SEN(rmdir),			"rmdir"			},
-@@ -185,7 +185,7 @@
- [175] = { 4,	TS,		SEN(rt_sigprocmask),		"rt_sigprocmask"	},
- [176] = { 2,	TS,		SEN(rt_sigpending),		"rt_sigpending"		},
- [177] = { 4,	TS,		SEN(rt_sigtimedwait_time32),	"rt_sigtimedwait"	},
--[178] = { 3,	TS,		SEN(rt_sigqueueinfo),		"rt_sigqueueinfo"	},
-+[178] = { 3,	TS|TP,		SEN(rt_sigqueueinfo),		"rt_sigqueueinfo"	},
- [179] = { 2,	TS,		SEN(rt_sigsuspend),		"rt_sigsuspend"		},
- [180] = { 5,	TD,		SEN(pread),			"pread"			},
- [181] = { 5,	TD,		SEN(pwrite),			"pwrite"		},
-@@ -244,7 +244,7 @@
- [235] = { 2,	TF,		SEN(removexattr),		"removexattr"		},
- [236] = { 2,	TF,		SEN(removexattr),		"lremovexattr"		},
- [237] = { 2,	TD,		SEN(fremovexattr),		"fremovexattr"		},
--[238] = { 2,	TS,		SEN(kill),			"tkill"			},
-+[238] = { 2,	TS|TP,		SEN(kill),			"tkill"			},
- [239] = { 4,	TD|TN,		SEN(sendfile64),		"sendfile64"		},
- [240] = { 6,	0,		SEN(futex_time32),		"futex"			},
- [241] = { 3,	0,		SEN(sched_setaffinity),		"sched_setaffinity"	},
-@@ -277,7 +277,7 @@
- [268] = { 4,	0,		SEN(clock_nanosleep_time32),	"clock_nanosleep"	},
- [269] = { 3,	TF|TSF|TSFA,	SEN(statfs64),			"statfs64"		},
- [270] = { 3,	TD|TFSF|TSFA,	SEN(fstatfs64),			"fstatfs64"		},
--[271] = { 3,	TS,		SEN(tgkill),			"tgkill"		},
-+[271] = { 3,	TS|TP,		SEN(tgkill),			"tgkill"		},
- [272] = { 2,	TF,		SEN(utimes),			"utimes"		},
- [273] = { 6,	TD,		SEN(fadvise64_64),		"fadvise64_64"		},
- [274] = { 5,	0,		SEN(vserver),			"vserver"		},
-@@ -316,7 +316,7 @@
- [307] = { 3,	TD|TF,		SEN(faccessat),			"faccessat"		},
- [308] = { 6,	TD,		SEN(pselect6_time32),		"pselect6"		},
- [309] = { 5,	TD,		SEN(ppoll_time32),		"ppoll"			},
--[310] = { 1,	TP,		SEN(unshare),			"unshare"		},
-+[310] = { 1,	0,		SEN(unshare),			"unshare"		},
- [311] = { 2,	0,		SEN(sram_alloc),		"sram_alloc"		},
- [312] = { 1,	0,		SEN(printargs),			"sram_free"		},
- [313] = { 3,	0,		SEN(printargs),			"dma_memcpy"		},
-diff --git a/linux/hppa/syscallent.h b/linux/hppa/syscallent.h
-index dca6c41..31341d4 100644
---- a/linux/hppa/syscallent.h
-+++ b/linux/hppa/syscallent.h
-@@ -40,7 +40,7 @@
- [ 34] = { 1,	0,		SEN(nice),			"nice"			},
- [ 35] = { 3,	TN,		SEN(accept),			"accept"		},
- [ 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"		},
- [ 39] = { 2,	TF,		SEN(mkdir),			"mkdir"			},
- [ 40] = { 1,	TF,		SEN(rmdir),			"rmdir"			},
-@@ -181,7 +181,7 @@
- [175] = { 4,	TS,		SEN(rt_sigprocmask),		"rt_sigprocmask"	},
- [176] = { 2,	TS,		SEN(rt_sigpending),		"rt_sigpending"		},
- [177] = { 4,	TS,		SEN(rt_sigtimedwait_time32),	"rt_sigtimedwait"	},
--[178] = { 3,	TS,		SEN(rt_sigqueueinfo),		"rt_sigqueueinfo"	},
-+[178] = { 3,	TS|TP,		SEN(rt_sigqueueinfo),		"rt_sigqueueinfo"	},
- [179] = { 2,	TS,		SEN(rt_sigsuspend),		"rt_sigsuspend"		},
- [180] = { 3,	TF,		SEN(chown),			"chown"			},
- [181] = { 5,	TN,		SEN(setsockopt),		"setsockopt"		},
-@@ -211,7 +211,7 @@
- [205] = { 5,	0,		SEN(printargs),			"acl_set"		},
- [206] = { 0,	PU|NF,		SEN(gettid),			"gettid"		},
- [207] = { 4,	TD,		SEN(readahead),			"readahead"		},
--[208] = { 2,	TS,		SEN(kill),			"tkill"			},
-+[208] = { 2,	TS|TP,		SEN(kill),			"tkill"			},
- [209] = { 4,	TD|TN,		SEN(sendfile64),		"sendfile64"		},
- [210] = { 6,	0,		SEN(futex_time32),		"futex"			},
- [211] = { 3,	0,		SEN(sched_setaffinity),		"sched_setaffinity"	},
-@@ -262,7 +262,7 @@
- [256] = { 2,	TCL,		SEN(clock_gettime32),		"clock_gettime"		},
- [257] = { 2,	TCL,		SEN(clock_getres_time32),	"clock_getres"		},
- [258] = { 4,	0,		SEN(clock_nanosleep_time32),	"clock_nanosleep"	},
--[259] = { 3,	TS,		SEN(tgkill),			"tgkill"		},
-+[259] = { 3,	TS|TP,		SEN(tgkill),			"tgkill"		},
- [260] = { 6,	TM,		SEN(mbind),			"mbind"			},
- [261] = { 5,	TM,		SEN(get_mempolicy),		"get_mempolicy"		},
- [262] = { 3,	TM,		SEN(set_mempolicy),		"set_mempolicy"		},
-@@ -291,7 +291,7 @@
- [285] = { 4,	TD|TF,		SEN(readlinkat),		"readlinkat"		},
- [286] = { 3,	TD|TF,		SEN(fchmodat),			"fchmodat"		},
- [287] = { 3,	TD|TF,		SEN(faccessat),			"faccessat"		},
--[288] = { 1,	TP,		SEN(unshare),			"unshare"		},
-+[288] = { 1,	0,		SEN(unshare),			"unshare"		},
- [289] = { 2,	0,		SEN(set_robust_list),		"set_robust_list"	},
- [290] = { 3,	0,		SEN(get_robust_list),		"get_robust_list"	},
- [291] = { 6,	TD,		SEN(splice),			"splice"		},
-diff --git a/linux/i386/syscallent.h b/linux/i386/syscallent.h
-index 0427870..efe0ff7 100644
---- a/linux/i386/syscallent.h
-+++ b/linux/i386/syscallent.h
-@@ -44,7 +44,7 @@
- [ 34] = { 1,	0,		SEN(nice),			"nice"			},
- [ 35] = { 0,	0,		SEN(ftime),			"ftime"			},
- [ 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"		},
- [ 39] = { 2,	TF,		SEN(mkdir),			"mkdir"			},
- [ 40] = { 1,	TF,		SEN(rmdir),			"rmdir"			},
-@@ -185,7 +185,7 @@
- [175] = { 4,	TS,		SEN(rt_sigprocmask),		"rt_sigprocmask"	},
- [176] = { 2,	TS,		SEN(rt_sigpending),		"rt_sigpending"		},
- [177] = { 4,	TS,		SEN(rt_sigtimedwait_time32),	"rt_sigtimedwait"	},
--[178] = { 3,	TS,		SEN(rt_sigqueueinfo),		"rt_sigqueueinfo"	},
-+[178] = { 3,	TS|TP,		SEN(rt_sigqueueinfo),		"rt_sigqueueinfo"	},
- [179] = { 2,	TS,		SEN(rt_sigsuspend),		"rt_sigsuspend"		},
- [180] = { 5,	TD,		SEN(pread),			"pread64"		},
- [181] = { 5,	TD,		SEN(pwrite),			"pwrite64"		},
-@@ -244,7 +244,7 @@
- [235] = { 2,	TF,		SEN(removexattr),		"removexattr"		},
- [236] = { 2,	TF,		SEN(removexattr),		"lremovexattr"		},
- [237] = { 2,	TD,		SEN(fremovexattr),		"fremovexattr"		},
--[238] = { 2,	TS,		SEN(kill),			"tkill"			},
-+[238] = { 2,	TS|TP,		SEN(kill),			"tkill"			},
- [239] = { 4,	TD|TN,		SEN(sendfile64),		"sendfile64"		},
- [240] = { 6,	0,		SEN(futex_time32),		"futex"			},
- [241] = { 3,	0,		SEN(sched_setaffinity),		"sched_setaffinity"	},
-@@ -276,7 +276,7 @@
- [267] = { 4,	0,		SEN(clock_nanosleep_time32),	"clock_nanosleep"	},
- [268] = { 3,	TF|TSF|TSFA,	SEN(statfs64),			"statfs64"		},
- [269] = { 3,	TD|TFSF|TSFA,	SEN(fstatfs64),			"fstatfs64"		},
--[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] = { 5,	0,		SEN(vserver),			"vserver"		},
-@@ -316,7 +316,7 @@
- [307] = { 3,	TD|TF,		SEN(faccessat),			"faccessat"		},
- [308] = { 6,	TD,		SEN(pselect6_time32),		"pselect6"		},
- [309] = { 5,	TD,		SEN(ppoll_time32),		"ppoll"			},
--[310] = { 1,	TP,		SEN(unshare),			"unshare"		},
-+[310] = { 1,	0,		SEN(unshare),			"unshare"		},
- [311] = { 2,	0,		SEN(set_robust_list),		"set_robust_list"	},
- [312] = { 3,	0,		SEN(get_robust_list),		"get_robust_list"	},
- [313] = { 6,	TD,		SEN(splice),			"splice"		},
-@@ -390,7 +390,7 @@
- [381] = { 2,	0,		SEN(pkey_alloc),		"pkey_alloc"		},
- [382] = { 1,	0,		SEN(pkey_free),			"pkey_free"		},
- [383] = { 5,	TD|TF|TSTA,	SEN(statx),			"statx"			},
--[384] = { 2,	TP,		SEN(arch_prctl),		"arch_prctl"		},
-+[384] = { 2,	0,		SEN(arch_prctl),		"arch_prctl"		},
- [385] = { 6,	0,		SEN(io_pgetevents_time32),	"io_pgetevents"		},
- [386] = { 4,	0,		SEN(rseq),			"rseq"			},
- /* room for arch specific calls */
-diff --git a/linux/ia64/syscallent.h b/linux/ia64/syscallent.h
-index 9098488..8aeda41 100644
---- a/linux/ia64/syscallent.h
-+++ b/linux/ia64/syscallent.h
-@@ -49,7 +49,7 @@
- [BASE_NR +  26] = { 0,	0,		SEN(sync),			"sync"			},
- [BASE_NR +  27] = { 1,	TD,		SEN(fsync),			"fsync"			},
- [BASE_NR +  28] = { 1,	TD,		SEN(fdatasync),			"fdatasync"		},
--[BASE_NR +  29] = { 2,	TS,		SEN(kill),			"kill"			},
-+[BASE_NR +  29] = { 2,	TS|TP,		SEN(kill),			"kill"			},
- [BASE_NR +  30] = { 2,	TF,		SEN(rename),			"rename"		},
- [BASE_NR +  31] = { 2,	TF,		SEN(mkdir),			"mkdir"			},
- [BASE_NR +  32] = { 1,	TF,		SEN(rmdir),			"rmdir"			},
-@@ -176,7 +176,7 @@
- [BASE_NR + 153] = { 4,	TS,		SEN(rt_sigaction),		"rt_sigaction"		},
- [BASE_NR + 154] = { 2,	TS,		SEN(rt_sigpending),		"rt_sigpending"		},
- [BASE_NR + 155] = { 4,	TS,		SEN(rt_sigprocmask),		"rt_sigprocmask"	},
--[BASE_NR + 156] = { 3,	TS,		SEN(rt_sigqueueinfo),		"rt_sigqueueinfo"	},
-+[BASE_NR + 156] = { 3,	TS|TP,		SEN(rt_sigqueueinfo),		"rt_sigqueueinfo"	},
- [BASE_NR + 157] = { 0,	TS,		SEN(rt_sigreturn),		"rt_sigreturn"		},
- [BASE_NR + 158] = { 2,	TS,		SEN(rt_sigsuspend),		"rt_sigsuspend"		},
- [BASE_NR + 159] = { 4,	TS,		SEN(rt_sigtimedwait_time64),	"rt_sigtimedwait"	},
-@@ -225,13 +225,13 @@
- [BASE_NR + 202] = { 2,	TF,		SEN(removexattr),		"removexattr"		},
- [BASE_NR + 203] = { 2,	TF,		SEN(removexattr),		"lremovexattr"		},
- [BASE_NR + 204] = { 2,	TD,		SEN(fremovexattr),		"fremovexattr"		},
--[BASE_NR + 205] = { 2,	TS,		SEN(kill),			"tkill"			},
-+[BASE_NR + 205] = { 2,	TS|TP,		SEN(kill),			"tkill"			},
- [BASE_NR + 206] = { 6,	0,		SEN(futex_time64),		"futex"			},
- [BASE_NR + 207] = { 3,	0,		SEN(sched_setaffinity),		"sched_setaffinity"	},
- [BASE_NR + 208] = { 3,	0,		SEN(sched_getaffinity),		"sched_getaffinity"	},
- [BASE_NR + 209] = { 1,	0,		SEN(set_tid_address),		"set_tid_address"	},
- [BASE_NR + 210] = { 4,	TD,		SEN(fadvise64),			"fadvise64"		},
--[BASE_NR + 211] = { 3,	TS,		SEN(tgkill),			"tgkill"		},
-+[BASE_NR + 211] = { 3,	TS|TP,		SEN(tgkill),			"tgkill"		},
- [BASE_NR + 212] = { 1,	TP|SE,		SEN(exit),			"exit_group"		},
- [BASE_NR + 213] = { 3,	0,		SEN(lookup_dcookie),		"lookup_dcookie"	},
- [BASE_NR + 214] = { 2,	TM,		SEN(io_setup),			"io_setup"		},
-@@ -292,7 +292,7 @@
- [BASE_NR + 269] = { 3,	TD|TF,		SEN(faccessat),			"faccessat"		},
- [BASE_NR + 270] = { 6,	TD,		SEN(pselect6_time64),		"pselect6"		},
- [BASE_NR + 271] = { 5,	TD,		SEN(ppoll_time64),		"ppoll"			},
--[BASE_NR + 272] = { 1,	TP,		SEN(unshare),			"unshare"		},
-+[BASE_NR + 272] = { 1,	0,		SEN(unshare),			"unshare"		},
- [BASE_NR + 273] = { 6,	TD,		SEN(splice),			"splice"		},
- [BASE_NR + 274] = { 2,	0,		SEN(set_robust_list),		"set_robust_list"	},
- [BASE_NR + 275] = { 3,	0,		SEN(get_robust_list),		"get_robust_list"	},
-diff --git a/linux/m68k/syscallent.h b/linux/m68k/syscallent.h
-index 315dbb6..1876bed 100644
---- a/linux/m68k/syscallent.h
-+++ b/linux/m68k/syscallent.h
-@@ -44,7 +44,7 @@
- [ 34] = { 1,	0,		SEN(nice),			"nice"			},
- [ 35] = { 0,	0,		SEN(ftime),			"ftime"			},
- [ 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"		},
- [ 39] = { 2,	TF,		SEN(mkdir),			"mkdir"			},
- [ 40] = { 1,	TF,		SEN(rmdir),			"rmdir"			},
-@@ -185,7 +185,7 @@
- [175] = { 4,	TS,		SEN(rt_sigprocmask),		"rt_sigprocmask"	},
- [176] = { 2,	TS,		SEN(rt_sigpending),		"rt_sigpending"		},
- [177] = { 4,	TS,		SEN(rt_sigtimedwait_time32),	"rt_sigtimedwait"	},
--[178] = { 3,	TS,		SEN(rt_sigqueueinfo),		"rt_sigqueueinfo"	},
-+[178] = { 3,	TS|TP,		SEN(rt_sigqueueinfo),		"rt_sigqueueinfo"	},
- [179] = { 2,	TS,		SEN(rt_sigsuspend),		"rt_sigsuspend"		},
- [180] = { 5,	TD,		SEN(pread),			"pread64"		},
- [181] = { 5,	TD,		SEN(pwrite),			"pwrite64"		},
-@@ -228,7 +228,7 @@
- [218 ... 219] = { },
- [220] = { 3,	TD,		SEN(getdents64),		"getdents64"		},
- [221] = { 0,	PU|NF,		SEN(gettid),			"gettid"		},
--[222] = { 2,	TS,		SEN(kill),			"tkill"			},
-+[222] = { 2,	TS|TP,		SEN(kill),			"tkill"			},
- [223] = { 5,	TF,		SEN(setxattr),			"setxattr"		},
- [224] = { 5,	TF,		SEN(setxattr),			"lsetxattr"		},
- [225] = { 5,	TD,		SEN(fsetxattr),			"fsetxattr"		},
-@@ -271,7 +271,7 @@
- [262] = { 4,	0,		SEN(clock_nanosleep_time32),	"clock_nanosleep"	},
- [263] = { 3,	TF|TSF|TSFA,	SEN(statfs64),			"statfs64"		},
- [264] = { 3,	TD|TFSF|TSFA,	SEN(fstatfs64),			"fstatfs64"		},
--[265] = { 3,	TS,		SEN(tgkill),			"tgkill"		},
-+[265] = { 3,	TS|TP,		SEN(tgkill),			"tgkill"		},
- [266] = { 2,	TF,		SEN(utimes),			"utimes"		},
- [267] = { 6,	TD,		SEN(fadvise64_64),		"fadvise64_64"		},
- [268] = { 6,	TM,		SEN(mbind),			"mbind"			},
-@@ -309,7 +309,7 @@
- [300] = { 3,	TD|TF,		SEN(faccessat),			"faccessat"		},
- [301] = { 6,	TD,		SEN(pselect6_time32),		"pselect6"		},
- [302] = { 5,	TD,		SEN(ppoll_time32),		"ppoll"			},
--[303] = { 1,	TP,		SEN(unshare),			"unshare"		},
-+[303] = { 1,	0,		SEN(unshare),			"unshare"		},
- [304] = { 2,	0,		SEN(set_robust_list),		"set_robust_list"	},
- [305] = { 3,	0,		SEN(get_robust_list),		"get_robust_list"	},
- [306] = { 6,	TD,		SEN(splice),			"splice"		},
-diff --git a/linux/microblaze/syscallent.h b/linux/microblaze/syscallent.h
-index c17aad1..5d071bc 100644
---- a/linux/microblaze/syscallent.h
-+++ b/linux/microblaze/syscallent.h
-@@ -44,7 +44,7 @@
- [ 34] = { 1,	0,		SEN(nice),			"nice"			},
- [ 35] = { 0,	0,		SEN(ftime),			"ftime"			},
- [ 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"		},
- [ 39] = { 2,	TF,		SEN(mkdir),			"mkdir"			},
- [ 40] = { 1,	TF,		SEN(rmdir),			"rmdir"			},
-@@ -185,7 +185,7 @@
- [175] = { 4,	TS,		SEN(rt_sigprocmask),		"rt_sigprocmask"	},
- [176] = { 2,	TS,		SEN(rt_sigpending),		"rt_sigpending"		},
- [177] = { 4,	TS,		SEN(rt_sigtimedwait_time32),	"rt_sigtimedwait"	},
--[178] = { 3,	TS,		SEN(rt_sigqueueinfo),		"rt_sigqueueinfo"	},
-+[178] = { 3,	TS|TP,		SEN(rt_sigqueueinfo),		"rt_sigqueueinfo"	},
- [179] = { 2,	TS,		SEN(rt_sigsuspend),		"rt_sigsuspend"		},
- [180] = { 5,	TD,		SEN(pread),			"pread64"		},
- [181] = { 5,	TD,		SEN(pwrite),			"pwrite64"		},
-@@ -244,7 +244,7 @@
- [235] = { 2,	TF,		SEN(removexattr),		"removexattr"		},
- [236] = { 2,	TF,		SEN(removexattr),		"lremovexattr"		},
- [237] = { 2,	TD,		SEN(fremovexattr),		"fremovexattr"		},
--[238] = { 2,	TS,		SEN(kill),			"tkill"			},
-+[238] = { 2,	TS|TP,		SEN(kill),			"tkill"			},
- [239] = { 4,	TD|TN,		SEN(sendfile64),		"sendfile64"		},
- [240] = { 6,	0,		SEN(futex_time32),		"futex"			},
- [241] = { 3,	0,		SEN(sched_setaffinity),		"sched_setaffinity"	},
-@@ -276,7 +276,7 @@
- [267] = { 4,	0,		SEN(clock_nanosleep_time32),	"clock_nanosleep"	},
- [268] = { 3,	TF|TSF|TSFA,	SEN(statfs64),			"statfs64"		},
- [269] = { 3,	TD|TFSF|TSFA,	SEN(fstatfs64),			"fstatfs64"		},
--[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] = { 5,	0,		SEN(vserver),			"vserver"		},
-@@ -316,7 +316,7 @@
- [307] = { 3,	TD|TF,		SEN(faccessat),			"faccessat"		},
- [308] = { 6,	TD,		SEN(pselect6_time32),		"pselect6"		},
- [309] = { 5,	TD,		SEN(ppoll_time32),		"ppoll"			},
--[310] = { 1,	TP,		SEN(unshare),			"unshare"		},
-+[310] = { 1,	0,		SEN(unshare),			"unshare"		},
- [311] = { 2,	0,		SEN(set_robust_list),		"set_robust_list"	},
- [312] = { 3,	0,		SEN(get_robust_list),		"get_robust_list"	},
- [313] = { 6,	TD,		SEN(splice),			"splice"		},
-diff --git a/linux/mips/syscallent-compat.h b/linux/mips/syscallent-compat.h
-index 918f110..61ccfe4 100644
---- a/linux/mips/syscallent-compat.h
-+++ b/linux/mips/syscallent-compat.h
-@@ -42,7 +42,7 @@
- [  34] = { 0,	0,	SEN(printargs),		"svr4_nice"	},
- [  35] = { 0,	TF|TSF|TSFA,SEN(printargs),		"svr4_statfs"	},
- [  36] = { 0,	0,	SEN(printargs),		"svr4_sync"	},
--[  37] = { 0,	0,	SEN(printargs),		"svr4_kill"	},
-+[  37] = { 0,	TP,	SEN(printargs),		"svr4_kill"	},
- [  38] = { 0,	TD|TFSF|TSFA,SEN(printargs),		"svr4_fstatfs"	},
- [  39] = { 0,	0,	SEN(printargs),		"svr4_setpgrp"	},
- [  40] = { 0,	0,	SEN(printargs),		"svr4_cxenix"	},
-@@ -193,7 +193,7 @@
- [1034] = { 0,	0,	SEN(printargs),		"sysv_nice"	},
- [1035] = { 0,	TF|TSF|TSFA,SEN(printargs),		"sysv_statfs"	},
- [1036] = { 0,	0,	SEN(printargs),		"sysv_sync"	},
--[1037] = { 0,	0,	SEN(printargs),		"sysv_kill"	},
-+[1037] = { 0,	TP,	SEN(printargs),		"sysv_kill"	},
- [1038] = { 0,	TD|TFSF|TSFA,SEN(printargs),		"sysv_fstatfs"	},
- [1039] = { 0,	0,	SEN(printargs),		"sysv_setpgrp"	},
- [1040] = { 0,	0,	SEN(printargs),		"sysv_syssgi"	},
-@@ -378,7 +378,7 @@
- [2034] = { 0,	0,	SEN(printargs),		"bsd43_nice"	},
- [2035] = { 0,	0,	SEN(printargs),		"bsd43_ftime"	},
- [2036] = { 0,	0,	SEN(printargs),		"bsd43_sync"	},
--[2037] = { 0,	0,	SEN(printargs),		"bsd43_kill"	},
-+[2037] = { 0,	TP,	SEN(printargs),		"bsd43_kill"	},
- [2038] = { 0,	TF|TST|TSTA,SEN(printargs),		"bsd43_stat"	},
- [2039] = { 0,	0,	SEN(printargs),		"bsd43_oldsetpgrp"	},
- [2040] = { 0,	TF|TLST|TSTA,SEN(printargs),		"bsd43_lstat"	},
-@@ -487,7 +487,7 @@
- [2143] = { 0,	0,	SEN(printargs),		"bsd43_sethostid"	},
- [2144] = { 0,	0,	SEN(printargs),		"bsd43_getrlimit"	},
- [2145] = { 0,	0,	SEN(printargs),		"bsd43_setrlimit"	},
--[2146] = { 0,	0,	SEN(printargs),		"bsd43_killpg"	},
-+[2146] = { 0,	TP,	SEN(printargs),		"bsd43_killpg"	},
- [2147] = { 0,	0,	SEN(printargs),		"bsd43_shmsys"	},
- [2148] = { 0,	0,	SEN(printargs),		"bsd43_quota"	},
- [2149] = { 0,	0,	SEN(printargs),		"bsd43_qquota"	},
-@@ -571,7 +571,7 @@
- [3034] = { 0,	0,	SEN(printargs),		"posix_nice"	},
- [3035] = { 0,	TF|TSF|TSFA,SEN(printargs),		"posix_statfs"	},
- [3036] = { 0,	0,	SEN(printargs),		"posix_sync"	},
--[3037] = { 0,	0,	SEN(printargs),		"posix_kill"	},
-+[3037] = { 0,	TP,	SEN(printargs),		"posix_kill"	},
- [3038] = { 0,	TD|TFSF|TSFA,SEN(printargs),		"posix_fstatfs"	},
- [3039] = { 0,	0,	SEN(printargs),		"posix_getpgrp"	},
- [3040] = { 0,	0,	SEN(printargs),		"posix_syssgi"	},
-diff --git a/linux/mips/syscallent-n32.h b/linux/mips/syscallent-n32.h
-index 38773f8..cfd199d 100644
---- a/linux/mips/syscallent-n32.h
-+++ b/linux/mips/syscallent-n32.h
-@@ -68,7 +68,7 @@
- [BASE_NR +  57] = { 3,	TF|TP|TSD|SE|SI,	SEN(execve),			"execve"		},
- [BASE_NR +  58] = { 1,	TP|SE,		SEN(exit),			"exit"			},
- [BASE_NR +  59] = { 4,	TP,		SEN(wait4),			"wait4"			},
--[BASE_NR +  60] = { 2,	TS,		SEN(kill),			"kill"			},
-+[BASE_NR +  60] = { 2,	TS|TP,		SEN(kill),			"kill"			},
- [BASE_NR +  61] = { 1,	0,		SEN(uname),			"uname"			},
- [BASE_NR +  62] = { 3,	TI,		SEN(semget),			"semget"		},
- [BASE_NR +  63] = { 3,	TI,		SEN(semop),			"semop"			},
-@@ -135,7 +135,7 @@
- [BASE_NR + 124] = { 2,	TC,		SEN(capset),			"capset"		},
- [BASE_NR + 125] = { 2,	TS,		SEN(rt_sigpending),		"rt_sigpending"		},
- [BASE_NR + 126] = { 4,	TS,		SEN(rt_sigtimedwait_time32),	"rt_sigtimedwait"	},
--[BASE_NR + 127] = { 3,	TS,		SEN(rt_sigqueueinfo),		"rt_sigqueueinfo"	},
-+[BASE_NR + 127] = { 3,	TS|TP,		SEN(rt_sigqueueinfo),		"rt_sigqueueinfo"	},
- [BASE_NR + 128] = { 2,	TS,		SEN(rt_sigsuspend),		"rt_sigsuspend"		},
- [BASE_NR + 129] = { 2,	TS,		SEN(sigaltstack),		"sigaltstack"		},
- [BASE_NR + 130] = { 2,	TF,		SEN(utime),			"utime"			},
-@@ -200,7 +200,7 @@
- [BASE_NR + 189] = { 2,	TF,		SEN(removexattr),		"removexattr"		},
- [BASE_NR + 190] = { 2,	TF,		SEN(removexattr),		"lremovexattr"		},
- [BASE_NR + 191] = { 2,	TD,		SEN(fremovexattr),		"fremovexattr"		},
--[BASE_NR + 192] = { 2,	TS,		SEN(kill),			"tkill"			},
-+[BASE_NR + 192] = { 2,	TS|TP,		SEN(kill),			"tkill"			},
- [BASE_NR + 193] = { 1,	TCL,		SEN(time),			"time"			},
- [BASE_NR + 194] = { 6,	0,		SEN(futex_time32),		"futex"			},
- [BASE_NR + 195] = { 3,	0,		SEN(sched_setaffinity),		"sched_setaffinity"	},
-@@ -237,7 +237,7 @@
- [BASE_NR + 226] = { 2,	TCL,		SEN(clock_gettime32),		"clock_gettime"		},
- [BASE_NR + 227] = { 2,	TCL,		SEN(clock_getres_time32),	"clock_getres"		},
- [BASE_NR + 228] = { 4,	0,		SEN(clock_nanosleep_time32),	"clock_nanosleep"	},
--[BASE_NR + 229] = { 3,	TS,		SEN(tgkill),			"tgkill"		},
-+[BASE_NR + 229] = { 3,	TS|TP,		SEN(tgkill),			"tgkill"		},
- [BASE_NR + 230] = { 2,	TF,		SEN(utimes),			"utimes"		},
- [BASE_NR + 231] = { 6,	TM,		SEN(mbind),			"mbind"			},
- [BASE_NR + 232] = { 5,	TM,		SEN(get_mempolicy),		"get_mempolicy"		},
-@@ -274,7 +274,7 @@
- [BASE_NR + 263] = { 3,	TD|TF,		SEN(faccessat),			"faccessat"		},
- [BASE_NR + 264] = { 6,	TD,		SEN(pselect6_time32),		"pselect6"		},
- [BASE_NR + 265] = { 5,	TD,		SEN(ppoll_time32),		"ppoll"			},
--[BASE_NR + 266] = { 1,	TP,		SEN(unshare),			"unshare"		},
-+[BASE_NR + 266] = { 1,	0,		SEN(unshare),			"unshare"		},
- [BASE_NR + 267] = { 6,	TD,		SEN(splice),			"splice"		},
- [BASE_NR + 268] = { 4,	TD,		SEN(sync_file_range),		"sync_file_range"	},
- [BASE_NR + 269] = { 4,	TD,		SEN(tee),			"tee"			},
-diff --git a/linux/mips/syscallent-n64.h b/linux/mips/syscallent-n64.h
-index 0dfd64e..7ef6700 100644
---- a/linux/mips/syscallent-n64.h
-+++ b/linux/mips/syscallent-n64.h
-@@ -68,7 +68,7 @@
- [BASE_NR +  57] = { 3,	TF|TP|TSD|SE|SI,	SEN(execve),			"execve"		},
- [BASE_NR +  58] = { 1,	TP|SE,		SEN(exit),			"exit"			},
- [BASE_NR +  59] = { 4,	TP,		SEN(wait4),			"wait4"			},
--[BASE_NR +  60] = { 2,	TS,		SEN(kill),			"kill"			},
-+[BASE_NR +  60] = { 2,	TS|TP,		SEN(kill),			"kill"			},
- [BASE_NR +  61] = { 1,	0,		SEN(uname),			"uname"			},
- [BASE_NR +  62] = { 3,	TI,		SEN(semget),			"semget"		},
- [BASE_NR +  63] = { 3,	TI,		SEN(semop),			"semop"			},
-@@ -135,7 +135,7 @@
- [BASE_NR + 124] = { 2,	TC,		SEN(capset),			"capset"		},
- [BASE_NR + 125] = { 2,	TS,		SEN(rt_sigpending),		"rt_sigpending"		},
- [BASE_NR + 126] = { 4,	TS,		SEN(rt_sigtimedwait_time64),	"rt_sigtimedwait"	},
--[BASE_NR + 127] = { 3,	TS,		SEN(rt_sigqueueinfo),		"rt_sigqueueinfo"	},
-+[BASE_NR + 127] = { 3,	TS|TP,		SEN(rt_sigqueueinfo),		"rt_sigqueueinfo"	},
- [BASE_NR + 128] = { 2,	TS,		SEN(rt_sigsuspend),		"rt_sigsuspend"		},
- [BASE_NR + 129] = { 2,	TS,		SEN(sigaltstack),		"sigaltstack"		},
- [BASE_NR + 130] = { 2,	TF,		SEN(utime),			"utime"			},
-@@ -200,7 +200,7 @@
- [BASE_NR + 189] = { 2,	TF,		SEN(removexattr),		"removexattr"		},
- [BASE_NR + 190] = { 2,	TF,		SEN(removexattr),		"lremovexattr"		},
- [BASE_NR + 191] = { 2,	TD,		SEN(fremovexattr),		"fremovexattr"		},
--[BASE_NR + 192] = { 2,	TS,		SEN(kill),			"tkill"			},
-+[BASE_NR + 192] = { 2,	TS|TP,		SEN(kill),			"tkill"			},
- [BASE_NR + 193] = { 1,	TCL,		SEN(time),			"time"			},
- [BASE_NR + 194] = { 6,	0,		SEN(futex_time64),		"futex"			},
- [BASE_NR + 195] = { 3,	0,		SEN(sched_setaffinity),		"sched_setaffinity"	},
-@@ -233,7 +233,7 @@
- [BASE_NR + 222] = { 2,	TCL,		SEN(clock_gettime64),		"clock_gettime"		},
- [BASE_NR + 223] = { 2,	TCL,		SEN(clock_getres_time64),	"clock_getres"		},
- [BASE_NR + 224] = { 4,	0,		SEN(clock_nanosleep_time64),	"clock_nanosleep"	},
--[BASE_NR + 225] = { 3,	TS,		SEN(tgkill),			"tgkill"		},
-+[BASE_NR + 225] = { 3,	TS|TP,		SEN(tgkill),			"tgkill"		},
- [BASE_NR + 226] = { 2,	TF,		SEN(utimes),			"utimes"		},
- [BASE_NR + 227] = { 6,	TM,		SEN(mbind),			"mbind"			},
- [BASE_NR + 228] = { 5,	TM,		SEN(get_mempolicy),		"get_mempolicy"		},
-@@ -270,7 +270,7 @@
- [BASE_NR + 259] = { 3,	TD|TF,		SEN(faccessat),			"faccessat"		},
- [BASE_NR + 260] = { 6,	TD,		SEN(pselect6_time64),		"pselect6"		},
- [BASE_NR + 261] = { 5,	TD,		SEN(ppoll_time64),		"ppoll"			},
--[BASE_NR + 262] = { 1,	TP,		SEN(unshare),			"unshare"		},
-+[BASE_NR + 262] = { 1,	0,		SEN(unshare),			"unshare"		},
- [BASE_NR + 263] = { 6,	TD,		SEN(splice),			"splice"		},
- [BASE_NR + 264] = { 4,	TD,		SEN(sync_file_range),		"sync_file_range"	},
- [BASE_NR + 265] = { 4,	TD,		SEN(tee),			"tee"			},
-diff --git a/linux/mips/syscallent-o32.h b/linux/mips/syscallent-o32.h
-index f4e67e8..d2b26f7 100644
---- a/linux/mips/syscallent-o32.h
-+++ b/linux/mips/syscallent-o32.h
-@@ -46,7 +46,7 @@
- [BASE_NR +  34] = { 1,	0,		SEN(nice),			"nice"			},
- [BASE_NR +  35] = { 1,	0,		SEN(ftime),			"ftime"			},
- [BASE_NR +  36] = { 0,	0,		SEN(sync),			"sync"			},
--[BASE_NR +  37] = { 2,	TS,		SEN(kill),			"kill"			},
-+[BASE_NR +  37] = { 2,	TS|TP,		SEN(kill),			"kill"			},
- [BASE_NR +  38] = { 2,	TF,		SEN(rename),			"rename"		},
- [BASE_NR +  39] = { 2,	TF,		SEN(mkdir),			"mkdir"			},
- [BASE_NR +  40] = { 1,	TF,		SEN(rmdir),			"rmdir"			},
-@@ -207,7 +207,7 @@
- [BASE_NR + 195] = { 4,	TS,		SEN(rt_sigprocmask),		"rt_sigprocmask"	},
- [BASE_NR + 196] = { 2,	TS,		SEN(rt_sigpending),		"rt_sigpending"		},
- [BASE_NR + 197] = { 4,	TS,		SEN(rt_sigtimedwait_time32),	"rt_sigtimedwait"	},
--[BASE_NR + 198] = { 3,	TS,		SEN(rt_sigqueueinfo),		"rt_sigqueueinfo"	},
-+[BASE_NR + 198] = { 3,	TS|TP,		SEN(rt_sigqueueinfo),		"rt_sigqueueinfo"	},
- [BASE_NR + 199] = { 2,	TS,		SEN(rt_sigsuspend),		"rt_sigsuspend"		},
- [BASE_NR + 200] = { 6,	TD,		SEN(pread),			"pread64"		},
- [BASE_NR + 201] = { 6,	TD,		SEN(pwrite),			"pwrite64"		},
-@@ -245,7 +245,7 @@
- [BASE_NR + 233] = { 2,	TF,		SEN(removexattr),		"removexattr"		},
- [BASE_NR + 234] = { 2,	TF,		SEN(removexattr),		"lremovexattr"		},
- [BASE_NR + 235] = { 2,	TD,		SEN(fremovexattr),		"fremovexattr"		},
--[BASE_NR + 236] = { 2,	TS,		SEN(kill),			"tkill"			},
-+[BASE_NR + 236] = { 2,	TS|TP,		SEN(kill),			"tkill"			},
- [BASE_NR + 237] = { 4,	TD|TN,		SEN(sendfile64),		"sendfile64"		},
- [BASE_NR + 238] = { 6,	0,		SEN(futex_time32),		"futex"			},
- [BASE_NR + 239] = { 3,	0,		SEN(sched_setaffinity),		"sched_setaffinity"	},
-@@ -275,7 +275,7 @@
- [BASE_NR + 263] = { 2,	TCL,		SEN(clock_gettime32),		"clock_gettime"		},
- [BASE_NR + 264] = { 2,	TCL,		SEN(clock_getres_time32),	"clock_getres"		},
- [BASE_NR + 265] = { 4,	0,		SEN(clock_nanosleep_time32),	"clock_nanosleep"	},
--[BASE_NR + 266] = { 3,	TS,		SEN(tgkill),			"tgkill"		},
-+[BASE_NR + 266] = { 3,	TS|TP,		SEN(tgkill),			"tgkill"		},
- [BASE_NR + 267] = { 2,	TF,		SEN(utimes),			"utimes"		},
- [BASE_NR + 268] = { 6,	TM,		SEN(mbind),			"mbind"			},
- [BASE_NR + 269] = { 5,	TM,		SEN(get_mempolicy),		"get_mempolicy"		},
-@@ -312,7 +312,7 @@
- [BASE_NR + 300] = { 3,	TD|TF,		SEN(faccessat),			"faccessat"		},
- [BASE_NR + 301] = { 6,	TD,		SEN(pselect6_time32),		"pselect6"		},
- [BASE_NR + 302] = { 5,	TD,		SEN(ppoll_time32),		"ppoll"			},
--[BASE_NR + 303] = { 1,	TP,		SEN(unshare),			"unshare"		},
-+[BASE_NR + 303] = { 1,	0,		SEN(unshare),			"unshare"		},
- [BASE_NR + 304] = { 6,	TD,		SEN(splice),			"splice"		},
- [BASE_NR + 305] = { 7,	TD,		SEN(sync_file_range),		"sync_file_range"	},
- [BASE_NR + 306] = { 4,	TD,		SEN(tee),			"tee"			},
-diff --git a/linux/powerpc/syscallent.h b/linux/powerpc/syscallent.h
-index 6958eda..b0962b4 100644
---- a/linux/powerpc/syscallent.h
-+++ b/linux/powerpc/syscallent.h
-@@ -44,7 +44,7 @@
- [ 34] = { 1,	0,		SEN(nice),			"nice"			},
- [ 35] = { 0,	0,		SEN(ftime),			"ftime"			},
- [ 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"		},
- [ 39] = { 2,	TF,		SEN(mkdir),			"mkdir"			},
- [ 40] = { 1,	TF,		SEN(rmdir),			"rmdir"			},
-@@ -184,7 +184,7 @@
- [174] = { 4,	TS,		SEN(rt_sigprocmask),		"rt_sigprocmask"	},
- [175] = { 2,	TS,		SEN(rt_sigpending),		"rt_sigpending"		},
- [176] = { 4,	TS,		SEN(rt_sigtimedwait_time32),	"rt_sigtimedwait"	},
--[177] = { 3,	TS,		SEN(rt_sigqueueinfo),		"rt_sigqueueinfo"	},
-+[177] = { 3,	TS|TP,		SEN(rt_sigqueueinfo),		"rt_sigqueueinfo"	},
- [178] = { 2,	TS,		SEN(rt_sigsuspend),		"rt_sigsuspend"		},
- [179] = { 6,	TD,		SEN(pread),			"pread64"		},
- [180] = { 6,	TD,		SEN(pwrite),			"pwrite64"		},
-@@ -215,7 +215,7 @@
- [205] = { 3,	TM,		SEN(madvise),			"madvise"		},
- [206] = { 3,	TM,		SEN(mincore),			"mincore"		},
- [207] = { 0,	PU|NF,		SEN(gettid),			"gettid"		},
--[208] = { 2,	TS,		SEN(kill),			"tkill"			},
-+[208] = { 2,	TS|TP,		SEN(kill),			"tkill"			},
- [209] = { 5,	TF,		SEN(setxattr),			"setxattr"		},
- [210] = { 5,	TF,		SEN(setxattr),			"lsetxattr"		},
- [211] = { 5,	TD,		SEN(fsetxattr),			"fsetxattr"		},
-@@ -257,7 +257,7 @@
- [247] = { 2,	TCL,		SEN(clock_getres_time32),	"clock_getres"		},
- [248] = { 4,	0,		SEN(clock_nanosleep_time32),	"clock_nanosleep"	},
- [249] = { 2,	0,		SEN(printargs),			"swapcontext"		},
--[250] = { 3,	TS,		SEN(tgkill),			"tgkill"		},
-+[250] = { 3,	TS|TP,		SEN(tgkill),			"tgkill"		},
- [251] = { 2,	TF,		SEN(utimes),			"utimes"		},
- [252] = { 3,	TF|TSF|TSFA,	SEN(statfs64),			"statfs64"		},
- [253] = { 3,	TD|TFSF|TSFA,	SEN(fstatfs64),			"fstatfs64"		},
-@@ -289,7 +289,7 @@
- [279] = { 4,	0,		SEN(printargs),			"spu_create"		},
- [280] = { 6,	TD,		SEN(pselect6_time32),		"pselect6"		},
- [281] = { 5,	TD,		SEN(ppoll_time32),		"ppoll"			},
--[282] = { 1,	TP,		SEN(unshare),			"unshare"		},
-+[282] = { 1,	0,		SEN(unshare),			"unshare"		},
- [283] = { 6,	TD,		SEN(splice),			"splice"		},
- [284] = { 4,	TD,		SEN(tee),			"tee"			},
- [285] = { 4,	TD,		SEN(vmsplice),			"vmsplice"		},
-diff --git a/linux/powerpc64/syscallent.h b/linux/powerpc64/syscallent.h
-index 608caed..1a0dfb5 100644
---- a/linux/powerpc64/syscallent.h
-+++ b/linux/powerpc64/syscallent.h
-@@ -44,7 +44,7 @@
- [ 34] = { 1,	0,		SEN(nice),			"nice"			},
- [ 35] = { 0,	0,		SEN(ftime),			"ftime"			},
- [ 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"		},
- [ 39] = { 2,	TF,		SEN(mkdir),			"mkdir"			},
- [ 40] = { 1,	TF,		SEN(rmdir),			"rmdir"			},
-@@ -184,7 +184,7 @@
- [174] = { 4,	TS,		SEN(rt_sigprocmask),		"rt_sigprocmask"	},
- [175] = { 2,	TS,		SEN(rt_sigpending),		"rt_sigpending"		},
- [176] = { 4,	TS,		SEN(rt_sigtimedwait_time64),	"rt_sigtimedwait"	},
--[177] = { 3,	TS,		SEN(rt_sigqueueinfo),		"rt_sigqueueinfo"	},
-+[177] = { 3,	TS|TP,		SEN(rt_sigqueueinfo),		"rt_sigqueueinfo"	},
- [178] = { 2,	TS,		SEN(rt_sigsuspend),		"rt_sigsuspend"		},
- [179] = { 4,	TD,		SEN(pread),			"pread64"		},
- [180] = { 4,	TD,		SEN(pwrite),			"pwrite64"		},
-@@ -210,7 +210,7 @@
- [205] = { 3,	TM,		SEN(madvise),			"madvise"		},
- [206] = { 3,	TM,		SEN(mincore),			"mincore"		},
- [207] = { 0,	PU|NF,		SEN(gettid),			"gettid"		},
--[208] = { 2,	TS,		SEN(kill),			"tkill"			},
-+[208] = { 2,	TS|TP,		SEN(kill),			"tkill"			},
- [209] = { 5,	TF,		SEN(setxattr),			"setxattr"		},
- [210] = { 5,	TF,		SEN(setxattr),			"lsetxattr"		},
- [211] = { 5,	TD,		SEN(fsetxattr),			"fsetxattr"		},
-@@ -252,7 +252,7 @@
- [247] = { 2,	TCL,		SEN(clock_getres_time64),	"clock_getres"		},
- [248] = { 4,	0,		SEN(clock_nanosleep_time64),	"clock_nanosleep"	},
- [249] = { 2,	0,		SEN(printargs),			"swapcontext"		},
--[250] = { 3,	TS,		SEN(tgkill),			"tgkill"		},
-+[250] = { 3,	TS|TP,		SEN(tgkill),			"tgkill"		},
- [251] = { 2,	TF,		SEN(utimes),			"utimes"		},
- [252] = { 3,	TF|TSF|TSFA,	SEN(statfs64),			"statfs64"		},
- [253] = { 3,	TD|TFSF|TSFA,	SEN(fstatfs64),			"fstatfs64"		},
-@@ -284,7 +284,7 @@
- [279] = { 4,	0,		SEN(printargs),			"spu_create"		},
- [280] = { 6,	TD,		SEN(pselect6_time64),		"pselect6"		},
- [281] = { 5,	TD,		SEN(ppoll_time64),		"ppoll"			},
--[282] = { 1,	TP,		SEN(unshare),			"unshare"		},
-+[282] = { 1,	0,		SEN(unshare),			"unshare"		},
- [283] = { 6,	TD,		SEN(splice),			"splice"		},
- [284] = { 4,	TD,		SEN(tee),			"tee"			},
- [285] = { 4,	TD,		SEN(vmsplice),			"vmsplice"		},
-diff --git a/linux/s390/syscallent.h b/linux/s390/syscallent.h
-index c61ad77..105089f 100644
---- a/linux/s390/syscallent.h
-+++ b/linux/s390/syscallent.h
-@@ -46,7 +46,7 @@
- [ 34] = { 1,	0,		SEN(nice),			"nice"			},
- [ 35] = { },
- [ 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"		},
- [ 39] = { 2,	TF,		SEN(mkdir),			"mkdir"			},
- [ 40] = { 1,	TF,		SEN(rmdir),			"rmdir"			},
-@@ -187,7 +187,7 @@
- [175] = { 4,	TS,		SEN(rt_sigprocmask),		"rt_sigprocmask"	},
- [176] = { 2,	TS,		SEN(rt_sigpending),		"rt_sigpending"		},
- [177] = { 4,	TS,		SEN(rt_sigtimedwait_time32),	"rt_sigtimedwait"	},
--[178] = { 3,	TS,		SEN(rt_sigqueueinfo),		"rt_sigqueueinfo"	},
-+[178] = { 3,	TS|TP,		SEN(rt_sigqueueinfo),		"rt_sigqueueinfo"	},
- [179] = { 2,	TS,		SEN(rt_sigsuspend),		"rt_sigsuspend"		},
- [180] = { 5,	TD,		SEN(pread),			"pread64"		},
- [181] = { 5,	TD,		SEN(pwrite),			"pwrite64"		},
-@@ -246,11 +246,11 @@
- [234] = { 2,	TF,		SEN(removexattr),		"lremovexattr"		},
- [235] = { 2,	TD,		SEN(fremovexattr),		"fremovexattr"		},
- [236] = { 0,	PU|NF,		SEN(gettid),			"gettid"		},
--[237] = { 2,	TS,		SEN(kill),			"tkill"			},
-+[237] = { 2,	TS|TP,		SEN(kill),			"tkill"			},
- [238] = { 6,	0,		SEN(futex_time32),		"futex"			},
- [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] = { },
- [243] = { 2,	TM,		SEN(io_setup),			"io_setup"		},
- [244] = { 1,	TM,		SEN(io_destroy),		"io_destroy"		},
-@@ -312,7 +312,7 @@
- [300] = { 3,	TD|TF,		SEN(faccessat),			"faccessat"		},
- [301] = { 6,	TD,		SEN(pselect6_time32),		"pselect6"		},
- [302] = { 5,	TD,		SEN(ppoll_time32),		"ppoll"			},
--[303] = { 1,	TP,		SEN(unshare),			"unshare"		},
-+[303] = { 1,	0,		SEN(unshare),			"unshare"		},
- [304] = { 2,	0,		SEN(set_robust_list),		"set_robust_list"	},
- [305] = { 3,	0,		SEN(get_robust_list),		"get_robust_list"	},
- [306] = { 6,	TD,		SEN(splice),			"splice"		},
-diff --git a/linux/s390x/syscallent.h b/linux/s390x/syscallent.h
-index c493757..e9cf57a 100644
---- a/linux/s390x/syscallent.h
-+++ b/linux/s390x/syscallent.h
-@@ -45,7 +45,7 @@
- [ 34] = { 1,	0,		SEN(nice),			"nice"			},
- [ 35] = { },
- [ 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"		},
- [ 39] = { 2,	TF,		SEN(mkdir),			"mkdir"			},
- [ 40] = { 1,	TF,		SEN(rmdir),			"rmdir"			},
-@@ -176,7 +176,7 @@
- [175] = { 4,	TS,		SEN(rt_sigprocmask),		"rt_sigprocmask"	},
- [176] = { 2,	TS,		SEN(rt_sigpending),		"rt_sigpending"		},
- [177] = { 4,	TS,		SEN(rt_sigtimedwait_time64),	"rt_sigtimedwait"	},
--[178] = { 3,	TS,		SEN(rt_sigqueueinfo),		"rt_sigqueueinfo"	},
-+[178] = { 3,	TS|TP,		SEN(rt_sigqueueinfo),		"rt_sigqueueinfo"	},
- [179] = { 2,	TS,		SEN(rt_sigsuspend),		"rt_sigsuspend"		},
- [180] = { 4,	TD,		SEN(pread),			"pread64"		},
- [181] = { 4,	TD,		SEN(pwrite),			"pwrite64"		},
-@@ -230,11 +230,11 @@
- [234] = { 2,	TF,		SEN(removexattr),		"lremovexattr"		},
- [235] = { 2,	TD,		SEN(fremovexattr),		"fremovexattr"		},
- [236] = { 0,	PU|NF,		SEN(gettid),			"gettid"		},
--[237] = { 2,	TS,		SEN(kill),			"tkill"			},
-+[237] = { 2,	TS|TP,		SEN(kill),			"tkill"			},
- [238] = { 6,	0,		SEN(futex_time64),		"futex"			},
- [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] = { },
- [243] = { 2,	TM,		SEN(io_setup),			"io_setup"		},
- [244] = { 1,	TM,		SEN(io_destroy),		"io_destroy"		},
-@@ -296,7 +296,7 @@
- [300] = { 3,	TD|TF,		SEN(faccessat),			"faccessat"		},
- [301] = { 6,	TD,		SEN(pselect6_time64),		"pselect6"		},
- [302] = { 5,	TD,		SEN(ppoll_time64),		"ppoll"			},
--[303] = { 1,	TP,		SEN(unshare),			"unshare"		},
-+[303] = { 1,	0,		SEN(unshare),			"unshare"		},
- [304] = { 2,	0,		SEN(set_robust_list),		"set_robust_list"	},
- [305] = { 3,	0,		SEN(get_robust_list),		"get_robust_list"	},
- [306] = { 6,	TD,		SEN(splice),			"splice"		},
-diff --git a/linux/sh/syscallent.h b/linux/sh/syscallent.h
-index 61eb728..70dc7da 100644
---- a/linux/sh/syscallent.h
-+++ b/linux/sh/syscallent.h
-@@ -46,7 +46,7 @@
- [ 34] = { 1,	0,		SEN(nice),			"nice"			},
- [ 35] = { 0,	0,		SEN(ftime),			"ftime"			},
- [ 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"		},
- [ 39] = { 2,	TF,		SEN(mkdir),			"mkdir"			},
- [ 40] = { 1,	TF,		SEN(rmdir),			"rmdir"			},
-@@ -187,7 +187,7 @@
- [175] = { 4,	TS,		SEN(rt_sigprocmask),		"rt_sigprocmask"	},
- [176] = { 2,	TS,		SEN(rt_sigpending),		"rt_sigpending"		},
- [177] = { 4,	TS,		SEN(rt_sigtimedwait_time32),	"rt_sigtimedwait"	},
--[178] = { 3,	TS,		SEN(rt_sigqueueinfo),		"rt_sigqueueinfo"	},
-+[178] = { 3,	TS|TP,		SEN(rt_sigqueueinfo),		"rt_sigqueueinfo"	},
- [179] = { 2,	TS,		SEN(rt_sigsuspend),		"rt_sigsuspend"		},
- [180] = { 6,	TD,		SEN(pread),			"pread64"		},
- [181] = { 6,	TD,		SEN(pwrite),			"pwrite64"		},
-@@ -245,7 +245,7 @@
- [235] = { 2,	TF,		SEN(removexattr),		"removexattr"		},
- [236] = { 2,	TF,		SEN(removexattr),		"lremovexattr"		},
- [237] = { 2,	TD,		SEN(fremovexattr),		"fremovexattr"		},
--[238] = { 2,	TS,		SEN(kill),			"tkill"			},
-+[238] = { 2,	TS|TP,		SEN(kill),			"tkill"			},
- [239] = { 4,	TD|TN,		SEN(sendfile64),		"sendfile64"		},
- [240] = { 6,	0,		SEN(futex_time32),		"futex"			},
- [241] = { 3,	0,		SEN(sched_setaffinity),		"sched_setaffinity"	},
-@@ -276,7 +276,7 @@
- [267] = { 4,	0,		SEN(clock_nanosleep_time32),	"clock_nanosleep"	},
- [268] = { 3,	TF|TSF|TSFA,	SEN(statfs64),			"statfs64"		},
- [269] = { 3,	TD|TFSF|TSFA,	SEN(fstatfs64),			"fstatfs64"		},
--[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] = { },
-@@ -316,7 +316,7 @@
- [307] = { 3,	TD|TF,		SEN(faccessat),			"faccessat"		},
- [308] = { 6,	TD,		SEN(pselect6_time32),		"pselect6"		},
- [309] = { 5,	TD,		SEN(ppoll_time32),		"ppoll"			},
--[310] = { 1,	TP,		SEN(unshare),			"unshare"		},
-+[310] = { 1,	0,		SEN(unshare),			"unshare"		},
- [311] = { 2,	0,		SEN(set_robust_list),		"set_robust_list"	},
- [312] = { 3,	0,		SEN(get_robust_list),		"get_robust_list"	},
- [313] = { 6,	TD,		SEN(splice),			"splice"		},
-diff --git a/linux/sh64/syscallent.h b/linux/sh64/syscallent.h
-index f681635..eff5dc0 100644
---- a/linux/sh64/syscallent.h
-+++ b/linux/sh64/syscallent.h
-@@ -44,7 +44,7 @@
- [ 34] = { 1,	0,		SEN(nice),			"nice"			},
- [ 35] = { 0,	0,		SEN(ftime),			"ftime"			},
- [ 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"		},
- [ 39] = { 2,	TF,		SEN(mkdir),			"mkdir"			},
- [ 40] = { 1,	TF,		SEN(rmdir),			"rmdir"			},
-@@ -185,7 +185,7 @@
- [175] = { 4,	TS,		SEN(rt_sigprocmask),		"rt_sigprocmask"	},
- [176] = { 2,	TS,		SEN(rt_sigpending),		"rt_sigpending"		},
- [177] = { 4,	TS,		SEN(rt_sigtimedwait_time64),	"rt_sigtimedwait"	},
--[178] = { 3,	TS,		SEN(rt_sigqueueinfo),		"rt_sigqueueinfo"	},
-+[178] = { 3,	TS|TP,		SEN(rt_sigqueueinfo),		"rt_sigqueueinfo"	},
- [179] = { 2,	TS,		SEN(rt_sigsuspend),		"rt_sigsuspend"		},
- [180] = { 4,	TD,		SEN(pread),			"pread64"		},
- [181] = { 4,	TD,		SEN(pwrite),			"pwrite64"		},
-@@ -271,7 +271,7 @@
- [263] = { 2,	TF,		SEN(removexattr),		"removexattr"		},
- [264] = { 2,	TF,		SEN(removexattr),		"lremovexattr"		},
- [265] = { 2,	TD,		SEN(fremovexattr),		"fremovexattr"		},
--[266] = { 2,	TS,		SEN(kill),			"tkill"			},
-+[266] = { 2,	TS|TP,		SEN(kill),			"tkill"			},
- [267] = { 4,	TD|TN,		SEN(sendfile64),		"sendfile64"		},
- [268] = { 6,	0,		SEN(futex_time64),		"futex"			},
- [269] = { 3,	0,		SEN(sched_setaffinity),		"sched_setaffinity"	},
-@@ -302,7 +302,7 @@
- [295] = { 4,	0,		SEN(clock_nanosleep_time64),	"clock_nanosleep"	},
- [296] = { 3,	TF|TSF|TSFA,	SEN(statfs64),			"statfs64"		},
- [297] = { 3,	TD|TFSF|TSFA,	SEN(fstatfs64),			"fstatfs64"		},
--[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] = { },
-@@ -342,7 +342,7 @@
- [335] = { 3,	TD|TF,		SEN(faccessat),			"faccessat"		},
- [336] = { 6,	TD,		SEN(pselect6_time64),		"pselect6"		},
- [337] = { 5,	TD,		SEN(ppoll_time64),		"ppoll"			},
--[338] = { 1,	TP,		SEN(unshare),			"unshare"		},
-+[338] = { 1,	0,		SEN(unshare),			"unshare"		},
- [339] = { 2,	0,		SEN(set_robust_list),		"set_robust_list"	},
- [340] = { 3,	0,		SEN(get_robust_list),		"get_robust_list"	},
- [341] = { 6,	TD,		SEN(splice),			"splice"		},
-diff --git a/linux/sparc/syscallent.h b/linux/sparc/syscallent.h
-index 3417e7f..8c8bd18 100644
---- a/linux/sparc/syscallent.h
-+++ b/linux/sparc/syscallent.h
-@@ -42,7 +42,7 @@
- [ 34] = { 1,	0,		SEN(nice),			"nice"			},
- [ 35] = { 3,	TF,		SEN(chown),			"chown32"		},
- [ 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"			},
- [ 39] = { 4,	TD|TN,		SEN(sendfile),			"sendfile"		},
- [ 40] = { 2,	TF|TLST|TSTA,	SEN(lstat),			"lstat"			},
-@@ -111,7 +111,7 @@
- [103] = { 4,	TS,		SEN(rt_sigprocmask),		"rt_sigprocmask"	},
- [104] = { 2,	TS,		SEN(rt_sigpending),		"rt_sigpending"		},
- [105] = { 4,	TS,		SEN(rt_sigtimedwait_time32),	"rt_sigtimedwait"	},
--[106] = { 3,	TS,		SEN(rt_sigqueueinfo),		"rt_sigqueueinfo"	},
-+[106] = { 3,	TS|TP,		SEN(rt_sigqueueinfo),		"rt_sigqueueinfo"	},
- [107] = { 2,	TS,		SEN(rt_sigsuspend),		"rt_sigsuspend"		},
- [108] = { 3,	TC,		SEN(setresuid),			"setresuid32"		},
- [109] = { 3,	TC,		SEN(getresuid),			"getresuid32"		},
-@@ -192,7 +192,7 @@
- [184] = { 5,	0,		SEN(query_module),		"query_module"		},
- [185] = { 2,	0,		SEN(setpgid),			"setpgid"		},
- [186] = { 2,	TD,		SEN(fremovexattr),		"fremovexattr"		},
--[187] = { 2,	TS,		SEN(kill),			"tkill"			},
-+[187] = { 2,	TS|TP,		SEN(kill),			"tkill"			},
- [188] = { 1,	TP|SE,		SEN(exit),			"exit_group"		},
- [189] = { 1,	0,		SEN(uname),			"uname"			},
- [190] = { 3,	0,		SEN(init_module),		"init_module"		},
-@@ -216,7 +216,7 @@
- [208] = { 4,	0,		SEN(lookup_dcookie),		"lookup_dcookie"	},
- [209] = { 5,	TD,		SEN(fadvise64),			"fadvise64"		},
- [210] = { 6,	TD,		SEN(fadvise64_64),		"fadvise64_64"		},
--[211] = { 3,	TS,		SEN(tgkill),			"tgkill"		},
-+[211] = { 3,	TS|TP,		SEN(tgkill),			"tgkill"		},
- [212] = { 3,	TP,		SEN(waitpid),			"waitpid"		},
- [213] = { 1,	TF,		SEN(swapoff),			"swapoff"		},
- [214] = { 1,	0,		SEN(sysinfo),			"sysinfo"		},
-@@ -304,7 +304,7 @@
- [296] = { 3,	TD|TF,		SEN(faccessat),			"faccessat"		},
- [297] = { 6,	TD,		SEN(pselect6_time32),		"pselect6"		},
- [298] = { 5,	TD,		SEN(ppoll_time32),		"ppoll"			},
--[299] = { 1,	TP,		SEN(unshare),			"unshare"		},
-+[299] = { 1,	0,		SEN(unshare),			"unshare"		},
- [300] = { 2,	0,		SEN(set_robust_list),		"set_robust_list"	},
- [301] = { 3,	0,		SEN(get_robust_list),		"get_robust_list"	},
- [302] = { 4,	TM,		SEN(migrate_pages),		"migrate_pages"		},
-diff --git a/linux/sparc64/syscallent.h b/linux/sparc64/syscallent.h
-index dd77685..0e0e0c4 100644
---- a/linux/sparc64/syscallent.h
-+++ b/linux/sparc64/syscallent.h
-@@ -41,7 +41,7 @@
- [ 34] = { 1,	0,		SEN(nice),			"nice"			},
- [ 35] = { },
- [ 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"			},
- [ 39] = { 4,	TD|TN,		SEN(sendfile),			"sendfile"		},
- [ 40] = { 2,	TF|TLST|TSTA,	SEN(lstat),			"lstat"			},
-@@ -109,7 +109,7 @@
- [103] = { 4,	TS,		SEN(rt_sigprocmask),		"rt_sigprocmask"	},
- [104] = { 2,	TS,		SEN(rt_sigpending),		"rt_sigpending"		},
- [105] = { 4,	TS,		SEN(rt_sigtimedwait_time64),	"rt_sigtimedwait"	},
--[106] = { 3,	TS,		SEN(rt_sigqueueinfo),		"rt_sigqueueinfo"	},
-+[106] = { 3,	TS|TP,		SEN(rt_sigqueueinfo),		"rt_sigqueueinfo"	},
- [107] = { 2,	TS,		SEN(rt_sigsuspend),		"rt_sigsuspend"		},
- [108] = { 3,	TC,		SEN(setresuid),			"setresuid"		},
- [109] = { 3,	TC,		SEN(getresuid),			"getresuid"		},
-@@ -190,7 +190,7 @@
- [184] = { 5,	0,		SEN(query_module),		"query_module"		},
- [185] = { 2,	0,		SEN(setpgid),			"setpgid"		},
- [186] = { 2,	TD,		SEN(fremovexattr),		"fremovexattr"		},
--[187] = { 2,	TS,		SEN(kill),			"tkill"			},
-+[187] = { 2,	TS|TP,		SEN(kill),			"tkill"			},
- [188] = { 1,	TP|SE,		SEN(exit),			"exit_group"		},
- [189] = { 1,	0,		SEN(uname),			"uname"			},
- [190] = { 3,	0,		SEN(init_module),		"init_module"		},
-@@ -214,7 +214,7 @@
- [208] = { 3,	0,		SEN(lookup_dcookie),		"lookup_dcookie"	},
- [209] = { 4,	TD,		SEN(fadvise64),			"fadvise64"		},
- [210] = { 4,	TD,		SEN(fadvise64_64),		"fadvise64_64"		},
--[211] = { 3,	TS,		SEN(tgkill),			"tgkill"		},
-+[211] = { 3,	TS|TP,		SEN(tgkill),			"tgkill"		},
- [212] = { 3,	TP,		SEN(waitpid),			"waitpid"		},
- [213] = { 1,	TF,		SEN(swapoff),			"swapoff"		},
- [214] = { 1,	0,		SEN(sysinfo),			"sysinfo"		},
-@@ -302,7 +302,7 @@
- [296] = { 3,	TD|TF,		SEN(faccessat),			"faccessat"		},
- [297] = { 6,	TD,		SEN(pselect6_time64),		"pselect6"		},
- [298] = { 5,	TD,		SEN(ppoll_time64),		"ppoll"			},
--[299] = { 1,	TP,		SEN(unshare),			"unshare"		},
-+[299] = { 1,	0,		SEN(unshare),			"unshare"		},
- [300] = { 2,	0,		SEN(set_robust_list),		"set_robust_list"	},
- [301] = { 3,	0,		SEN(get_robust_list),		"get_robust_list"	},
- [302] = { 4,	TM,		SEN(migrate_pages),		"migrate_pages"		},
-diff --git a/linux/syscallent-common.h b/linux/syscallent-common.h
-index 0d3a4db..0ff671e 100644
---- a/linux/syscallent-common.h
-+++ b/linux/syscallent-common.h
-@@ -8,7 +8,7 @@
- #ifndef BASE_NR
- # define BASE_NR 0
- #endif
--[BASE_NR + 424] = { 4,	TD|TS,		SEN(pidfd_send_signal),		"pidfd_send_signal"	},
-+[BASE_NR + 424] = { 4,	TD|TS|TP,		SEN(pidfd_send_signal),		"pidfd_send_signal"	},
- [BASE_NR + 425] = { 2,	TD,		SEN(io_uring_setup),		"io_uring_setup"	},
- [BASE_NR + 426] = { 6,	TD|TS,		SEN(io_uring_enter),		"io_uring_enter"	},
- [BASE_NR + 427] = { 4,	TD|TM,		SEN(io_uring_register),		"io_uring_register"	},
-diff --git a/linux/x32/syscallent.h b/linux/x32/syscallent.h
-index 30e295f..db8ecfd 100644
---- a/linux/x32/syscallent.h
-+++ b/linux/x32/syscallent.h
-@@ -67,7 +67,7 @@
- [ 59] = { 3,	TF|TP|SE|SI,	SEN(printargs),			"execve#64"		},
- [ 60] = { 1,	TP|SE,		SEN(exit),			"exit"			},
- [ 61] = { 4,	TP,		SEN(wait4),			"wait4"			},
--[ 62] = { 2,	TS,		SEN(kill),			"kill"			},
-+[ 62] = { 2,	TS|TP,		SEN(kill),			"kill"			},
- [ 63] = { 1,	0,		SEN(uname),			"uname"			},
- [ 64] = { 3,	TI,		SEN(semget),			"semget"		},
- [ 65] = { 3,	TI,		SEN(semop),			"semop"			},
-@@ -134,7 +134,7 @@
- [126] = { 2,	TC,		SEN(capset),			"capset"		},
- [127] = { 2,	TS,		SEN(printargs),			"rt_sigpending#64"	},
- [128] = { 4,	TS,		SEN(printargs),			"rt_sigtimedwait#64"	},
--[129] = { 3,	TS,		SEN(printargs),			"rt_sigqueueinfo#64"	},
-+[129] = { 3,	TS|TP,		SEN(printargs),			"rt_sigqueueinfo#64"	},
- [130] = { 2,	TS,		SEN(rt_sigsuspend),		"rt_sigsuspend"		},
- [131] = { 2,	TS,		SEN(printargs),			"sigaltstack#64"	},
- [132] = { 2,	TF,		SEN(utime),			"utime"			},
-@@ -163,7 +163,7 @@
- [155] = { 2,	TF,		SEN(pivotroot),			"pivot_root"		},
- [156] = { 1,	0,		SEN(printargs),			"_sysctl#64"		},
- [157] = { 5,	TC,		SEN(prctl),			"prctl"			},
--[158] = { 2,	TP,		SEN(arch_prctl),		"arch_prctl"		},
-+[158] = { 2,	0,		SEN(arch_prctl),		"arch_prctl"		},
- [159] = { 1,	TCL,		SEN(adjtimex64),		"adjtimex"		},
- [160] = { 2,	0,		SEN(setrlimit),			"setrlimit"		},
- [161] = { 1,	TF,		SEN(chroot),			"chroot"		},
-@@ -205,7 +205,7 @@
- [197] = { 2,	TF,		SEN(removexattr),		"removexattr"		},
- [198] = { 2,	TF,		SEN(removexattr),		"lremovexattr"		},
- [199] = { 2,	TD,		SEN(fremovexattr),		"fremovexattr"		},
--[200] = { 2,	TS,		SEN(kill),			"tkill"			},
-+[200] = { 2,	TS|TP,		SEN(kill),			"tkill"			},
- [201] = { 1,	TCL,		SEN(time),			"time"			},
- [202] = { 6,	0,		SEN(futex_time64),		"futex"			},
- [203] = { 3,	0,		SEN(sched_setaffinity),		"sched_setaffinity"	},
-@@ -239,7 +239,7 @@
- [231] = { 1,	TP|SE,		SEN(exit),			"exit_group"		},
- [232] = { 4,	TD,		SEN(epoll_wait),		"epoll_wait"		},
- [233] = { 4,	TD,		SEN(epoll_ctl),			"epoll_ctl"		},
--[234] = { 3,	TS,		SEN(tgkill),			"tgkill"		},
-+[234] = { 3,	TS|TP,		SEN(tgkill),			"tgkill"		},
- [235] = { 2,	TF,		SEN(utimes),			"utimes"		},
- [236] = { 5,	0,		SEN(printargs),			"vserver#64"		},
- [237] = { 6,	TM,		SEN(mbind),			"mbind"			},
-@@ -277,7 +277,7 @@
- [269] = { 3,	TD|TF,		SEN(faccessat),			"faccessat"		},
- [270] = { 6,	TD,		SEN(pselect6_time64),		"pselect6"		},
- [271] = { 5,	TD,		SEN(ppoll_time64),		"ppoll"			},
--[272] = { 1,	TP,		SEN(unshare),			"unshare"		},
-+[272] = { 1,	0,		SEN(unshare),			"unshare"		},
- [273] = { 2,	0,		SEN(printargs),			"set_robust_list#64"	},
- [274] = { 3,	0,		SEN(printargs),			"get_robust_list#64"	},
- [275] = { 6,	TD,		SEN(splice),			"splice"		},
-@@ -358,7 +358,7 @@
- [521] = { 4,	CST,		SEN(ptrace),			"ptrace"		},
- [522] = { 2,	CST|TS,		SEN(rt_sigpending),		"rt_sigpending"		},
- [523] = { 4,	CST|TS,		SEN(rt_sigtimedwait_time64),	"rt_sigtimedwait"	},
--[524] = { 3,	CST|TS,		SEN(rt_sigqueueinfo),		"rt_sigqueueinfo"	},
-+[524] = { 3,	CST|TS|TP,		SEN(rt_sigqueueinfo),		"rt_sigqueueinfo"	},
- [525] = { 2,	CST|TS,		SEN(sigaltstack),		"sigaltstack"		},
- [526] = { 3,	CST,		SEN(timer_create),		"timer_create"		},
- [527] = { 2,	CST|TD,		SEN(mq_notify),			"mq_notify"		},
-diff --git a/linux/x86_64/syscallent.h b/linux/x86_64/syscallent.h
-index 8423c7d..c69a5aa 100644
---- a/linux/x86_64/syscallent.h
-+++ b/linux/x86_64/syscallent.h
-@@ -67,7 +67,7 @@
- [ 59] = { 3,	TF|TP|TSD|SE|SI,	SEN(execve),			"execve"		},
- [ 60] = { 1,	TP|SE,		SEN(exit),			"exit"			},
- [ 61] = { 4,	TP,		SEN(wait4),			"wait4"			},
--[ 62] = { 2,	TS,		SEN(kill),			"kill"			},
-+[ 62] = { 2,	TS|TP,		SEN(kill),			"kill"			},
- [ 63] = { 1,	0,		SEN(uname),			"uname"			},
- [ 64] = { 3,	TI,		SEN(semget),			"semget"		},
- [ 65] = { 3,	TI,		SEN(semop),			"semop"			},
-@@ -134,7 +134,7 @@
- [126] = { 2,	TC,		SEN(capset),			"capset"		},
- [127] = { 2,	TS,		SEN(rt_sigpending),		"rt_sigpending"		},
- [128] = { 4,	TS,		SEN(rt_sigtimedwait_time64),	"rt_sigtimedwait"	},
--[129] = { 3,	TS,		SEN(rt_sigqueueinfo),		"rt_sigqueueinfo"	},
-+[129] = { 3,	TS|TP,		SEN(rt_sigqueueinfo),		"rt_sigqueueinfo"	},
- [130] = { 2,	TS,		SEN(rt_sigsuspend),		"rt_sigsuspend"		},
- [131] = { 2,	TS,		SEN(sigaltstack),		"sigaltstack"		},
- [132] = { 2,	TF,		SEN(utime),			"utime"			},
-@@ -163,7 +163,7 @@
- [155] = { 2,	TF,		SEN(pivotroot),			"pivot_root"		},
- [156] = { 1,	0,		SEN(sysctl),			"_sysctl"		},
- [157] = { 5,	TC,		SEN(prctl),			"prctl"			},
--[158] = { 2,	TP,		SEN(arch_prctl),		"arch_prctl"		},
-+[158] = { 2,	0,		SEN(arch_prctl),		"arch_prctl"		},
- [159] = { 1,	TCL,		SEN(adjtimex64),		"adjtimex"		},
- [160] = { 2,	0,		SEN(setrlimit),			"setrlimit"		},
- [161] = { 1,	TF,		SEN(chroot),			"chroot"		},
-@@ -205,7 +205,7 @@
- [197] = { 2,	TF,		SEN(removexattr),		"removexattr"		},
- [198] = { 2,	TF,		SEN(removexattr),		"lremovexattr"		},
- [199] = { 2,	TD,		SEN(fremovexattr),		"fremovexattr"		},
--[200] = { 2,	TS,		SEN(kill),			"tkill"			},
-+[200] = { 2,	TS|TP,		SEN(kill),			"tkill"			},
- [201] = { 1,	TCL,		SEN(time),			"time"			},
- [202] = { 6,	0,		SEN(futex_time64),		"futex"			},
- [203] = { 3,	0,		SEN(sched_setaffinity),		"sched_setaffinity"	},
-@@ -239,7 +239,7 @@
- [231] = { 1,	TP|SE,		SEN(exit),			"exit_group"		},
- [232] = { 4,	TD,		SEN(epoll_wait),		"epoll_wait"		},
- [233] = { 4,	TD,		SEN(epoll_ctl),			"epoll_ctl"		},
--[234] = { 3,	TS,		SEN(tgkill),			"tgkill"		},
-+[234] = { 3,	TS|TP,		SEN(tgkill),			"tgkill"		},
- [235] = { 2,	TF,		SEN(utimes),			"utimes"		},
- [236] = { 5,	0,		SEN(vserver),			"vserver"		},
- [237] = { 6,	TM,		SEN(mbind),			"mbind"			},
-@@ -277,7 +277,7 @@
- [269] = { 3,	TD|TF,		SEN(faccessat),			"faccessat"		},
- [270] = { 6,	TD,		SEN(pselect6_time64),		"pselect6"		},
- [271] = { 5,	TD,		SEN(ppoll_time64),		"ppoll"			},
--[272] = { 1,	TP,		SEN(unshare),			"unshare"		},
-+[272] = { 1,	0,		SEN(unshare),			"unshare"		},
- [273] = { 2,	0,		SEN(set_robust_list),		"set_robust_list"	},
- [274] = { 3,	0,		SEN(get_robust_list),		"get_robust_list"	},
- [275] = { 6,	TD,		SEN(splice),			"splice"		},
-diff --git a/linux/xtensa/syscallent.h b/linux/xtensa/syscallent.h
-index 385630a..61f1dd4 100644
---- a/linux/xtensa/syscallent.h
-+++ b/linux/xtensa/syscallent.h
-@@ -123,9 +123,9 @@
- [120] = { 0,	PU|NF,		SEN(getpid),			"getpid"		},
- [121] = { 4,	TP,		SEN(wait4),			"wait4"			},
- [122] = { 5,	TP,		SEN(waitid),			"waitid"		},
--[123] = { 2,	TS,		SEN(kill),			"kill"			},
--[124] = { 2,	TS,		SEN(kill),			"tkill"			},
--[125] = { 3,	TS,		SEN(tgkill),			"tgkill"		},
-+[123] = { 2,	TS|TP,		SEN(kill),			"kill"			},
-+[124] = { 2,	TS|TP,		SEN(kill),			"tkill"			},
-+[125] = { 3,	TS|TP,		SEN(tgkill),			"tgkill"		},
- [126] = { 1,	0,		SEN(set_tid_address),		"set_tid_address"	},
- [127] = { 0,	PU|NF,		SEN(gettid),			"gettid"		},
- [128] = { 0,	0,		SEN(setsid),			"setsid"		},
-@@ -227,7 +227,7 @@
- [227] = { 4,	TS,		SEN(rt_sigprocmask),		"rt_sigprocmask"	},
- [228] = { 2,	TS,		SEN(rt_sigpending),		"rt_sigpending"		},
- [229] = { 4,	TS,		SEN(rt_sigtimedwait_time32),	"rt_sigtimedwait"	},
--[230] = { 3,	TS,		SEN(rt_sigqueueinfo),		"rt_sigqueueinfo"	},
-+[230] = { 3,	TS|TP,		SEN(rt_sigqueueinfo),		"rt_sigqueueinfo"	},
- [231] = { 2,	TS,		SEN(rt_sigsuspend),		"rt_sigsuspend"		},
- [232] = { 4,	TD,		SEN(mq_open),			"mq_open"		},
- [233] = { 1,	0,		SEN(mq_unlink),			"mq_unlink"		},
-@@ -263,7 +263,7 @@
- [263] = { 6,	TM,		SEN(mbind),			"mbind"			},
- [264] = { 5,	TM,		SEN(get_mempolicy),		"get_mempolicy"		},
- [265] = { 3,	TM,		SEN(set_mempolicy),		"set_mempolicy"		},
--[266] = { 1,	TP,		SEN(unshare),			"unshare"		},
-+[266] = { 1,	0,		SEN(unshare),			"unshare"		},
- [267] = { 6,	TM,		SEN(move_pages),		"move_pages"		},
- [268] = { 6,	TD,		SEN(splice),			"splice"		},
- [269] = { 4,	TD,		SEN(tee),			"tee"			},
-diff --git a/strace.1.in b/strace.1.in
-index 7564fc2..fed8b5a 100644
---- a/strace.1.in
-+++ b/strace.1.in
-@@ -518,8 +518,8 @@ is deprecated.
- .B %process
- .TQ
- .B process
--Trace all system calls which involve process management.  This
--is useful for watching the fork, wait, and exec steps of a process.
-+Trace system calls associated with process lifecycle
-+(creation, exec, termination).
- The syntax without a preceding percent sign
- .RB (\[dq] "-e trace" = process \[dq])
- is deprecated.
--- 
-2.1.4
-
diff --git a/SOURCES/0131-Introduce-SYS_FUNC-tkill.patch b/SOURCES/0131-Introduce-SYS_FUNC-tkill.patch
deleted file mode 100644
index c62a050..0000000
--- a/SOURCES/0131-Introduce-SYS_FUNC-tkill.patch
+++ /dev/null
@@ -1,415 +0,0 @@
-From 98cb4de5002be3b81c45489200bcab0ae323123d Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?=C3=81kos=20Uzonyi?= <uzonyi.akos@gmail.com>
-Date: Mon, 27 Jul 2020 20:54:07 +0200
-Subject: [PATCH 131/138] Introduce SYS_FUNC(tkill)
-
-This is going to be needed to implement pidns support
-in tkill syscall decoder.
-
-syscallent*.h files are updated automatically by:
-  git grep -l 'SEN(kill).*"tkill"' |
-  xargs sed -i '/"tkill"/ s/SEN(kill)/SEN(tkill)/'
-
-* signal.c (SYS_FUNC(tkill)): New syscall decoder.
-* linux/32/syscallent.h: Use SEN(tkill) for "tkill" syscall.
-* linux/64/syscallent.h: Likewise.
-* linux/alpha/syscallent.h: Likewise.
-* linux/arm/syscallent.h: Likewise.
-* linux/avr32/syscallent.h: Likewise.
-* linux/bfin/syscallent.h: Likewise.
-* linux/hppa/syscallent.h: Likewise.
-* linux/i386/syscallent.h: Likewise.
-* linux/ia64/syscallent.h: Likewise.
-* linux/m68k/syscallent.h: Likewise.
-* linux/microblaze/syscallent.h: Likewise.
-* linux/mips/syscallent-n32.h: Likewise.
-* linux/mips/syscallent-n64.h: Likewise.
-* linux/mips/syscallent-o32.h: Likewise.
-* linux/powerpc/syscallent.h: Likewise.
-* linux/powerpc64/syscallent.h: Likewise.
-* linux/s390/syscallent.h: Likewise.
-* linux/s390x/syscallent.h: Likewise.
-* linux/sh/syscallent.h: Likewise.
-* linux/sh64/syscallent.h: Likewise.
-* linux/sparc/syscallent.h: Likewise.
-* linux/sparc64/syscallent.h: Likewise.
-* linux/x32/syscallent.h: Likewise.
-* linux/x86_64/syscallent.h: Likewise.
-* linux/xtensa/syscallent.h: Likewise.
----
- linux/32/syscallent.h         | 2 +-
- linux/64/syscallent.h         | 2 +-
- linux/alpha/syscallent.h      | 2 +-
- linux/arm/syscallent.h        | 2 +-
- linux/avr32/syscallent.h      | 2 +-
- linux/bfin/syscallent.h       | 2 +-
- linux/hppa/syscallent.h       | 2 +-
- linux/i386/syscallent.h       | 2 +-
- linux/ia64/syscallent.h       | 2 +-
- linux/m68k/syscallent.h       | 2 +-
- linux/microblaze/syscallent.h | 2 +-
- linux/mips/syscallent-n32.h   | 2 +-
- linux/mips/syscallent-n64.h   | 2 +-
- linux/mips/syscallent-o32.h   | 2 +-
- linux/powerpc/syscallent.h    | 2 +-
- linux/powerpc64/syscallent.h  | 2 +-
- linux/s390/syscallent.h       | 2 +-
- linux/s390x/syscallent.h      | 2 +-
- linux/sh/syscallent.h         | 2 +-
- linux/sh64/syscallent.h       | 2 +-
- linux/sparc/syscallent.h      | 2 +-
- linux/sparc64/syscallent.h    | 2 +-
- linux/x32/syscallent.h        | 2 +-
- linux/x86_64/syscallent.h     | 2 +-
- linux/xtensa/syscallent.h     | 2 +-
- signal.c                      | 9 +++++++++
- 26 files changed, 34 insertions(+), 25 deletions(-)
-
-diff --git a/linux/32/syscallent.h b/linux/32/syscallent.h
-index c74ab18..79c36e0 100644
---- a/linux/32/syscallent.h
-+++ b/linux/32/syscallent.h
-@@ -142,7 +142,7 @@
- /* [127] sched_rr_get_interval */
- [128] = { 0,	0,		SEN(restart_syscall),		"restart_syscall"	},
- [129] = { 2,	TS|TP,		SEN(kill),			"kill"			},
--[130] = { 2,	TS|TP,		SEN(kill),			"tkill"			},
-+[130] = { 2,	TS|TP,		SEN(tkill),			"tkill"			},
- [131] = { 3,	TS|TP,		SEN(tgkill),			"tgkill"		},
- [132] = { 2,	TS,		SEN(sigaltstack),		"sigaltstack"		},
- [133] = { 2,	TS,		SEN(rt_sigsuspend),		"rt_sigsuspend"		},
-diff --git a/linux/64/syscallent.h b/linux/64/syscallent.h
-index 3fb1305..ce5602e 100644
---- a/linux/64/syscallent.h
-+++ b/linux/64/syscallent.h
-@@ -135,7 +135,7 @@
- [127] = { 2,	0,		SEN(sched_rr_get_interval_time64),"sched_rr_get_interval"},
- [128] = { 0,	0,		SEN(restart_syscall),		"restart_syscall"	},
- [129] = { 2,	TS|TP,		SEN(kill),			"kill"			},
--[130] = { 2,	TS|TP,		SEN(kill),			"tkill"			},
-+[130] = { 2,	TS|TP,		SEN(tkill),			"tkill"			},
- [131] = { 3,	TS|TP,		SEN(tgkill),			"tgkill"		},
- [132] = { 2,	TS,		SEN(sigaltstack),		"sigaltstack"		},
- [133] = { 2,	TS,		SEN(rt_sigsuspend),		"rt_sigsuspend"		},
-diff --git a/linux/alpha/syscallent.h b/linux/alpha/syscallent.h
-index 93f0b0e..7859b9c 100644
---- a/linux/alpha/syscallent.h
-+++ b/linux/alpha/syscallent.h
-@@ -325,7 +325,7 @@
- [378] = { 0,	PU|NF,		SEN(gettid),			"gettid"		},
- [379] = { 3,	TD,		SEN(readahead),			"readahead"		},
- [380] = { },
--[381] = { 2,	TS|TP,		SEN(kill),			"tkill"			},
-+[381] = { 2,	TS|TP,		SEN(tkill),			"tkill"			},
- [382] = { 5,	TF,		SEN(setxattr),			"setxattr"		},
- [383] = { 5,	TF,		SEN(setxattr),			"lsetxattr"		},
- [384] = { 5,	TD,		SEN(fsetxattr),			"fsetxattr"		},
-diff --git a/linux/arm/syscallent.h b/linux/arm/syscallent.h
-index 73497b6..87b0687 100644
---- a/linux/arm/syscallent.h
-+++ b/linux/arm/syscallent.h
-@@ -245,7 +245,7 @@
- [235] = { 2,	TF,		SEN(removexattr),		"removexattr"		},
- [236] = { 2,	TF,		SEN(removexattr),		"lremovexattr"		},
- [237] = { 2,	TD,		SEN(fremovexattr),		"fremovexattr"		},
--[238] = { 2,	TS|TP,		SEN(kill),			"tkill"			},
-+[238] = { 2,	TS|TP,		SEN(tkill),			"tkill"			},
- [239] = { 4,	TD|TN,		SEN(sendfile64),		"sendfile64"		},
- [240] = { 6,	0,		SEN(futex_time32),		"futex"			},
- [241] = { 3,	0,		SEN(sched_setaffinity),		"sched_setaffinity"	},
-diff --git a/linux/avr32/syscallent.h b/linux/avr32/syscallent.h
-index b3cf2da..491ff8e 100644
---- a/linux/avr32/syscallent.h
-+++ b/linux/avr32/syscallent.h
-@@ -196,7 +196,7 @@
- [187] = { 2,	TF,		SEN(removexattr),		"removexattr"		},
- [188] = { 2,	TF,		SEN(removexattr),		"lremovexattr"		},
- [189] = { 2,	TD,		SEN(fremovexattr),		"fremovexattr"		},
--[190] = { 2,	TS|TP,		SEN(kill),			"tkill"			},
-+[190] = { 2,	TS|TP,		SEN(tkill),			"tkill"			},
- [191] = { 4,	TD|TN,		SEN(sendfile64),		"sendfile64"		},
- [192] = { 6,	0,		SEN(futex_time32),		"futex"			},
- [193] = { 3,	0,		SEN(sched_setaffinity),		"sched_setaffinity"	},
-diff --git a/linux/bfin/syscallent.h b/linux/bfin/syscallent.h
-index b93a844..53d5c23 100644
---- a/linux/bfin/syscallent.h
-+++ b/linux/bfin/syscallent.h
-@@ -244,7 +244,7 @@
- [235] = { 2,	TF,		SEN(removexattr),		"removexattr"		},
- [236] = { 2,	TF,		SEN(removexattr),		"lremovexattr"		},
- [237] = { 2,	TD,		SEN(fremovexattr),		"fremovexattr"		},
--[238] = { 2,	TS|TP,		SEN(kill),			"tkill"			},
-+[238] = { 2,	TS|TP,		SEN(tkill),			"tkill"			},
- [239] = { 4,	TD|TN,		SEN(sendfile64),		"sendfile64"		},
- [240] = { 6,	0,		SEN(futex_time32),		"futex"			},
- [241] = { 3,	0,		SEN(sched_setaffinity),		"sched_setaffinity"	},
-diff --git a/linux/hppa/syscallent.h b/linux/hppa/syscallent.h
-index 31341d4..20cae3c 100644
---- a/linux/hppa/syscallent.h
-+++ b/linux/hppa/syscallent.h
-@@ -211,7 +211,7 @@
- [205] = { 5,	0,		SEN(printargs),			"acl_set"		},
- [206] = { 0,	PU|NF,		SEN(gettid),			"gettid"		},
- [207] = { 4,	TD,		SEN(readahead),			"readahead"		},
--[208] = { 2,	TS|TP,		SEN(kill),			"tkill"			},
-+[208] = { 2,	TS|TP,		SEN(tkill),			"tkill"			},
- [209] = { 4,	TD|TN,		SEN(sendfile64),		"sendfile64"		},
- [210] = { 6,	0,		SEN(futex_time32),		"futex"			},
- [211] = { 3,	0,		SEN(sched_setaffinity),		"sched_setaffinity"	},
-diff --git a/linux/i386/syscallent.h b/linux/i386/syscallent.h
-index efe0ff7..521e7ba 100644
---- a/linux/i386/syscallent.h
-+++ b/linux/i386/syscallent.h
-@@ -244,7 +244,7 @@
- [235] = { 2,	TF,		SEN(removexattr),		"removexattr"		},
- [236] = { 2,	TF,		SEN(removexattr),		"lremovexattr"		},
- [237] = { 2,	TD,		SEN(fremovexattr),		"fremovexattr"		},
--[238] = { 2,	TS|TP,		SEN(kill),			"tkill"			},
-+[238] = { 2,	TS|TP,		SEN(tkill),			"tkill"			},
- [239] = { 4,	TD|TN,		SEN(sendfile64),		"sendfile64"		},
- [240] = { 6,	0,		SEN(futex_time32),		"futex"			},
- [241] = { 3,	0,		SEN(sched_setaffinity),		"sched_setaffinity"	},
-diff --git a/linux/ia64/syscallent.h b/linux/ia64/syscallent.h
-index 8aeda41..c5088e1 100644
---- a/linux/ia64/syscallent.h
-+++ b/linux/ia64/syscallent.h
-@@ -225,7 +225,7 @@
- [BASE_NR + 202] = { 2,	TF,		SEN(removexattr),		"removexattr"		},
- [BASE_NR + 203] = { 2,	TF,		SEN(removexattr),		"lremovexattr"		},
- [BASE_NR + 204] = { 2,	TD,		SEN(fremovexattr),		"fremovexattr"		},
--[BASE_NR + 205] = { 2,	TS|TP,		SEN(kill),			"tkill"			},
-+[BASE_NR + 205] = { 2,	TS|TP,		SEN(tkill),			"tkill"			},
- [BASE_NR + 206] = { 6,	0,		SEN(futex_time64),		"futex"			},
- [BASE_NR + 207] = { 3,	0,		SEN(sched_setaffinity),		"sched_setaffinity"	},
- [BASE_NR + 208] = { 3,	0,		SEN(sched_getaffinity),		"sched_getaffinity"	},
-diff --git a/linux/m68k/syscallent.h b/linux/m68k/syscallent.h
-index 1876bed..107780c 100644
---- a/linux/m68k/syscallent.h
-+++ b/linux/m68k/syscallent.h
-@@ -228,7 +228,7 @@
- [218 ... 219] = { },
- [220] = { 3,	TD,		SEN(getdents64),		"getdents64"		},
- [221] = { 0,	PU|NF,		SEN(gettid),			"gettid"		},
--[222] = { 2,	TS|TP,		SEN(kill),			"tkill"			},
-+[222] = { 2,	TS|TP,		SEN(tkill),			"tkill"			},
- [223] = { 5,	TF,		SEN(setxattr),			"setxattr"		},
- [224] = { 5,	TF,		SEN(setxattr),			"lsetxattr"		},
- [225] = { 5,	TD,		SEN(fsetxattr),			"fsetxattr"		},
-diff --git a/linux/microblaze/syscallent.h b/linux/microblaze/syscallent.h
-index 5d071bc..d830a3e 100644
---- a/linux/microblaze/syscallent.h
-+++ b/linux/microblaze/syscallent.h
-@@ -244,7 +244,7 @@
- [235] = { 2,	TF,		SEN(removexattr),		"removexattr"		},
- [236] = { 2,	TF,		SEN(removexattr),		"lremovexattr"		},
- [237] = { 2,	TD,		SEN(fremovexattr),		"fremovexattr"		},
--[238] = { 2,	TS|TP,		SEN(kill),			"tkill"			},
-+[238] = { 2,	TS|TP,		SEN(tkill),			"tkill"			},
- [239] = { 4,	TD|TN,		SEN(sendfile64),		"sendfile64"		},
- [240] = { 6,	0,		SEN(futex_time32),		"futex"			},
- [241] = { 3,	0,		SEN(sched_setaffinity),		"sched_setaffinity"	},
-diff --git a/linux/mips/syscallent-n32.h b/linux/mips/syscallent-n32.h
-index cfd199d..5ab0c53 100644
---- a/linux/mips/syscallent-n32.h
-+++ b/linux/mips/syscallent-n32.h
-@@ -200,7 +200,7 @@
- [BASE_NR + 189] = { 2,	TF,		SEN(removexattr),		"removexattr"		},
- [BASE_NR + 190] = { 2,	TF,		SEN(removexattr),		"lremovexattr"		},
- [BASE_NR + 191] = { 2,	TD,		SEN(fremovexattr),		"fremovexattr"		},
--[BASE_NR + 192] = { 2,	TS|TP,		SEN(kill),			"tkill"			},
-+[BASE_NR + 192] = { 2,	TS|TP,		SEN(tkill),			"tkill"			},
- [BASE_NR + 193] = { 1,	TCL,		SEN(time),			"time"			},
- [BASE_NR + 194] = { 6,	0,		SEN(futex_time32),		"futex"			},
- [BASE_NR + 195] = { 3,	0,		SEN(sched_setaffinity),		"sched_setaffinity"	},
-diff --git a/linux/mips/syscallent-n64.h b/linux/mips/syscallent-n64.h
-index 7ef6700..1964872 100644
---- a/linux/mips/syscallent-n64.h
-+++ b/linux/mips/syscallent-n64.h
-@@ -200,7 +200,7 @@
- [BASE_NR + 189] = { 2,	TF,		SEN(removexattr),		"removexattr"		},
- [BASE_NR + 190] = { 2,	TF,		SEN(removexattr),		"lremovexattr"		},
- [BASE_NR + 191] = { 2,	TD,		SEN(fremovexattr),		"fremovexattr"		},
--[BASE_NR + 192] = { 2,	TS|TP,		SEN(kill),			"tkill"			},
-+[BASE_NR + 192] = { 2,	TS|TP,		SEN(tkill),			"tkill"			},
- [BASE_NR + 193] = { 1,	TCL,		SEN(time),			"time"			},
- [BASE_NR + 194] = { 6,	0,		SEN(futex_time64),		"futex"			},
- [BASE_NR + 195] = { 3,	0,		SEN(sched_setaffinity),		"sched_setaffinity"	},
-diff --git a/linux/mips/syscallent-o32.h b/linux/mips/syscallent-o32.h
-index d2b26f7..eb8908e 100644
---- a/linux/mips/syscallent-o32.h
-+++ b/linux/mips/syscallent-o32.h
-@@ -245,7 +245,7 @@
- [BASE_NR + 233] = { 2,	TF,		SEN(removexattr),		"removexattr"		},
- [BASE_NR + 234] = { 2,	TF,		SEN(removexattr),		"lremovexattr"		},
- [BASE_NR + 235] = { 2,	TD,		SEN(fremovexattr),		"fremovexattr"		},
--[BASE_NR + 236] = { 2,	TS|TP,		SEN(kill),			"tkill"			},
-+[BASE_NR + 236] = { 2,	TS|TP,		SEN(tkill),			"tkill"			},
- [BASE_NR + 237] = { 4,	TD|TN,		SEN(sendfile64),		"sendfile64"		},
- [BASE_NR + 238] = { 6,	0,		SEN(futex_time32),		"futex"			},
- [BASE_NR + 239] = { 3,	0,		SEN(sched_setaffinity),		"sched_setaffinity"	},
-diff --git a/linux/powerpc/syscallent.h b/linux/powerpc/syscallent.h
-index b0962b4..7a77979 100644
---- a/linux/powerpc/syscallent.h
-+++ b/linux/powerpc/syscallent.h
-@@ -215,7 +215,7 @@
- [205] = { 3,	TM,		SEN(madvise),			"madvise"		},
- [206] = { 3,	TM,		SEN(mincore),			"mincore"		},
- [207] = { 0,	PU|NF,		SEN(gettid),			"gettid"		},
--[208] = { 2,	TS|TP,		SEN(kill),			"tkill"			},
-+[208] = { 2,	TS|TP,		SEN(tkill),			"tkill"			},
- [209] = { 5,	TF,		SEN(setxattr),			"setxattr"		},
- [210] = { 5,	TF,		SEN(setxattr),			"lsetxattr"		},
- [211] = { 5,	TD,		SEN(fsetxattr),			"fsetxattr"		},
-diff --git a/linux/powerpc64/syscallent.h b/linux/powerpc64/syscallent.h
-index 1a0dfb5..f20fd78 100644
---- a/linux/powerpc64/syscallent.h
-+++ b/linux/powerpc64/syscallent.h
-@@ -210,7 +210,7 @@
- [205] = { 3,	TM,		SEN(madvise),			"madvise"		},
- [206] = { 3,	TM,		SEN(mincore),			"mincore"		},
- [207] = { 0,	PU|NF,		SEN(gettid),			"gettid"		},
--[208] = { 2,	TS|TP,		SEN(kill),			"tkill"			},
-+[208] = { 2,	TS|TP,		SEN(tkill),			"tkill"			},
- [209] = { 5,	TF,		SEN(setxattr),			"setxattr"		},
- [210] = { 5,	TF,		SEN(setxattr),			"lsetxattr"		},
- [211] = { 5,	TD,		SEN(fsetxattr),			"fsetxattr"		},
-diff --git a/linux/s390/syscallent.h b/linux/s390/syscallent.h
-index 105089f..6844c7e 100644
---- a/linux/s390/syscallent.h
-+++ b/linux/s390/syscallent.h
-@@ -246,7 +246,7 @@
- [234] = { 2,	TF,		SEN(removexattr),		"lremovexattr"		},
- [235] = { 2,	TD,		SEN(fremovexattr),		"fremovexattr"		},
- [236] = { 0,	PU|NF,		SEN(gettid),			"gettid"		},
--[237] = { 2,	TS|TP,		SEN(kill),			"tkill"			},
-+[237] = { 2,	TS|TP,		SEN(tkill),			"tkill"			},
- [238] = { 6,	0,		SEN(futex_time32),		"futex"			},
- [239] = { 3,	0,		SEN(sched_setaffinity),		"sched_setaffinity"	},
- [240] = { 3,	0,		SEN(sched_getaffinity),		"sched_getaffinity"	},
-diff --git a/linux/s390x/syscallent.h b/linux/s390x/syscallent.h
-index e9cf57a..c805204 100644
---- a/linux/s390x/syscallent.h
-+++ b/linux/s390x/syscallent.h
-@@ -230,7 +230,7 @@
- [234] = { 2,	TF,		SEN(removexattr),		"lremovexattr"		},
- [235] = { 2,	TD,		SEN(fremovexattr),		"fremovexattr"		},
- [236] = { 0,	PU|NF,		SEN(gettid),			"gettid"		},
--[237] = { 2,	TS|TP,		SEN(kill),			"tkill"			},
-+[237] = { 2,	TS|TP,		SEN(tkill),			"tkill"			},
- [238] = { 6,	0,		SEN(futex_time64),		"futex"			},
- [239] = { 3,	0,		SEN(sched_setaffinity),		"sched_setaffinity"	},
- [240] = { 3,	0,		SEN(sched_getaffinity),		"sched_getaffinity"	},
-diff --git a/linux/sh/syscallent.h b/linux/sh/syscallent.h
-index 70dc7da..6a89f75 100644
---- a/linux/sh/syscallent.h
-+++ b/linux/sh/syscallent.h
-@@ -245,7 +245,7 @@
- [235] = { 2,	TF,		SEN(removexattr),		"removexattr"		},
- [236] = { 2,	TF,		SEN(removexattr),		"lremovexattr"		},
- [237] = { 2,	TD,		SEN(fremovexattr),		"fremovexattr"		},
--[238] = { 2,	TS|TP,		SEN(kill),			"tkill"			},
-+[238] = { 2,	TS|TP,		SEN(tkill),			"tkill"			},
- [239] = { 4,	TD|TN,		SEN(sendfile64),		"sendfile64"		},
- [240] = { 6,	0,		SEN(futex_time32),		"futex"			},
- [241] = { 3,	0,		SEN(sched_setaffinity),		"sched_setaffinity"	},
-diff --git a/linux/sh64/syscallent.h b/linux/sh64/syscallent.h
-index eff5dc0..4ec35d3 100644
---- a/linux/sh64/syscallent.h
-+++ b/linux/sh64/syscallent.h
-@@ -271,7 +271,7 @@
- [263] = { 2,	TF,		SEN(removexattr),		"removexattr"		},
- [264] = { 2,	TF,		SEN(removexattr),		"lremovexattr"		},
- [265] = { 2,	TD,		SEN(fremovexattr),		"fremovexattr"		},
--[266] = { 2,	TS|TP,		SEN(kill),			"tkill"			},
-+[266] = { 2,	TS|TP,		SEN(tkill),			"tkill"			},
- [267] = { 4,	TD|TN,		SEN(sendfile64),		"sendfile64"		},
- [268] = { 6,	0,		SEN(futex_time64),		"futex"			},
- [269] = { 3,	0,		SEN(sched_setaffinity),		"sched_setaffinity"	},
-diff --git a/linux/sparc/syscallent.h b/linux/sparc/syscallent.h
-index 8c8bd18..a274791 100644
---- a/linux/sparc/syscallent.h
-+++ b/linux/sparc/syscallent.h
-@@ -192,7 +192,7 @@
- [184] = { 5,	0,		SEN(query_module),		"query_module"		},
- [185] = { 2,	0,		SEN(setpgid),			"setpgid"		},
- [186] = { 2,	TD,		SEN(fremovexattr),		"fremovexattr"		},
--[187] = { 2,	TS|TP,		SEN(kill),			"tkill"			},
-+[187] = { 2,	TS|TP,		SEN(tkill),			"tkill"			},
- [188] = { 1,	TP|SE,		SEN(exit),			"exit_group"		},
- [189] = { 1,	0,		SEN(uname),			"uname"			},
- [190] = { 3,	0,		SEN(init_module),		"init_module"		},
-diff --git a/linux/sparc64/syscallent.h b/linux/sparc64/syscallent.h
-index 0e0e0c4..61c32f9 100644
---- a/linux/sparc64/syscallent.h
-+++ b/linux/sparc64/syscallent.h
-@@ -190,7 +190,7 @@
- [184] = { 5,	0,		SEN(query_module),		"query_module"		},
- [185] = { 2,	0,		SEN(setpgid),			"setpgid"		},
- [186] = { 2,	TD,		SEN(fremovexattr),		"fremovexattr"		},
--[187] = { 2,	TS|TP,		SEN(kill),			"tkill"			},
-+[187] = { 2,	TS|TP,		SEN(tkill),			"tkill"			},
- [188] = { 1,	TP|SE,		SEN(exit),			"exit_group"		},
- [189] = { 1,	0,		SEN(uname),			"uname"			},
- [190] = { 3,	0,		SEN(init_module),		"init_module"		},
-diff --git a/linux/x32/syscallent.h b/linux/x32/syscallent.h
-index db8ecfd..d64060d 100644
---- a/linux/x32/syscallent.h
-+++ b/linux/x32/syscallent.h
-@@ -205,7 +205,7 @@
- [197] = { 2,	TF,		SEN(removexattr),		"removexattr"		},
- [198] = { 2,	TF,		SEN(removexattr),		"lremovexattr"		},
- [199] = { 2,	TD,		SEN(fremovexattr),		"fremovexattr"		},
--[200] = { 2,	TS|TP,		SEN(kill),			"tkill"			},
-+[200] = { 2,	TS|TP,		SEN(tkill),			"tkill"			},
- [201] = { 1,	TCL,		SEN(time),			"time"			},
- [202] = { 6,	0,		SEN(futex_time64),		"futex"			},
- [203] = { 3,	0,		SEN(sched_setaffinity),		"sched_setaffinity"	},
-diff --git a/linux/x86_64/syscallent.h b/linux/x86_64/syscallent.h
-index c69a5aa..027093a 100644
---- a/linux/x86_64/syscallent.h
-+++ b/linux/x86_64/syscallent.h
-@@ -205,7 +205,7 @@
- [197] = { 2,	TF,		SEN(removexattr),		"removexattr"		},
- [198] = { 2,	TF,		SEN(removexattr),		"lremovexattr"		},
- [199] = { 2,	TD,		SEN(fremovexattr),		"fremovexattr"		},
--[200] = { 2,	TS|TP,		SEN(kill),			"tkill"			},
-+[200] = { 2,	TS|TP,		SEN(tkill),			"tkill"			},
- [201] = { 1,	TCL,		SEN(time),			"time"			},
- [202] = { 6,	0,		SEN(futex_time64),		"futex"			},
- [203] = { 3,	0,		SEN(sched_setaffinity),		"sched_setaffinity"	},
-diff --git a/linux/xtensa/syscallent.h b/linux/xtensa/syscallent.h
-index 61f1dd4..6de03d2 100644
---- a/linux/xtensa/syscallent.h
-+++ b/linux/xtensa/syscallent.h
-@@ -124,7 +124,7 @@
- [121] = { 4,	TP,		SEN(wait4),			"wait4"			},
- [122] = { 5,	TP,		SEN(waitid),			"waitid"		},
- [123] = { 2,	TS|TP,		SEN(kill),			"kill"			},
--[124] = { 2,	TS|TP,		SEN(kill),			"tkill"			},
-+[124] = { 2,	TS|TP,		SEN(tkill),			"tkill"			},
- [125] = { 3,	TS|TP,		SEN(tgkill),			"tgkill"		},
- [126] = { 1,	0,		SEN(set_tid_address),		"set_tid_address"	},
- [127] = { 0,	PU|NF,		SEN(gettid),			"gettid"		},
-diff --git a/signal.c b/signal.c
-index 3cb54bb..5f1acac 100644
---- a/signal.c
-+++ b/signal.c
-@@ -446,6 +446,15 @@ SYS_FUNC(kill)
- 	return RVAL_DECODED;
- }
- 
-+SYS_FUNC(tkill)
-+{
-+	tprintf("%d", (int) tcp->u_arg[0]);
-+	tprints(", ");
-+	printsignal(tcp->u_arg[1]);
-+
-+	return RVAL_DECODED;
-+}
-+
- SYS_FUNC(tgkill)
- {
- 	/* tgid, tid */
--- 
-2.1.4
-
diff --git a/SOURCES/0132-tests-check-decoding-of-tkill-syscall.patch b/SOURCES/0132-tests-check-decoding-of-tkill-syscall.patch
deleted file mode 100644
index 0d9bb80..0000000
--- a/SOURCES/0132-tests-check-decoding-of-tkill-syscall.patch
+++ /dev/null
@@ -1,683 +0,0 @@
-From 24119509205a17c71de10e913cfc38dc52aa6563 Mon Sep 17 00:00:00 2001
-From: "Dmitry V. Levin" <ldv@altlinux.org>
-Date: Sat, 1 Aug 2020 08:00:00 +0000
-Subject: [PATCH 132/138] tests: check decoding of tkill syscall
-
-* tests/tkill.c: New file.
-* tests/gen_tests.in (tkill): New entry.
-* tests/pure_executables.list: Add tkill.
-* tests/.gitignore: Likewise.
----
- tests/.gitignore            |  1 +
- tests/gen_tests.in          |  1 +
- tests/pure_executables.list |  1 +
- tests/tkill.c               | 60 +++++++++++++++++++++++++++++++++++++++++++++
- 4 files changed, 63 insertions(+)
- create mode 100644 tests/tkill.c
-
-Index: strace-5.7/tests/gen_tests.in
-===================================================================
---- strace-5.7.orig/tests/gen_tests.in	2020-09-09 15:47:07.671767616 +0200
-+++ strace-5.7/tests/gen_tests.in	2020-09-09 19:30:36.780885588 +0200
-@@ -668,6 +668,7 @@
- timerfd_xettime	-e trace=timerfd_create,timerfd_settime,timerfd_gettime
- times	-esignal=none
- times-fail	-a12 -e trace=times
-+tkill	-a12 --signal='!cont'
- trace_clock	test_trace_expr 'clock_nanosleep|times' -e%clock
- trace_creds	test_trace_expr '([gs]et[^p]*([gu]id|groups)|caps|prctl|[fl]?chown|print(path-umovestr|strn-umoven)-undumpable|ptrace|quotactl|rt_sigtimedwait|rt_(tg)?sigqueueinfo).*' -e%creds
- trace_fstat	test_trace_expr '' -e%fstat -v -P stat.sample -P /dev/full
-Index: strace-5.7/tests/pure_executables.list
-===================================================================
---- strace-5.7.orig/tests/pure_executables.list	2020-09-09 15:47:07.671767616 +0200
-+++ strace-5.7/tests/pure_executables.list	2020-09-09 19:30:36.780885588 +0200
-@@ -589,6 +589,7 @@
- timerfd_xettime
- times
- times-fail
-+tkill
- truncate
- truncate64
- ugetrlimit
-Index: strace-5.7/tests/tkill.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests/tkill.c	2020-09-09 19:21:10.469548041 +0200
-@@ -0,0 +1,60 @@
-+/*
-+ * Check decoding of tkill syscall.
-+ *
-+ * Copyright (c) 2020 Dmitry V. Levin <ldv@altlinux.org>
-+ * All rights reserved.
-+ *
-+ * SPDX-License-Identifier: GPL-2.0-or-later
-+ */
-+
-+#include "tests.h"
-+#include "scno.h"
-+
-+#ifdef __NR_tkill
-+
-+# include <signal.h>
-+# include <stdio.h>
-+# include <unistd.h>
-+
-+static const char *errstr;
-+
-+static long
-+k_tkill(const unsigned int tid, const unsigned int sig)
-+{
-+        const kernel_ulong_t fill = (kernel_ulong_t) 0xdefaced00000000ULL;
-+        const kernel_ulong_t bad = (kernel_ulong_t) 0xbadc0dedbadc0dedULL;
-+        const kernel_ulong_t arg1 = fill | tid;
-+        const kernel_ulong_t arg2 = fill | sig;
-+        const long rc = syscall(__NR_tkill, arg1, arg2, bad, bad, bad, bad);
-+        errstr = sprintrc(rc);
-+        return rc;
-+}
-+
-+int
-+main(void)
-+{
-+	const int pid = getpid();
-+	const int bad_pid = -1;
-+	const int bad_sig = 0xface;
-+
-+	k_tkill(pid, 0);
-+	printf("tkill(%d, 0) = %s\n", pid, errstr);
-+
-+	k_tkill(pid, SIGCONT);
-+	printf("tkill(%d, SIGCONT) = %s\n", pid, errstr);
-+
-+	k_tkill(bad_pid, bad_sig);
-+	printf("tkill(%d, %d) = %s\n", bad_pid, bad_sig, errstr);
-+
-+	k_tkill(bad_pid, -bad_sig);
-+	printf("tkill(%d, %d) = %s\n", bad_pid, -bad_sig, errstr);
-+
-+	puts("+++ exited with 0 +++");
-+	return 0;
-+}
-+
-+#else
-+
-+SKIP_MAIN_UNDEFINED("__NR_tkill")
-+
-+#endif
-Index: strace-5.7/tests-m32/gen_tests.in
-===================================================================
---- strace-5.7.orig/tests-m32/gen_tests.in	2020-09-09 15:47:07.671767616 +0200
-+++ strace-5.7/tests-m32/gen_tests.in	2020-09-09 19:30:36.780885588 +0200
-@@ -668,6 +668,7 @@
- timerfd_xettime	-e trace=timerfd_create,timerfd_settime,timerfd_gettime
- times	-esignal=none
- times-fail	-a12 -e trace=times
-+tkill	-a12 --signal='!cont'
- trace_clock	test_trace_expr 'clock_nanosleep|times' -e%clock
- trace_creds	test_trace_expr '([gs]et[^p]*([gu]id|groups)|caps|prctl|[fl]?chown|print(path-umovestr|strn-umoven)-undumpable|ptrace|quotactl|rt_sigtimedwait|rt_(tg)?sigqueueinfo).*' -e%creds
- trace_fstat	test_trace_expr '' -e%fstat -v -P stat.sample -P /dev/full
-Index: strace-5.7/tests-m32/pure_executables.list
-===================================================================
---- strace-5.7.orig/tests-m32/pure_executables.list	2020-09-09 15:47:07.671767616 +0200
-+++ strace-5.7/tests-m32/pure_executables.list	2020-09-09 19:30:36.780885588 +0200
-@@ -589,6 +589,7 @@
- timerfd_xettime
- times
- times-fail
-+tkill
- truncate
- truncate64
- ugetrlimit
-Index: strace-5.7/tests-m32/tkill.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-m32/tkill.c	2020-09-09 19:21:10.469548041 +0200
-@@ -0,0 +1,60 @@
-+/*
-+ * Check decoding of tkill syscall.
-+ *
-+ * Copyright (c) 2020 Dmitry V. Levin <ldv@altlinux.org>
-+ * All rights reserved.
-+ *
-+ * SPDX-License-Identifier: GPL-2.0-or-later
-+ */
-+
-+#include "tests.h"
-+#include "scno.h"
-+
-+#ifdef __NR_tkill
-+
-+# include <signal.h>
-+# include <stdio.h>
-+# include <unistd.h>
-+
-+static const char *errstr;
-+
-+static long
-+k_tkill(const unsigned int tid, const unsigned int sig)
-+{
-+        const kernel_ulong_t fill = (kernel_ulong_t) 0xdefaced00000000ULL;
-+        const kernel_ulong_t bad = (kernel_ulong_t) 0xbadc0dedbadc0dedULL;
-+        const kernel_ulong_t arg1 = fill | tid;
-+        const kernel_ulong_t arg2 = fill | sig;
-+        const long rc = syscall(__NR_tkill, arg1, arg2, bad, bad, bad, bad);
-+        errstr = sprintrc(rc);
-+        return rc;
-+}
-+
-+int
-+main(void)
-+{
-+	const int pid = getpid();
-+	const int bad_pid = -1;
-+	const int bad_sig = 0xface;
-+
-+	k_tkill(pid, 0);
-+	printf("tkill(%d, 0) = %s\n", pid, errstr);
-+
-+	k_tkill(pid, SIGCONT);
-+	printf("tkill(%d, SIGCONT) = %s\n", pid, errstr);
-+
-+	k_tkill(bad_pid, bad_sig);
-+	printf("tkill(%d, %d) = %s\n", bad_pid, bad_sig, errstr);
-+
-+	k_tkill(bad_pid, -bad_sig);
-+	printf("tkill(%d, %d) = %s\n", bad_pid, -bad_sig, errstr);
-+
-+	puts("+++ exited with 0 +++");
-+	return 0;
-+}
-+
-+#else
-+
-+SKIP_MAIN_UNDEFINED("__NR_tkill")
-+
-+#endif
-Index: strace-5.7/tests-mx32/gen_tests.in
-===================================================================
---- strace-5.7.orig/tests-mx32/gen_tests.in	2020-09-09 15:47:07.671767616 +0200
-+++ strace-5.7/tests-mx32/gen_tests.in	2020-09-09 19:30:36.780885588 +0200
-@@ -668,6 +668,7 @@
- timerfd_xettime	-e trace=timerfd_create,timerfd_settime,timerfd_gettime
- times	-esignal=none
- times-fail	-a12 -e trace=times
-+tkill	-a12 --signal='!cont'
- trace_clock	test_trace_expr 'clock_nanosleep|times' -e%clock
- trace_creds	test_trace_expr '([gs]et[^p]*([gu]id|groups)|caps|prctl|[fl]?chown|print(path-umovestr|strn-umoven)-undumpable|ptrace|quotactl|rt_sigtimedwait|rt_(tg)?sigqueueinfo).*' -e%creds
- trace_fstat	test_trace_expr '' -e%fstat -v -P stat.sample -P /dev/full
-Index: strace-5.7/tests-mx32/pure_executables.list
-===================================================================
---- strace-5.7.orig/tests-mx32/pure_executables.list	2020-09-09 15:47:07.671767616 +0200
-+++ strace-5.7/tests-mx32/pure_executables.list	2020-09-09 19:30:36.780885588 +0200
-@@ -589,6 +589,7 @@
- timerfd_xettime
- times
- times-fail
-+tkill
- truncate
- truncate64
- ugetrlimit
-Index: strace-5.7/tests-mx32/tkill.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-mx32/tkill.c	2020-09-09 19:21:10.469548041 +0200
-@@ -0,0 +1,60 @@
-+/*
-+ * Check decoding of tkill syscall.
-+ *
-+ * Copyright (c) 2020 Dmitry V. Levin <ldv@altlinux.org>
-+ * All rights reserved.
-+ *
-+ * SPDX-License-Identifier: GPL-2.0-or-later
-+ */
-+
-+#include "tests.h"
-+#include "scno.h"
-+
-+#ifdef __NR_tkill
-+
-+# include <signal.h>
-+# include <stdio.h>
-+# include <unistd.h>
-+
-+static const char *errstr;
-+
-+static long
-+k_tkill(const unsigned int tid, const unsigned int sig)
-+{
-+        const kernel_ulong_t fill = (kernel_ulong_t) 0xdefaced00000000ULL;
-+        const kernel_ulong_t bad = (kernel_ulong_t) 0xbadc0dedbadc0dedULL;
-+        const kernel_ulong_t arg1 = fill | tid;
-+        const kernel_ulong_t arg2 = fill | sig;
-+        const long rc = syscall(__NR_tkill, arg1, arg2, bad, bad, bad, bad);
-+        errstr = sprintrc(rc);
-+        return rc;
-+}
-+
-+int
-+main(void)
-+{
-+	const int pid = getpid();
-+	const int bad_pid = -1;
-+	const int bad_sig = 0xface;
-+
-+	k_tkill(pid, 0);
-+	printf("tkill(%d, 0) = %s\n", pid, errstr);
-+
-+	k_tkill(pid, SIGCONT);
-+	printf("tkill(%d, SIGCONT) = %s\n", pid, errstr);
-+
-+	k_tkill(bad_pid, bad_sig);
-+	printf("tkill(%d, %d) = %s\n", bad_pid, bad_sig, errstr);
-+
-+	k_tkill(bad_pid, -bad_sig);
-+	printf("tkill(%d, %d) = %s\n", bad_pid, -bad_sig, errstr);
-+
-+	puts("+++ exited with 0 +++");
-+	return 0;
-+}
-+
-+#else
-+
-+SKIP_MAIN_UNDEFINED("__NR_tkill")
-+
-+#endif
-Index: strace-5.7/tests-m32/Makefile.in
-===================================================================
---- strace-5.7.orig/tests-m32/Makefile.in	2020-09-09 15:47:07.671767616 +0200
-+++ strace-5.7/tests-m32/Makefile.in	2020-09-09 19:32:14.800944013 +0200
-@@ -496,14 +496,15 @@
- 	sysinfo$(EXEEXT) syslog$(EXEEXT) tee$(EXEEXT) time$(EXEEXT) \
- 	timer_create$(EXEEXT) timer_xettime$(EXEEXT) \
- 	timerfd_xettime$(EXEEXT) times$(EXEEXT) times-fail$(EXEEXT) \
--	truncate$(EXEEXT) truncate64$(EXEEXT) ugetrlimit$(EXEEXT) \
--	uio$(EXEEXT) umask$(EXEEXT) umount$(EXEEXT) umount2$(EXEEXT) \
--	umoven-illptr$(EXEEXT) umovestr$(EXEEXT) \
--	umovestr-illptr$(EXEEXT) umovestr2$(EXEEXT) umovestr3$(EXEEXT) \
--	umovestr_cached$(EXEEXT) umovestr_cached_adjacent$(EXEEXT) \
--	uname$(EXEEXT) unlink$(EXEEXT) unlinkat$(EXEEXT) \
--	unshare$(EXEEXT) userfaultfd$(EXEEXT) ustat$(EXEEXT) \
--	utime$(EXEEXT) utimensat$(EXEEXT) utimensat-Xabbrev$(EXEEXT) \
-+	tkill$(EXEEXT) truncate$(EXEEXT) truncate64$(EXEEXT) \
-+	ugetrlimit$(EXEEXT) uio$(EXEEXT) umask$(EXEEXT) \
-+	umount$(EXEEXT) umount2$(EXEEXT) umoven-illptr$(EXEEXT) \
-+	umovestr$(EXEEXT) umovestr-illptr$(EXEEXT) umovestr2$(EXEEXT) \
-+	umovestr3$(EXEEXT) umovestr_cached$(EXEEXT) \
-+	umovestr_cached_adjacent$(EXEEXT) uname$(EXEEXT) \
-+	unlink$(EXEEXT) unlinkat$(EXEEXT) unshare$(EXEEXT) \
-+	userfaultfd$(EXEEXT) ustat$(EXEEXT) utime$(EXEEXT) \
-+	utimensat$(EXEEXT) utimensat-Xabbrev$(EXEEXT) \
- 	utimensat-Xraw$(EXEEXT) utimensat-Xverbose$(EXEEXT) \
- 	utimes$(EXEEXT) vhangup$(EXEEXT) vmsplice$(EXEEXT) \
- 	wait4$(EXEEXT) waitid$(EXEEXT) waitpid$(EXEEXT) xattr$(EXEEXT) \
-@@ -3484,6 +3485,10 @@
- times_fail_OBJECTS = times-fail.$(OBJEXT)
- times_fail_LDADD = $(LDADD)
- times_fail_DEPENDENCIES = libtests.a
-+tkill_SOURCES = tkill.c
-+tkill_OBJECTS = tkill.$(OBJEXT)
-+tkill_LDADD = $(LDADD)
-+tkill_DEPENDENCIES = libtests.a
- tracer_ppid_pgid_sid_SOURCES = tracer_ppid_pgid_sid.c
- tracer_ppid_pgid_sid_OBJECTS = tracer_ppid_pgid_sid.$(OBJEXT)
- tracer_ppid_pgid_sid_LDADD = $(LDADD)
-@@ -4184,7 +4189,7 @@
- 	./$(DEPDIR)/threads-execve.Po ./$(DEPDIR)/time.Po \
- 	./$(DEPDIR)/timer_create.Po ./$(DEPDIR)/timer_xettime.Po \
- 	./$(DEPDIR)/timerfd_xettime.Po ./$(DEPDIR)/times-fail.Po \
--	./$(DEPDIR)/times.Po ./$(DEPDIR)/tracer_ppid_pgid_sid.Po \
-+	./$(DEPDIR)/times.Po ./$(DEPDIR)/tkill.Po ./$(DEPDIR)/tracer_ppid_pgid_sid.Po \
- 	./$(DEPDIR)/truncate.Po ./$(DEPDIR)/truncate64-truncate64.Po \
- 	./$(DEPDIR)/ugetrlimit.Po ./$(DEPDIR)/uio-uio.Po \
- 	./$(DEPDIR)/umask.Po ./$(DEPDIR)/umount.Po \
-@@ -4441,7 +4446,7 @@
- 	syslog-success.c tee.c threads-execve.c \
- 	threads-execve--quiet-thread-execve.c threads-execve-q.c \
- 	threads-execve-qq.c threads-execve-qqq.c time.c timer_create.c \
--	timer_xettime.c timerfd_xettime.c times.c times-fail.c \
-+	timer_xettime.c timerfd_xettime.c times.c times-fail.c tkill.c \
- 	tracer_ppid_pgid_sid.c truncate.c truncate64.c ugetrlimit.c \
- 	uio.c umask.c umount.c umount2.c umoven-illptr.c umovestr.c \
- 	umovestr-illptr.c umovestr2.c umovestr3.c umovestr_cached.c \
-@@ -4667,7 +4672,7 @@
- 	syslog-success.c tee.c threads-execve.c \
- 	threads-execve--quiet-thread-execve.c threads-execve-q.c \
- 	threads-execve-qq.c threads-execve-qqq.c time.c timer_create.c \
--	timer_xettime.c timerfd_xettime.c times.c times-fail.c \
-+	timer_xettime.c timerfd_xettime.c times.c times-fail.c tkill.c \
- 	tracer_ppid_pgid_sid.c truncate.c truncate64.c ugetrlimit.c \
- 	uio.c umask.c umount.c umount2.c umoven-illptr.c umovestr.c \
- 	umovestr-illptr.c umovestr2.c umovestr3.c umovestr_cached.c \
-@@ -5725,6 +5730,7 @@
-   timerfd_xettime \
-   times \
-   times-fail \
-+  tkill \
-   truncate \
-   truncate64 \
-   ugetrlimit \
-@@ -6133,9 +6139,10 @@
- 	threads-execve-qqq.gen.test time.gen.test \
- 	timer_create.gen.test timer_xettime.gen.test \
- 	timerfd_xettime.gen.test times.gen.test times-fail.gen.test \
--	trace_clock.gen.test trace_creds.gen.test trace_fstat.gen.test \
--	trace_fstatfs.gen.test trace_lstat.gen.test \
--	trace_personality_32.gen.test trace_personality_64.gen.test \
-+	tkill.gen.test trace_clock.gen.test trace_creds.gen.test \
-+	trace_fstat.gen.test trace_fstatfs.gen.test \
-+	trace_lstat.gen.test trace_personality_32.gen.test \
-+	trace_personality_64.gen.test \
- 	trace_personality_regex_32.gen.test \
- 	trace_personality_regex_64.gen.test \
- 	trace_personality_regex_x32.gen.test \
-@@ -9392,6 +9399,10 @@
- 	@rm -f times-fail$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(times_fail_OBJECTS) $(times_fail_LDADD) $(LIBS)
- 
-+tkill$(EXEEXT): $(tkill_OBJECTS) $(tkill_DEPENDENCIES) $(EXTRA_tkill_DEPENDENCIES) 
-+	@rm -f tkill$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(tkill_OBJECTS) $(tkill_LDADD) $(LIBS)
-+
- tracer_ppid_pgid_sid$(EXEEXT): $(tracer_ppid_pgid_sid_OBJECTS) $(tracer_ppid_pgid_sid_DEPENDENCIES) $(EXTRA_tracer_ppid_pgid_sid_DEPENDENCIES) 
- 	@rm -f tracer_ppid_pgid_sid$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(tracer_ppid_pgid_sid_OBJECTS) $(tracer_ppid_pgid_sid_LDADD) $(LIBS)
-@@ -10349,6 +10360,7 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/timerfd_xettime.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/times-fail.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/times.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tkill.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tracer_ppid_pgid_sid.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/truncate.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/truncate64-truncate64.Po@am__quote@ # am--include-marker
-@@ -12169,6 +12181,7 @@
- 	-rm -f ./$(DEPDIR)/timerfd_xettime.Po
- 	-rm -f ./$(DEPDIR)/times-fail.Po
- 	-rm -f ./$(DEPDIR)/times.Po
-+	-rm -f ./$(DEPDIR)/tkill.Po
- 	-rm -f ./$(DEPDIR)/tracer_ppid_pgid_sid.Po
- 	-rm -f ./$(DEPDIR)/truncate.Po
- 	-rm -f ./$(DEPDIR)/truncate64-truncate64.Po
-@@ -13024,6 +13037,7 @@
- 	-rm -f ./$(DEPDIR)/timerfd_xettime.Po
- 	-rm -f ./$(DEPDIR)/times-fail.Po
- 	-rm -f ./$(DEPDIR)/times.Po
-+	-rm -f ./$(DEPDIR)/tkill.Po
- 	-rm -f ./$(DEPDIR)/tracer_ppid_pgid_sid.Po
- 	-rm -f ./$(DEPDIR)/truncate.Po
- 	-rm -f ./$(DEPDIR)/truncate64-truncate64.Po
-@@ -15101,6 +15115,9 @@
- $(srcdir)/times-fail.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/tkill.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/trace_clock.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-Index: strace-5.7/tests-mx32/Makefile.in
-===================================================================
---- strace-5.7.orig/tests-mx32/Makefile.in	2020-09-09 15:47:07.671767616 +0200
-+++ strace-5.7/tests-mx32/Makefile.in	2020-09-09 19:32:39.854958946 +0200
-@@ -496,14 +496,15 @@
- 	sysinfo$(EXEEXT) syslog$(EXEEXT) tee$(EXEEXT) time$(EXEEXT) \
- 	timer_create$(EXEEXT) timer_xettime$(EXEEXT) \
- 	timerfd_xettime$(EXEEXT) times$(EXEEXT) times-fail$(EXEEXT) \
--	truncate$(EXEEXT) truncate64$(EXEEXT) ugetrlimit$(EXEEXT) \
--	uio$(EXEEXT) umask$(EXEEXT) umount$(EXEEXT) umount2$(EXEEXT) \
--	umoven-illptr$(EXEEXT) umovestr$(EXEEXT) \
--	umovestr-illptr$(EXEEXT) umovestr2$(EXEEXT) umovestr3$(EXEEXT) \
--	umovestr_cached$(EXEEXT) umovestr_cached_adjacent$(EXEEXT) \
--	uname$(EXEEXT) unlink$(EXEEXT) unlinkat$(EXEEXT) \
--	unshare$(EXEEXT) userfaultfd$(EXEEXT) ustat$(EXEEXT) \
--	utime$(EXEEXT) utimensat$(EXEEXT) utimensat-Xabbrev$(EXEEXT) \
-+	tkill$(EXEEXT) truncate$(EXEEXT) truncate64$(EXEEXT) \
-+	ugetrlimit$(EXEEXT) uio$(EXEEXT) umask$(EXEEXT) \
-+	umount$(EXEEXT) umount2$(EXEEXT) umoven-illptr$(EXEEXT) \
-+	umovestr$(EXEEXT) umovestr-illptr$(EXEEXT) umovestr2$(EXEEXT) \
-+	umovestr3$(EXEEXT) umovestr_cached$(EXEEXT) \
-+	umovestr_cached_adjacent$(EXEEXT) uname$(EXEEXT) \
-+	unlink$(EXEEXT) unlinkat$(EXEEXT) unshare$(EXEEXT) \
-+	userfaultfd$(EXEEXT) ustat$(EXEEXT) utime$(EXEEXT) \
-+	utimensat$(EXEEXT) utimensat-Xabbrev$(EXEEXT) \
- 	utimensat-Xraw$(EXEEXT) utimensat-Xverbose$(EXEEXT) \
- 	utimes$(EXEEXT) vhangup$(EXEEXT) vmsplice$(EXEEXT) \
- 	wait4$(EXEEXT) waitid$(EXEEXT) waitpid$(EXEEXT) xattr$(EXEEXT) \
-@@ -3484,6 +3485,10 @@
- times_fail_OBJECTS = times-fail.$(OBJEXT)
- times_fail_LDADD = $(LDADD)
- times_fail_DEPENDENCIES = libtests.a
-+tkill_SOURCES = tkill.c
-+tkill_OBJECTS = tkill.$(OBJEXT)
-+tkill_LDADD = $(LDADD)
-+tkill_DEPENDENCIES = libtests.a
- tracer_ppid_pgid_sid_SOURCES = tracer_ppid_pgid_sid.c
- tracer_ppid_pgid_sid_OBJECTS = tracer_ppid_pgid_sid.$(OBJEXT)
- tracer_ppid_pgid_sid_LDADD = $(LDADD)
-@@ -4184,7 +4189,7 @@
- 	./$(DEPDIR)/threads-execve.Po ./$(DEPDIR)/time.Po \
- 	./$(DEPDIR)/timer_create.Po ./$(DEPDIR)/timer_xettime.Po \
- 	./$(DEPDIR)/timerfd_xettime.Po ./$(DEPDIR)/times-fail.Po \
--	./$(DEPDIR)/times.Po ./$(DEPDIR)/tracer_ppid_pgid_sid.Po \
-+	./$(DEPDIR)/times.Po ./$(DEPDIR)/tkill.Po ./$(DEPDIR)/tracer_ppid_pgid_sid.Po \
- 	./$(DEPDIR)/truncate.Po ./$(DEPDIR)/truncate64-truncate64.Po \
- 	./$(DEPDIR)/ugetrlimit.Po ./$(DEPDIR)/uio-uio.Po \
- 	./$(DEPDIR)/umask.Po ./$(DEPDIR)/umount.Po \
-@@ -4441,7 +4446,7 @@
- 	syslog-success.c tee.c threads-execve.c \
- 	threads-execve--quiet-thread-execve.c threads-execve-q.c \
- 	threads-execve-qq.c threads-execve-qqq.c time.c timer_create.c \
--	timer_xettime.c timerfd_xettime.c times.c times-fail.c \
-+	timer_xettime.c timerfd_xettime.c times.c times-fail.c tkill.c \
- 	tracer_ppid_pgid_sid.c truncate.c truncate64.c ugetrlimit.c \
- 	uio.c umask.c umount.c umount2.c umoven-illptr.c umovestr.c \
- 	umovestr-illptr.c umovestr2.c umovestr3.c umovestr_cached.c \
-@@ -4667,7 +4672,7 @@
- 	syslog-success.c tee.c threads-execve.c \
- 	threads-execve--quiet-thread-execve.c threads-execve-q.c \
- 	threads-execve-qq.c threads-execve-qqq.c time.c timer_create.c \
--	timer_xettime.c timerfd_xettime.c times.c times-fail.c \
-+	timer_xettime.c timerfd_xettime.c times.c times-fail.c tkill.c \
- 	tracer_ppid_pgid_sid.c truncate.c truncate64.c ugetrlimit.c \
- 	uio.c umask.c umount.c umount2.c umoven-illptr.c umovestr.c \
- 	umovestr-illptr.c umovestr2.c umovestr3.c umovestr_cached.c \
-@@ -5725,6 +5730,7 @@
-   timerfd_xettime \
-   times \
-   times-fail \
-+  tkill \
-   truncate \
-   truncate64 \
-   ugetrlimit \
-@@ -6133,9 +6139,10 @@
- 	threads-execve-qqq.gen.test time.gen.test \
- 	timer_create.gen.test timer_xettime.gen.test \
- 	timerfd_xettime.gen.test times.gen.test times-fail.gen.test \
--	trace_clock.gen.test trace_creds.gen.test trace_fstat.gen.test \
--	trace_fstatfs.gen.test trace_lstat.gen.test \
--	trace_personality_32.gen.test trace_personality_64.gen.test \
-+	tkill.gen.test trace_clock.gen.test trace_creds.gen.test \
-+	trace_fstat.gen.test trace_fstatfs.gen.test \
-+	trace_lstat.gen.test trace_personality_32.gen.test \
-+	trace_personality_64.gen.test \
- 	trace_personality_regex_32.gen.test \
- 	trace_personality_regex_64.gen.test \
- 	trace_personality_regex_x32.gen.test \
-@@ -9392,6 +9399,10 @@
- 	@rm -f times-fail$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(times_fail_OBJECTS) $(times_fail_LDADD) $(LIBS)
- 
-+tkill$(EXEEXT): $(tkill_OBJECTS) $(tkill_DEPENDENCIES) $(EXTRA_tkill_DEPENDENCIES) 
-+	@rm -f tkill$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(tkill_OBJECTS) $(tkill_LDADD) $(LIBS)
-+
- tracer_ppid_pgid_sid$(EXEEXT): $(tracer_ppid_pgid_sid_OBJECTS) $(tracer_ppid_pgid_sid_DEPENDENCIES) $(EXTRA_tracer_ppid_pgid_sid_DEPENDENCIES) 
- 	@rm -f tracer_ppid_pgid_sid$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(tracer_ppid_pgid_sid_OBJECTS) $(tracer_ppid_pgid_sid_LDADD) $(LIBS)
-@@ -10349,6 +10360,7 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/timerfd_xettime.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/times-fail.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/times.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tkill.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tracer_ppid_pgid_sid.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/truncate.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/truncate64-truncate64.Po@am__quote@ # am--include-marker
-@@ -12169,6 +12181,7 @@
- 	-rm -f ./$(DEPDIR)/timerfd_xettime.Po
- 	-rm -f ./$(DEPDIR)/times-fail.Po
- 	-rm -f ./$(DEPDIR)/times.Po
-+	-rm -f ./$(DEPDIR)/tkill.Po
- 	-rm -f ./$(DEPDIR)/tracer_ppid_pgid_sid.Po
- 	-rm -f ./$(DEPDIR)/truncate.Po
- 	-rm -f ./$(DEPDIR)/truncate64-truncate64.Po
-@@ -13024,6 +13037,7 @@
- 	-rm -f ./$(DEPDIR)/timerfd_xettime.Po
- 	-rm -f ./$(DEPDIR)/times-fail.Po
- 	-rm -f ./$(DEPDIR)/times.Po
-+	-rm -f ./$(DEPDIR)/tkill.Po
- 	-rm -f ./$(DEPDIR)/tracer_ppid_pgid_sid.Po
- 	-rm -f ./$(DEPDIR)/truncate.Po
- 	-rm -f ./$(DEPDIR)/truncate64-truncate64.Po
-@@ -15101,6 +15115,9 @@
- $(srcdir)/times-fail.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/tkill.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/trace_clock.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-Index: strace-5.7/tests/Makefile.in
-===================================================================
---- strace-5.7.orig/tests/Makefile.in	2020-09-09 15:47:07.671767616 +0200
-+++ strace-5.7/tests/Makefile.in	2020-09-09 19:30:36.780885588 +0200
-@@ -496,14 +496,15 @@
- 	sysinfo$(EXEEXT) syslog$(EXEEXT) tee$(EXEEXT) time$(EXEEXT) \
- 	timer_create$(EXEEXT) timer_xettime$(EXEEXT) \
- 	timerfd_xettime$(EXEEXT) times$(EXEEXT) times-fail$(EXEEXT) \
--	truncate$(EXEEXT) truncate64$(EXEEXT) ugetrlimit$(EXEEXT) \
--	uio$(EXEEXT) umask$(EXEEXT) umount$(EXEEXT) umount2$(EXEEXT) \
--	umoven-illptr$(EXEEXT) umovestr$(EXEEXT) \
--	umovestr-illptr$(EXEEXT) umovestr2$(EXEEXT) umovestr3$(EXEEXT) \
--	umovestr_cached$(EXEEXT) umovestr_cached_adjacent$(EXEEXT) \
--	uname$(EXEEXT) unlink$(EXEEXT) unlinkat$(EXEEXT) \
--	unshare$(EXEEXT) userfaultfd$(EXEEXT) ustat$(EXEEXT) \
--	utime$(EXEEXT) utimensat$(EXEEXT) utimensat-Xabbrev$(EXEEXT) \
-+	tkill$(EXEEXT) truncate$(EXEEXT) truncate64$(EXEEXT) \
-+	ugetrlimit$(EXEEXT) uio$(EXEEXT) umask$(EXEEXT) \
-+	umount$(EXEEXT) umount2$(EXEEXT) umoven-illptr$(EXEEXT) \
-+	umovestr$(EXEEXT) umovestr-illptr$(EXEEXT) umovestr2$(EXEEXT) \
-+	umovestr3$(EXEEXT) umovestr_cached$(EXEEXT) \
-+	umovestr_cached_adjacent$(EXEEXT) uname$(EXEEXT) \
-+	unlink$(EXEEXT) unlinkat$(EXEEXT) unshare$(EXEEXT) \
-+	userfaultfd$(EXEEXT) ustat$(EXEEXT) utime$(EXEEXT) \
-+	utimensat$(EXEEXT) utimensat-Xabbrev$(EXEEXT) \
- 	utimensat-Xraw$(EXEEXT) utimensat-Xverbose$(EXEEXT) \
- 	utimes$(EXEEXT) vhangup$(EXEEXT) vmsplice$(EXEEXT) \
- 	wait4$(EXEEXT) waitid$(EXEEXT) waitpid$(EXEEXT) xattr$(EXEEXT) \
-@@ -3484,6 +3485,10 @@
- times_fail_OBJECTS = times-fail.$(OBJEXT)
- times_fail_LDADD = $(LDADD)
- times_fail_DEPENDENCIES = libtests.a
-+tkill_SOURCES = tkill.c
-+tkill_OBJECTS = tkill.$(OBJEXT)
-+tkill_LDADD = $(LDADD)
-+tkill_DEPENDENCIES = libtests.a
- tracer_ppid_pgid_sid_SOURCES = tracer_ppid_pgid_sid.c
- tracer_ppid_pgid_sid_OBJECTS = tracer_ppid_pgid_sid.$(OBJEXT)
- tracer_ppid_pgid_sid_LDADD = $(LDADD)
-@@ -4184,7 +4189,7 @@
- 	./$(DEPDIR)/threads-execve.Po ./$(DEPDIR)/time.Po \
- 	./$(DEPDIR)/timer_create.Po ./$(DEPDIR)/timer_xettime.Po \
- 	./$(DEPDIR)/timerfd_xettime.Po ./$(DEPDIR)/times-fail.Po \
--	./$(DEPDIR)/times.Po ./$(DEPDIR)/tracer_ppid_pgid_sid.Po \
-+	./$(DEPDIR)/times.Po ./$(DEPDIR)/tkill.Po ./$(DEPDIR)/tracer_ppid_pgid_sid.Po \
- 	./$(DEPDIR)/truncate.Po ./$(DEPDIR)/truncate64-truncate64.Po \
- 	./$(DEPDIR)/ugetrlimit.Po ./$(DEPDIR)/uio-uio.Po \
- 	./$(DEPDIR)/umask.Po ./$(DEPDIR)/umount.Po \
-@@ -4441,7 +4446,7 @@
- 	syslog-success.c tee.c threads-execve.c \
- 	threads-execve--quiet-thread-execve.c threads-execve-q.c \
- 	threads-execve-qq.c threads-execve-qqq.c time.c timer_create.c \
--	timer_xettime.c timerfd_xettime.c times.c times-fail.c \
-+	timer_xettime.c timerfd_xettime.c times.c times-fail.c tkill.c \
- 	tracer_ppid_pgid_sid.c truncate.c truncate64.c ugetrlimit.c \
- 	uio.c umask.c umount.c umount2.c umoven-illptr.c umovestr.c \
- 	umovestr-illptr.c umovestr2.c umovestr3.c umovestr_cached.c \
-@@ -4667,7 +4672,7 @@
- 	syslog-success.c tee.c threads-execve.c \
- 	threads-execve--quiet-thread-execve.c threads-execve-q.c \
- 	threads-execve-qq.c threads-execve-qqq.c time.c timer_create.c \
--	timer_xettime.c timerfd_xettime.c times.c times-fail.c \
-+	timer_xettime.c timerfd_xettime.c times.c times-fail.c tkill.c \
- 	tracer_ppid_pgid_sid.c truncate.c truncate64.c ugetrlimit.c \
- 	uio.c umask.c umount.c umount2.c umoven-illptr.c umovestr.c \
- 	umovestr-illptr.c umovestr2.c umovestr3.c umovestr_cached.c \
-@@ -5725,6 +5730,7 @@
-   timerfd_xettime \
-   times \
-   times-fail \
-+  tkill \
-   truncate \
-   truncate64 \
-   ugetrlimit \
-@@ -6133,9 +6139,10 @@
- 	threads-execve-qqq.gen.test time.gen.test \
- 	timer_create.gen.test timer_xettime.gen.test \
- 	timerfd_xettime.gen.test times.gen.test times-fail.gen.test \
--	trace_clock.gen.test trace_creds.gen.test trace_fstat.gen.test \
--	trace_fstatfs.gen.test trace_lstat.gen.test \
--	trace_personality_32.gen.test trace_personality_64.gen.test \
-+	tkill.gen.test trace_clock.gen.test trace_creds.gen.test \
-+	trace_fstat.gen.test trace_fstatfs.gen.test \
-+	trace_lstat.gen.test trace_personality_32.gen.test \
-+	trace_personality_64.gen.test \
- 	trace_personality_regex_32.gen.test \
- 	trace_personality_regex_64.gen.test \
- 	trace_personality_regex_x32.gen.test \
-@@ -9392,6 +9399,10 @@
- 	@rm -f times-fail$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(times_fail_OBJECTS) $(times_fail_LDADD) $(LIBS)
- 
-+tkill$(EXEEXT): $(tkill_OBJECTS) $(tkill_DEPENDENCIES) $(EXTRA_tkill_DEPENDENCIES) 
-+	@rm -f tkill$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(tkill_OBJECTS) $(tkill_LDADD) $(LIBS)
-+
- tracer_ppid_pgid_sid$(EXEEXT): $(tracer_ppid_pgid_sid_OBJECTS) $(tracer_ppid_pgid_sid_DEPENDENCIES) $(EXTRA_tracer_ppid_pgid_sid_DEPENDENCIES) 
- 	@rm -f tracer_ppid_pgid_sid$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(tracer_ppid_pgid_sid_OBJECTS) $(tracer_ppid_pgid_sid_LDADD) $(LIBS)
-@@ -10349,6 +10360,7 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/timerfd_xettime.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/times-fail.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/times.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tkill.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tracer_ppid_pgid_sid.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/truncate.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/truncate64-truncate64.Po@am__quote@ # am--include-marker
-@@ -12169,6 +12181,7 @@
- 	-rm -f ./$(DEPDIR)/timerfd_xettime.Po
- 	-rm -f ./$(DEPDIR)/times-fail.Po
- 	-rm -f ./$(DEPDIR)/times.Po
-+	-rm -f ./$(DEPDIR)/tkill.Po
- 	-rm -f ./$(DEPDIR)/tracer_ppid_pgid_sid.Po
- 	-rm -f ./$(DEPDIR)/truncate.Po
- 	-rm -f ./$(DEPDIR)/truncate64-truncate64.Po
-@@ -13024,6 +13037,7 @@
- 	-rm -f ./$(DEPDIR)/timerfd_xettime.Po
- 	-rm -f ./$(DEPDIR)/times-fail.Po
- 	-rm -f ./$(DEPDIR)/times.Po
-+	-rm -f ./$(DEPDIR)/tkill.Po
- 	-rm -f ./$(DEPDIR)/tracer_ppid_pgid_sid.Po
- 	-rm -f ./$(DEPDIR)/truncate.Po
- 	-rm -f ./$(DEPDIR)/truncate64-truncate64.Po
-@@ -15101,6 +15115,9 @@
- $(srcdir)/times-fail.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/tkill.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/trace_clock.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
diff --git a/SOURCES/0133-tests-check-decoding-of-tgkill-syscall.patch b/SOURCES/0133-tests-check-decoding-of-tgkill-syscall.patch
deleted file mode 100644
index 70bae9e..0000000
--- a/SOURCES/0133-tests-check-decoding-of-tgkill-syscall.patch
+++ /dev/null
@@ -1,656 +0,0 @@
-From 9d4d64f6fdfcae908aec455888e92a69c9c81c64 Mon Sep 17 00:00:00 2001
-From: "Dmitry V. Levin" <ldv@altlinux.org>
-Date: Sat, 1 Aug 2020 08:00:00 +0000
-Subject: [PATCH 133/138] tests: check decoding of tgkill syscall
-
-* tests/tgkill.c: New file.
-* tests/gen_tests.in (tgkill): New entry.
-* tests/pure_executables.list: Add tgkill.
-* tests/.gitignore: Likewise.
----
- tests/.gitignore            |  1 +
- tests/gen_tests.in          |  1 +
- tests/pure_executables.list |  1 +
- tests/tgkill.c              | 69 +++++++++++++++++++++++++++++++++++++++++++++
- 4 files changed, 72 insertions(+)
- create mode 100644 tests/tgkill.c
-
-Index: strace-5.7/tests/gen_tests.in
-===================================================================
---- strace-5.7.orig/tests/gen_tests.in	2020-09-09 19:30:36.780885588 +0200
-+++ strace-5.7/tests/gen_tests.in	2020-09-09 19:32:50.740965435 +0200
-@@ -658,6 +658,7 @@
- sysinfo	-a14
- syslog	-a35
- tee
-+tgkill	-a15 --signal='!cont'
- threads-execve--quiet-thread-execve +threads-execve.test -s40 --quiet=personality,thread-execve
- threads-execve-q +threads-execve.test -q
- threads-execve-qq +threads-execve.test -qq
-Index: strace-5.7/tests/pure_executables.list
-===================================================================
---- strace-5.7.orig/tests/pure_executables.list	2020-09-09 19:30:36.780885588 +0200
-+++ strace-5.7/tests/pure_executables.list	2020-09-09 19:32:45.308962197 +0200
-@@ -583,6 +583,7 @@
- sysinfo
- syslog
- tee
-+tgkill
- time
- timer_create
- timer_xettime
-Index: strace-5.7/tests/tgkill.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests/tgkill.c	2020-09-09 19:32:50.740965435 +0200
-@@ -0,0 +1,69 @@
-+/*
-+ * Check decoding of tgkill syscall.
-+ *
-+ * Copyright (c) 2020 Dmitry V. Levin <ldv@altlinux.org>
-+ * All rights reserved.
-+ *
-+ * SPDX-License-Identifier: GPL-2.0-or-later
-+ */
-+
-+#include "tests.h"
-+#include "scno.h"
-+
-+#ifdef __NR_tgkill
-+
-+# include <signal.h>
-+# include <stdio.h>
-+# include <unistd.h>
-+
-+static const char *errstr;
-+
-+static long
-+k_tgkill(const unsigned int tgid,
-+	 const unsigned int tid,
-+	 const unsigned int sig)
-+{
-+        const kernel_ulong_t fill = (kernel_ulong_t) 0xdefaced00000000ULL;
-+        const kernel_ulong_t bad = (kernel_ulong_t) 0xbadc0dedbadc0dedULL;
-+        const kernel_ulong_t arg1 = fill | tgid;
-+        const kernel_ulong_t arg2 = fill | tid;
-+        const kernel_ulong_t arg3 = fill | sig;
-+        const long rc = syscall(__NR_tgkill, arg1, arg2, arg3, bad, bad, bad);
-+        errstr = sprintrc(rc);
-+        return rc;
-+}
-+
-+int
-+main(void)
-+{
-+	const int pid = getpid();
-+	const int bad_pid = -1;
-+	const int bad_sig = 0xface;
-+
-+	k_tgkill(pid, pid, 0);
-+	printf("tgkill(%d, %d, 0) = %s\n", pid, pid, errstr);
-+
-+	k_tgkill(pid, bad_pid, 0);
-+	printf("tgkill(%d, %d, 0) = %s\n", pid, bad_pid, errstr);
-+
-+	k_tgkill(bad_pid, pid, 0);
-+	printf("tgkill(%d, %d, 0) = %s\n", bad_pid, pid, errstr);
-+
-+	k_tgkill(pid, pid, SIGCONT);
-+	printf("tgkill(%d, %d, SIGCONT) = %s\n", pid, pid, errstr);
-+
-+	k_tgkill(pid, pid, bad_sig);
-+	printf("tgkill(%d, %d, %d) = %s\n", pid, pid, bad_sig, errstr);
-+
-+	k_tgkill(pid, pid, -bad_sig);
-+	printf("tgkill(%d, %d, %d) = %s\n", pid, pid, -bad_sig, errstr);
-+
-+	puts("+++ exited with 0 +++");
-+	return 0;
-+}
-+
-+#else
-+
-+SKIP_MAIN_UNDEFINED("__NR_tgkill")
-+
-+#endif
-Index: strace-5.7/tests-m32/gen_tests.in
-===================================================================
---- strace-5.7.orig/tests-m32/gen_tests.in	2020-09-09 19:30:36.780885588 +0200
-+++ strace-5.7/tests-m32/gen_tests.in	2020-09-09 19:32:50.740965435 +0200
-@@ -658,6 +658,7 @@
- sysinfo	-a14
- syslog	-a35
- tee
-+tgkill	-a15 --signal='!cont'
- threads-execve--quiet-thread-execve +threads-execve.test -s40 --quiet=personality,thread-execve
- threads-execve-q +threads-execve.test -q
- threads-execve-qq +threads-execve.test -qq
-Index: strace-5.7/tests-m32/pure_executables.list
-===================================================================
---- strace-5.7.orig/tests-m32/pure_executables.list	2020-09-09 19:30:36.780885588 +0200
-+++ strace-5.7/tests-m32/pure_executables.list	2020-09-09 19:32:45.309962197 +0200
-@@ -583,6 +583,7 @@
- sysinfo
- syslog
- tee
-+tgkill
- time
- timer_create
- timer_xettime
-Index: strace-5.7/tests-m32/tgkill.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-m32/tgkill.c	2020-09-09 19:32:50.740965435 +0200
-@@ -0,0 +1,69 @@
-+/*
-+ * Check decoding of tgkill syscall.
-+ *
-+ * Copyright (c) 2020 Dmitry V. Levin <ldv@altlinux.org>
-+ * All rights reserved.
-+ *
-+ * SPDX-License-Identifier: GPL-2.0-or-later
-+ */
-+
-+#include "tests.h"
-+#include "scno.h"
-+
-+#ifdef __NR_tgkill
-+
-+# include <signal.h>
-+# include <stdio.h>
-+# include <unistd.h>
-+
-+static const char *errstr;
-+
-+static long
-+k_tgkill(const unsigned int tgid,
-+	 const unsigned int tid,
-+	 const unsigned int sig)
-+{
-+        const kernel_ulong_t fill = (kernel_ulong_t) 0xdefaced00000000ULL;
-+        const kernel_ulong_t bad = (kernel_ulong_t) 0xbadc0dedbadc0dedULL;
-+        const kernel_ulong_t arg1 = fill | tgid;
-+        const kernel_ulong_t arg2 = fill | tid;
-+        const kernel_ulong_t arg3 = fill | sig;
-+        const long rc = syscall(__NR_tgkill, arg1, arg2, arg3, bad, bad, bad);
-+        errstr = sprintrc(rc);
-+        return rc;
-+}
-+
-+int
-+main(void)
-+{
-+	const int pid = getpid();
-+	const int bad_pid = -1;
-+	const int bad_sig = 0xface;
-+
-+	k_tgkill(pid, pid, 0);
-+	printf("tgkill(%d, %d, 0) = %s\n", pid, pid, errstr);
-+
-+	k_tgkill(pid, bad_pid, 0);
-+	printf("tgkill(%d, %d, 0) = %s\n", pid, bad_pid, errstr);
-+
-+	k_tgkill(bad_pid, pid, 0);
-+	printf("tgkill(%d, %d, 0) = %s\n", bad_pid, pid, errstr);
-+
-+	k_tgkill(pid, pid, SIGCONT);
-+	printf("tgkill(%d, %d, SIGCONT) = %s\n", pid, pid, errstr);
-+
-+	k_tgkill(pid, pid, bad_sig);
-+	printf("tgkill(%d, %d, %d) = %s\n", pid, pid, bad_sig, errstr);
-+
-+	k_tgkill(pid, pid, -bad_sig);
-+	printf("tgkill(%d, %d, %d) = %s\n", pid, pid, -bad_sig, errstr);
-+
-+	puts("+++ exited with 0 +++");
-+	return 0;
-+}
-+
-+#else
-+
-+SKIP_MAIN_UNDEFINED("__NR_tgkill")
-+
-+#endif
-Index: strace-5.7/tests-mx32/gen_tests.in
-===================================================================
---- strace-5.7.orig/tests-mx32/gen_tests.in	2020-09-09 19:30:36.780885588 +0200
-+++ strace-5.7/tests-mx32/gen_tests.in	2020-09-09 19:32:50.740965435 +0200
-@@ -658,6 +658,7 @@
- sysinfo	-a14
- syslog	-a35
- tee
-+tgkill	-a15 --signal='!cont'
- threads-execve--quiet-thread-execve +threads-execve.test -s40 --quiet=personality,thread-execve
- threads-execve-q +threads-execve.test -q
- threads-execve-qq +threads-execve.test -qq
-Index: strace-5.7/tests-mx32/pure_executables.list
-===================================================================
---- strace-5.7.orig/tests-mx32/pure_executables.list	2020-09-09 19:30:36.780885588 +0200
-+++ strace-5.7/tests-mx32/pure_executables.list	2020-09-09 19:32:45.310962198 +0200
-@@ -583,6 +583,7 @@
- sysinfo
- syslog
- tee
-+tgkill
- time
- timer_create
- timer_xettime
-Index: strace-5.7/tests-mx32/tgkill.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-mx32/tgkill.c	2020-09-09 19:32:50.740965435 +0200
-@@ -0,0 +1,69 @@
-+/*
-+ * Check decoding of tgkill syscall.
-+ *
-+ * Copyright (c) 2020 Dmitry V. Levin <ldv@altlinux.org>
-+ * All rights reserved.
-+ *
-+ * SPDX-License-Identifier: GPL-2.0-or-later
-+ */
-+
-+#include "tests.h"
-+#include "scno.h"
-+
-+#ifdef __NR_tgkill
-+
-+# include <signal.h>
-+# include <stdio.h>
-+# include <unistd.h>
-+
-+static const char *errstr;
-+
-+static long
-+k_tgkill(const unsigned int tgid,
-+	 const unsigned int tid,
-+	 const unsigned int sig)
-+{
-+        const kernel_ulong_t fill = (kernel_ulong_t) 0xdefaced00000000ULL;
-+        const kernel_ulong_t bad = (kernel_ulong_t) 0xbadc0dedbadc0dedULL;
-+        const kernel_ulong_t arg1 = fill | tgid;
-+        const kernel_ulong_t arg2 = fill | tid;
-+        const kernel_ulong_t arg3 = fill | sig;
-+        const long rc = syscall(__NR_tgkill, arg1, arg2, arg3, bad, bad, bad);
-+        errstr = sprintrc(rc);
-+        return rc;
-+}
-+
-+int
-+main(void)
-+{
-+	const int pid = getpid();
-+	const int bad_pid = -1;
-+	const int bad_sig = 0xface;
-+
-+	k_tgkill(pid, pid, 0);
-+	printf("tgkill(%d, %d, 0) = %s\n", pid, pid, errstr);
-+
-+	k_tgkill(pid, bad_pid, 0);
-+	printf("tgkill(%d, %d, 0) = %s\n", pid, bad_pid, errstr);
-+
-+	k_tgkill(bad_pid, pid, 0);
-+	printf("tgkill(%d, %d, 0) = %s\n", bad_pid, pid, errstr);
-+
-+	k_tgkill(pid, pid, SIGCONT);
-+	printf("tgkill(%d, %d, SIGCONT) = %s\n", pid, pid, errstr);
-+
-+	k_tgkill(pid, pid, bad_sig);
-+	printf("tgkill(%d, %d, %d) = %s\n", pid, pid, bad_sig, errstr);
-+
-+	k_tgkill(pid, pid, -bad_sig);
-+	printf("tgkill(%d, %d, %d) = %s\n", pid, pid, -bad_sig, errstr);
-+
-+	puts("+++ exited with 0 +++");
-+	return 0;
-+}
-+
-+#else
-+
-+SKIP_MAIN_UNDEFINED("__NR_tgkill")
-+
-+#endif
-Index: strace-5.7/tests-m32/Makefile.in
-===================================================================
---- strace-5.7.orig/tests-m32/Makefile.in	2020-09-09 19:32:14.800944013 +0200
-+++ strace-5.7/tests-m32/Makefile.in	2020-09-09 19:49:34.530563739 +0200
-@@ -493,8 +493,8 @@
- 	strace-xx$(EXEEXT) swap$(EXEEXT) sxetmask$(EXEEXT) \
- 	symlink$(EXEEXT) symlinkat$(EXEEXT) sync$(EXEEXT) \
- 	sync_file_range$(EXEEXT) sync_file_range2$(EXEEXT) \
--	sysinfo$(EXEEXT) syslog$(EXEEXT) tee$(EXEEXT) time$(EXEEXT) \
--	timer_create$(EXEEXT) timer_xettime$(EXEEXT) \
-+	sysinfo$(EXEEXT) syslog$(EXEEXT) tee$(EXEEXT) tgkill$(EXEEXT) \
-+	time$(EXEEXT) timer_create$(EXEEXT) timer_xettime$(EXEEXT) \
- 	timerfd_xettime$(EXEEXT) times$(EXEEXT) times-fail$(EXEEXT) \
- 	tkill$(EXEEXT) truncate$(EXEEXT) truncate64$(EXEEXT) \
- 	ugetrlimit$(EXEEXT) uio$(EXEEXT) umask$(EXEEXT) \
-@@ -3444,6 +3444,10 @@
- tee_OBJECTS = tee.$(OBJEXT)
- tee_LDADD = $(LDADD)
- tee_DEPENDENCIES = libtests.a
-+tgkill_SOURCES = tgkill.c
-+tgkill_OBJECTS = tgkill.$(OBJEXT)
-+tgkill_LDADD = $(LDADD)
-+tgkill_DEPENDENCIES = libtests.a
- threads_execve_SOURCES = threads-execve.c
- threads_execve_OBJECTS = threads-execve.$(OBJEXT)
- threads_execve_DEPENDENCIES = $(am__DEPENDENCIES_1) $(LDADD)
-@@ -4181,7 +4185,7 @@
- 	./$(DEPDIR)/symlinkat.Po ./$(DEPDIR)/sync.Po \
- 	./$(DEPDIR)/sync_file_range.Po ./$(DEPDIR)/sync_file_range2.Po \
- 	./$(DEPDIR)/sysinfo.Po ./$(DEPDIR)/syslog-success.Po \
--	./$(DEPDIR)/syslog.Po ./$(DEPDIR)/tee.Po \
-+	./$(DEPDIR)/syslog.Po ./$(DEPDIR)/tee.Po ./$(DEPDIR)/tgkill.Po \
- 	./$(DEPDIR)/threads-execve--quiet-thread-execve.Po \
- 	./$(DEPDIR)/threads-execve-q.Po \
- 	./$(DEPDIR)/threads-execve-qq.Po \
-@@ -4443,7 +4447,7 @@
- 	strace--strings-in-hex-non-ascii.c strace-x.c strace-xx.c \
- 	swap.c sxetmask.c symlink.c symlinkat.c sync.c \
- 	sync_file_range.c sync_file_range2.c sysinfo.c syslog.c \
--	syslog-success.c tee.c threads-execve.c \
-+	syslog-success.c tee.c tgkill.c threads-execve.c \
- 	threads-execve--quiet-thread-execve.c threads-execve-q.c \
- 	threads-execve-qq.c threads-execve-qqq.c time.c timer_create.c \
- 	timer_xettime.c timerfd_xettime.c times.c times-fail.c tkill.c \
-@@ -4669,7 +4673,7 @@
- 	strace--strings-in-hex-non-ascii.c strace-x.c strace-xx.c \
- 	swap.c sxetmask.c symlink.c symlinkat.c sync.c \
- 	sync_file_range.c sync_file_range2.c sysinfo.c syslog.c \
--	syslog-success.c tee.c threads-execve.c \
-+	syslog-success.c tee.c tgkill.c threads-execve.c \
- 	threads-execve--quiet-thread-execve.c threads-execve-q.c \
- 	threads-execve-qq.c threads-execve-qqq.c time.c timer_create.c \
- 	timer_xettime.c timerfd_xettime.c times.c times-fail.c tkill.c \
-@@ -5724,6 +5728,7 @@
-   sysinfo \
-   syslog \
-   tee \
-+  tgkill \
-   time \
-   timer_create \
-   timer_xettime \
-@@ -6133,7 +6138,7 @@
- 	strace-xx.gen.test swap.gen.test sxetmask.gen.test \
- 	symlink.gen.test symlinkat.gen.test sync.gen.test \
- 	sync_file_range.gen.test sync_file_range2.gen.test \
--	sysinfo.gen.test syslog.gen.test tee.gen.test \
-+	sysinfo.gen.test syslog.gen.test tee.gen.test tgkill.gen.test \
- 	threads-execve--quiet-thread-execve.gen.test \
- 	threads-execve-q.gen.test threads-execve-qq.gen.test \
- 	threads-execve-qqq.gen.test time.gen.test \
-@@ -9355,6 +9360,10 @@
- 	@rm -f tee$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(tee_OBJECTS) $(tee_LDADD) $(LIBS)
- 
-+tgkill$(EXEEXT): $(tgkill_OBJECTS) $(tgkill_DEPENDENCIES) $(EXTRA_tgkill_DEPENDENCIES) 
-+	@rm -f tgkill$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(tgkill_OBJECTS) $(tgkill_LDADD) $(LIBS)
-+
- threads-execve$(EXEEXT): $(threads_execve_OBJECTS) $(threads_execve_DEPENDENCIES) $(EXTRA_threads_execve_DEPENDENCIES) 
- 	@rm -f threads-execve$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(threads_execve_OBJECTS) $(threads_execve_LDADD) $(LIBS)
-@@ -10349,6 +10358,7 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/syslog-success.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/syslog.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tee.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tgkill.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/threads-execve--quiet-thread-execve.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/threads-execve-q.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/threads-execve-qq.Po@am__quote@ # am--include-marker
-@@ -12170,6 +12180,7 @@
- 	-rm -f ./$(DEPDIR)/syslog-success.Po
- 	-rm -f ./$(DEPDIR)/syslog.Po
- 	-rm -f ./$(DEPDIR)/tee.Po
-+	-rm -f ./$(DEPDIR)/tgkill.Po
- 	-rm -f ./$(DEPDIR)/threads-execve--quiet-thread-execve.Po
- 	-rm -f ./$(DEPDIR)/threads-execve-q.Po
- 	-rm -f ./$(DEPDIR)/threads-execve-qq.Po
-@@ -13026,6 +13037,7 @@
- 	-rm -f ./$(DEPDIR)/syslog-success.Po
- 	-rm -f ./$(DEPDIR)/syslog.Po
- 	-rm -f ./$(DEPDIR)/tee.Po
-+	-rm -f ./$(DEPDIR)/tgkill.Po
- 	-rm -f ./$(DEPDIR)/threads-execve--quiet-thread-execve.Po
- 	-rm -f ./$(DEPDIR)/threads-execve-q.Po
- 	-rm -f ./$(DEPDIR)/threads-execve-qq.Po
-@@ -15085,6 +15097,9 @@
- $(srcdir)/tee.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/tgkill.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/threads-execve--quiet-thread-execve.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-Index: strace-5.7/tests-mx32/Makefile.in
-===================================================================
---- strace-5.7.orig/tests-mx32/Makefile.in	2020-09-09 19:32:39.854958946 +0200
-+++ strace-5.7/tests-mx32/Makefile.in	2020-09-09 19:49:39.557566736 +0200
-@@ -493,8 +493,8 @@
- 	strace-xx$(EXEEXT) swap$(EXEEXT) sxetmask$(EXEEXT) \
- 	symlink$(EXEEXT) symlinkat$(EXEEXT) sync$(EXEEXT) \
- 	sync_file_range$(EXEEXT) sync_file_range2$(EXEEXT) \
--	sysinfo$(EXEEXT) syslog$(EXEEXT) tee$(EXEEXT) time$(EXEEXT) \
--	timer_create$(EXEEXT) timer_xettime$(EXEEXT) \
-+	sysinfo$(EXEEXT) syslog$(EXEEXT) tee$(EXEEXT) tgkill$(EXEEXT) \
-+	time$(EXEEXT) timer_create$(EXEEXT) timer_xettime$(EXEEXT) \
- 	timerfd_xettime$(EXEEXT) times$(EXEEXT) times-fail$(EXEEXT) \
- 	tkill$(EXEEXT) truncate$(EXEEXT) truncate64$(EXEEXT) \
- 	ugetrlimit$(EXEEXT) uio$(EXEEXT) umask$(EXEEXT) \
-@@ -3444,6 +3444,10 @@
- tee_OBJECTS = tee.$(OBJEXT)
- tee_LDADD = $(LDADD)
- tee_DEPENDENCIES = libtests.a
-+tgkill_SOURCES = tgkill.c
-+tgkill_OBJECTS = tgkill.$(OBJEXT)
-+tgkill_LDADD = $(LDADD)
-+tgkill_DEPENDENCIES = libtests.a
- threads_execve_SOURCES = threads-execve.c
- threads_execve_OBJECTS = threads-execve.$(OBJEXT)
- threads_execve_DEPENDENCIES = $(am__DEPENDENCIES_1) $(LDADD)
-@@ -4181,7 +4185,7 @@
- 	./$(DEPDIR)/symlinkat.Po ./$(DEPDIR)/sync.Po \
- 	./$(DEPDIR)/sync_file_range.Po ./$(DEPDIR)/sync_file_range2.Po \
- 	./$(DEPDIR)/sysinfo.Po ./$(DEPDIR)/syslog-success.Po \
--	./$(DEPDIR)/syslog.Po ./$(DEPDIR)/tee.Po \
-+	./$(DEPDIR)/syslog.Po ./$(DEPDIR)/tee.Po ./$(DEPDIR)/tgkill.Po \
- 	./$(DEPDIR)/threads-execve--quiet-thread-execve.Po \
- 	./$(DEPDIR)/threads-execve-q.Po \
- 	./$(DEPDIR)/threads-execve-qq.Po \
-@@ -4443,7 +4447,7 @@
- 	strace--strings-in-hex-non-ascii.c strace-x.c strace-xx.c \
- 	swap.c sxetmask.c symlink.c symlinkat.c sync.c \
- 	sync_file_range.c sync_file_range2.c sysinfo.c syslog.c \
--	syslog-success.c tee.c threads-execve.c \
-+	syslog-success.c tee.c tgkill.c threads-execve.c \
- 	threads-execve--quiet-thread-execve.c threads-execve-q.c \
- 	threads-execve-qq.c threads-execve-qqq.c time.c timer_create.c \
- 	timer_xettime.c timerfd_xettime.c times.c times-fail.c tkill.c \
-@@ -4669,7 +4673,7 @@
- 	strace--strings-in-hex-non-ascii.c strace-x.c strace-xx.c \
- 	swap.c sxetmask.c symlink.c symlinkat.c sync.c \
- 	sync_file_range.c sync_file_range2.c sysinfo.c syslog.c \
--	syslog-success.c tee.c threads-execve.c \
-+	syslog-success.c tee.c tgkill.c threads-execve.c \
- 	threads-execve--quiet-thread-execve.c threads-execve-q.c \
- 	threads-execve-qq.c threads-execve-qqq.c time.c timer_create.c \
- 	timer_xettime.c timerfd_xettime.c times.c times-fail.c tkill.c \
-@@ -5724,6 +5728,7 @@
-   sysinfo \
-   syslog \
-   tee \
-+  tgkill \
-   time \
-   timer_create \
-   timer_xettime \
-@@ -6133,7 +6138,7 @@
- 	strace-xx.gen.test swap.gen.test sxetmask.gen.test \
- 	symlink.gen.test symlinkat.gen.test sync.gen.test \
- 	sync_file_range.gen.test sync_file_range2.gen.test \
--	sysinfo.gen.test syslog.gen.test tee.gen.test \
-+	sysinfo.gen.test syslog.gen.test tee.gen.test tgkill.gen.test \
- 	threads-execve--quiet-thread-execve.gen.test \
- 	threads-execve-q.gen.test threads-execve-qq.gen.test \
- 	threads-execve-qqq.gen.test time.gen.test \
-@@ -9355,6 +9360,10 @@
- 	@rm -f tee$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(tee_OBJECTS) $(tee_LDADD) $(LIBS)
- 
-+tgkill$(EXEEXT): $(tgkill_OBJECTS) $(tgkill_DEPENDENCIES) $(EXTRA_tgkill_DEPENDENCIES) 
-+	@rm -f tgkill$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(tgkill_OBJECTS) $(tgkill_LDADD) $(LIBS)
-+
- threads-execve$(EXEEXT): $(threads_execve_OBJECTS) $(threads_execve_DEPENDENCIES) $(EXTRA_threads_execve_DEPENDENCIES) 
- 	@rm -f threads-execve$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(threads_execve_OBJECTS) $(threads_execve_LDADD) $(LIBS)
-@@ -10349,6 +10358,7 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/syslog-success.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/syslog.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tee.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tgkill.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/threads-execve--quiet-thread-execve.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/threads-execve-q.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/threads-execve-qq.Po@am__quote@ # am--include-marker
-@@ -12170,6 +12180,7 @@
- 	-rm -f ./$(DEPDIR)/syslog-success.Po
- 	-rm -f ./$(DEPDIR)/syslog.Po
- 	-rm -f ./$(DEPDIR)/tee.Po
-+	-rm -f ./$(DEPDIR)/tgkill.Po
- 	-rm -f ./$(DEPDIR)/threads-execve--quiet-thread-execve.Po
- 	-rm -f ./$(DEPDIR)/threads-execve-q.Po
- 	-rm -f ./$(DEPDIR)/threads-execve-qq.Po
-@@ -13026,6 +13037,7 @@
- 	-rm -f ./$(DEPDIR)/syslog-success.Po
- 	-rm -f ./$(DEPDIR)/syslog.Po
- 	-rm -f ./$(DEPDIR)/tee.Po
-+	-rm -f ./$(DEPDIR)/tgkill.Po
- 	-rm -f ./$(DEPDIR)/threads-execve--quiet-thread-execve.Po
- 	-rm -f ./$(DEPDIR)/threads-execve-q.Po
- 	-rm -f ./$(DEPDIR)/threads-execve-qq.Po
-@@ -15085,6 +15097,9 @@
- $(srcdir)/tee.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/tgkill.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/threads-execve--quiet-thread-execve.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-Index: strace-5.7/tests/Makefile.in
-===================================================================
---- strace-5.7.orig/tests/Makefile.in	2020-09-09 19:30:36.780885588 +0200
-+++ strace-5.7/tests/Makefile.in	2020-09-09 19:46:24.904450714 +0200
-@@ -493,8 +493,8 @@
- 	strace-xx$(EXEEXT) swap$(EXEEXT) sxetmask$(EXEEXT) \
- 	symlink$(EXEEXT) symlinkat$(EXEEXT) sync$(EXEEXT) \
- 	sync_file_range$(EXEEXT) sync_file_range2$(EXEEXT) \
--	sysinfo$(EXEEXT) syslog$(EXEEXT) tee$(EXEEXT) time$(EXEEXT) \
--	timer_create$(EXEEXT) timer_xettime$(EXEEXT) \
-+	sysinfo$(EXEEXT) syslog$(EXEEXT) tee$(EXEEXT) tgkill$(EXEEXT) \
-+	time$(EXEEXT) timer_create$(EXEEXT) timer_xettime$(EXEEXT) \
- 	timerfd_xettime$(EXEEXT) times$(EXEEXT) times-fail$(EXEEXT) \
- 	tkill$(EXEEXT) truncate$(EXEEXT) truncate64$(EXEEXT) \
- 	ugetrlimit$(EXEEXT) uio$(EXEEXT) umask$(EXEEXT) \
-@@ -3444,6 +3444,10 @@
- tee_OBJECTS = tee.$(OBJEXT)
- tee_LDADD = $(LDADD)
- tee_DEPENDENCIES = libtests.a
-+tgkill_SOURCES = tgkill.c
-+tgkill_OBJECTS = tgkill.$(OBJEXT)
-+tgkill_LDADD = $(LDADD)
-+tgkill_DEPENDENCIES = libtests.a
- threads_execve_SOURCES = threads-execve.c
- threads_execve_OBJECTS = threads-execve.$(OBJEXT)
- threads_execve_DEPENDENCIES = $(am__DEPENDENCIES_1) $(LDADD)
-@@ -4181,7 +4185,7 @@
- 	./$(DEPDIR)/symlinkat.Po ./$(DEPDIR)/sync.Po \
- 	./$(DEPDIR)/sync_file_range.Po ./$(DEPDIR)/sync_file_range2.Po \
- 	./$(DEPDIR)/sysinfo.Po ./$(DEPDIR)/syslog-success.Po \
--	./$(DEPDIR)/syslog.Po ./$(DEPDIR)/tee.Po \
-+	./$(DEPDIR)/syslog.Po ./$(DEPDIR)/tee.Po ./$(DEPDIR)/tgkill.Po \
- 	./$(DEPDIR)/threads-execve--quiet-thread-execve.Po \
- 	./$(DEPDIR)/threads-execve-q.Po \
- 	./$(DEPDIR)/threads-execve-qq.Po \
-@@ -4443,7 +4447,7 @@
- 	strace--strings-in-hex-non-ascii.c strace-x.c strace-xx.c \
- 	swap.c sxetmask.c symlink.c symlinkat.c sync.c \
- 	sync_file_range.c sync_file_range2.c sysinfo.c syslog.c \
--	syslog-success.c tee.c threads-execve.c \
-+	syslog-success.c tee.c tgkill.c threads-execve.c \
- 	threads-execve--quiet-thread-execve.c threads-execve-q.c \
- 	threads-execve-qq.c threads-execve-qqq.c time.c timer_create.c \
- 	timer_xettime.c timerfd_xettime.c times.c times-fail.c tkill.c \
-@@ -4669,7 +4673,7 @@
- 	strace--strings-in-hex-non-ascii.c strace-x.c strace-xx.c \
- 	swap.c sxetmask.c symlink.c symlinkat.c sync.c \
- 	sync_file_range.c sync_file_range2.c sysinfo.c syslog.c \
--	syslog-success.c tee.c threads-execve.c \
-+	syslog-success.c tee.c tgkill.c threads-execve.c \
- 	threads-execve--quiet-thread-execve.c threads-execve-q.c \
- 	threads-execve-qq.c threads-execve-qqq.c time.c timer_create.c \
- 	timer_xettime.c timerfd_xettime.c times.c times-fail.c tkill.c \
-@@ -5724,6 +5728,7 @@
-   sysinfo \
-   syslog \
-   tee \
-+  tgkill \
-   time \
-   timer_create \
-   timer_xettime \
-@@ -6133,7 +6138,7 @@
- 	strace-xx.gen.test swap.gen.test sxetmask.gen.test \
- 	symlink.gen.test symlinkat.gen.test sync.gen.test \
- 	sync_file_range.gen.test sync_file_range2.gen.test \
--	sysinfo.gen.test syslog.gen.test tee.gen.test \
-+	sysinfo.gen.test syslog.gen.test tee.gen.test tgkill.gen.test \
- 	threads-execve--quiet-thread-execve.gen.test \
- 	threads-execve-q.gen.test threads-execve-qq.gen.test \
- 	threads-execve-qqq.gen.test time.gen.test \
-@@ -9355,6 +9360,10 @@
- 	@rm -f tee$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(tee_OBJECTS) $(tee_LDADD) $(LIBS)
- 
-+tgkill$(EXEEXT): $(tgkill_OBJECTS) $(tgkill_DEPENDENCIES) $(EXTRA_tgkill_DEPENDENCIES) 
-+	@rm -f tgkill$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(tgkill_OBJECTS) $(tgkill_LDADD) $(LIBS)
-+
- threads-execve$(EXEEXT): $(threads_execve_OBJECTS) $(threads_execve_DEPENDENCIES) $(EXTRA_threads_execve_DEPENDENCIES) 
- 	@rm -f threads-execve$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(threads_execve_OBJECTS) $(threads_execve_LDADD) $(LIBS)
-@@ -10349,6 +10358,7 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/syslog-success.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/syslog.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tee.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tgkill.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/threads-execve--quiet-thread-execve.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/threads-execve-q.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/threads-execve-qq.Po@am__quote@ # am--include-marker
-@@ -12170,6 +12180,7 @@
- 	-rm -f ./$(DEPDIR)/syslog-success.Po
- 	-rm -f ./$(DEPDIR)/syslog.Po
- 	-rm -f ./$(DEPDIR)/tee.Po
-+	-rm -f ./$(DEPDIR)/tgkill.Po
- 	-rm -f ./$(DEPDIR)/threads-execve--quiet-thread-execve.Po
- 	-rm -f ./$(DEPDIR)/threads-execve-q.Po
- 	-rm -f ./$(DEPDIR)/threads-execve-qq.Po
-@@ -13026,6 +13037,7 @@
- 	-rm -f ./$(DEPDIR)/syslog-success.Po
- 	-rm -f ./$(DEPDIR)/syslog.Po
- 	-rm -f ./$(DEPDIR)/tee.Po
-+	-rm -f ./$(DEPDIR)/tgkill.Po
- 	-rm -f ./$(DEPDIR)/threads-execve--quiet-thread-execve.Po
- 	-rm -f ./$(DEPDIR)/threads-execve-q.Po
- 	-rm -f ./$(DEPDIR)/threads-execve-qq.Po
-@@ -15085,6 +15097,9 @@
- $(srcdir)/tee.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/tgkill.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/threads-execve--quiet-thread-execve.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
diff --git a/SOURCES/0134-PID-namespace-translation-support.patch b/SOURCES/0134-PID-namespace-translation-support.patch
deleted file mode 100644
index 0938d16..0000000
--- a/SOURCES/0134-PID-namespace-translation-support.patch
+++ /dev/null
@@ -1,1478 +0,0 @@
-From bf533b84fd7200399c9b0e68fdf10c6aaf8b1a7a Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?=C3=81kos=20Uzonyi?= <uzonyi.akos@gmail.com>
-Date: Mon, 8 Jun 2020 19:01:03 +0200
-Subject: [PATCH 134/138] PID namespace translation support
-
-* defs.h (pidns_translation): New variable.
-(tcb): Add pid_ns field.
-(RVAL_MASK): Change value from 013 to 017.
-(RVAL_TID, RVAL_SID, RVAL_TGID, RVAL_PGID): New definitions.
-(pid_type): New enum.
-(pidns_init, translate_pid, get_proc_pid, printpid, printpid_tgid_pgid):
-New function declarations.
-* largefile_wrappers.h (fstat_fd): New macro.
-* pidns.c: New file.
-* trie.c: New file.
-* trie.h: New file.
-* Makefile.am (libstrace_a_SOURCES): Add trie.c, trie.h, pidns.c.
-* strace.c (pidns_translation): New variable.
-(init): Add --pidns-translation option.
-* syscall.c (syscall_exiting_trace): Handle RVAL_* return values.
-* NEWS: Mention this.
-* strace.1.in: Add description for new option.
-
-Co-Authored-by: Eugene Syromyatnikov <evgsyr@gmail.com>
-
-Conflicts:
-	NEWS
----
- Makefile.am          |   3 +
- defs.h               |  56 ++++-
- largefile_wrappers.h |   2 +
- pidns.c              | 608 +++++++++++++++++++++++++++++++++++++++++++++++++++
- strace.1.in          |   4 +
- strace.c             |   9 +
- syscall.c            |  15 ++
- trie.c               | 290 ++++++++++++++++++++++++
- trie.h               |  92 ++++++++
- 9 files changed, 1078 insertions(+), 1 deletion(-)
- create mode 100644 pidns.c
- create mode 100644 trie.c
- create mode 100644 trie.h
-
-Index: strace-5.7/Makefile.am
-===================================================================
---- strace-5.7.orig/Makefile.am	2020-09-09 15:50:13.471900510 +0200
-+++ strace-5.7/Makefile.am	2020-09-09 15:52:09.159983257 +0200
-@@ -233,6 +233,7 @@
- 	personality.c	\
- 	pidfd_getfd.c	\
- 	pidfd_open.c	\
-+	pidns.c		\
- 	pkeys.c		\
- 	poll.c		\
- 	prctl.c		\
-@@ -344,6 +345,8 @@
- 	time.c		\
- 	times.c		\
- 	trace_event.h	\
-+	trie.c 		\
-+	trie.h 		\
- 	truncate.c	\
- 	ubi.c		\
- 	ucopy.c		\
-Index: strace-5.7/defs.h
-===================================================================
---- strace-5.7.orig/defs.h	2020-09-09 15:50:13.473900511 +0200
-+++ strace-5.7/defs.h	2020-09-09 15:52:09.159983257 +0200
-@@ -280,6 +280,13 @@
- 	struct timespec etime;	/* Syscall entry time (CLOCK_MONOTONIC) */
- 	struct timespec delay_expiration_time; /* When does the delay end */
- 
-+	/*
-+	 * The ID of the PID namespace of this process
-+	 * (inode number of /proc/<pid>/ns/pid)
-+	 * (0: not initialized)
-+	 */
-+	unsigned int pid_ns;
-+
- 	struct mmap_cache_t *mmap_cache;
- 
- 	/*
-@@ -413,7 +420,11 @@
- # define RVAL_HEX	001	/* hex format */
- # define RVAL_OCTAL	002	/* octal format */
- # define RVAL_FD		010	/* file descriptor */
--# define RVAL_MASK	013	/* mask for these values */
-+# define RVAL_TID	011	/* task ID */
-+# define RVAL_SID	012	/* session ID */
-+# define RVAL_TGID	013	/* thread group ID */
-+# define RVAL_PGID	014	/* process group ID */
-+# define RVAL_MASK	017	/* mask for these values */
- 
- # define RVAL_STR	020	/* Print `auxstr' field after return val */
- # define RVAL_NONE	040	/* Print nothing */
-@@ -428,6 +439,16 @@
- 
- # define indirect_ipccall(tcp) (tcp_sysent(tcp)->sys_flags & TRACE_INDIRECT_SUBCALL)
- 
-+enum pid_type {
-+	PT_TID,
-+	PT_TGID,
-+	PT_PGID,
-+	PT_SID,
-+
-+	PT_COUNT,
-+	PT_NONE = -1
-+};
-+
- enum sock_proto {
- 	SOCK_PROTO_UNKNOWN,
- 	SOCK_PROTO_UNIX,
-@@ -469,6 +490,7 @@
- extern int Tflag_width;
- extern bool iflag;
- extern bool count_wallclock;
-+extern unsigned int pidns_translation;
- /* are we filtering traces based on paths? */
- extern struct path_set {
- 	const char **paths_selected;
-@@ -984,6 +1006,29 @@
- extern kernel_ulong_t *
- fetch_indirect_syscall_args(struct tcb *, kernel_ulong_t addr, unsigned int n_args);
- 
-+extern void pidns_init(void);
-+
-+/**
-+ * Returns the pid of the tracee as present in /proc of the tracer (can be
-+ * different from tcp->pid if /proc and the tracer process are in different PID
-+ * namespaces).
-+ */
-+extern int get_proc_pid(struct tcb *);
-+
-+/**
-+ * Translates a pid from tracee's namespace to our namepace.
-+ *
-+ * @param tcp             The tcb of the tracee
-+ *                        (NULL: from_id is in strace's namespace. Useful for
-+ *                         getting the proc PID of from_id)
-+ * @param from_id         The id to be translated
-+ * @param type            The PID type of from_id
-+ * @param proc_pid_ptr    If not NULL, writes the proc PID to this location
-+ * @return                The translated id, or 0 if translation fails.
-+ */
-+extern int translate_pid(struct tcb *, int dest_id, enum pid_type type,
-+		    int *proc_pid_ptr);
-+
- extern void
- dumpiov_in_msghdr(struct tcb *, kernel_ulong_t addr, kernel_ulong_t data_size);
- 
-@@ -1059,6 +1104,15 @@
-  * of the tracee the descriptor tcp).  This is a stub.
-  */
- extern void printfd_pid_tracee_ns(struct tcb *tcp, pid_t pid, int fd);
-+
-+/** Prints a PID specified in the tracee's PID namespace */
-+extern void printpid(struct tcb *, int pid, enum pid_type type);
-+
-+/**
-+ * Prints pid as a TGID if positive, and PGID if negative
-+ * (like the first argument of kill).
-+ */
-+extern void printpid_tgid_pgid(struct tcb *, int pid);
- extern void print_sockaddr(struct tcb *, const void *sa, int len);
- extern bool
- print_inet_addr(int af, const void *addr, unsigned int len, const char *var_name);
-Index: strace-5.7/largefile_wrappers.h
-===================================================================
---- strace-5.7.orig/largefile_wrappers.h	2020-09-09 15:50:13.473900511 +0200
-+++ strace-5.7/largefile_wrappers.h	2020-09-09 15:50:18.017903762 +0200
-@@ -29,6 +29,7 @@
- #  else
- #   define fcntl_fd fcntl
- #  endif
-+#  define fstat_fd fstat64
- #  define strace_stat_t struct stat64
- #  define stat_file stat64
- #  define struct_dirent struct dirent64
-@@ -39,6 +40,7 @@
- #  define open_file open
- #  define fopen_stream fopen
- #  define fcntl_fd fcntl
-+#  define fstat_fd fstat
- #  define strace_stat_t struct stat
- #  define stat_file stat
- #  define struct_dirent struct dirent
-Index: strace-5.7/pidns.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/pidns.c	2020-09-09 15:50:18.018903762 +0200
-@@ -0,0 +1,608 @@
-+/*
-+ * Copyright (c) 2020 Ákos Uzonyi <uzonyi.akos@gmail.com>
-+ * All rights reserved.
-+ *
-+ * SPDX-License-Identifier: LGPL-2.1-or-later
-+ */
-+
-+#include "defs.h"
-+
-+
-+#include <dirent.h>
-+#include <fcntl.h>
-+#include <stdint.h>
-+#include <string.h>
-+#include <unistd.h>
-+
-+#include <asm/unistd.h>
-+
-+#include <sys/ioctl.h>
-+#include <sys/param.h>
-+#include <sys/types.h>
-+#include <sys/stat.h>
-+
-+#include "largefile_wrappers.h"
-+#include "trie.h"
-+#include "nsfs.h"
-+#include "xmalloc.h"
-+#include "xstring.h"
-+
-+/**
-+ * Key:   PID NS ID
-+ * Value: a btree:
-+ *           Key:   a process PID in NS
-+ *           Value: the process's PID as present in /proc
-+ */
-+static struct trie *ns_pid_to_proc_pid[PT_COUNT];
-+
-+/**
-+ * Key:   Proc PID
-+ * Value: struct proc_data
-+ */
-+static struct trie *proc_data_cache;
-+
-+static bool ns_get_parent_enotty = false;
-+
-+static const char tid_str[]  = "NSpid:\t";
-+static const char tgid_str[] = "NStgid:\t";
-+static const char pgid_str[] = "NSpgid:\t";
-+static const char sid_str[]  = "NSsid:\t";
-+
-+static const struct {
-+	const char *str;
-+	size_t size;
-+} id_strs[PT_COUNT] = {
-+	[PT_TID] =  { tid_str,  sizeof(tid_str)  - 1 },
-+	[PT_TGID] = { tgid_str, sizeof(tgid_str) - 1 },
-+	[PT_PGID] = { pgid_str, sizeof(pgid_str) - 1 },
-+	[PT_SID] =  { sid_str,  sizeof(sid_str)  - 1 },
-+};
-+
-+
-+/**
-+ * Limit on PID NS hierarchy depth, imposed since Linux 3.7. NS traversal
-+ * is not possible before Linux 4.9, so we consider this limit pretty universal.
-+ */
-+#define MAX_NS_DEPTH 32
-+
-+static const size_t ns_id_size = sizeof(unsigned int) * 8;
-+static const uint8_t ptr_sz_lg = (sizeof(void *) == 8 ? 6 : 5);
-+
-+static int pid_max;
-+static uint8_t pid_max_size, pid_max_size_lg;
-+
-+struct proc_data {
-+	int proc_pid;
-+	int ns_count;
-+	unsigned int ns_hierarchy[MAX_NS_DEPTH];
-+	int id_count[PT_COUNT];
-+	int id_hierarchy[PT_COUNT][MAX_NS_DEPTH];
-+};
-+
-+/**
-+ * Helper function for creating a trie.
-+ *
-+ * For node_key_bits and data_block_key_bits 4 is used (so trie height is 32 / 4
-+ * = 8, and node sizes are 8 byte * 2^4 = 128 bytes), which seems to be a good
-+ * tradeoff between memory usage and lookup time. It should not be too large,
-+ * since there can be large holes between PIDs, and it would be just a waste of
-+ * memory having large nodes with lot of NULL pointers in them.
-+ */
-+static struct trie *
-+create_trie_4(uint8_t key_size, uint8_t item_size_lg, uint64_t empty_value)
-+{
-+	struct trie *t = trie_create(key_size, item_size_lg, 4, 4, empty_value);
-+	if (!t)
-+		error_msg_and_die("creating trie failed");
-+
-+	return t;
-+}
-+
-+void
-+pidns_init(void)
-+{
-+	if (proc_data_cache)
-+		return;
-+
-+	pid_max = INT_MAX;
-+	if (read_int_from_file("/proc/sys/kernel/pid_max", &pid_max) < 0)
-+		debug_func_perror_msg("reading /proc/sys/kernel/pid_max");
-+	pid_max_size = ilog2_32(pid_max - 1) + 1;
-+	pid_max_size_lg = ilog2_32(pid_max_size - 1) + 1;
-+
-+	for (int i = 0; i < PT_COUNT; i++)
-+		ns_pid_to_proc_pid[i] = create_trie_4(ns_id_size, ptr_sz_lg, 0);
-+
-+	proc_data_cache = create_trie_4(pid_max_size, ptr_sz_lg, 0);
-+}
-+
-+static void
-+put_proc_pid(unsigned int ns, int ns_pid, enum pid_type type, int proc_pid)
-+{
-+	struct trie *b = (struct trie *) (uintptr_t) trie_get(ns_pid_to_proc_pid[type], ns);
-+	if (!b) {
-+		b = create_trie_4(pid_max_size, pid_max_size_lg, 0);
-+		trie_set(ns_pid_to_proc_pid[type], ns, (uint64_t) (uintptr_t) b);
-+	}
-+	trie_set(b, ns_pid, proc_pid);
-+}
-+
-+static int
-+get_cached_proc_pid(unsigned int ns, int ns_pid, enum pid_type type)
-+{
-+	struct trie *b = (struct trie *) (uintptr_t)
-+		trie_get(ns_pid_to_proc_pid[type], ns);
-+	if (!b)
-+		return 0;
-+
-+	return trie_get(b, ns_pid);
-+}
-+
-+/**
-+ * Helper function, converts pid to string, or to "self" for pid == 0.
-+ * Uses static buffer for operation.
-+ */
-+static const char *
-+pid_to_str(pid_t pid)
-+{
-+	if (!pid)
-+		return "self";
-+
-+	static char buf[sizeof("-2147483648")];
-+	xsprintf(buf, "%d", pid);
-+	return buf;
-+}
-+
-+/**
-+ * Returns a list of PID NS IDs for the specified PID.
-+ *
-+ * @param proc_pid PID (as present in /proc) to get information for.
-+ * @param ns_buf   Pointer to buffer that is able to contain at least
-+ *                 ns_buf_size items.
-+ * @return         Amount of NS in list. 0 indicates error.
-+ */
-+static size_t
-+get_ns_hierarchy(int proc_pid, unsigned int *ns_buf, size_t ns_buf_size)
-+{
-+	char path[PATH_MAX + 1];
-+	xsprintf(path, "/proc/%s/ns/pid", pid_to_str(proc_pid));
-+
-+	int fd = open_file(path, O_RDONLY);
-+	if (fd < 0)
-+		return 0;
-+
-+	size_t n = 0;
-+	while (n < ns_buf_size) {
-+		strace_stat_t st;
-+		if (fstat_fd(fd, &st))
-+			break;
-+
-+		ns_buf[n++] = st.st_ino;
-+		if (n >= ns_buf_size)
-+			break;
-+
-+		if (ns_get_parent_enotty)
-+			break;
-+
-+		int parent_fd = ioctl(fd, NS_GET_PARENT);
-+		if (parent_fd < 0) {
-+			switch (errno) {
-+			case EPERM:
-+				break;
-+
-+			case ENOTTY:
-+				ns_get_parent_enotty = true;
-+				error_msg("NS_* ioctl commands are not "
-+					  "supported by the kernel");
-+				break;
-+
-+			default:
-+				perror_func_msg("ioctl(NS_GET_PARENT)");
-+				break;
-+			}
-+
-+			break;
-+		}
-+
-+		close(fd);
-+		fd = parent_fd;
-+	}
-+
-+	close(fd);
-+
-+	return n;
-+}
-+
-+/**
-+ * Get list of IDs present in NS* proc status record. IDs are placed as they are
-+ * stored in /proc (from top to bottom of NS hierarchy).
-+ *
-+ * @param proc_pid    PID (as present in /proc) to get information for.
-+ * @param id_buf      Pointer to buffer that is able to contain at least
-+ *                    MAX_NS_DEPTH items. Can be NULL.
-+ * @param type        Type of ID requested.
-+ * @return            Number of items stored in id_list. 0 indicates error.
-+ */
-+static size_t
-+get_id_list(int proc_pid, int *id_buf, enum pid_type type)
-+{
-+	const char *ns_str = id_strs[type].str;
-+	size_t ns_str_size = id_strs[type].size;
-+
-+	size_t n = 0;
-+
-+	char status_path[PATH_MAX + 1];
-+	xsprintf(status_path, "/proc/%s/status", pid_to_str(proc_pid));
-+	FILE *f = fopen_stream(status_path, "r");
-+	if (!f)
-+		return 0;
-+
-+	char *line = NULL;
-+	size_t linesize = 0;
-+	char *p = NULL;
-+
-+	while (getline(&line, &linesize, f) > 0) {
-+		if (strncmp(line, ns_str, ns_str_size) == 0) {
-+			p = line + ns_str_size;
-+			break;
-+		}
-+	}
-+
-+	while (p) {
-+		errno = 0;
-+		long id = strtol(p, NULL, 10);
-+
-+		if (id < 0 || id > INT_MAX || errno) {
-+			perror_func_msg("converting pid (%ld) to int", id);
-+			break;
-+		}
-+
-+		if (id_buf)
-+			id_buf[n] = (int) id;
-+
-+		n++;
-+		strsep(&p, "\t");
-+	}
-+
-+	free(line);
-+	fclose(f);
-+
-+	return n;
-+}
-+
-+/**
-+ * Returns whether the /proc filesystem's PID namespace is the same as strace's.
-+ */
-+static bool
-+is_proc_ours(void)
-+{
-+	static int cached_val = -1;
-+
-+	if (cached_val < 0)
-+		cached_val = get_id_list(0, NULL, PT_TID) <= 1;
-+
-+	return cached_val;
-+}
-+
-+/**
-+ * Returns the PID namespace of the tracee
-+ */
-+static unsigned int
-+get_ns(struct tcb *tcp)
-+{
-+	if (!tcp->pid_ns) {
-+		int proc_pid = 0;
-+		translate_pid(NULL, tcp->pid, PT_TID, &proc_pid);
-+
-+		if (proc_pid)
-+			get_ns_hierarchy(proc_pid, &tcp->pid_ns, 1);
-+	}
-+
-+	return tcp->pid_ns;
-+}
-+
-+/**
-+ * Returns the PID namespace of strace
-+ */
-+static unsigned int
-+get_our_ns(void)
-+{
-+	static unsigned int our_ns = 0;
-+	static bool our_ns_initialised = false;
-+
-+	if (!our_ns_initialised) {
-+		get_ns_hierarchy(0, &our_ns, 1);
-+		our_ns_initialised = true;
-+	}
-+
-+	return our_ns;
-+}
-+
-+/**
-+ * Returns the cached proc_data struct associated with proc_pid.
-+ * If none found, allocates a new proc_data.
-+ */
-+static struct proc_data *
-+get_or_create_proc_data(int proc_pid)
-+{
-+	struct proc_data *pd = (struct proc_data *) (uintptr_t)
-+		trie_get(proc_data_cache, proc_pid);
-+
-+	if (!pd) {
-+		pd = calloc(1, sizeof(*pd));
-+		if (!pd)
-+			return NULL;
-+
-+		pd->proc_pid = proc_pid;
-+		trie_set(proc_data_cache, proc_pid, (uint64_t) (uintptr_t) pd);
-+	}
-+
-+	return pd;
-+}
-+
-+/**
-+ * Updates the proc_data from /proc
-+ * If the process does not exists, returns false, and frees the proc_data
-+ */
-+static bool
-+update_proc_data(struct proc_data *pd, enum pid_type type)
-+{
-+	pd->ns_count = get_ns_hierarchy(pd->proc_pid,
-+		pd->ns_hierarchy, MAX_NS_DEPTH);
-+	if (!pd->ns_count)
-+		goto fail;
-+
-+	pd->id_count[type] = get_id_list(pd->proc_pid,
-+		pd->id_hierarchy[type], type);
-+	if (!pd->id_count[type])
-+		goto fail;
-+
-+	return true;
-+
-+fail:
-+	trie_set(proc_data_cache, pd->proc_pid, (uint64_t) (uintptr_t) NULL);
-+	free(pd);
-+	return false;
-+}
-+
-+/**
-+ * Paramters for id translation
-+ */
-+struct translate_id_params {
-+	/* The result (output) */
-+	int result_id;
-+	/* The proc data of the process (output) */
-+	struct proc_data *pd;
-+
-+	/* The namespace to be translated from */
-+	unsigned int from_ns;
-+	/* The id to be translated */
-+	int from_id;
-+	/* The type of the id */
-+	enum pid_type type;
-+};
-+
-+/**
-+ * Translates an id to our namespace, given the proc_pid of the process,
-+ * by reading files in /proc.
-+ *
-+ * @param tip      The parameters
-+ * @param proc_pid The proc pid of the process.
-+ *                 If 0, use the cached values in tip->pd.
-+ */
-+static void
-+translate_id_proc_pid(struct translate_id_params *tip, int proc_pid)
-+{
-+	struct proc_data *pd = proc_pid ?
-+		get_or_create_proc_data(proc_pid) :
-+		tip->pd;
-+
-+	tip->result_id = 0;
-+	tip->pd = NULL;
-+
-+	if (!pd)
-+		return;
-+
-+	if (proc_pid && !update_proc_data(pd, tip->type))
-+		return;
-+
-+	if (!pd->ns_count || pd->id_count[tip->type] < pd->ns_count)
-+		return;
-+
-+	int *id_hierarchy = pd->id_hierarchy[tip->type];
-+	int id_count = pd->id_count[tip->type];
-+
-+	for (int i = 0; i < pd->ns_count; i++) {
-+		unsigned int ns = pd->ns_hierarchy[i];
-+		int ns_id = id_hierarchy[id_count - i - 1];
-+		int our_id = id_hierarchy[id_count - pd->ns_count];
-+
-+		if (ns != tip->from_ns)
-+			continue;
-+
-+		if (ns_id != tip->from_id)
-+			return;
-+
-+		tip->result_id = our_id;
-+		tip->pd = pd;
-+		return;
-+	}
-+}
-+
-+/**
-+ * Translates an id to our namespace by reading all proc entries in a directory.
-+ * The directory is either /proc or /proc/<pid>/task.
-+ *
-+ *
-+ * @param tip            The parameters
-+ * @param path           The path of the directory to be read.
-+ * @param read_task_dir  Whether recurse to "task" subdirectory.
-+ */
-+static void
-+translate_id_dir(struct translate_id_params *tip, const char *path,
-+                 bool read_task_dir)
-+{
-+	DIR *dir = opendir(path);
-+	if (!dir) {
-+		debug_func_perror_msg("opening dir: %s", path);
-+		return;
-+	}
-+
-+	while (!tip->result_id) {
-+		errno = 0;
-+		struct_dirent *entry = read_dir(dir);
-+		if (!entry) {
-+			if (errno)
-+				perror_func_msg("readdir");
-+
-+			break;
-+		}
-+
-+		if (entry->d_type != DT_DIR)
-+			continue;
-+
-+		errno = 0;
-+		long proc_pid = strtol(entry->d_name, NULL, 10);
-+		if (proc_pid < 1 || proc_pid > INT_MAX || errno)
-+			continue;
-+
-+		if (read_task_dir) {
-+			char task_dir_path[PATH_MAX + 1];
-+			xsprintf(task_dir_path, "/proc/%ld/task", proc_pid);
-+			translate_id_dir(tip, task_dir_path, false);
-+		}
-+
-+		if (tip->result_id)
-+			break;
-+
-+		translate_id_proc_pid(tip, proc_pid);
-+	}
-+
-+	closedir(dir);
-+}
-+
-+/**
-+ * Iterator function of the proc_data_cache for id translation.
-+ * If the cache contains the id we are looking for, reads the corresponding
-+ * directory in /proc, and if cache is valid, saves the result.
-+ */
-+static void
-+proc_data_cache_iterator_fn(void* fn_data, uint64_t key, uint64_t val)
-+{
-+	struct translate_id_params *tip = (struct translate_id_params *)fn_data;
-+	struct proc_data *pd = (struct proc_data *) (uintptr_t) val;
-+
-+	if (!pd)
-+		return;
-+
-+	/* Result already found in an earlier iteration */
-+	if (tip->result_id)
-+		return;
-+
-+	/* Translate from cache */
-+	tip->pd = pd;
-+	translate_id_proc_pid(tip, 0);
-+	if (!tip->result_id)
-+		return;
-+
-+	/* Now translate from actual data in /proc, to check cache validity */
-+	translate_id_proc_pid(tip, pd->proc_pid);
-+}
-+
-+int
-+translate_pid(struct tcb *tcp, int from_id, enum pid_type type,
-+              int *proc_pid_ptr)
-+{
-+	if (from_id <= 0 || type < 0 || type >= PT_COUNT)
-+		return 0;
-+
-+	/* If translation is trivial */
-+	if ((!tcp || get_ns(tcp) == get_our_ns()) &&
-+	    (!proc_pid_ptr || is_proc_ours())) {
-+		if (proc_pid_ptr)
-+			*proc_pid_ptr = from_id;
-+
-+		return from_id;
-+	}
-+
-+	struct translate_id_params tip = {
-+		.result_id = 0,
-+		.pd = NULL,
-+		.from_ns = tcp ? get_ns(tcp) : get_our_ns(),
-+		.from_id = from_id,
-+		.type = type,
-+	};
-+
-+	if (!tip.from_ns)
-+		return 0;
-+
-+	if (ns_get_parent_enotty)
-+		return 0;
-+
-+	/* Look for a cached proc_pid for this (from_ns, from_id) pair */
-+	int cached_proc_pid = get_cached_proc_pid(tip.from_ns, tip.from_id,
-+		tip.type);
-+	if (cached_proc_pid) {
-+		translate_id_proc_pid(&tip, cached_proc_pid);
-+		if (tip.result_id)
-+			goto exit;
-+	}
-+
-+	/* Iterate through the cache, find potential proc_data */
-+	trie_iterate_keys(proc_data_cache, 0, pid_max - 1,
-+		proc_data_cache_iterator_fn, &tip);
-+	/* (proc_data_cache_iterator_fn takes care about updating proc_data) */
-+	if (tip.result_id)
-+		goto exit;
-+
-+	/* No cache helped, read all entries in /proc */
-+	translate_id_dir(&tip, "/proc", true);
-+
-+exit:
-+	if (tip.pd) {
-+		if (tip.pd->proc_pid)
-+			put_proc_pid(tip.from_ns, tip.from_id, tip.type,
-+				tip.pd->proc_pid);
-+
-+		if (proc_pid_ptr)
-+			*proc_pid_ptr = tip.pd->proc_pid;
-+	}
-+
-+	return tip.result_id;
-+}
-+
-+int
-+get_proc_pid(struct tcb *tcp)
-+{
-+	int proc_pid = 0;
-+	translate_pid(NULL, tcp->pid, PT_TID, &proc_pid);
-+	return proc_pid;
-+}
-+
-+static void
-+printpid_translation(struct tcb *tcp, int pid, enum pid_type type)
-+{
-+	if (!pidns_translation)
-+		return;
-+
-+	int strace_pid = translate_pid(tcp, pid, type, NULL);
-+	if (strace_pid && strace_pid != pid)
-+		tprintf_comment("%d in strace's PID NS", strace_pid);
-+}
-+
-+void
-+printpid(struct tcb *tcp, int pid, enum pid_type type)
-+{
-+	tprintf("%d", pid);
-+	printpid_translation(tcp, pid, type);
-+}
-+
-+void
-+printpid_tgid_pgid(struct tcb *tcp, int pid)
-+{
-+	tprintf("%d", pid);
-+	if (pid > 0)
-+		printpid_translation(tcp,  pid, PT_TGID);
-+	else if (pid < -1)
-+		printpid_translation(tcp, -pid, PT_PGID);
-+}
-Index: strace-5.7/strace.1.in
-===================================================================
---- strace-5.7.orig/strace.1.in	2020-09-09 15:50:13.475900513 +0200
-+++ strace-5.7/strace.1.in	2020-09-09 15:50:18.018903762 +0200
-@@ -1075,6 +1075,10 @@
- protocol-specific information associated with socket file descriptors,
- block/character device number associated with device file descriptors,
- and PIDs asociated with pidfd file descriptors.
-+.TP
-+.B \-\-pidns\-translation
-+If strace and tracee are in different PID namespaces, print PIDs in
-+strace's namespace, too.
- .SS Statistics
- .TP 12
- .B \-c
-Index: strace-5.7/strace.c
-===================================================================
---- strace-5.7.orig/strace.c	2020-09-09 15:50:13.476900514 +0200
-+++ strace-5.7/strace.c	2020-09-09 15:52:08.646982890 +0200
-@@ -133,6 +133,8 @@
- static int post_attach_sigstop = TCB_IGNORE_ONE_SIGSTOP;
- #define use_seize (post_attach_sigstop == 0)
- 
-+unsigned int pidns_translation;
-+
- static bool detach_on_execve;
- 
- static int exit_code;
-@@ -1998,6 +2000,8 @@
- 
- 	os_release = get_os_release();
- 
-+	pidns_init();
-+
- 	shared_log = stderr;
- 	set_sortby(DEFAULT_SORTBY);
- 	set_personality(DEFAULT_PERSONALITY);
-@@ -2022,6 +2026,7 @@
- 		GETOPT_FOLLOWFORKS,
- 		GETOPT_OUTPUT_SEPARATELY,
- 		GETOPT_TS,
-+		GETOPT_PIDNS_TRANSLATION,
- 
- 		GETOPT_QUAL_TRACE,
- 		GETOPT_QUAL_ABBREV,
-@@ -2072,6 +2077,7 @@
- 		{ "summary-wall-clock", no_argument,	   0, 'w' },
- 		{ "strings-in-hex",	optional_argument, 0, GETOPT_HEX_STR },
- 		{ "const-print-style",	required_argument, 0, 'X' },
-+		{ "pidns-translation",	no_argument      , 0, GETOPT_PIDNS_TRANSLATION },
- 		{ "successful-only",	no_argument,	   0, 'z' },
- 		{ "failed-only",	no_argument,	   0, 'Z' },
- 		{ "failing-only",	no_argument,	   0, 'Z' },
-@@ -2285,6 +2291,9 @@
- 		case 'y':
- 			yflag_short++;
- 			break;
-+		case GETOPT_PIDNS_TRANSLATION:
-+			pidns_translation++;
-+			break;
- 		case 'z':
- 			clear_number_set_array(status_set, 1);
- 			add_number_to_set(STATUS_SUCCESSFUL, status_set);
-Index: strace-5.7/syscall.c
-===================================================================
---- strace-5.7.orig/syscall.c	2020-09-09 15:50:13.477900514 +0200
-+++ strace-5.7/syscall.c	2020-09-09 15:50:18.019903763 +0200
-@@ -930,6 +930,21 @@
- 					tprintf("= %" PRI_kld, tcp->u_rval);
- 				}
- 				break;
-+			case RVAL_TID:
-+			case RVAL_SID:
-+			case RVAL_TGID:
-+			case RVAL_PGID: {
-+				#define _(_t) [RVAL_##_t - RVAL_TID] = PT_##_t
-+				static const enum pid_type types[] = {
-+					_(TID), _(SID), _(TGID), _(PGID),
-+				};
-+				#undef _
-+
-+				tprints("= ");
-+				printpid(tcp, tcp->u_rval,
-+					 types[(sys_res & RVAL_MASK) - RVAL_TID]);
-+				break;
-+			}
- 			default:
- 				error_msg("invalid rval format");
- 				break;
-Index: strace-5.7/trie.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/trie.c	2020-09-09 15:50:18.019903763 +0200
-@@ -0,0 +1,290 @@
-+/*
-+ * Simple trie implementation for key-value mapping storage
-+ *
-+ * Copyright (c) 2020 Ákos Uzonyi <uzonyi.akos@gmail.com>
-+ * All rights reserved.
-+ *
-+ * SPDX-License-Identifier: LGPL-2.1-or-later
-+ */
-+
-+#ifdef HAVE_CONFIG_H
-+# include "config.h"
-+#endif
-+
-+#include <stdlib.h>
-+#include <stdio.h>
-+
-+#include "trie.h"
-+#include "xmalloc.h"
-+
-+static const uint8_t ptr_sz_lg = (sizeof(void *) == 8 ? 6 : 5);
-+
-+/**
-+ * Returns lg2 of node size in bits for the specific level of the trie.
-+ */
-+static uint8_t
-+trie_get_node_size(struct trie *t, uint8_t depth)
-+{
-+	/* Last level contains data and we allow it having a different size */
-+	if (depth == t->max_depth)
-+		return t->data_block_key_bits + t->item_size_lg;
-+	/* Last level of the tree can be smaller */
-+	if (depth == t->max_depth - 1)
-+		return (t->key_size - t->data_block_key_bits - 1) %
-+		t->node_key_bits + 1 + ptr_sz_lg;
-+
-+	return t->node_key_bits + ptr_sz_lg;
-+}
-+
-+/**
-+ * Provides starting offset of bits in key corresponding to the node index
-+ * at the specific level.
-+ */
-+static uint8_t
-+trie_get_node_bit_offs(struct trie *t, uint8_t depth)
-+{
-+	uint8_t offs;
-+
-+	if (depth == t->max_depth)
-+		return 0;
-+
-+	offs = t->data_block_key_bits;
-+
-+	if (depth == t->max_depth - 1)
-+		return offs;
-+
-+	/* data_block_size + remainder */
-+	offs += trie_get_node_size(t, t->max_depth - 1) - ptr_sz_lg;
-+	offs += (t->max_depth - depth - 2) * t->node_key_bits;
-+
-+	return offs;
-+}
-+
-+struct trie *
-+trie_create(uint8_t key_size, uint8_t item_size_lg, uint8_t node_key_bits,
-+            uint8_t data_block_key_bits, uint64_t empty_value)
-+{
-+	if (item_size_lg > 6)
-+		return NULL;
-+	if (key_size > 64)
-+		return NULL;
-+	if (node_key_bits < 1)
-+		return NULL;
-+	if (data_block_key_bits < 1 || data_block_key_bits > key_size)
-+		return NULL;
-+
-+	struct trie *t = malloc(sizeof(*t));
-+	if (!t)
-+		return NULL;
-+
-+	t->empty_value = empty_value;
-+	t->data = NULL;
-+	t->item_size_lg = item_size_lg;
-+	t->node_key_bits = node_key_bits;
-+	t->data_block_key_bits = data_block_key_bits;
-+	t->key_size = key_size;
-+	t->max_depth = (key_size - data_block_key_bits + node_key_bits - 1)
-+		/ t->node_key_bits;
-+
-+	if (item_size_lg != 6)
-+		t->empty_value &= (((uint64_t) 1 << (1 << t->item_size_lg)) - 1);
-+
-+	return t;
-+}
-+
-+static void *
-+trie_create_data_block(struct trie *t)
-+{
-+	uint64_t fill_value = t->empty_value;
-+	for (int i = 1; i < 1 << (6 - t->item_size_lg); i++) {
-+		fill_value <<= (1 << t->item_size_lg);
-+		fill_value |= t->empty_value;
-+	}
-+
-+	uint8_t sz = t->data_block_key_bits + t->item_size_lg;
-+	if (sz < 6)
-+		sz = 6;
-+
-+	size_t count = 1 << (sz - 6);
-+	uint64_t *data_block = xcalloc(count, 8);
-+
-+	for (size_t i = 0; i < count; i++)
-+		data_block[i] = fill_value;
-+
-+	return data_block;
-+}
-+
-+static uint64_t *
-+trie_get_node(struct trie *t, uint64_t key, bool auto_create)
-+{
-+	void **cur_node = &(t->data);
-+
-+	if (t->key_size < 64 && key > (uint64_t) 1 << t->key_size)
-+		return NULL;
-+
-+	for (uint8_t cur_depth = 0; cur_depth <= t->max_depth; cur_depth++) {
-+		uint8_t offs = trie_get_node_bit_offs(t, cur_depth);
-+		uint8_t sz = trie_get_node_size(t, cur_depth);
-+
-+		if (!*cur_node) {
-+			if (!auto_create)
-+				return NULL;
-+
-+			if (cur_depth == t->max_depth)
-+				*cur_node = trie_create_data_block(t);
-+			else
-+				*cur_node = xcalloc(1 << sz, 1);
-+		}
-+
-+		if (cur_depth == t->max_depth)
-+			break;
-+
-+		size_t pos = (key >> offs) & ((1 << (sz - ptr_sz_lg)) - 1);
-+		cur_node = (((void **) (*cur_node)) + pos);
-+	}
-+
-+	return (uint64_t *) (*cur_node);
-+}
-+
-+static void
-+trie_data_block_calc_pos(struct trie *t, uint64_t key,
-+                         uint64_t *pos, uint64_t *mask, uint64_t *offs)
-+{
-+	uint64_t key_mask;
-+
-+	key_mask = (1 << t->data_block_key_bits) - 1;
-+	*pos = (key & key_mask) >> (6 - t->item_size_lg);
-+
-+	if (t->item_size_lg == 6) {
-+		*offs = 0;
-+		*mask = -1;
-+		return;
-+	}
-+
-+	key_mask = (1 << (6 - t->item_size_lg)) - 1;
-+	*offs = (key & key_mask) * (1 << t->item_size_lg);
-+
-+	*mask = (((uint64_t) 1 << (1 << t->item_size_lg)) - 1) << *offs;
-+}
-+
-+bool
-+trie_set(struct trie *t, uint64_t key, uint64_t val)
-+{
-+	uint64_t *data = trie_get_node(t, key, true);
-+	if (!data)
-+		return false;
-+
-+	uint64_t pos, mask, offs;
-+	trie_data_block_calc_pos(t, key, &pos, &mask, &offs);
-+
-+	data[pos] &= ~mask;
-+	data[pos] |= (val << offs) & mask;
-+
-+	return true;
-+}
-+
-+static uint64_t
-+trie_data_block_get(struct trie *t, uint64_t *data, uint64_t key)
-+{
-+	if (!data)
-+		return t->empty_value;
-+
-+	uint64_t pos, mask, offs;
-+	trie_data_block_calc_pos(t, key, &pos, &mask, &offs);
-+
-+	return (data[pos] & mask) >> offs;
-+}
-+
-+uint64_t
-+trie_get(struct trie *b, uint64_t key)
-+{
-+	return trie_data_block_get(b, trie_get_node(b, key, false), key);
-+}
-+
-+static uint64_t
-+trie_iterate_keys_node(struct trie *t,
-+                       trie_iterate_fn fn, void *fn_data,
-+                       void *node, uint64_t start, uint64_t end,
-+                       uint8_t depth)
-+{
-+	if (start > end || !node)
-+		return 0;
-+
-+	if (t->key_size < 64) {
-+		uint64_t key_max = ((uint64_t) 1 << t->key_size) - 1;
-+		if (end > key_max)
-+			end = key_max;
-+	}
-+
-+	if (depth == t->max_depth) {
-+		for (uint64_t i = start; i <= end; i++)
-+			fn(fn_data, i, trie_data_block_get(t,
-+				(uint64_t *) node, i));
-+
-+		return end - start + 1;
-+	}
-+
-+	uint8_t parent_node_bit_off = depth == 0 ?
-+		t->key_size :
-+		trie_get_node_bit_offs(t, depth - 1);
-+
-+	uint64_t first_key_in_node = start &
-+		(uint64_t) -1 << parent_node_bit_off;
-+
-+	uint8_t node_bit_off = trie_get_node_bit_offs(t, depth);
-+	uint8_t node_key_bits = parent_node_bit_off - node_bit_off;
-+	uint64_t mask = ((uint64_t) 1 << (node_key_bits)) - 1;
-+	uint64_t start_index = (start >> node_bit_off) & mask;
-+	uint64_t end_index = (end >> node_bit_off) & mask;
-+	uint64_t child_key_count = (uint64_t) 1 << node_bit_off;
-+
-+	uint64_t count = 0;
-+
-+	for (uint64_t i = start_index; i <= end_index; i++) {
-+		uint64_t child_start = first_key_in_node + i * child_key_count;
-+		uint64_t child_end = first_key_in_node +
-+			(i + 1) * child_key_count - 1;
-+
-+		if (child_start < start)
-+			child_start = start;
-+		if (child_end > end)
-+			child_end = end;
-+
-+		count += trie_iterate_keys_node(t, fn, fn_data,
-+			((void **) node)[i], child_start, child_end,
-+			depth + 1);
-+	}
-+
-+	return count;
-+}
-+
-+uint64_t trie_iterate_keys(struct trie *t, uint64_t start, uint64_t end,
-+                           trie_iterate_fn fn, void *fn_data)
-+{
-+	return trie_iterate_keys_node(t, fn, fn_data, t->data,
-+		start, end, 0);
-+}
-+
-+static void
-+trie_free_node(struct trie *t, void *node, uint8_t depth)
-+{
-+	if (!node)
-+		return;
-+
-+	if (depth >= t->max_depth)
-+		goto free_node;
-+
-+	size_t sz = 1 << (trie_get_node_size(t, depth) - ptr_sz_lg);
-+	for (size_t i = 0; i < sz; i++)
-+		trie_free_node(t, ((void **) node)[i], depth + 1);
-+
-+free_node:
-+	free(node);
-+}
-+
-+void
-+trie_free(struct trie *t)
-+{
-+	trie_free_node(t, t->data, 0);
-+	free(t);
-+}
-Index: strace-5.7/trie.h
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/trie.h	2020-09-09 15:50:18.019903763 +0200
-@@ -0,0 +1,92 @@
-+/*
-+ * Simple trie interface
-+ *
-+ * Copyright (c) 2020 Ákos Uzonyi <uzonyi.akos@gmail.com>
-+ * All rights reserved.
-+ *
-+ * SPDX-License-Identifier: LGPL-2.1-or-later
-+ */
-+
-+#ifndef STRACE_TRIE_H
-+#define STRACE_TRIE_H
-+
-+#include <stdbool.h>
-+#include <stdint.h>
-+
-+/**
-+ * Trie control structure.
-+ * Trie implemented here has the following properties:
-+ *  * It allows storing values of the same size, the size can vary from 1 bit to
-+ *    64 bit values (only power of 2 sizes are allowed).
-+ *  * The key can be up to 64 bits in size.
-+ *  * It has separate configuration for node size and data block size.
-+ *
-+ * How bits of key are used for different node levels:
-+ *
-+ *   highest bits                                                  lowest bits
-+ *  | node_key_bits | node_key_bits | ... | <remainder> | data_block_key_bits |
-+ *  \_________________________________________________________________________/
-+ *                                 key_size
-+ *
-+ * So, the remainder is used on the lowest non-data node level.
-+ *
-+ * As of now, it doesn't implement any mechanisms for resizing/changing key
-+ * size.  De-fragmentation is also unsupported currently.
-+ */
-+struct trie {
-+	/** Return value of trie_get if key is not found */
-+	uint64_t empty_value;
-+
-+	/** Pointer to root node */
-+	void *data;
-+
-+	/** Key size in bits (0..64). */
-+	uint8_t key_size;
-+
-+	/**
-+	 * Size of the stored values in log2 bits (0..6).
-+	 * (6: 64 bit values, 5: 32 bit values, ...)
-+	 */
-+	uint8_t item_size_lg;
-+
-+	/**
-+	 * Number of bits in the key that make a symbol for a node.
-+	 * (equals to log2 of the child count of the node)
-+	 */
-+	uint8_t node_key_bits;
-+
-+	/**
-+	 * Number of bits in the key that make a symbol for the data block (leaf).
-+	 * (equals to log2 of the value count stored in a data block)
-+	 */
-+	uint8_t data_block_key_bits;
-+
-+	/** The depth of the data block. Calculated from the values above */
-+	uint8_t max_depth;
-+};
-+
-+struct trie* trie_create(uint8_t key_size, uint8_t item_size_lg,
-+			uint8_t node_key_bits, uint8_t data_block_key_bits,
-+			uint64_t empty_value);
-+
-+bool trie_set(struct trie *t, uint64_t key, uint64_t val);
-+uint64_t trie_get(struct trie *t, uint64_t key);
-+
-+typedef void (*trie_iterate_fn)(void *data, uint64_t key, uint64_t val);
-+
-+/**
-+ * Calls trie_iterate_fn for each key-value pair where
-+ * key is inside the [start, end] interval (inclusive).
-+ *
-+ * @param t        The trie.
-+ * @param start    The start of the key interval (inclusive).
-+ * @param end      The end of the key interval (inclusive).
-+ * @param fn       The function to be called.
-+ * @param fn_data  The value to be passed to fn.
-+ */
-+uint64_t trie_iterate_keys(struct trie *t, uint64_t start, uint64_t end,
-+			    trie_iterate_fn fn, void *fn_data);
-+
-+void trie_free(struct trie *t);
-+
-+#endif /* !STRACE_TRIE_H */
-Index: strace-5.7/Makefile.in
-===================================================================
---- strace-5.7.orig/Makefile.in	2020-09-09 15:50:13.484900519 +0200
-+++ strace-5.7/Makefile.in	2020-09-09 15:54:59.569105143 +0200
-@@ -344,8 +344,8 @@
- 	nlattr.c nlattr.h nsfs.c nsfs.h nsig.h numa.c number_set.c \
- 	number_set.h oldstat.c open.c open_tree.c or1k_atomic.c \
- 	pathtrace.c perf.c perf_event_struct.h perf_ioctl.c \
--	personality.c pidfd_getfd.c pidfd_open.c pkeys.c poll.c \
--	prctl.c print_aio_sigset.c print_dev_t.c print_fields.h \
-+	personality.c pidfd_getfd.c pidfd_open.c pidns.c pkeys.c \
-+	poll.c prctl.c print_aio_sigset.c print_dev_t.c print_fields.h \
- 	print_group_req.c print_ifindex.c print_instruction_pointer.c \
- 	print_kernel_version.c print_mac.c print_mq_attr.c \
- 	print_msgbuf.c print_sg_req_info.c print_sigevent.c \
-@@ -369,10 +369,10 @@
- 	string_to_uint.h swapon.c sync_file_range.c sync_file_range2.c \
- 	syscall.c sysctl.c sysent.h sysent_shorthand_defs.h \
- 	sysent_shorthand_undefs.h sysinfo.c syslog.c sysmips.c term.c \
--	time.c times.c trace_event.h truncate.c ubi.c ucopy.c uid.c \
--	uid16.c umask.c umount.c uname.c upeek.c upoke.c userfaultfd.c \
--	ustat.c util.c utime.c utimes.c v4l2.c wait.c wait.h \
--	watchdog_ioctl.c xattr.c xfs_quota_stat.h xgetdents.c \
-+	time.c times.c trace_event.h trie.c trie.h truncate.c ubi.c \
-+	ucopy.c uid.c uid16.c umask.c umount.c uname.c upeek.c upoke.c \
-+	userfaultfd.c ustat.c util.c utime.c utimes.c v4l2.c wait.c \
-+	wait.h watchdog_ioctl.c xattr.c xfs_quota_stat.h xgetdents.c \
- 	xgetdents.h xlat.c xlat.h xmalloc.c xmalloc.h xstring.h \
- 	types/cryptouser.h types/evdev.h types/io_uring.h \
- 	types/openat2.h types/rtnl_link.h types/rtnl_mdb.h \
-@@ -487,8 +487,9 @@
- 	libstrace_a-perf_ioctl.$(OBJEXT) \
- 	libstrace_a-personality.$(OBJEXT) \
- 	libstrace_a-pidfd_getfd.$(OBJEXT) \
--	libstrace_a-pidfd_open.$(OBJEXT) libstrace_a-pkeys.$(OBJEXT) \
--	libstrace_a-poll.$(OBJEXT) libstrace_a-prctl.$(OBJEXT) \
-+	libstrace_a-pidfd_open.$(OBJEXT) libstrace_a-pidns.$(OBJEXT) \
-+	libstrace_a-pkeys.$(OBJEXT) libstrace_a-poll.$(OBJEXT) \
-+	libstrace_a-prctl.$(OBJEXT) \
- 	libstrace_a-print_aio_sigset.$(OBJEXT) \
- 	libstrace_a-print_dev_t.$(OBJEXT) \
- 	libstrace_a-print_group_req.$(OBJEXT) \
-@@ -553,15 +554,15 @@
- 	libstrace_a-sysinfo.$(OBJEXT) libstrace_a-syslog.$(OBJEXT) \
- 	libstrace_a-sysmips.$(OBJEXT) libstrace_a-term.$(OBJEXT) \
- 	libstrace_a-time.$(OBJEXT) libstrace_a-times.$(OBJEXT) \
--	libstrace_a-truncate.$(OBJEXT) libstrace_a-ubi.$(OBJEXT) \
--	libstrace_a-ucopy.$(OBJEXT) libstrace_a-uid.$(OBJEXT) \
--	libstrace_a-uid16.$(OBJEXT) libstrace_a-umask.$(OBJEXT) \
--	libstrace_a-umount.$(OBJEXT) libstrace_a-uname.$(OBJEXT) \
--	libstrace_a-upeek.$(OBJEXT) libstrace_a-upoke.$(OBJEXT) \
--	libstrace_a-userfaultfd.$(OBJEXT) libstrace_a-ustat.$(OBJEXT) \
--	libstrace_a-util.$(OBJEXT) libstrace_a-utime.$(OBJEXT) \
--	libstrace_a-utimes.$(OBJEXT) libstrace_a-v4l2.$(OBJEXT) \
--	libstrace_a-wait.$(OBJEXT) \
-+	libstrace_a-trie.$(OBJEXT) libstrace_a-truncate.$(OBJEXT) \
-+	libstrace_a-ubi.$(OBJEXT) libstrace_a-ucopy.$(OBJEXT) \
-+	libstrace_a-uid.$(OBJEXT) libstrace_a-uid16.$(OBJEXT) \
-+	libstrace_a-umask.$(OBJEXT) libstrace_a-umount.$(OBJEXT) \
-+	libstrace_a-uname.$(OBJEXT) libstrace_a-upeek.$(OBJEXT) \
-+	libstrace_a-upoke.$(OBJEXT) libstrace_a-userfaultfd.$(OBJEXT) \
-+	libstrace_a-ustat.$(OBJEXT) libstrace_a-util.$(OBJEXT) \
-+	libstrace_a-utime.$(OBJEXT) libstrace_a-utimes.$(OBJEXT) \
-+	libstrace_a-v4l2.$(OBJEXT) libstrace_a-wait.$(OBJEXT) \
- 	libstrace_a-watchdog_ioctl.$(OBJEXT) \
- 	libstrace_a-xattr.$(OBJEXT) libstrace_a-xgetdents.$(OBJEXT) \
- 	libstrace_a-xlat.$(OBJEXT) libstrace_a-xmalloc.$(OBJEXT) \
-@@ -834,6 +835,7 @@
- 	./$(DEPDIR)/libstrace_a-personality.Po \
- 	./$(DEPDIR)/libstrace_a-pidfd_getfd.Po \
- 	./$(DEPDIR)/libstrace_a-pidfd_open.Po \
-+	./$(DEPDIR)/libstrace_a-pidns.Po \
- 	./$(DEPDIR)/libstrace_a-pkeys.Po \
- 	./$(DEPDIR)/libstrace_a-poll.Po \
- 	./$(DEPDIR)/libstrace_a-prctl.Po \
-@@ -924,6 +926,7 @@
- 	./$(DEPDIR)/libstrace_a-term.Po \
- 	./$(DEPDIR)/libstrace_a-time.Po \
- 	./$(DEPDIR)/libstrace_a-times.Po \
-+	./$(DEPDIR)/libstrace_a-trie.Po \
- 	./$(DEPDIR)/libstrace_a-truncate.Po \
- 	./$(DEPDIR)/libstrace_a-ubi.Po \
- 	./$(DEPDIR)/libstrace_a-ucopy.Po \
-@@ -1829,8 +1832,8 @@
- 	nlattr.c nlattr.h nsfs.c nsfs.h nsig.h numa.c number_set.c \
- 	number_set.h oldstat.c open.c open_tree.c or1k_atomic.c \
- 	pathtrace.c perf.c perf_event_struct.h perf_ioctl.c \
--	personality.c pidfd_getfd.c pidfd_open.c pkeys.c poll.c \
--	prctl.c print_aio_sigset.c print_dev_t.c print_fields.h \
-+	personality.c pidfd_getfd.c pidfd_open.c pidns.c pkeys.c \
-+	poll.c prctl.c print_aio_sigset.c print_dev_t.c print_fields.h \
- 	print_group_req.c print_ifindex.c print_instruction_pointer.c \
- 	print_kernel_version.c print_mac.c print_mq_attr.c \
- 	print_msgbuf.c print_sg_req_info.c print_sigevent.c \
-@@ -1854,10 +1857,10 @@
- 	string_to_uint.h swapon.c sync_file_range.c sync_file_range2.c \
- 	syscall.c sysctl.c sysent.h sysent_shorthand_defs.h \
- 	sysent_shorthand_undefs.h sysinfo.c syslog.c sysmips.c term.c \
--	time.c times.c trace_event.h truncate.c ubi.c ucopy.c uid.c \
--	uid16.c umask.c umount.c uname.c upeek.c upoke.c userfaultfd.c \
--	ustat.c util.c utime.c utimes.c v4l2.c wait.c wait.h \
--	watchdog_ioctl.c xattr.c xfs_quota_stat.h xgetdents.c \
-+	time.c times.c trace_event.h trie.c trie.h truncate.c ubi.c \
-+	ucopy.c uid.c uid16.c umask.c umount.c uname.c upeek.c upoke.c \
-+	userfaultfd.c ustat.c util.c utime.c utimes.c v4l2.c wait.c \
-+	wait.h watchdog_ioctl.c xattr.c xfs_quota_stat.h xgetdents.c \
- 	xgetdents.h xlat.c xlat.h xmalloc.c xmalloc.h xstring.h \
- 	$(TYPES_HEADER_FILES) $(strace_SOURCES_check) $(am__append_1) \
- 	$(am__append_2) $(am__append_7)
-@@ -2899,6 +2902,7 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstrace_a-personality.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstrace_a-pidfd_getfd.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstrace_a-pidfd_open.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstrace_a-pidns.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstrace_a-pkeys.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstrace_a-poll.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstrace_a-prctl.Po@am__quote@ # am--include-marker
-@@ -2989,6 +2993,7 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstrace_a-term.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstrace_a-time.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstrace_a-times.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstrace_a-trie.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstrace_a-truncate.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstrace_a-ubi.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstrace_a-ucopy.Po@am__quote@ # am--include-marker
-@@ -6015,6 +6020,20 @@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -c -o libstrace_a-pidfd_open.obj `if test -f 'pidfd_open.c'; then $(CYGPATH_W) 'pidfd_open.c'; else $(CYGPATH_W) '$(srcdir)/pidfd_open.c'; fi`
- 
-+libstrace_a-pidns.o: pidns.c
-+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -MT libstrace_a-pidns.o -MD -MP -MF $(DEPDIR)/libstrace_a-pidns.Tpo -c -o libstrace_a-pidns.o `test -f 'pidns.c' || echo '$(srcdir)/'`pidns.c
-+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libstrace_a-pidns.Tpo $(DEPDIR)/libstrace_a-pidns.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='pidns.c' object='libstrace_a-pidns.o' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -c -o libstrace_a-pidns.o `test -f 'pidns.c' || echo '$(srcdir)/'`pidns.c
-+
-+libstrace_a-pidns.obj: pidns.c
-+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -MT libstrace_a-pidns.obj -MD -MP -MF $(DEPDIR)/libstrace_a-pidns.Tpo -c -o libstrace_a-pidns.obj `if test -f 'pidns.c'; then $(CYGPATH_W) 'pidns.c'; else $(CYGPATH_W) '$(srcdir)/pidns.c'; fi`
-+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libstrace_a-pidns.Tpo $(DEPDIR)/libstrace_a-pidns.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='pidns.c' object='libstrace_a-pidns.obj' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -c -o libstrace_a-pidns.obj `if test -f 'pidns.c'; then $(CYGPATH_W) 'pidns.c'; else $(CYGPATH_W) '$(srcdir)/pidns.c'; fi`
-+
- libstrace_a-pkeys.o: pkeys.c
- @am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -MT libstrace_a-pkeys.o -MD -MP -MF $(DEPDIR)/libstrace_a-pkeys.Tpo -c -o libstrace_a-pkeys.o `test -f 'pkeys.c' || echo '$(srcdir)/'`pkeys.c
- @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libstrace_a-pkeys.Tpo $(DEPDIR)/libstrace_a-pkeys.Po
-@@ -7275,6 +7294,20 @@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -c -o libstrace_a-times.obj `if test -f 'times.c'; then $(CYGPATH_W) 'times.c'; else $(CYGPATH_W) '$(srcdir)/times.c'; fi`
- 
-+libstrace_a-trie.o: trie.c
-+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -MT libstrace_a-trie.o -MD -MP -MF $(DEPDIR)/libstrace_a-trie.Tpo -c -o libstrace_a-trie.o `test -f 'trie.c' || echo '$(srcdir)/'`trie.c
-+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libstrace_a-trie.Tpo $(DEPDIR)/libstrace_a-trie.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='trie.c' object='libstrace_a-trie.o' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -c -o libstrace_a-trie.o `test -f 'trie.c' || echo '$(srcdir)/'`trie.c
-+
-+libstrace_a-trie.obj: trie.c
-+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -MT libstrace_a-trie.obj -MD -MP -MF $(DEPDIR)/libstrace_a-trie.Tpo -c -o libstrace_a-trie.obj `if test -f 'trie.c'; then $(CYGPATH_W) 'trie.c'; else $(CYGPATH_W) '$(srcdir)/trie.c'; fi`
-+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libstrace_a-trie.Tpo $(DEPDIR)/libstrace_a-trie.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='trie.c' object='libstrace_a-trie.obj' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -c -o libstrace_a-trie.obj `if test -f 'trie.c'; then $(CYGPATH_W) 'trie.c'; else $(CYGPATH_W) '$(srcdir)/trie.c'; fi`
-+
- libstrace_a-truncate.o: truncate.c
- @am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -MT libstrace_a-truncate.o -MD -MP -MF $(DEPDIR)/libstrace_a-truncate.Tpo -c -o libstrace_a-truncate.o `test -f 'truncate.c' || echo '$(srcdir)/'`truncate.c
- @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libstrace_a-truncate.Tpo $(DEPDIR)/libstrace_a-truncate.Po
-@@ -8411,6 +8444,7 @@
- 	-rm -f ./$(DEPDIR)/libstrace_a-personality.Po
- 	-rm -f ./$(DEPDIR)/libstrace_a-pidfd_getfd.Po
- 	-rm -f ./$(DEPDIR)/libstrace_a-pidfd_open.Po
-+	-rm -f ./$(DEPDIR)/libstrace_a-pidns.Po
- 	-rm -f ./$(DEPDIR)/libstrace_a-pkeys.Po
- 	-rm -f ./$(DEPDIR)/libstrace_a-poll.Po
- 	-rm -f ./$(DEPDIR)/libstrace_a-prctl.Po
-@@ -8501,6 +8535,7 @@
- 	-rm -f ./$(DEPDIR)/libstrace_a-term.Po
- 	-rm -f ./$(DEPDIR)/libstrace_a-time.Po
- 	-rm -f ./$(DEPDIR)/libstrace_a-times.Po
-+	-rm -f ./$(DEPDIR)/libstrace_a-trie.Po
- 	-rm -f ./$(DEPDIR)/libstrace_a-truncate.Po
- 	-rm -f ./$(DEPDIR)/libstrace_a-ubi.Po
- 	-rm -f ./$(DEPDIR)/libstrace_a-ucopy.Po
-@@ -8796,6 +8831,7 @@
- 	-rm -f ./$(DEPDIR)/libstrace_a-personality.Po
- 	-rm -f ./$(DEPDIR)/libstrace_a-pidfd_getfd.Po
- 	-rm -f ./$(DEPDIR)/libstrace_a-pidfd_open.Po
-+	-rm -f ./$(DEPDIR)/libstrace_a-pidns.Po
- 	-rm -f ./$(DEPDIR)/libstrace_a-pkeys.Po
- 	-rm -f ./$(DEPDIR)/libstrace_a-poll.Po
- 	-rm -f ./$(DEPDIR)/libstrace_a-prctl.Po
-@@ -8886,6 +8922,7 @@
- 	-rm -f ./$(DEPDIR)/libstrace_a-term.Po
- 	-rm -f ./$(DEPDIR)/libstrace_a-time.Po
- 	-rm -f ./$(DEPDIR)/libstrace_a-times.Po
-+	-rm -f ./$(DEPDIR)/libstrace_a-trie.Po
- 	-rm -f ./$(DEPDIR)/libstrace_a-truncate.Po
- 	-rm -f ./$(DEPDIR)/libstrace_a-ubi.Po
- 	-rm -f ./$(DEPDIR)/libstrace_a-ucopy.Po
diff --git a/SOURCES/0135-Use-printpid-in-decoders.patch b/SOURCES/0135-Use-printpid-in-decoders.patch
deleted file mode 100644
index dd4291b..0000000
--- a/SOURCES/0135-Use-printpid-in-decoders.patch
+++ /dev/null
@@ -1,1212 +0,0 @@
-From 4d1964761ad04028a0e6288821ee0feef5ca8fc1 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?=C3=81kos=20Uzonyi?= <uzonyi.akos@gmail.com>
-Date: Wed, 10 Jun 2020 13:18:50 +0200
-Subject: [PATCH 135/138] Use printpid in decoders
-
-* getpid.c: New file.
-* Makefile.am (libstrace_a_SOURCES): Add it.
-* linux/dummy.h (sys_getpid, sys_getppid, sys_gettid,
-sys_setpgid, sys_setpgrp): Remove.
-* util.c (printfd_pid_tracee_ns): Implement using translate_pid.
-* defs.h (printnum_pid): New function definition.
-(printfd_pid_tracee_ns): Update documentation
-* util.c: (printnum_pid): New function.
-* print_fields.h (PRINT_FIELD_TID): New macro.
-(PRINT_FIELD_TGID): Likewise.
-(PRINT_FIELD_PGID): Likewise.
-(PRINT_FIELD_SID): Likewise.
-* affinity.c: Print PIDs with printpid.
-* block.c: Likewise.
-* bpf.c: Likewise.
-* capability.c: Likewise.
-* clone.c: Likewise.
-* fcntl.c: Likewise.
-* get_robust_list.c: Likewise.
-* ioprio.c: Likewise.
-* kcmp.c: Likewise.
-* msghdr.c: Likewise.
-* net.c: Likewise.
-* netlink.c: Likewise.
-* numa.c: Likewise.
-* pidfd_open.c: Likewise.
-* printsiginfo.c: Likewise.
-* process.c: Likewise.
-* process_vm.c: Likewise.
-* resource.c: Likewise.
-* sched.c: Likewise.
-* signal.c: Likewise.
-* sockaddr.c: Likewise.
-* wait.c: Likewise.
-* kcmp.c (SYS_FUNC(kcmp)): Fix KCMP_FILE pid arguments.
-* tests/kcmp.c (printpidfd): Print path if VERBOSE_FD.
-(main): Use our real pid if real fds are used.
----
- Makefile.am       |  1 +
- affinity.c        |  6 ++++--
- block.c           |  2 +-
- bpf.c             |  2 +-
- capability.c      |  4 +++-
- clone.c           | 14 +++++++-------
- defs.h            |  5 ++++-
- fcntl.c           | 24 ++++++++++++++++++++++--
- get_robust_list.c |  3 ++-
- getpid.c          | 46 ++++++++++++++++++++++++++++++++++++++++++++++
- ioprio.c          | 26 ++++++++++++++++++++++----
- ipc_shmctl.c      |  4 ++--
- kcmp.c            |  5 ++++-
- linux/dummy.h     |  8 +-------
- msghdr.c          |  2 +-
- net.c             |  2 +-
- netlink.c         |  5 +++--
- numa.c            |  6 ++++--
- pidfd_open.c      |  2 +-
- print_fields.h    | 24 ++++++++++++++++++++++++
- printsiginfo.c    |  2 +-
- process.c         |  3 ++-
- process_vm.c      |  6 ++++--
- resource.c        | 27 ++++++++++++++++++++++++---
- sched.c           | 25 ++++++++++++++++---------
- signal.c          | 21 +++++++++++++++------
- sockaddr.c        |  2 +-
- tests/kcmp.c      | 25 ++++++++++++++++++++++---
- util.c            | 22 +++++++++++++++-------
- wait.c            | 36 ++++++++++++++++++++++++------------
- 30 files changed, 278 insertions(+), 82 deletions(-)
- create mode 100644 getpid.c
-
-Index: strace-5.7/Makefile.am
-===================================================================
---- strace-5.7.orig/Makefile.am	2020-09-09 15:52:09.159983257 +0200
-+++ strace-5.7/Makefile.am	2020-09-09 18:49:06.780401433 +0200
-@@ -135,6 +135,7 @@
- 	getcpu.c	\
- 	getcwd.c	\
- 	getpagesize.c \
-+	getpid.c	\
- 	getrandom.c	\
- 	hdio.c		\
- 	hostname.c	\
-Index: strace-5.7/affinity.c
-===================================================================
---- strace-5.7.orig/affinity.c	2020-09-09 15:52:09.159983257 +0200
-+++ strace-5.7/affinity.c	2020-09-09 15:55:03.979108297 +0200
-@@ -82,7 +82,8 @@
- 	const int pid = tcp->u_arg[0];
- 	const unsigned int len = tcp->u_arg[1];
- 
--	tprintf("%d, %u, ", pid, len);
-+	printpid(tcp, pid, PT_TGID);
-+	tprintf(", %u, ", len);
- 	print_affinitylist(tcp, tcp->u_arg[2], len);
- 
- 	return RVAL_DECODED;
-@@ -94,7 +95,8 @@
- 	const unsigned int len = tcp->u_arg[1];
- 
- 	if (entering(tcp)) {
--		tprintf("%d, %u, ", pid, len);
-+		printpid(tcp, pid, PT_TGID);
-+		tprintf(", %u, ", len);
- 	} else {
- 		print_affinitylist(tcp, tcp->u_arg[2], tcp->u_rval);
- 	}
-Index: strace-5.7/block.c
-===================================================================
---- strace-5.7.orig/block.c	2020-09-09 15:52:09.159983257 +0200
-+++ strace-5.7/block.c	2020-09-09 15:55:03.979108297 +0200
-@@ -179,7 +179,7 @@
- 			PRINT_FIELD_U(", ", buts, buf_nr);
- 			PRINT_FIELD_U(", ", buts, start_lba);
- 			PRINT_FIELD_U(", ", buts, end_lba);
--			PRINT_FIELD_D(", ", buts, pid);
-+			PRINT_FIELD_TGID(", ", buts, pid, tcp);
- 			return 0;
- 		} else {
- 			struct_blk_user_trace_setup buts;
-Index: strace-5.7/bpf.c
-===================================================================
---- strace-5.7.orig/bpf.c	2020-09-09 15:52:09.159983257 +0200
-+++ strace-5.7/bpf.c	2020-09-09 15:55:03.980108298 +0200
-@@ -927,7 +927,7 @@
- 	if (entering(tcp)) {
- 		set_tcb_priv_ulong(tcp, attr.buf_len);
- 
--		PRINT_FIELD_D("{task_fd_query={", attr, pid);
-+		PRINT_FIELD_TGID("{task_fd_query={", attr, pid, tcp);
- 		PRINT_FIELD_FD(", ", attr, fd, tcp);
- 		PRINT_FIELD_U(", ", attr, flags);
- 		PRINT_FIELD_U(", ", attr, buf_len);
-Index: strace-5.7/capability.c
-===================================================================
---- strace-5.7.orig/capability.c	2020-09-09 15:52:09.159983257 +0200
-+++ strace-5.7/capability.c	2020-09-09 15:55:03.980108298 +0200
-@@ -70,7 +70,9 @@
- 	tprints("{version=");
- 	printxval(cap_version, h->version,
- 		  "_LINUX_CAPABILITY_VERSION_???");
--	tprintf(", pid=%d}", h->pid);
-+	tprints(", pid=");
-+	printpid(tcp, h->pid, PT_TGID);
-+	tprints("}");
- }
- 
- static void
-Index: strace-5.7/clone.c
-===================================================================
---- strace-5.7.orig/clone.c	2020-09-09 15:52:09.159983257 +0200
-+++ strace-5.7/clone.c	2020-09-09 15:55:03.980108298 +0200
-@@ -114,14 +114,14 @@
- 		 */
- 		if ((flags & (CLONE_PARENT_SETTID|CLONE_PIDFD|CLONE_CHILD_SETTID
- 			      |CLONE_CHILD_CLEARTID|CLONE_SETTLS)) == 0)
--			return RVAL_DECODED;
-+			return RVAL_DECODED | RVAL_TID;
- 	} else {
- 		if (flags & (CLONE_PARENT_SETTID|CLONE_PIDFD)) {
- 			kernel_ulong_t addr = tcp->u_arg[ARG_PTID];
- 
- 			tprints(", parent_tid=");
- 			if (flags & CLONE_PARENT_SETTID)
--				printnum_int(tcp, addr, "%u");
-+				printnum_pid(tcp, addr, PT_TID);
- 			else
- 				printnum_fd(tcp, addr);
- 		}
-@@ -134,7 +134,7 @@
- 			printaddr(tcp->u_arg[ARG_CTID]);
- 		}
- 	}
--	return 0;
-+	return RVAL_TID;
- }
- 
- 
-@@ -229,7 +229,7 @@
- 
- 		if ((arg.flags & (CLONE_PIDFD | CLONE_PARENT_SETTID)) ||
- 		    (size > fetch_size))
--			return 0;
-+			return RVAL_TID;
- 
- 		goto out;
- 	}
-@@ -256,7 +256,7 @@
- 
- 	if (arg.flags & CLONE_PARENT_SETTID) {
- 		tprintf("%sparent_tid=", pfx);
--		printnum_int(tcp, arg.parent_tid, "%d"); /* TID */
-+		printnum_pid(tcp, arg.parent_tid, PT_TID);
- 		pfx = ", ";
- 	}
- 
-@@ -279,7 +279,7 @@
- out:
- 	tprintf(", %" PRI_klu, size);
- 
--	return RVAL_DECODED;
-+	return RVAL_DECODED | RVAL_TID;
- }
- 
- 
-@@ -300,5 +300,5 @@
- 
- SYS_FUNC(fork)
- {
--	return RVAL_DECODED;
-+	return RVAL_DECODED | RVAL_TGID;
- }
-Index: strace-5.7/defs.h
-===================================================================
---- strace-5.7.orig/defs.h	2020-09-09 15:52:09.159983257 +0200
-+++ strace-5.7/defs.h	2020-09-09 15:55:03.980108298 +0200
-@@ -1101,7 +1101,7 @@
- 
- /**
-  * Print file descriptor fd owned by process with ID pid (from the PID NS
-- * of the tracee the descriptor tcp).  This is a stub.
-+ * of the tracee).
-  */
- extern void printfd_pid_tracee_ns(struct tcb *tcp, pid_t pid, int fd);
- 
-@@ -1562,6 +1562,9 @@
- extern bool
- printnum_fd(struct tcb *, kernel_ulong_t addr);
- 
-+extern bool
-+printnum_pid(struct tcb *const tcp, const kernel_ulong_t addr, enum pid_type type);
-+
- static inline bool
- printnum_slong(struct tcb *tcp, kernel_ulong_t addr)
- {
-Index: strace-5.7/fcntl.c
-===================================================================
---- strace-5.7.orig/fcntl.c	2020-09-09 15:52:09.159983257 +0200
-+++ strace-5.7/fcntl.c	2020-09-09 15:55:03.981108298 +0200
-@@ -28,7 +28,7 @@
- 	PRINT_FIELD_D(", ", *fl, l_start);
- 	PRINT_FIELD_D(", ", *fl, l_len);
- 	if (getlk)
--		PRINT_FIELD_D(", ", *fl, l_pid);
-+		PRINT_FIELD_TGID(", ", *fl, l_pid, tcp);
- 	tprints("}");
- }
- 
-@@ -59,7 +59,22 @@
- 		return;
- 
- 	PRINT_FIELD_XVAL("{", owner, type, f_owner_types, "F_OWNER_???");
--	PRINT_FIELD_D(", ", owner, pid);
-+
-+	enum pid_type pid_type = PT_NONE;
-+	switch (owner.type)
-+	{
-+	case F_OWNER_TID:
-+		pid_type = PT_TID;
-+		break;
-+	case F_OWNER_PID:
-+		pid_type = PT_TGID;
-+		break;
-+	case F_OWNER_PGRP:
-+		pid_type = PT_PGID;
-+		break;
-+	}
-+	tprints(", pid=");
-+	printpid(tcp, owner.pid, pid_type);
- 	tprints("}");
- }
- 
-@@ -74,6 +89,9 @@
- 		printflags(fdflags, tcp->u_arg[2], "FD_???");
- 		break;
- 	case F_SETOWN:
-+		tprints(", ");
-+		printpid_tgid_pgid(tcp, tcp->u_arg[2]);
-+		break;
- 	case F_SETPIPE_SZ:
- 		tprintf(", %" PRI_kld, tcp->u_arg[2]);
- 		break;
-@@ -116,6 +134,8 @@
- 		printsignal(tcp->u_arg[2]);
- 		break;
- 	case F_GETOWN:
-+		return RVAL_DECODED |
-+		       ((int) tcp->u_rval < 0 ? RVAL_PGID : RVAL_TGID);
- 	case F_GETPIPE_SZ:
- 		break;
- 	case F_GETFD:
-Index: strace-5.7/get_robust_list.c
-===================================================================
---- strace-5.7.orig/get_robust_list.c	2020-09-09 15:52:09.159983257 +0200
-+++ strace-5.7/get_robust_list.c	2020-09-09 15:55:03.981108298 +0200
-@@ -10,7 +10,8 @@
- SYS_FUNC(get_robust_list)
- {
- 	if (entering(tcp)) {
--		tprintf("%d, ", (int) tcp->u_arg[0]);
-+		printpid(tcp, tcp->u_arg[0], PT_TID);
-+		tprints(", ");
- 	} else {
- 		printnum_ptr(tcp, tcp->u_arg[1]);
- 		tprints(", ");
-Index: strace-5.7/getpid.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/getpid.c	2020-09-09 15:55:03.981108298 +0200
-@@ -0,0 +1,46 @@
-+/*
-+ * Copyright (c) 2020 Ákos Uzonyi <uzonyi.akos@gmail.com>
-+ * All rights reserved.
-+ *
-+ * SPDX-License-Identifier: LGPL-2.1-or-later
-+ */
-+
-+#include "defs.h"
-+
-+SYS_FUNC(getpid)
-+{
-+	return RVAL_DECODED | RVAL_TGID;
-+}
-+
-+SYS_FUNC(gettid)
-+{
-+	return RVAL_DECODED | RVAL_TID;
-+}
-+
-+SYS_FUNC(getpgrp)
-+{
-+	return RVAL_DECODED | RVAL_PGID;
-+}
-+
-+SYS_FUNC(getpgid)
-+{
-+	printpid(tcp, tcp->u_arg[0], PT_TGID);
-+
-+	return RVAL_DECODED | RVAL_PGID;
-+}
-+
-+SYS_FUNC(getsid)
-+{
-+	printpid(tcp, tcp->u_arg[0], PT_TGID);
-+
-+	return RVAL_DECODED | RVAL_SID;
-+}
-+
-+SYS_FUNC(setpgid)
-+{
-+	printpid(tcp, tcp->u_arg[0], PT_TGID);
-+	tprints(", ");
-+	printpid(tcp, tcp->u_arg[1], PT_PGID);
-+
-+	return RVAL_DECODED;
-+}
-Index: strace-5.7/ioprio.c
-===================================================================
---- strace-5.7.orig/ioprio.c	2020-09-09 15:52:09.159983257 +0200
-+++ strace-5.7/ioprio.c	2020-09-09 15:55:03.981108298 +0200
-@@ -49,13 +49,30 @@
- 		? tprints_comment : tprints)(str);
- }
- 
-+static void
-+ioprio_print_who(struct tcb *tcp, int which, int who)
-+{
-+	switch (which)
-+	{
-+	case IOPRIO_WHO_PROCESS:
-+		printpid(tcp, who, PT_TGID);
-+		break;
-+	case IOPRIO_WHO_PGRP:
-+		printpid(tcp, who, PT_PGID);
-+		break;
-+	default:
-+		tprintf("%d", who);
-+		break;
-+	}
-+}
-+
- SYS_FUNC(ioprio_get)
- {
- 	if (entering(tcp)) {
- 		/* int which */
- 		printxval(ioprio_who, tcp->u_arg[0], "IOPRIO_WHO_???");
--		/* int who */
--		tprintf(", %d", (int) tcp->u_arg[1]);
-+		tprints(", ");
-+		ioprio_print_who(tcp, tcp->u_arg[0], tcp->u_arg[1]);
- 		return 0;
- 	} else {
- 		if (syserror(tcp))
-@@ -72,8 +89,9 @@
- {
- 	/* int which */
- 	printxval(ioprio_who, tcp->u_arg[0], "IOPRIO_WHO_???");
--	/* int who */
--	tprintf(", %d, ", (int) tcp->u_arg[1]);
-+	tprints(", ");
-+	ioprio_print_who(tcp, tcp->u_arg[0], tcp->u_arg[1]);
-+	tprints(", ");
- 	/* int ioprio */
- 	if (xlat_verbose(xlat_verbosity) != XLAT_STYLE_ABBREV)
- 		tprintf("%d", (int) tcp->u_arg[2]);
-Index: strace-5.7/ipc_shmctl.c
-===================================================================
---- strace-5.7.orig/ipc_shmctl.c	2020-09-09 15:52:09.159983257 +0200
-+++ strace-5.7/ipc_shmctl.c	2020-09-09 15:55:03.981108298 +0200
-@@ -54,8 +54,8 @@
- 		PRINT_FIELD_UID(", ", shmid_ds.shm_perm, cgid);
- 		tprints("}");
- 		tprintf(", shm_segsz=%u", (unsigned) shmid_ds.shm_segsz);
--		PRINT_FIELD_D(", ", shmid_ds, shm_cpid);
--		PRINT_FIELD_D(", ", shmid_ds, shm_lpid);
-+		PRINT_FIELD_TGID(", ", shmid_ds, shm_cpid, tcp);
-+		PRINT_FIELD_TGID(", ", shmid_ds, shm_lpid, tcp);
- 		tprintf(", shm_nattch=%u", (unsigned) shmid_ds.shm_nattch);
- 		tprintf(", shm_atime=%u", (unsigned) shmid_ds.shm_atime);
- 		tprintf(", shm_dtime=%u", (unsigned) shmid_ds.shm_dtime);
-Index: strace-5.7/kcmp.c
-===================================================================
---- strace-5.7.orig/kcmp.c	2020-09-09 15:52:09.159983257 +0200
-+++ strace-5.7/kcmp.c	2020-09-09 15:55:03.981108298 +0200
-@@ -30,7 +30,10 @@
- 	kernel_ulong_t idx1 = tcp->u_arg[3];
- 	kernel_ulong_t idx2 = tcp->u_arg[4];
- 
--	tprintf("%d, %d, ", pid1, pid2);
-+	printpid(tcp, pid1, PT_TGID);
-+	tprints(", ");
-+	printpid(tcp, pid2, PT_TGID);
-+	tprints(", ");
- 	printxval(kcmp_types, type, "KCMP_???");
- 
- 	switch (type) {
-Index: strace-5.7/linux/dummy.h
-===================================================================
---- strace-5.7.orig/linux/dummy.h	2020-09-09 15:52:09.159983257 +0200
-+++ strace-5.7/linux/dummy.h	2020-09-09 15:55:03.982108299 +0200
-@@ -53,6 +53,7 @@
- # define sys_getgid		sys_getuid
- # define sys_getgid16		sys_getuid16
- # define sys_getpeername		sys_getsockname
-+# define sys_getppid		sys_getpid
- # define sys_getresgid		sys_getresuid
- # define sys_getresgid16		sys_getresuid16
- # define sys_lstat		sys_stat
-@@ -87,10 +88,6 @@
- # define sys_vfork		sys_fork
- 
- /* printargs does the right thing */
--# define sys_getpgrp		printargs
--# define sys_getpid		printargs
--# define sys_getppid		printargs
--# define sys_gettid		printargs
- # define sys_idle		printargs
- # define sys_munlockall		printargs
- # define sys_pause		printargs
-@@ -108,10 +105,7 @@
- 
- /* printargs_d does the right thing */
- # define sys_exit		printargs_d
--# define sys_getpgid		printargs_d
--# define sys_getsid		printargs_d
- # define sys_nice		printargs_d
--# define sys_setpgid		printargs_d
- # define sys_setpgrp		printargs_d
- # define sys_timer_delete	printargs_d
- # define sys_timer_getoverrun	printargs_d
-Index: strace-5.7/msghdr.c
-===================================================================
---- strace-5.7.orig/msghdr.c	2020-09-09 15:52:09.159983257 +0200
-+++ strace-5.7/msghdr.c	2020-09-09 15:55:03.982108299 +0200
-@@ -69,7 +69,7 @@
- {
- 	const struct ucred *uc = cmsg_data;
- 
--	PRINT_FIELD_D("{", *uc, pid);
-+	PRINT_FIELD_TGID("{", *uc, pid, tcp);
- 	PRINT_FIELD_UID(", ", *uc, uid);
- 	PRINT_FIELD_UID(", ", *uc, gid);
- 	tprints("}");
-Index: strace-5.7/net.c
-===================================================================
---- strace-5.7.orig/net.c	2020-09-09 15:52:09.159983257 +0200
-+++ strace-5.7/net.c	2020-09-09 15:55:03.982108299 +0200
-@@ -601,7 +601,7 @@
- 	if (umoven_or_printaddr(tcp, addr, len, &uc))
- 		return;
- 
--	PRINT_FIELD_LEN("{", uc, pid, len, PRINT_FIELD_D);
-+	PRINT_FIELD_LEN("{", uc, pid, len, PRINT_FIELD_TGID, tcp);
- 	PRINT_FIELD_LEN(", ", uc, uid, len, PRINT_FIELD_UID);
- 	PRINT_FIELD_LEN(", ", uc, gid, len, PRINT_FIELD_UID);
- 	tprints("}");
-Index: strace-5.7/netlink.c
-===================================================================
---- strace-5.7.orig/netlink.c	2020-09-09 15:52:09.159983257 +0200
-+++ strace-5.7/netlink.c	2020-09-09 15:55:03.982108299 +0200
-@@ -446,8 +446,9 @@
- 	decode_nlmsg_flags(nlmsghdr->nlmsg_flags,
- 			   nlmsghdr->nlmsg_type, family);
- 
--	tprintf(", seq=%u, pid=%d}", nlmsghdr->nlmsg_seq,
--		nlmsghdr->nlmsg_pid);
-+	tprintf(", seq=%u, pid=", nlmsghdr->nlmsg_seq);
-+	printpid(tcp, nlmsghdr->nlmsg_pid, PT_TGID);
-+	tprints("}");
- }
- 
- static bool
-Index: strace-5.7/numa.c
-===================================================================
---- strace-5.7.orig/numa.c	2020-09-09 15:52:09.159983257 +0200
-+++ strace-5.7/numa.c	2020-09-09 15:55:03.982108299 +0200
-@@ -44,7 +44,8 @@
- 
- SYS_FUNC(migrate_pages)
- {
--	tprintf("%d, %" PRI_klu ", ", (int) tcp->u_arg[0], tcp->u_arg[1]);
-+	printpid(tcp, tcp->u_arg[0], PT_TGID);
-+	tprintf(", %" PRI_klu ", ", tcp->u_arg[1]);
- 	print_nodemask(tcp, tcp->u_arg[2], tcp->u_arg[1]);
- 	tprints(", ");
- 	print_nodemask(tcp, tcp->u_arg[3], tcp->u_arg[1]);
-@@ -170,7 +171,8 @@
- 	kernel_ulong_t buf;
- 
- 	if (entering(tcp)) {
--		tprintf("%d, %" PRI_klu ", ", (int) tcp->u_arg[0], npages);
-+		printpid(tcp, tcp->u_arg[0], PT_TGID);
-+		tprintf(", %" PRI_klu ", ", npages);
- 		print_array(tcp, tcp->u_arg[2], npages, &buf, current_wordsize,
- 			    tfetch_mem, print_addr, 0);
- 		tprints(", ");
-Index: strace-5.7/pidfd_open.c
-===================================================================
---- strace-5.7.orig/pidfd_open.c	2020-09-09 15:52:09.159983257 +0200
-+++ strace-5.7/pidfd_open.c	2020-09-09 15:55:03.983108300 +0200
-@@ -10,7 +10,7 @@
- SYS_FUNC(pidfd_open)
- {
- 	/* pid_t pid */
--	tprintf("%d", (int) tcp->u_arg[0]);
-+	printpid(tcp, tcp->u_arg[0], PT_TGID);
- 
- 	/* unsigned int flags */
- 	tprintf(", %#x", (unsigned int) tcp->u_arg[1]);
-Index: strace-5.7/print_fields.h
-===================================================================
---- strace-5.7.orig/print_fields.h	2020-09-09 15:52:09.159983257 +0200
-+++ strace-5.7/print_fields.h	2020-09-09 15:55:03.983108300 +0200
-@@ -236,6 +236,30 @@
- 		printfd((tcp_), (where_).field_);			\
- 	} while (0)
- 
-+# define PRINT_FIELD_TID(prefix_, where_, field_, tcp_)			\
-+	do {								\
-+		STRACE_PRINTF("%s%s=", (prefix_), #field_);		\
-+		printpid((tcp_), (where_).field_, PT_TID);			\
-+	} while (0)
-+
-+# define PRINT_FIELD_TGID(prefix_, where_, field_, tcp_)			\
-+	do {								\
-+		STRACE_PRINTF("%s%s=", (prefix_), #field_);		\
-+		printpid((tcp_), (where_).field_, PT_TGID);			\
-+	} while (0)
-+
-+# define PRINT_FIELD_PGID(prefix_, where_, field_, tcp_)			\
-+	do {								\
-+		STRACE_PRINTF("%s%s=", (prefix_), #field_);		\
-+		printpid((tcp_), (where_).field_, PT_PGID);			\
-+	} while (0)
-+
-+# define PRINT_FIELD_SID(prefix_, where_, field_, tcp_)			\
-+	do {								\
-+		STRACE_PRINTF("%s%s=", (prefix_), #field_);		\
-+		printpid((tcp_), (where_).field_, PT_SID);			\
-+	} while (0)
-+
- # define PRINT_FIELD_STRN(prefix_, where_, field_, len_, tcp_)		\
- 	do {								\
- 		STRACE_PRINTF("%s%s=", (prefix_), #field_);		\
-Index: strace-5.7/printsiginfo.c
-===================================================================
---- strace-5.7.orig/printsiginfo.c	2020-09-09 15:52:09.159983257 +0200
-+++ strace-5.7/printsiginfo.c	2020-09-09 15:55:03.983108300 +0200
-@@ -58,7 +58,7 @@
- static void
- printsigsource(struct tcb *tcp, const siginfo_t *sip)
- {
--	PRINT_FIELD_D(", ", *sip, si_pid);
-+	PRINT_FIELD_TGID(", ", *sip, si_pid, tcp);
- 	PRINT_FIELD_UID(", ", *sip, si_uid);
- }
- 
-Index: strace-5.7/process.c
-===================================================================
---- strace-5.7.orig/process.c	2020-09-09 15:52:09.159983257 +0200
-+++ strace-5.7/process.c	2020-09-09 15:55:03.983108300 +0200
-@@ -92,7 +92,8 @@
- 		}
- 
- 		/* pid */
--		tprintf(", %d", pid);
-+		tprints(", ");
-+		printpid(tcp, pid, PT_TGID);
- 
- 		/* addr */
- 		switch (request) {
-Index: strace-5.7/process_vm.c
-===================================================================
---- strace-5.7.orig/process_vm.c	2020-09-09 15:52:09.159983257 +0200
-+++ strace-5.7/process_vm.c	2020-09-09 15:55:03.983108300 +0200
-@@ -13,7 +13,8 @@
- {
- 	if (entering(tcp)) {
- 		/* arg 1: pid */
--		tprintf("%d, ", (int) tcp->u_arg[0]);
-+		printpid(tcp, tcp->u_arg[0], PT_TGID);
-+		tprints(", ");
- 	} else {
- 		kernel_ulong_t local_iovcnt = tcp->u_arg[2];
- 		kernel_ulong_t remote_iovcnt = tcp->u_arg[4];
-@@ -42,7 +43,8 @@
- 	kernel_ulong_t flags = tcp->u_arg[5];
- 
- 	/* arg 1: pid */
--	tprintf("%d, ", (int) tcp->u_arg[0]);
-+	printpid(tcp, tcp->u_arg[0], PT_TGID);
-+	tprints(", ");
- 	/* arg 2: local iov */
- 	tprint_iov(tcp, local_iovcnt, tcp->u_arg[1], IOV_DECODE_STR);
- 	/* arg 3: local iovcnt */
-Index: strace-5.7/resource.c
-===================================================================
---- strace-5.7.orig/resource.c	2020-09-09 15:52:09.159983257 +0200
-+++ strace-5.7/resource.c	2020-09-09 15:55:03.984108300 +0200
-@@ -142,7 +142,8 @@
- SYS_FUNC(prlimit64)
- {
- 	if (entering(tcp)) {
--		tprintf("%d, ", (int) tcp->u_arg[0]);
-+		printpid(tcp, tcp->u_arg[0], PT_TGID);
-+		tprints(", ");
- 		printxval(resources, tcp->u_arg[1], "RLIMIT_???");
- 		tprints(", ");
- 		print_rlimit64(tcp, tcp->u_arg[2]);
-@@ -179,10 +180,28 @@
- 
- #include "xlat/priorities.h"
- 
-+static void
-+priority_print_who(struct tcb *tcp, int which, int who)
-+{
-+	switch (which)
-+	{
-+	case PRIO_PROCESS:
-+		printpid(tcp, who, PT_TGID);
-+		break;
-+	case PRIO_PGRP:
-+		printpid(tcp, who, PT_PGID);
-+		break;
-+	default:
-+		tprintf("%d", who);
-+		break;
-+	}
-+}
-+
- SYS_FUNC(getpriority)
- {
- 	printxval(priorities, tcp->u_arg[0], "PRIO_???");
--	tprintf(", %d", (int) tcp->u_arg[1]);
-+	tprints(", ");
-+	priority_print_who(tcp, tcp->u_arg[0], tcp->u_arg[1]);
- 
- 	return RVAL_DECODED;
- }
-@@ -190,7 +209,9 @@
- SYS_FUNC(setpriority)
- {
- 	printxval(priorities, tcp->u_arg[0], "PRIO_???");
--	tprintf(", %d, %d", (int) tcp->u_arg[1], (int) tcp->u_arg[2]);
-+	tprints(", ");
-+	priority_print_who(tcp, tcp->u_arg[0], tcp->u_arg[1]);
-+	tprintf(", %d", (int) tcp->u_arg[2]);
- 
- 	return RVAL_DECODED;
- }
-Index: strace-5.7/sched.c
-===================================================================
---- strace-5.7.orig/sched.c	2020-09-09 15:52:09.159983257 +0200
-+++ strace-5.7/sched.c	2020-09-09 15:55:03.984108300 +0200
-@@ -21,7 +21,7 @@
- SYS_FUNC(sched_getscheduler)
- {
- 	if (entering(tcp)) {
--		tprintf("%d", (int) tcp->u_arg[0]);
-+		printpid(tcp, tcp->u_arg[0], PT_TGID);
- 	} else if (!syserror(tcp)) {
- 		tcp->auxstr = xlookup(schedulers, (kernel_ulong_t) tcp->u_rval);
- 		return RVAL_STR;
-@@ -31,7 +31,8 @@
- 
- SYS_FUNC(sched_setscheduler)
- {
--	tprintf("%d, ", (int) tcp->u_arg[0]);
-+	printpid(tcp, tcp->u_arg[0], PT_TGID);
-+	tprints(", ");
- 	printxval(schedulers, tcp->u_arg[1], "SCHED_???");
- 	tprints(", ");
- 	printnum_int(tcp, tcp->u_arg[2], "%d");
-@@ -41,16 +42,19 @@
- 
- SYS_FUNC(sched_getparam)
- {
--	if (entering(tcp))
--		tprintf("%d, ", (int) tcp->u_arg[0]);
--	else
-+	if (entering(tcp)) {
-+		printpid(tcp, tcp->u_arg[0], PT_TGID);
-+		tprints(", ");
-+	} else {
- 		printnum_int(tcp, tcp->u_arg[1], "%d");
-+	}
- 	return 0;
- }
- 
- SYS_FUNC(sched_setparam)
- {
--	tprintf("%d, ", (int) tcp->u_arg[0]);
-+	printpid(tcp, tcp->u_arg[0], PT_TGID);
-+	tprints(", ");
- 	printnum_int(tcp, tcp->u_arg[1], "%d");
- 
- 	return RVAL_DECODED;
-@@ -68,7 +72,8 @@
- 			 const print_obj_by_addr_fn print_ts)
- {
- 	if (entering(tcp)) {
--		tprintf("%d, ", (int) tcp->u_arg[0]);
-+		printpid(tcp, tcp->u_arg[0], PT_TGID);
-+		tprints(", ");
- 	} else {
- 		if (syserror(tcp))
- 			printaddr(tcp->u_arg[1]);
-@@ -160,7 +165,8 @@
- SYS_FUNC(sched_setattr)
- {
- 	if (entering(tcp)) {
--		tprintf("%d, ", (int) tcp->u_arg[0]);
-+		printpid(tcp, tcp->u_arg[0], PT_TGID);
-+		tprints(", ");
- 		print_sched_attr(tcp, tcp->u_arg[1], 0);
- 	} else {
- 		struct sched_attr attr;
-@@ -179,7 +185,8 @@
- SYS_FUNC(sched_getattr)
- {
- 	if (entering(tcp)) {
--		tprintf("%d, ", (int) tcp->u_arg[0]);
-+		printpid(tcp, tcp->u_arg[0], PT_TGID);
-+		tprints(", ");
- 	} else {
- 		const unsigned int size = tcp->u_arg[2];
- 
-Index: strace-5.7/signal.c
-===================================================================
---- strace-5.7.orig/signal.c	2020-09-09 15:52:09.159983257 +0200
-+++ strace-5.7/signal.c	2020-09-09 15:55:03.984108300 +0200
-@@ -439,7 +439,8 @@
- SYS_FUNC(kill)
- {
- 	/* pid */
--	tprintf("%d, ", (int) tcp->u_arg[0]);
-+	printpid_tgid_pgid(tcp, tcp->u_arg[0]);
-+	tprints(", ");
- 	/* signal */
- 	printsignal(tcp->u_arg[1]);
- 
-@@ -448,7 +449,7 @@
- 
- SYS_FUNC(tkill)
- {
--	tprintf("%d", (int) tcp->u_arg[0]);
-+	printpid(tcp, tcp->u_arg[0], PT_TID);
- 	tprints(", ");
- 	printsignal(tcp->u_arg[1]);
- 
-@@ -457,8 +458,12 @@
- 
- SYS_FUNC(tgkill)
- {
--	/* tgid, tid */
--	tprintf("%d, %d, ", (int) tcp->u_arg[0], (int) tcp->u_arg[1]);
-+	/* tgid */
-+	printpid(tcp, tcp->u_arg[0], PT_TGID);
-+	tprints(", ");
-+	/* tid */
-+	printpid(tcp, tcp->u_arg[1], PT_TID);
-+	tprints(", ");
- 	/* signal */
- 	printsignal(tcp->u_arg[2]);
- 
-@@ -624,7 +629,8 @@
- 
- SYS_FUNC(rt_sigqueueinfo)
- {
--	tprintf("%d, ", (int) tcp->u_arg[0]);
-+	printpid(tcp, tcp->u_arg[0], PT_TGID);
-+	tprints(", ");
- 	print_sigqueueinfo(tcp, tcp->u_arg[1], tcp->u_arg[2]);
- 
- 	return RVAL_DECODED;
-@@ -632,7 +638,10 @@
- 
- SYS_FUNC(rt_tgsigqueueinfo)
- {
--	tprintf("%d, %d, ", (int) tcp->u_arg[0], (int) tcp->u_arg[1]);
-+	printpid(tcp, tcp->u_arg[0], PT_TGID);
-+	tprints(", ");
-+	printpid(tcp, tcp->u_arg[1], PT_TID);
-+	tprints(", ");
- 	print_sigqueueinfo(tcp, tcp->u_arg[2], tcp->u_arg[3]);
- 
- 	return RVAL_DECODED;
-Index: strace-5.7/sockaddr.c
-===================================================================
---- strace-5.7.orig/sockaddr.c	2020-09-09 15:52:09.159983257 +0200
-+++ strace-5.7/sockaddr.c	2020-09-09 15:55:03.984108300 +0200
-@@ -416,7 +416,7 @@
- {
- 	const struct sockaddr_nl *const sa_nl = buf;
- 
--	PRINT_FIELD_D("", *sa_nl, nl_pid);
-+	PRINT_FIELD_TGID("", *sa_nl, nl_pid, tcp);
- 	PRINT_FIELD_0X(", ", *sa_nl, nl_groups);
- }
- 
-Index: strace-5.7/tests/kcmp.c
-===================================================================
---- strace-5.7.orig/tests/kcmp.c	2020-09-09 15:52:09.159983257 +0200
-+++ strace-5.7/tests/kcmp.c	2020-09-09 18:49:06.780401433 +0200
-@@ -64,7 +64,26 @@
- static void
- printpidfd(const char *prefix, pid_t pid, unsigned fd)
- {
--	printf("%s%d", prefix, fd);
-+	const char *path = NULL;
-+
-+# if VERBOSE_FD
-+	if (pid == getpid()) {
-+		switch (fd)
-+		{
-+		case NULL_FD:
-+			path = null_path;
-+			break;
-+		case ZERO_FD:
-+			path = zero_path;
-+			break;
-+		}
-+	}
-+# endif
-+
-+	if (path)
-+		printf("%s%d<%s>", prefix, fd, path);
-+	else
-+		printf("%s%d", prefix, fd);
- }
- 
- /*
-@@ -179,7 +198,7 @@
- 	/* KCMP_FILE is the only type which has additional args */
- 	do_kcmp(3141592653U, 2718281828U, ARG_STR(KCMP_FILE), bogus_idx1,
- 		bogus_idx2);
--	do_kcmp(-1, -1, ARG_STR(KCMP_FILE), NULL_FD, ZERO_FD);
-+	do_kcmp(getpid(), getpid(), ARG_STR(KCMP_FILE), NULL_FD, ZERO_FD);
- 
- 	/* Types without additional args */
- 	do_kcmp(-1, -1, ARG_STR(KCMP_VM), bogus_idx1, bogus_idx2);
-@@ -198,7 +217,7 @@
- 	for (i = 0; i < ARRAY_SIZE(slot_data); i++) {
- 		memcpy(slot, slot_data + i, sizeof(*slot));
- 
--		do_kcmp(getpid(), getppid(), ARG_STR(KCMP_EPOLL_TFD), NULL_FD,
-+		do_kcmp(getpid(), -1, ARG_STR(KCMP_EPOLL_TFD), NULL_FD,
- 			(uintptr_t) slot, 1);
- 	}
- 
-Index: strace-5.7/util.c
-===================================================================
---- strace-5.7.orig/util.c	2020-09-09 15:52:09.159983257 +0200
-+++ strace-5.7/util.c	2020-09-09 18:49:07.951402131 +0200
-@@ -392,6 +392,18 @@
- 	return true;
- }
- 
-+bool
-+printnum_pid(struct tcb *const tcp, const kernel_ulong_t addr, enum pid_type type)
-+{
-+	int pid;
-+	if (umove_or_printaddr(tcp, addr, &pid))
-+		return false;
-+	tprints("[");
-+	printpid(tcp, pid, type);
-+	tprints("]");
-+	return true;
-+}
-+
- /**
-  * Prints time to a (static internal) buffer and returns pointer to it.
-  * Returns NULL if the provided time specification is not correct.
-@@ -616,7 +628,7 @@
- printfd_pid(struct tcb *tcp, pid_t pid, int fd)
- {
- 	char path[PATH_MAX + 1];
--	if (!number_set_array_is_empty(decode_fd_set, 0)
-+	if (pid > 0 && !number_set_array_is_empty(decode_fd_set, 0)
- 	    && getfdpath_pid(pid, fd, path, sizeof(path)) >= 0) {
- 		tprintf("%d<", (int) fd);
- 		if (is_number_in_set(DECODE_FD_SOCKET, decode_fd_set) &&
-@@ -641,12 +653,8 @@
- void
- printfd_pid_tracee_ns(struct tcb *tcp, pid_t pid, int fd)
- {
--	/*
--	 * TODO: We want to have the same formatting as printfd here,
--	 *       but we should figure out first which process in strace's
--	 *       PID NS is referred to by pid in tracee's PID NS.
--	 */
--	tprintf("%d", fd);
-+	int strace_pid = translate_pid(tcp, pid, PT_TGID, NULL);
-+	printfd_pid(tcp, strace_pid, fd);
- }
- 
- /*
-Index: strace-5.7/wait.c
-===================================================================
---- strace-5.7.orig/wait.c	2020-09-09 15:52:09.159983257 +0200
-+++ strace-5.7/wait.c	2020-09-09 15:55:03.985108301 +0200
-@@ -80,14 +80,8 @@
- 	   void (*const print_rusage)(struct tcb *, kernel_ulong_t))
- {
- 	if (entering(tcp)) {
--		/* On Linux, kernel-side pid_t is typedef'ed to int
--		 * on all arches. Also, glibc-2.8 truncates wait3 and wait4
--		 * pid argument to int on 64bit arches, producing,
--		 * for example, wait4(4294967295, ...) instead of -1
--		 * in strace. We have to use int here, not long.
--		 */
--		int pid = tcp->u_arg[0];
--		tprintf("%d, ", pid);
-+		printpid_tgid_pgid(tcp, tcp->u_arg[0]);
-+		tprintf(", ");
- 	} else {
- 		int status;
- 
-@@ -108,7 +102,7 @@
- 				printaddr(tcp->u_arg[3]);
- 		}
- 	}
--	return 0;
-+	return RVAL_TGID;
- }
- 
- SYS_FUNC(waitpid)
-@@ -134,10 +128,28 @@
- 
- SYS_FUNC(waitid)
- {
-+	unsigned int idtype = (unsigned int) tcp->u_arg[0];
-+	int id = tcp->u_arg[1];
-+
- 	if (entering(tcp)) {
--		printxval(waitid_types, tcp->u_arg[0], "P_???");
--		int pid = tcp->u_arg[1];
--		tprintf(", %d, ", pid);
-+		printxval(waitid_types, idtype, "P_???");
-+		tprints(", ");
-+		switch (idtype)
-+		{
-+		case P_PID:
-+			printpid(tcp, id, PT_TGID);
-+			break;
-+		case P_PIDFD:
-+			printfd(tcp, id);
-+			break;
-+		case P_PGID:
-+			printpid(tcp, id, PT_PGID);
-+			break;
-+		default:
-+			tprintf("%d", id);
-+			break;
-+		}
-+		tprints(", ");
- 	} else {
- 		/* siginfo */
- 		printsiginfo_at(tcp, tcp->u_arg[2]);
-Index: strace-5.7/tests-m32/kcmp.c
-===================================================================
---- strace-5.7.orig/tests-m32/kcmp.c	2020-09-09 15:52:09.159983257 +0200
-+++ strace-5.7/tests-m32/kcmp.c	2020-09-09 18:49:06.780401433 +0200
-@@ -64,7 +64,26 @@
- static void
- printpidfd(const char *prefix, pid_t pid, unsigned fd)
- {
--	printf("%s%d", prefix, fd);
-+	const char *path = NULL;
-+
-+# if VERBOSE_FD
-+	if (pid == getpid()) {
-+		switch (fd)
-+		{
-+		case NULL_FD:
-+			path = null_path;
-+			break;
-+		case ZERO_FD:
-+			path = zero_path;
-+			break;
-+		}
-+	}
-+# endif
-+
-+	if (path)
-+		printf("%s%d<%s>", prefix, fd, path);
-+	else
-+		printf("%s%d", prefix, fd);
- }
- 
- /*
-@@ -179,7 +198,7 @@
- 	/* KCMP_FILE is the only type which has additional args */
- 	do_kcmp(3141592653U, 2718281828U, ARG_STR(KCMP_FILE), bogus_idx1,
- 		bogus_idx2);
--	do_kcmp(-1, -1, ARG_STR(KCMP_FILE), NULL_FD, ZERO_FD);
-+	do_kcmp(getpid(), getpid(), ARG_STR(KCMP_FILE), NULL_FD, ZERO_FD);
- 
- 	/* Types without additional args */
- 	do_kcmp(-1, -1, ARG_STR(KCMP_VM), bogus_idx1, bogus_idx2);
-@@ -198,7 +217,7 @@
- 	for (i = 0; i < ARRAY_SIZE(slot_data); i++) {
- 		memcpy(slot, slot_data + i, sizeof(*slot));
- 
--		do_kcmp(getpid(), getppid(), ARG_STR(KCMP_EPOLL_TFD), NULL_FD,
-+		do_kcmp(getpid(), -1, ARG_STR(KCMP_EPOLL_TFD), NULL_FD,
- 			(uintptr_t) slot, 1);
- 	}
- 
-Index: strace-5.7/tests-mx32/kcmp.c
-===================================================================
---- strace-5.7.orig/tests-mx32/kcmp.c	2020-09-09 15:52:09.159983257 +0200
-+++ strace-5.7/tests-mx32/kcmp.c	2020-09-09 18:49:06.780401433 +0200
-@@ -64,7 +64,26 @@
- static void
- printpidfd(const char *prefix, pid_t pid, unsigned fd)
- {
--	printf("%s%d", prefix, fd);
-+	const char *path = NULL;
-+
-+# if VERBOSE_FD
-+	if (pid == getpid()) {
-+		switch (fd)
-+		{
-+		case NULL_FD:
-+			path = null_path;
-+			break;
-+		case ZERO_FD:
-+			path = zero_path;
-+			break;
-+		}
-+	}
-+# endif
-+
-+	if (path)
-+		printf("%s%d<%s>", prefix, fd, path);
-+	else
-+		printf("%s%d", prefix, fd);
- }
- 
- /*
-@@ -179,7 +198,7 @@
- 	/* KCMP_FILE is the only type which has additional args */
- 	do_kcmp(3141592653U, 2718281828U, ARG_STR(KCMP_FILE), bogus_idx1,
- 		bogus_idx2);
--	do_kcmp(-1, -1, ARG_STR(KCMP_FILE), NULL_FD, ZERO_FD);
-+	do_kcmp(getpid(), getpid(), ARG_STR(KCMP_FILE), NULL_FD, ZERO_FD);
- 
- 	/* Types without additional args */
- 	do_kcmp(-1, -1, ARG_STR(KCMP_VM), bogus_idx1, bogus_idx2);
-@@ -198,7 +217,7 @@
- 	for (i = 0; i < ARRAY_SIZE(slot_data); i++) {
- 		memcpy(slot, slot_data + i, sizeof(*slot));
- 
--		do_kcmp(getpid(), getppid(), ARG_STR(KCMP_EPOLL_TFD), NULL_FD,
-+		do_kcmp(getpid(), -1, ARG_STR(KCMP_EPOLL_TFD), NULL_FD,
- 			(uintptr_t) slot, 1);
- 	}
- 
-Index: strace-5.7/Makefile.in
-===================================================================
---- strace-5.7.orig/Makefile.in	2020-09-09 15:54:59.569105143 +0200
-+++ strace-5.7/Makefile.in	2020-09-09 19:06:15.159014394 +0200
-@@ -322,13 +322,13 @@
- 	flock.c flock.h fs_x_ioctl.c fsconfig.c fsmount.c fsopen.c \
- 	fspick.c fstatfs.c fstatfs64.c futex.c gcc_compat.h \
- 	get_personality.c get_personality.h get_robust_list.c getcpu.c \
--	getcwd.c getpagesize.c getrandom.c hdio.c hostname.c inotify.c \
--	inotify_ioctl.c io.c io_uring.c ioctl.c ioperm.c iopl.c \
--	ioprio.c ipc.c ipc_defs.h ipc_msg.c ipc_msgctl.c ipc_sem.c \
--	ipc_shm.c ipc_shmctl.c kcmp.c kernel_dirent.h kernel_rusage.h \
--	kernel_timespec.h kernel_timeval.h kernel_timex.h \
--	kernel_types.h kernel_v4l2_types.h kexec.c keyctl.c \
--	keyctl_kdf_params.h kill_save_errno.h kvm.c \
-+	getcwd.c getpagesize.c getpid.c getrandom.c hdio.c hostname.c \
-+	inotify.c inotify_ioctl.c io.c io_uring.c ioctl.c ioperm.c \
-+	iopl.c ioprio.c ipc.c ipc_defs.h ipc_msg.c ipc_msgctl.c \
-+	ipc_sem.c ipc_shm.c ipc_shmctl.c kcmp.c kernel_dirent.h \
-+	kernel_rusage.h kernel_timespec.h kernel_timeval.h \
-+	kernel_timex.h kernel_types.h kernel_v4l2_types.h kexec.c \
-+	keyctl.c keyctl_kdf_params.h kill_save_errno.h kvm.c \
- 	largefile_wrappers.h ldt.c link.c linux/asm_stat.h \
- 	linux/x32/asm_stat.h linux/x86_64/asm_stat.h list.h listen.c \
- 	lookup_dcookie.c loop.c lseek.c macros.h mem.c membarrier.c \
-@@ -443,7 +443,7 @@
- 	libstrace_a-get_personality.$(OBJEXT) \
- 	libstrace_a-get_robust_list.$(OBJEXT) \
- 	libstrace_a-getcpu.$(OBJEXT) libstrace_a-getcwd.$(OBJEXT) \
--	libstrace_a-getpagesize.$(OBJEXT) \
-+	libstrace_a-getpagesize.$(OBJEXT) libstrace_a-getpid.$(OBJEXT) \
- 	libstrace_a-getrandom.$(OBJEXT) libstrace_a-hdio.$(OBJEXT) \
- 	libstrace_a-hostname.$(OBJEXT) libstrace_a-inotify.$(OBJEXT) \
- 	libstrace_a-inotify_ioctl.$(OBJEXT) libstrace_a-io.$(OBJEXT) \
-@@ -769,6 +769,7 @@
- 	./$(DEPDIR)/libstrace_a-getcpu.Po \
- 	./$(DEPDIR)/libstrace_a-getcwd.Po \
- 	./$(DEPDIR)/libstrace_a-getpagesize.Po \
-+	./$(DEPDIR)/libstrace_a-getpid.Po \
- 	./$(DEPDIR)/libstrace_a-getrandom.Po \
- 	./$(DEPDIR)/libstrace_a-hdio.Po \
- 	./$(DEPDIR)/libstrace_a-hostname.Po \
-@@ -1810,13 +1811,13 @@
- 	flock.c flock.h fs_x_ioctl.c fsconfig.c fsmount.c fsopen.c \
- 	fspick.c fstatfs.c fstatfs64.c futex.c gcc_compat.h \
- 	get_personality.c get_personality.h get_robust_list.c getcpu.c \
--	getcwd.c getpagesize.c getrandom.c hdio.c hostname.c inotify.c \
--	inotify_ioctl.c io.c io_uring.c ioctl.c ioperm.c iopl.c \
--	ioprio.c ipc.c ipc_defs.h ipc_msg.c ipc_msgctl.c ipc_sem.c \
--	ipc_shm.c ipc_shmctl.c kcmp.c kernel_dirent.h kernel_rusage.h \
--	kernel_timespec.h kernel_timeval.h kernel_timex.h \
--	kernel_types.h kernel_v4l2_types.h kexec.c keyctl.c \
--	keyctl_kdf_params.h kill_save_errno.h kvm.c \
-+	getcwd.c getpagesize.c getpid.c getrandom.c hdio.c hostname.c \
-+	inotify.c inotify_ioctl.c io.c io_uring.c ioctl.c ioperm.c \
-+	iopl.c ioprio.c ipc.c ipc_defs.h ipc_msg.c ipc_msgctl.c \
-+	ipc_sem.c ipc_shm.c ipc_shmctl.c kcmp.c kernel_dirent.h \
-+	kernel_rusage.h kernel_timespec.h kernel_timeval.h \
-+	kernel_timex.h kernel_types.h kernel_v4l2_types.h kexec.c \
-+	keyctl.c keyctl_kdf_params.h kill_save_errno.h kvm.c \
- 	largefile_wrappers.h ldt.c link.c linux/asm_stat.h \
- 	linux/x32/asm_stat.h linux/x86_64/asm_stat.h list.h listen.c \
- 	lookup_dcookie.c loop.c lseek.c macros.h mem.c membarrier.c \
-@@ -2835,6 +2836,7 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstrace_a-getcpu.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstrace_a-getcwd.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstrace_a-getpagesize.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstrace_a-getpid.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstrace_a-getrandom.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstrace_a-hdio.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstrace_a-hostname.Po@am__quote@ # am--include-marker
-@@ -5082,6 +5084,20 @@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -c -o libstrace_a-getpagesize.obj `if test -f 'getpagesize.c'; then $(CYGPATH_W) 'getpagesize.c'; else $(CYGPATH_W) '$(srcdir)/getpagesize.c'; fi`
- 
-+libstrace_a-getpid.o: getpid.c
-+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -MT libstrace_a-getpid.o -MD -MP -MF $(DEPDIR)/libstrace_a-getpid.Tpo -c -o libstrace_a-getpid.o `test -f 'getpid.c' || echo '$(srcdir)/'`getpid.c
-+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libstrace_a-getpid.Tpo $(DEPDIR)/libstrace_a-getpid.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='getpid.c' object='libstrace_a-getpid.o' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -c -o libstrace_a-getpid.o `test -f 'getpid.c' || echo '$(srcdir)/'`getpid.c
-+
-+libstrace_a-getpid.obj: getpid.c
-+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -MT libstrace_a-getpid.obj -MD -MP -MF $(DEPDIR)/libstrace_a-getpid.Tpo -c -o libstrace_a-getpid.obj `if test -f 'getpid.c'; then $(CYGPATH_W) 'getpid.c'; else $(CYGPATH_W) '$(srcdir)/getpid.c'; fi`
-+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libstrace_a-getpid.Tpo $(DEPDIR)/libstrace_a-getpid.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='getpid.c' object='libstrace_a-getpid.obj' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -c -o libstrace_a-getpid.obj `if test -f 'getpid.c'; then $(CYGPATH_W) 'getpid.c'; else $(CYGPATH_W) '$(srcdir)/getpid.c'; fi`
-+
- libstrace_a-getrandom.o: getrandom.c
- @am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -MT libstrace_a-getrandom.o -MD -MP -MF $(DEPDIR)/libstrace_a-getrandom.Tpo -c -o libstrace_a-getrandom.o `test -f 'getrandom.c' || echo '$(srcdir)/'`getrandom.c
- @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libstrace_a-getrandom.Tpo $(DEPDIR)/libstrace_a-getrandom.Po
-@@ -8377,6 +8393,7 @@
- 	-rm -f ./$(DEPDIR)/libstrace_a-getcpu.Po
- 	-rm -f ./$(DEPDIR)/libstrace_a-getcwd.Po
- 	-rm -f ./$(DEPDIR)/libstrace_a-getpagesize.Po
-+	-rm -f ./$(DEPDIR)/libstrace_a-getpid.Po
- 	-rm -f ./$(DEPDIR)/libstrace_a-getrandom.Po
- 	-rm -f ./$(DEPDIR)/libstrace_a-hdio.Po
- 	-rm -f ./$(DEPDIR)/libstrace_a-hostname.Po
-@@ -8764,6 +8781,7 @@
- 	-rm -f ./$(DEPDIR)/libstrace_a-getcpu.Po
- 	-rm -f ./$(DEPDIR)/libstrace_a-getcwd.Po
- 	-rm -f ./$(DEPDIR)/libstrace_a-getpagesize.Po
-+	-rm -f ./$(DEPDIR)/libstrace_a-getpid.Po
- 	-rm -f ./$(DEPDIR)/libstrace_a-getrandom.Po
- 	-rm -f ./$(DEPDIR)/libstrace_a-hdio.Po
- 	-rm -f ./$(DEPDIR)/libstrace_a-hostname.Po
diff --git a/SOURCES/0136-Use-get_proc_pid-for-proc-paths.patch b/SOURCES/0136-Use-get_proc_pid-for-proc-paths.patch
deleted file mode 100644
index de978f1..0000000
--- a/SOURCES/0136-Use-get_proc_pid-for-proc-paths.patch
+++ /dev/null
@@ -1,93 +0,0 @@
-From bba566504901b2c07885ecf325829875a96381a7 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?=C3=81kos=20Uzonyi?= <uzonyi.akos@gmail.com>
-Date: Tue, 30 Jun 2020 17:20:12 +0200
-Subject: [PATCH 136/138] Use get_proc_pid for /proc paths
-
-* mmap_cache.c (mmap_cache_rebuild_if_invalid): Use proc pid instead of
-tcp->pid for /proc path.
-* util.c (getfdproto): Likewise.
-(pidfd_get_pid): Likewise.
-* pathtrace.c (getfdpath_pid): Likewise.
-* strace.c (attach_tcb): Likewise.
----
- mmap_cache.c | 2 +-
- pathtrace.c  | 7 ++++++-
- strace.c     | 2 +-
- util.c       | 9 +++++++--
- 4 files changed, 15 insertions(+), 5 deletions(-)
-
-diff --git a/mmap_cache.c b/mmap_cache.c
-index 89c6225..9825df2 100644
---- a/mmap_cache.c
-+++ b/mmap_cache.c
-@@ -84,7 +84,7 @@ mmap_cache_rebuild_if_invalid(struct tcb *tcp, const char *caller)
- 		return MMAP_CACHE_REBUILD_READY;
- 
- 	char filename[sizeof("/proc/4294967296/maps")];
--	xsprintf(filename, "/proc/%u/maps", tcp->pid);
-+	xsprintf(filename, "/proc/%u/maps", get_proc_pid(tcp));
- 
- 	FILE *fp = fopen_stream(filename, "r");
- 	if (!fp) {
-diff --git a/pathtrace.c b/pathtrace.c
-index f85cf14..87dc64b 100644
---- a/pathtrace.c
-+++ b/pathtrace.c
-@@ -87,7 +87,12 @@ getfdpath_pid(pid_t pid, int fd, char *buf, unsigned bufsize)
- 	if (fd < 0)
- 		return -1;
- 
--	xsprintf(linkpath, "/proc/%u/fd/%u", pid, fd);
-+	int proc_pid = 0;
-+	translate_pid(NULL, pid, PT_TID, &proc_pid);
-+	if (!proc_pid)
-+		return -1;
-+
-+	xsprintf(linkpath, "/proc/%u/fd/%u", proc_pid, fd);
- 	n = readlink(linkpath, buf, bufsize - 1);
- 	/*
- 	 * NB: if buf is too small, readlink doesn't fail,
-diff --git a/strace.c b/strace.c
-index 249533e..ef23f08 100644
---- a/strace.c
-+++ b/strace.c
-@@ -1196,7 +1196,7 @@ attach_tcb(struct tcb *const tcp)
- 	unsigned int ntid = 0, nerr = 0;
- 
- 	if (followfork && tcp->pid != strace_child &&
--	    xsprintf(procdir, task_path, tcp->pid) > 0 &&
-+	    xsprintf(procdir, task_path, get_proc_pid(tcp)) > 0 &&
- 	    (dir = opendir(procdir)) != NULL) {
- 		struct_dirent *de;
- 
-diff --git a/util.c b/util.c
-index 2568021..481144b 100644
---- a/util.c
-+++ b/util.c
-@@ -501,7 +501,7 @@ getfdproto(struct tcb *tcp, int fd)
- 	if (fd < 0)
- 		return SOCK_PROTO_UNKNOWN;
- 
--	xsprintf(path, "/proc/%u/fd/%u", tcp->pid, fd);
-+	xsprintf(path, "/proc/%u/fd/%u", get_proc_pid(tcp), fd);
- 	r = getxattr(path, "system.sockprotoname", buf, bufsize - 1);
- 	if (r <= 0)
- 		return SOCK_PROTO_UNKNOWN;
-@@ -582,8 +582,13 @@ printdev(struct tcb *tcp, int fd, const char *path)
- pid_t
- pidfd_get_pid(pid_t pid_of_fd, int fd)
- {
-+	int proc_pid = 0;
-+	translate_pid(NULL, pid_of_fd, PT_TID, &proc_pid);
-+	if (!proc_pid)
-+		return -1;
-+
- 	char fdi_path[sizeof("/proc/%u/fdinfo/%u") + 2 * sizeof(int) * 3];
--	xsprintf(fdi_path, "/proc/%u/fdinfo/%u", pid_of_fd, fd);
-+	xsprintf(fdi_path, "/proc/%u/fdinfo/%u", proc_pid, fd);
- 
- 	FILE *f = fopen_stream(fdi_path, "r");
- 	if (!f)
--- 
-2.1.4
-
diff --git a/SOURCES/0137-Implement-testing-framework-for-pidns.patch b/SOURCES/0137-Implement-testing-framework-for-pidns.patch
deleted file mode 100644
index b9b1317..0000000
--- a/SOURCES/0137-Implement-testing-framework-for-pidns.patch
+++ /dev/null
@@ -1,1360 +0,0 @@
-From 4362ddaba8634a5ac6b4add0eaf25eec5f7315f5 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?=C3=81kos=20Uzonyi?= <uzonyi.akos@gmail.com>
-Date: Fri, 26 Jun 2020 20:13:28 +0200
-Subject: [PATCH 137/138] Implement testing framework for pidns
-
-* tests/pidns.c: New file.
-* tests/pidns.h: New file.
-* tests/Makefile.am (libtests_a_SOURCES): Add pidns.c, pidns.h.
-* tests/init.sh (test_pidns, test_pidns_run_strace): New functions.
----
- tests/Makefile.am |   2 +
- tests/init.sh     |  30 +++++++
- tests/pidns.c     | 237 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
- tests/pidns.h     |  56 +++++++++++++
- 4 files changed, 325 insertions(+)
- create mode 100644 tests/pidns.c
- create mode 100644 tests/pidns.h
-
-Index: strace-5.7/tests/Makefile.am
-===================================================================
---- strace-5.7.orig/tests/Makefile.am	2020-09-09 19:32:50.846965498 +0200
-+++ strace-5.7/tests/Makefile.am	2020-09-09 19:49:54.008575349 +0200
-@@ -44,6 +44,8 @@
- 	libsocketcall.c \
- 	lock_file.c \
- 	overflowuid.c \
-+	pidns.c \
-+	pidns.h \
- 	pipe_maxfd.c \
- 	print_quoted_string.c \
- 	print_time.c \
-Index: strace-5.7/tests/init.sh
-===================================================================
---- strace-5.7.orig/tests/init.sh	2020-09-09 19:32:50.846965498 +0200
-+++ strace-5.7/tests/init.sh	2020-09-09 19:49:54.008575349 +0200
-@@ -387,6 +387,36 @@
- 	test_pure_prog_set "$@" < "$srcdir/$NAME.in"
- }
- 
-+test_pidns_run_strace()
-+{
-+	local parent_pid init_pid
-+
-+	check_prog tail
-+	check_prog cut
-+	check_prog grep
-+
-+	run_prog > /dev/null
-+	run_strace --pidns-translation -f $@ $args > "$EXP"
-+
-+	# filter out logs made by the parent or init process of the pidns test
-+	parent_pid="$(tail -n 2 $LOG | head -n 1 | cut -d' ' -f1)"
-+	init_pid="$(tail -n 1 $LOG | cut -d' ' -f1)"
-+	grep -E -v "^($parent_pid|$init_pid) " "$LOG" > "$OUT"
-+	match_diff "$OUT" "$EXP"
-+}
-+
-+test_pidns()
-+{
-+	check_prog unshare
-+	unshare -Urpf true || framework_skip_ "unshare -Urpf true failed"
-+
-+	test_pidns_run_strace "$@"
-+
-+	# test PID translation when /proc is mounted from an other namespace
-+	STRACE="unshare -Urpf $STRACE"
-+	test_pidns_run_strace "$@"
-+}
-+
- check_prog cat
- check_prog rm
- 
-Index: strace-5.7/tests/pidns.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests/pidns.c	2020-09-09 19:49:54.009575350 +0200
-@@ -0,0 +1,237 @@
-+/*
-+ * Testing framework for PID namespace translation
-+ *
-+ * Copyright (c) 2020 Ákos Uzonyi <uzonyi.akos@gmail.com>
-+ * All rights reserved.
-+ *
-+ * SPDX-License-Identifier: LGPL-2.1-or-later
-+ */
-+#include "tests.h"
-+#include "pidns.h"
-+#include "nsfs.h"
-+
-+#include <errno.h>
-+#include <stdio.h>
-+#include <string.h>
-+#include <sys/types.h>
-+#include <signal.h>
-+#include <stdlib.h>
-+#include <sched.h>
-+#include <unistd.h>
-+#include <sys/wait.h>
-+#include <linux/sched.h>
-+#include <fcntl.h>
-+#include <sys/ioctl.h>
-+
-+#ifndef CLONE_NEWUSER
-+# define CLONE_NEWUSER 0x10000000
-+#endif
-+
-+#ifndef CLONE_NEWPID
-+# define CLONE_NEWPID 0x20000000
-+#endif
-+
-+static bool pidns_translation = false;
-+static bool pidns_unshared = false;
-+
-+/* Our PIDs in strace's namespace */
-+static pid_t pidns_strace_ids[PT_COUNT];
-+
-+void
-+pidns_print_leader(void)
-+{
-+	if (pidns_translation)
-+		printf("%-5d ", pidns_strace_ids[PT_TID]);
-+}
-+
-+const char *
-+pidns_pid2str(enum pid_type type)
-+{
-+	static const char format[] = " /* %d in strace's PID NS */";
-+	static char buf[PT_COUNT][sizeof(format) + sizeof(int) * 3];
-+
-+	if (type < 0 || type >= PT_COUNT)
-+		return "";
-+
-+	if (!pidns_unshared || !pidns_strace_ids[type])
-+		return "";
-+
-+	snprintf(buf[type], sizeof(buf[type]), format, pidns_strace_ids[type]);
-+	return buf[type];
-+}
-+
-+/**
-+ * This function is like fork, but does a few more things. It sets up the
-+ * child's PGID and SID according to the parameters. Also it fills the
-+ * pidns_strace_ids array in the child's memory with the PIDs of the child in
-+ * parent's PID namespace. In the parent it waits for the child to terminate
-+ * (but leaves the zombie to use it later as a process group). If the child
-+ * terminates with nonzero exit status, the test is failed.
-+ *
-+ * @param pgid     The process group the child should be moved to. It's expected
-+ *                 to be a PID of a zombie process (will be reaped). If
-+ *                 negative, leave the child in the process group of the parent.
-+ *                 If 0, move the process to its own process group.
-+ * @param new_sid  Wheather child should be moved to a new session.
-+ */
-+static pid_t
-+pidns_fork(pid_t pgid, bool new_sid)
-+{
-+	int strace_ids_pipe[2];
-+	if (pipe(strace_ids_pipe) < 0)
-+		perror_msg_and_fail("pipe");
-+
-+	fflush(stdout);
-+	pid_t pid = fork();
-+	if (pid < 0)
-+		perror_msg_and_fail("fork");
-+
-+	if (!pid) {
-+		close(strace_ids_pipe[1]);
-+
-+		ssize_t len = read(strace_ids_pipe[0], pidns_strace_ids,
-+				sizeof(pidns_strace_ids));
-+		if (len < 0)
-+			perror_msg_and_fail("read");
-+		if (len != sizeof(pidns_strace_ids))
-+			error_msg_and_fail("read returned < sizeof(pidns_strace_ids)");
-+
-+		close(strace_ids_pipe[0]);
-+
-+		if (pidns_strace_ids[PT_SID])
-+			setsid();
-+
-+		return 0;
-+	}
-+
-+	pidns_strace_ids[PT_TID] = pid;
-+	pidns_strace_ids[PT_TGID] = pid;
-+	pidns_strace_ids[PT_PGID] = 0;
-+	pidns_strace_ids[PT_SID] = 0;
-+
-+	if (!pgid)
-+		pgid = pid;
-+
-+	if (pgid > 0) {
-+		if (setpgid(pid, pgid) < 0)
-+			perror_msg_and_fail("setpgid");
-+
-+		pidns_strace_ids[PT_PGID] = pgid;
-+	}
-+
-+	/* Reap group leader to test PGID decoding */
-+	if (pgid > 0 && pgid != pid) {
-+		int ret = waitpid(pgid, NULL, WNOHANG);
-+		if (ret < 0)
-+			perror_msg_and_fail("wait");
-+		if (!ret)
-+			error_msg_and_fail("could not reap group leader");
-+	}
-+
-+	if (new_sid) {
-+		pidns_strace_ids[PT_SID] = pid;
-+		pidns_strace_ids[PT_PGID] = pid;
-+	}
-+
-+	ssize_t len = write(strace_ids_pipe[1], pidns_strace_ids,
-+	                     sizeof(pidns_strace_ids));
-+	if (len < 0)
-+		perror_msg_and_fail("write");
-+	if (len != sizeof(pidns_strace_ids))
-+		error_msg_and_fail("write returned < sizeof(pidns_strace_ids)");
-+
-+	close(strace_ids_pipe[0]);
-+	close(strace_ids_pipe[1]);
-+
-+	/* WNOWAIT: leave the zombie, to be able to use it as a process group */
-+	siginfo_t siginfo;
-+	if (waitid(P_PID, pid, &siginfo, WEXITED | WNOWAIT) < 0)
-+		perror_msg_and_fail("wait");
-+	if (siginfo.si_code != CLD_EXITED || siginfo.si_status)
-+		error_msg_and_fail("child terminated with nonzero exit status");
-+
-+	return pid;
-+}
-+
-+static void
-+create_init_process(void)
-+{
-+	int child_pipe[2];
-+	if (pipe(child_pipe) < 0)
-+		perror_msg_and_fail("pipe");
-+
-+	pid_t pid = fork();
-+	if (pid < 0)
-+		perror_msg_and_fail("fork");
-+
-+	if (!pid) {
-+		close(child_pipe[1]);
-+		if (read(child_pipe[0], &child_pipe[1], sizeof(int)) != 0)
-+			_exit(1);
-+		_exit(0);
-+	}
-+
-+	close(child_pipe[0]);
-+}
-+
-+void
-+check_ns_ioctl(void)
-+{
-+	int fd = open("/proc/self/ns/pid", O_RDONLY);
-+	if (fd < 0) {
-+		if (errno == ENOENT)
-+			perror_msg_and_skip("opening /proc/self/ns/pid");
-+		else
-+			perror_msg_and_fail("opening /proc/self/ns/pid");
-+	}
-+
-+	int userns_fd = ioctl(fd, NS_GET_USERNS);
-+	if (userns_fd < 0) {
-+		if (errno == ENOTTY)
-+			error_msg_and_skip("NS_* ioctl commands are not "
-+			                   "supported by the kernel");
-+		else
-+			perror_msg_and_fail("ioctl(NS_GET_USERNS)");
-+	}
-+
-+	close(userns_fd);
-+	close(fd);
-+}
-+
-+void
-+pidns_test_init(void)
-+{
-+	pidns_translation = true;
-+
-+	check_ns_ioctl();
-+
-+	if (!pidns_fork(-1, false))
-+		return;
-+
-+	/* Unshare user namespace too, so we do not need to be root */
-+	if (unshare(CLONE_NEWUSER | CLONE_NEWPID) < 0) {
-+		if (errno == EPERM)
-+			perror_msg_and_skip("unshare");
-+
-+		perror_msg_and_fail("unshare");
-+	}
-+
-+	pidns_unshared = true;
-+
-+	create_init_process();
-+
-+	if (!pidns_fork(-1, false))
-+		return;
-+
-+	if (!pidns_fork(-1, true))
-+		return;
-+
-+	pid_t pgid;
-+	if (!(pgid = pidns_fork(0, false)))
-+		return;
-+
-+	if (!pidns_fork(pgid, false))
-+		return;
-+
-+	exit(0);
-+}
-Index: strace-5.7/tests/pidns.h
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests/pidns.h	2020-09-09 19:49:54.009575350 +0200
-@@ -0,0 +1,56 @@
-+/*
-+ * Test PID namespace translation
-+ *
-+ * Copyright (c) 2020 Ákos Uzonyi <uzonyi.akos@gmail.com>
-+ * All rights reserved.
-+ *
-+ * SPDX-License-Identifier: LGPL-2.1-or-later
-+ */
-+#ifndef STRACE_PIDNS_H
-+#define STRACE_PIDNS_H
-+
-+#ifdef PIDNS_TRANSLATION
-+# define PIDNS_TEST_INIT pidns_test_init()
-+#else
-+# define PIDNS_TEST_INIT
-+#endif
-+
-+#include <sys/types.h>
-+
-+enum pid_type {
-+	PT_TID,
-+	PT_TGID,
-+	PT_PGID,
-+	PT_SID,
-+
-+	PT_COUNT,
-+	PT_NONE = -1
-+};
-+
-+/* Prints leader (process tid) if pidns_test_init was called */
-+void pidns_print_leader(void);
-+
-+/*
-+ * Returns a static buffer containing the translation string of our PID.
-+ */
-+const char *pidns_pid2str(enum pid_type type);
-+
-+/**
-+ * Skips the test if NS_* ioctl commands are not supported by the kernel.
-+ */
-+void check_ns_ioctl(void);
-+
-+/**
-+ * Init pidns testing.
-+ *
-+ * Should be called at the beginning of the test's main function
-+ *
-+ * This function calls fork a couple of times, and returns in the child
-+ * processes. These child processes are in a new PID namespace with different
-+ * PID configurations (group leader, session leader, ...). If any child
-+ * terminates with nonzero exit status the test is failed. Otherwise the test is
-+ * succesful, and the parent process exits with 0.
-+ */
-+void pidns_test_init(void);
-+
-+#endif
-\ No newline at end of file
-Index: strace-5.7/tests-m32/Makefile.am
-===================================================================
---- strace-5.7.orig/tests-m32/Makefile.am	2020-09-09 19:32:50.846965498 +0200
-+++ strace-5.7/tests-m32/Makefile.am	2020-09-09 19:49:54.009575350 +0200
-@@ -7,14 +7,14 @@
- # SPDX-License-Identifier: GPL-2.0-or-later
- 
- OS = linux
--CC = @CC_FOR_M32@
--ARCH = @arch_m32@
-+CC = @CC@
-+ARCH = @arch@
- NATIVE_ARCH = @arch_native@
--SIZEOF_KERNEL_LONG_T = 4
--SIZEOF_LONG = 4
--MPERS_NAME = m32
--MPERS_CC_FLAGS = @CFLAGS_FOR_M32@ @cc_flags_m32@
--ARCH_MFLAGS = -DMPERS_IS_$(MPERS_NAME) $(MPERS_CC_FLAGS)
-+SIZEOF_KERNEL_LONG_T = @SIZEOF_KERNEL_LONG_T@
-+SIZEOF_LONG = @SIZEOF_LONG@
-+MPERS_NAME =
-+MPERS_CC_FLAGS =
-+ARCH_MFLAGS =
- AM_CFLAGS = $(WARN_CFLAGS)
- AM_CPPFLAGS = $(ARCH_MFLAGS) \
- 	      -I$(builddir) \
-@@ -44,6 +44,8 @@
- 	libsocketcall.c \
- 	lock_file.c \
- 	overflowuid.c \
-+	pidns.c \
-+	pidns.h \
- 	pipe_maxfd.c \
- 	print_quoted_string.c \
- 	print_time.c \
-Index: strace-5.7/tests-m32/init.sh
-===================================================================
---- strace-5.7.orig/tests-m32/init.sh	2020-09-09 19:32:50.846965498 +0200
-+++ strace-5.7/tests-m32/init.sh	2020-09-09 19:49:54.009575350 +0200
-@@ -387,6 +387,36 @@
- 	test_pure_prog_set "$@" < "$srcdir/$NAME.in"
- }
- 
-+test_pidns_run_strace()
-+{
-+	local parent_pid init_pid
-+
-+	check_prog tail
-+	check_prog cut
-+	check_prog grep
-+
-+	run_prog > /dev/null
-+	run_strace --pidns-translation -f $@ $args > "$EXP"
-+
-+	# filter out logs made by the parent or init process of the pidns test
-+	parent_pid="$(tail -n 2 $LOG | head -n 1 | cut -d' ' -f1)"
-+	init_pid="$(tail -n 1 $LOG | cut -d' ' -f1)"
-+	grep -E -v "^($parent_pid|$init_pid) " "$LOG" > "$OUT"
-+	match_diff "$OUT" "$EXP"
-+}
-+
-+test_pidns()
-+{
-+	check_prog unshare
-+	unshare -Urpf true || framework_skip_ "unshare -Urpf true failed"
-+
-+	test_pidns_run_strace "$@"
-+
-+	# test PID translation when /proc is mounted from an other namespace
-+	STRACE="unshare -Urpf $STRACE"
-+	test_pidns_run_strace "$@"
-+}
-+
- check_prog cat
- check_prog rm
- 
-Index: strace-5.7/tests-m32/pidns.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-m32/pidns.c	2020-09-09 19:49:54.009575350 +0200
-@@ -0,0 +1,237 @@
-+/*
-+ * Testing framework for PID namespace translation
-+ *
-+ * Copyright (c) 2020 Ákos Uzonyi <uzonyi.akos@gmail.com>
-+ * All rights reserved.
-+ *
-+ * SPDX-License-Identifier: LGPL-2.1-or-later
-+ */
-+#include "tests.h"
-+#include "pidns.h"
-+#include "nsfs.h"
-+
-+#include <errno.h>
-+#include <stdio.h>
-+#include <string.h>
-+#include <sys/types.h>
-+#include <signal.h>
-+#include <stdlib.h>
-+#include <sched.h>
-+#include <unistd.h>
-+#include <sys/wait.h>
-+#include <linux/sched.h>
-+#include <fcntl.h>
-+#include <sys/ioctl.h>
-+
-+#ifndef CLONE_NEWUSER
-+# define CLONE_NEWUSER 0x10000000
-+#endif
-+
-+#ifndef CLONE_NEWPID
-+# define CLONE_NEWPID 0x20000000
-+#endif
-+
-+static bool pidns_translation = false;
-+static bool pidns_unshared = false;
-+
-+/* Our PIDs in strace's namespace */
-+static pid_t pidns_strace_ids[PT_COUNT];
-+
-+void
-+pidns_print_leader(void)
-+{
-+	if (pidns_translation)
-+		printf("%-5d ", pidns_strace_ids[PT_TID]);
-+}
-+
-+const char *
-+pidns_pid2str(enum pid_type type)
-+{
-+	static const char format[] = " /* %d in strace's PID NS */";
-+	static char buf[PT_COUNT][sizeof(format) + sizeof(int) * 3];
-+
-+	if (type < 0 || type >= PT_COUNT)
-+		return "";
-+
-+	if (!pidns_unshared || !pidns_strace_ids[type])
-+		return "";
-+
-+	snprintf(buf[type], sizeof(buf[type]), format, pidns_strace_ids[type]);
-+	return buf[type];
-+}
-+
-+/**
-+ * This function is like fork, but does a few more things. It sets up the
-+ * child's PGID and SID according to the parameters. Also it fills the
-+ * pidns_strace_ids array in the child's memory with the PIDs of the child in
-+ * parent's PID namespace. In the parent it waits for the child to terminate
-+ * (but leaves the zombie to use it later as a process group). If the child
-+ * terminates with nonzero exit status, the test is failed.
-+ *
-+ * @param pgid     The process group the child should be moved to. It's expected
-+ *                 to be a PID of a zombie process (will be reaped). If
-+ *                 negative, leave the child in the process group of the parent.
-+ *                 If 0, move the process to its own process group.
-+ * @param new_sid  Wheather child should be moved to a new session.
-+ */
-+static pid_t
-+pidns_fork(pid_t pgid, bool new_sid)
-+{
-+	int strace_ids_pipe[2];
-+	if (pipe(strace_ids_pipe) < 0)
-+		perror_msg_and_fail("pipe");
-+
-+	fflush(stdout);
-+	pid_t pid = fork();
-+	if (pid < 0)
-+		perror_msg_and_fail("fork");
-+
-+	if (!pid) {
-+		close(strace_ids_pipe[1]);
-+
-+		ssize_t len = read(strace_ids_pipe[0], pidns_strace_ids,
-+				sizeof(pidns_strace_ids));
-+		if (len < 0)
-+			perror_msg_and_fail("read");
-+		if (len != sizeof(pidns_strace_ids))
-+			error_msg_and_fail("read returned < sizeof(pidns_strace_ids)");
-+
-+		close(strace_ids_pipe[0]);
-+
-+		if (pidns_strace_ids[PT_SID])
-+			setsid();
-+
-+		return 0;
-+	}
-+
-+	pidns_strace_ids[PT_TID] = pid;
-+	pidns_strace_ids[PT_TGID] = pid;
-+	pidns_strace_ids[PT_PGID] = 0;
-+	pidns_strace_ids[PT_SID] = 0;
-+
-+	if (!pgid)
-+		pgid = pid;
-+
-+	if (pgid > 0) {
-+		if (setpgid(pid, pgid) < 0)
-+			perror_msg_and_fail("setpgid");
-+
-+		pidns_strace_ids[PT_PGID] = pgid;
-+	}
-+
-+	/* Reap group leader to test PGID decoding */
-+	if (pgid > 0 && pgid != pid) {
-+		int ret = waitpid(pgid, NULL, WNOHANG);
-+		if (ret < 0)
-+			perror_msg_and_fail("wait");
-+		if (!ret)
-+			error_msg_and_fail("could not reap group leader");
-+	}
-+
-+	if (new_sid) {
-+		pidns_strace_ids[PT_SID] = pid;
-+		pidns_strace_ids[PT_PGID] = pid;
-+	}
-+
-+	ssize_t len = write(strace_ids_pipe[1], pidns_strace_ids,
-+	                     sizeof(pidns_strace_ids));
-+	if (len < 0)
-+		perror_msg_and_fail("write");
-+	if (len != sizeof(pidns_strace_ids))
-+		error_msg_and_fail("write returned < sizeof(pidns_strace_ids)");
-+
-+	close(strace_ids_pipe[0]);
-+	close(strace_ids_pipe[1]);
-+
-+	/* WNOWAIT: leave the zombie, to be able to use it as a process group */
-+	siginfo_t siginfo;
-+	if (waitid(P_PID, pid, &siginfo, WEXITED | WNOWAIT) < 0)
-+		perror_msg_and_fail("wait");
-+	if (siginfo.si_code != CLD_EXITED || siginfo.si_status)
-+		error_msg_and_fail("child terminated with nonzero exit status");
-+
-+	return pid;
-+}
-+
-+static void
-+create_init_process(void)
-+{
-+	int child_pipe[2];
-+	if (pipe(child_pipe) < 0)
-+		perror_msg_and_fail("pipe");
-+
-+	pid_t pid = fork();
-+	if (pid < 0)
-+		perror_msg_and_fail("fork");
-+
-+	if (!pid) {
-+		close(child_pipe[1]);
-+		if (read(child_pipe[0], &child_pipe[1], sizeof(int)) != 0)
-+			_exit(1);
-+		_exit(0);
-+	}
-+
-+	close(child_pipe[0]);
-+}
-+
-+void
-+check_ns_ioctl(void)
-+{
-+	int fd = open("/proc/self/ns/pid", O_RDONLY);
-+	if (fd < 0) {
-+		if (errno == ENOENT)
-+			perror_msg_and_skip("opening /proc/self/ns/pid");
-+		else
-+			perror_msg_and_fail("opening /proc/self/ns/pid");
-+	}
-+
-+	int userns_fd = ioctl(fd, NS_GET_USERNS);
-+	if (userns_fd < 0) {
-+		if (errno == ENOTTY)
-+			error_msg_and_skip("NS_* ioctl commands are not "
-+			                   "supported by the kernel");
-+		else
-+			perror_msg_and_fail("ioctl(NS_GET_USERNS)");
-+	}
-+
-+	close(userns_fd);
-+	close(fd);
-+}
-+
-+void
-+pidns_test_init(void)
-+{
-+	pidns_translation = true;
-+
-+	check_ns_ioctl();
-+
-+	if (!pidns_fork(-1, false))
-+		return;
-+
-+	/* Unshare user namespace too, so we do not need to be root */
-+	if (unshare(CLONE_NEWUSER | CLONE_NEWPID) < 0) {
-+		if (errno == EPERM)
-+			perror_msg_and_skip("unshare");
-+
-+		perror_msg_and_fail("unshare");
-+	}
-+
-+	pidns_unshared = true;
-+
-+	create_init_process();
-+
-+	if (!pidns_fork(-1, false))
-+		return;
-+
-+	if (!pidns_fork(-1, true))
-+		return;
-+
-+	pid_t pgid;
-+	if (!(pgid = pidns_fork(0, false)))
-+		return;
-+
-+	if (!pidns_fork(pgid, false))
-+		return;
-+
-+	exit(0);
-+}
-Index: strace-5.7/tests-m32/pidns.h
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-m32/pidns.h	2020-09-09 19:49:54.010575350 +0200
-@@ -0,0 +1,56 @@
-+/*
-+ * Test PID namespace translation
-+ *
-+ * Copyright (c) 2020 Ákos Uzonyi <uzonyi.akos@gmail.com>
-+ * All rights reserved.
-+ *
-+ * SPDX-License-Identifier: LGPL-2.1-or-later
-+ */
-+#ifndef STRACE_PIDNS_H
-+#define STRACE_PIDNS_H
-+
-+#ifdef PIDNS_TRANSLATION
-+# define PIDNS_TEST_INIT pidns_test_init()
-+#else
-+# define PIDNS_TEST_INIT
-+#endif
-+
-+#include <sys/types.h>
-+
-+enum pid_type {
-+	PT_TID,
-+	PT_TGID,
-+	PT_PGID,
-+	PT_SID,
-+
-+	PT_COUNT,
-+	PT_NONE = -1
-+};
-+
-+/* Prints leader (process tid) if pidns_test_init was called */
-+void pidns_print_leader(void);
-+
-+/*
-+ * Returns a static buffer containing the translation string of our PID.
-+ */
-+const char *pidns_pid2str(enum pid_type type);
-+
-+/**
-+ * Skips the test if NS_* ioctl commands are not supported by the kernel.
-+ */
-+void check_ns_ioctl(void);
-+
-+/**
-+ * Init pidns testing.
-+ *
-+ * Should be called at the beginning of the test's main function
-+ *
-+ * This function calls fork a couple of times, and returns in the child
-+ * processes. These child processes are in a new PID namespace with different
-+ * PID configurations (group leader, session leader, ...). If any child
-+ * terminates with nonzero exit status the test is failed. Otherwise the test is
-+ * succesful, and the parent process exits with 0.
-+ */
-+void pidns_test_init(void);
-+
-+#endif
-\ No newline at end of file
-Index: strace-5.7/tests-mx32/Makefile.am
-===================================================================
---- strace-5.7.orig/tests-mx32/Makefile.am	2020-09-09 19:32:50.846965498 +0200
-+++ strace-5.7/tests-mx32/Makefile.am	2020-09-09 19:49:54.010575350 +0200
-@@ -7,14 +7,14 @@
- # SPDX-License-Identifier: GPL-2.0-or-later
- 
- OS = linux
--CC = @CC_FOR_MX32@
--ARCH = @arch_mx32@
-+CC = @CC@
-+ARCH = @arch@
- NATIVE_ARCH = @arch_native@
- SIZEOF_KERNEL_LONG_T = @SIZEOF_KERNEL_LONG_T@
--SIZEOF_LONG = 4
--MPERS_NAME = mx32
--MPERS_CC_FLAGS = @CFLAGS_FOR_MX32@ @cc_flags_mx32@
--ARCH_MFLAGS = -DMPERS_IS_$(MPERS_NAME) $(MPERS_CC_FLAGS)
-+SIZEOF_LONG = @SIZEOF_LONG@
-+MPERS_NAME =
-+MPERS_CC_FLAGS =
-+ARCH_MFLAGS =
- AM_CFLAGS = $(WARN_CFLAGS)
- AM_CPPFLAGS = $(ARCH_MFLAGS) \
- 	      -I$(builddir) \
-@@ -44,6 +44,8 @@
- 	libsocketcall.c \
- 	lock_file.c \
- 	overflowuid.c \
-+	pidns.c \
-+	pidns.h \
- 	pipe_maxfd.c \
- 	print_quoted_string.c \
- 	print_time.c \
-Index: strace-5.7/tests-mx32/init.sh
-===================================================================
---- strace-5.7.orig/tests-mx32/init.sh	2020-09-09 19:32:50.846965498 +0200
-+++ strace-5.7/tests-mx32/init.sh	2020-09-09 19:49:54.010575350 +0200
-@@ -387,6 +387,36 @@
- 	test_pure_prog_set "$@" < "$srcdir/$NAME.in"
- }
- 
-+test_pidns_run_strace()
-+{
-+	local parent_pid init_pid
-+
-+	check_prog tail
-+	check_prog cut
-+	check_prog grep
-+
-+	run_prog > /dev/null
-+	run_strace --pidns-translation -f $@ $args > "$EXP"
-+
-+	# filter out logs made by the parent or init process of the pidns test
-+	parent_pid="$(tail -n 2 $LOG | head -n 1 | cut -d' ' -f1)"
-+	init_pid="$(tail -n 1 $LOG | cut -d' ' -f1)"
-+	grep -E -v "^($parent_pid|$init_pid) " "$LOG" > "$OUT"
-+	match_diff "$OUT" "$EXP"
-+}
-+
-+test_pidns()
-+{
-+	check_prog unshare
-+	unshare -Urpf true || framework_skip_ "unshare -Urpf true failed"
-+
-+	test_pidns_run_strace "$@"
-+
-+	# test PID translation when /proc is mounted from an other namespace
-+	STRACE="unshare -Urpf $STRACE"
-+	test_pidns_run_strace "$@"
-+}
-+
- check_prog cat
- check_prog rm
- 
-Index: strace-5.7/tests-mx32/pidns.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-mx32/pidns.c	2020-09-09 19:49:54.010575350 +0200
-@@ -0,0 +1,237 @@
-+/*
-+ * Testing framework for PID namespace translation
-+ *
-+ * Copyright (c) 2020 Ákos Uzonyi <uzonyi.akos@gmail.com>
-+ * All rights reserved.
-+ *
-+ * SPDX-License-Identifier: LGPL-2.1-or-later
-+ */
-+#include "tests.h"
-+#include "pidns.h"
-+#include "nsfs.h"
-+
-+#include <errno.h>
-+#include <stdio.h>
-+#include <string.h>
-+#include <sys/types.h>
-+#include <signal.h>
-+#include <stdlib.h>
-+#include <sched.h>
-+#include <unistd.h>
-+#include <sys/wait.h>
-+#include <linux/sched.h>
-+#include <fcntl.h>
-+#include <sys/ioctl.h>
-+
-+#ifndef CLONE_NEWUSER
-+# define CLONE_NEWUSER 0x10000000
-+#endif
-+
-+#ifndef CLONE_NEWPID
-+# define CLONE_NEWPID 0x20000000
-+#endif
-+
-+static bool pidns_translation = false;
-+static bool pidns_unshared = false;
-+
-+/* Our PIDs in strace's namespace */
-+static pid_t pidns_strace_ids[PT_COUNT];
-+
-+void
-+pidns_print_leader(void)
-+{
-+	if (pidns_translation)
-+		printf("%-5d ", pidns_strace_ids[PT_TID]);
-+}
-+
-+const char *
-+pidns_pid2str(enum pid_type type)
-+{
-+	static const char format[] = " /* %d in strace's PID NS */";
-+	static char buf[PT_COUNT][sizeof(format) + sizeof(int) * 3];
-+
-+	if (type < 0 || type >= PT_COUNT)
-+		return "";
-+
-+	if (!pidns_unshared || !pidns_strace_ids[type])
-+		return "";
-+
-+	snprintf(buf[type], sizeof(buf[type]), format, pidns_strace_ids[type]);
-+	return buf[type];
-+}
-+
-+/**
-+ * This function is like fork, but does a few more things. It sets up the
-+ * child's PGID and SID according to the parameters. Also it fills the
-+ * pidns_strace_ids array in the child's memory with the PIDs of the child in
-+ * parent's PID namespace. In the parent it waits for the child to terminate
-+ * (but leaves the zombie to use it later as a process group). If the child
-+ * terminates with nonzero exit status, the test is failed.
-+ *
-+ * @param pgid     The process group the child should be moved to. It's expected
-+ *                 to be a PID of a zombie process (will be reaped). If
-+ *                 negative, leave the child in the process group of the parent.
-+ *                 If 0, move the process to its own process group.
-+ * @param new_sid  Wheather child should be moved to a new session.
-+ */
-+static pid_t
-+pidns_fork(pid_t pgid, bool new_sid)
-+{
-+	int strace_ids_pipe[2];
-+	if (pipe(strace_ids_pipe) < 0)
-+		perror_msg_and_fail("pipe");
-+
-+	fflush(stdout);
-+	pid_t pid = fork();
-+	if (pid < 0)
-+		perror_msg_and_fail("fork");
-+
-+	if (!pid) {
-+		close(strace_ids_pipe[1]);
-+
-+		ssize_t len = read(strace_ids_pipe[0], pidns_strace_ids,
-+				sizeof(pidns_strace_ids));
-+		if (len < 0)
-+			perror_msg_and_fail("read");
-+		if (len != sizeof(pidns_strace_ids))
-+			error_msg_and_fail("read returned < sizeof(pidns_strace_ids)");
-+
-+		close(strace_ids_pipe[0]);
-+
-+		if (pidns_strace_ids[PT_SID])
-+			setsid();
-+
-+		return 0;
-+	}
-+
-+	pidns_strace_ids[PT_TID] = pid;
-+	pidns_strace_ids[PT_TGID] = pid;
-+	pidns_strace_ids[PT_PGID] = 0;
-+	pidns_strace_ids[PT_SID] = 0;
-+
-+	if (!pgid)
-+		pgid = pid;
-+
-+	if (pgid > 0) {
-+		if (setpgid(pid, pgid) < 0)
-+			perror_msg_and_fail("setpgid");
-+
-+		pidns_strace_ids[PT_PGID] = pgid;
-+	}
-+
-+	/* Reap group leader to test PGID decoding */
-+	if (pgid > 0 && pgid != pid) {
-+		int ret = waitpid(pgid, NULL, WNOHANG);
-+		if (ret < 0)
-+			perror_msg_and_fail("wait");
-+		if (!ret)
-+			error_msg_and_fail("could not reap group leader");
-+	}
-+
-+	if (new_sid) {
-+		pidns_strace_ids[PT_SID] = pid;
-+		pidns_strace_ids[PT_PGID] = pid;
-+	}
-+
-+	ssize_t len = write(strace_ids_pipe[1], pidns_strace_ids,
-+	                     sizeof(pidns_strace_ids));
-+	if (len < 0)
-+		perror_msg_and_fail("write");
-+	if (len != sizeof(pidns_strace_ids))
-+		error_msg_and_fail("write returned < sizeof(pidns_strace_ids)");
-+
-+	close(strace_ids_pipe[0]);
-+	close(strace_ids_pipe[1]);
-+
-+	/* WNOWAIT: leave the zombie, to be able to use it as a process group */
-+	siginfo_t siginfo;
-+	if (waitid(P_PID, pid, &siginfo, WEXITED | WNOWAIT) < 0)
-+		perror_msg_and_fail("wait");
-+	if (siginfo.si_code != CLD_EXITED || siginfo.si_status)
-+		error_msg_and_fail("child terminated with nonzero exit status");
-+
-+	return pid;
-+}
-+
-+static void
-+create_init_process(void)
-+{
-+	int child_pipe[2];
-+	if (pipe(child_pipe) < 0)
-+		perror_msg_and_fail("pipe");
-+
-+	pid_t pid = fork();
-+	if (pid < 0)
-+		perror_msg_and_fail("fork");
-+
-+	if (!pid) {
-+		close(child_pipe[1]);
-+		if (read(child_pipe[0], &child_pipe[1], sizeof(int)) != 0)
-+			_exit(1);
-+		_exit(0);
-+	}
-+
-+	close(child_pipe[0]);
-+}
-+
-+void
-+check_ns_ioctl(void)
-+{
-+	int fd = open("/proc/self/ns/pid", O_RDONLY);
-+	if (fd < 0) {
-+		if (errno == ENOENT)
-+			perror_msg_and_skip("opening /proc/self/ns/pid");
-+		else
-+			perror_msg_and_fail("opening /proc/self/ns/pid");
-+	}
-+
-+	int userns_fd = ioctl(fd, NS_GET_USERNS);
-+	if (userns_fd < 0) {
-+		if (errno == ENOTTY)
-+			error_msg_and_skip("NS_* ioctl commands are not "
-+			                   "supported by the kernel");
-+		else
-+			perror_msg_and_fail("ioctl(NS_GET_USERNS)");
-+	}
-+
-+	close(userns_fd);
-+	close(fd);
-+}
-+
-+void
-+pidns_test_init(void)
-+{
-+	pidns_translation = true;
-+
-+	check_ns_ioctl();
-+
-+	if (!pidns_fork(-1, false))
-+		return;
-+
-+	/* Unshare user namespace too, so we do not need to be root */
-+	if (unshare(CLONE_NEWUSER | CLONE_NEWPID) < 0) {
-+		if (errno == EPERM)
-+			perror_msg_and_skip("unshare");
-+
-+		perror_msg_and_fail("unshare");
-+	}
-+
-+	pidns_unshared = true;
-+
-+	create_init_process();
-+
-+	if (!pidns_fork(-1, false))
-+		return;
-+
-+	if (!pidns_fork(-1, true))
-+		return;
-+
-+	pid_t pgid;
-+	if (!(pgid = pidns_fork(0, false)))
-+		return;
-+
-+	if (!pidns_fork(pgid, false))
-+		return;
-+
-+	exit(0);
-+}
-Index: strace-5.7/tests-mx32/pidns.h
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-mx32/pidns.h	2020-09-09 19:49:54.010575350 +0200
-@@ -0,0 +1,56 @@
-+/*
-+ * Test PID namespace translation
-+ *
-+ * Copyright (c) 2020 Ákos Uzonyi <uzonyi.akos@gmail.com>
-+ * All rights reserved.
-+ *
-+ * SPDX-License-Identifier: LGPL-2.1-or-later
-+ */
-+#ifndef STRACE_PIDNS_H
-+#define STRACE_PIDNS_H
-+
-+#ifdef PIDNS_TRANSLATION
-+# define PIDNS_TEST_INIT pidns_test_init()
-+#else
-+# define PIDNS_TEST_INIT
-+#endif
-+
-+#include <sys/types.h>
-+
-+enum pid_type {
-+	PT_TID,
-+	PT_TGID,
-+	PT_PGID,
-+	PT_SID,
-+
-+	PT_COUNT,
-+	PT_NONE = -1
-+};
-+
-+/* Prints leader (process tid) if pidns_test_init was called */
-+void pidns_print_leader(void);
-+
-+/*
-+ * Returns a static buffer containing the translation string of our PID.
-+ */
-+const char *pidns_pid2str(enum pid_type type);
-+
-+/**
-+ * Skips the test if NS_* ioctl commands are not supported by the kernel.
-+ */
-+void check_ns_ioctl(void);
-+
-+/**
-+ * Init pidns testing.
-+ *
-+ * Should be called at the beginning of the test's main function
-+ *
-+ * This function calls fork a couple of times, and returns in the child
-+ * processes. These child processes are in a new PID namespace with different
-+ * PID configurations (group leader, session leader, ...). If any child
-+ * terminates with nonzero exit status the test is failed. Otherwise the test is
-+ * succesful, and the parent process exits with 0.
-+ */
-+void pidns_test_init(void);
-+
-+#endif
-\ No newline at end of file
-Index: strace-5.7/tests/Makefile.in
-===================================================================
---- strace-5.7.orig/tests/Makefile.in	2020-09-09 19:46:24.904450714 +0200
-+++ strace-5.7/tests/Makefile.in	2020-09-09 19:51:23.607628754 +0200
-@@ -531,7 +531,7 @@
- 	libtests_a-libmmsg.$(OBJEXT) \
- 	libtests_a-libsocketcall.$(OBJEXT) \
- 	libtests_a-lock_file.$(OBJEXT) \
--	libtests_a-overflowuid.$(OBJEXT) \
-+	libtests_a-overflowuid.$(OBJEXT) libtests_a-pidns.$(OBJEXT) \
- 	libtests_a-pipe_maxfd.$(OBJEXT) \
- 	libtests_a-print_quoted_string.$(OBJEXT) \
- 	libtests_a-print_time.$(OBJEXT) \
-@@ -3899,6 +3899,7 @@
- 	./$(DEPDIR)/libtests_a-libsocketcall.Po \
- 	./$(DEPDIR)/libtests_a-lock_file.Po \
- 	./$(DEPDIR)/libtests_a-overflowuid.Po \
-+	./$(DEPDIR)/libtests_a-pidns.Po \
- 	./$(DEPDIR)/libtests_a-pipe_maxfd.Po \
- 	./$(DEPDIR)/libtests_a-print_quoted_string.Po \
- 	./$(DEPDIR)/libtests_a-print_time.Po \
-@@ -5122,6 +5123,8 @@
- 	libsocketcall.c \
- 	lock_file.c \
- 	overflowuid.c \
-+	pidns.c \
-+	pidns.h \
- 	pipe_maxfd.c \
- 	print_quoted_string.c \
- 	print_time.c \
-@@ -9926,6 +9929,7 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-libsocketcall.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-lock_file.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-overflowuid.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-pidns.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-pipe_maxfd.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-print_quoted_string.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-print_time.Po@am__quote@ # am--include-marker
-@@ -10651,6 +10655,20 @@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-overflowuid.obj `if test -f 'overflowuid.c'; then $(CYGPATH_W) 'overflowuid.c'; else $(CYGPATH_W) '$(srcdir)/overflowuid.c'; fi`
- 
-+libtests_a-pidns.o: pidns.c
-+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-pidns.o -MD -MP -MF $(DEPDIR)/libtests_a-pidns.Tpo -c -o libtests_a-pidns.o `test -f 'pidns.c' || echo '$(srcdir)/'`pidns.c
-+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-pidns.Tpo $(DEPDIR)/libtests_a-pidns.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='pidns.c' object='libtests_a-pidns.o' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-pidns.o `test -f 'pidns.c' || echo '$(srcdir)/'`pidns.c
-+
-+libtests_a-pidns.obj: pidns.c
-+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-pidns.obj -MD -MP -MF $(DEPDIR)/libtests_a-pidns.Tpo -c -o libtests_a-pidns.obj `if test -f 'pidns.c'; then $(CYGPATH_W) 'pidns.c'; else $(CYGPATH_W) '$(srcdir)/pidns.c'; fi`
-+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-pidns.Tpo $(DEPDIR)/libtests_a-pidns.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='pidns.c' object='libtests_a-pidns.obj' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-pidns.obj `if test -f 'pidns.c'; then $(CYGPATH_W) 'pidns.c'; else $(CYGPATH_W) '$(srcdir)/pidns.c'; fi`
-+
- libtests_a-pipe_maxfd.o: pipe_maxfd.c
- @am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-pipe_maxfd.o -MD -MP -MF $(DEPDIR)/libtests_a-pipe_maxfd.Tpo -c -o libtests_a-pipe_maxfd.o `test -f 'pipe_maxfd.c' || echo '$(srcdir)/'`pipe_maxfd.c
- @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-pipe_maxfd.Tpo $(DEPDIR)/libtests_a-pipe_maxfd.Po
-@@ -11748,6 +11766,7 @@
- 	-rm -f ./$(DEPDIR)/libtests_a-libsocketcall.Po
- 	-rm -f ./$(DEPDIR)/libtests_a-lock_file.Po
- 	-rm -f ./$(DEPDIR)/libtests_a-overflowuid.Po
-+	-rm -f ./$(DEPDIR)/libtests_a-pidns.Po
- 	-rm -f ./$(DEPDIR)/libtests_a-pipe_maxfd.Po
- 	-rm -f ./$(DEPDIR)/libtests_a-print_quoted_string.Po
- 	-rm -f ./$(DEPDIR)/libtests_a-print_time.Po
-@@ -12605,6 +12624,7 @@
- 	-rm -f ./$(DEPDIR)/libtests_a-libsocketcall.Po
- 	-rm -f ./$(DEPDIR)/libtests_a-lock_file.Po
- 	-rm -f ./$(DEPDIR)/libtests_a-overflowuid.Po
-+	-rm -f ./$(DEPDIR)/libtests_a-pidns.Po
- 	-rm -f ./$(DEPDIR)/libtests_a-pipe_maxfd.Po
- 	-rm -f ./$(DEPDIR)/libtests_a-print_quoted_string.Po
- 	-rm -f ./$(DEPDIR)/libtests_a-print_time.Po
-Index: strace-5.7/tests-m32/Makefile.in
-===================================================================
---- strace-5.7.orig/tests-m32/Makefile.in	2020-09-09 19:49:34.530563739 +0200
-+++ strace-5.7/tests-m32/Makefile.in	2020-09-09 19:52:01.333651241 +0200
-@@ -531,7 +531,7 @@
- 	libtests_a-libmmsg.$(OBJEXT) \
- 	libtests_a-libsocketcall.$(OBJEXT) \
- 	libtests_a-lock_file.$(OBJEXT) \
--	libtests_a-overflowuid.$(OBJEXT) \
-+	libtests_a-overflowuid.$(OBJEXT) libtests_a-pidns.$(OBJEXT) \
- 	libtests_a-pipe_maxfd.$(OBJEXT) \
- 	libtests_a-print_quoted_string.$(OBJEXT) \
- 	libtests_a-print_time.$(OBJEXT) \
-@@ -3899,6 +3899,7 @@
- 	./$(DEPDIR)/libtests_a-libsocketcall.Po \
- 	./$(DEPDIR)/libtests_a-lock_file.Po \
- 	./$(DEPDIR)/libtests_a-overflowuid.Po \
-+	./$(DEPDIR)/libtests_a-pidns.Po \
- 	./$(DEPDIR)/libtests_a-pipe_maxfd.Po \
- 	./$(DEPDIR)/libtests_a-print_quoted_string.Po \
- 	./$(DEPDIR)/libtests_a-print_time.Po \
-@@ -5122,6 +5123,8 @@
- 	libsocketcall.c \
- 	lock_file.c \
- 	overflowuid.c \
-+	pidns.c \
-+	pidns.h \
- 	pipe_maxfd.c \
- 	print_quoted_string.c \
- 	print_time.c \
-@@ -9926,6 +9929,7 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-libsocketcall.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-lock_file.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-overflowuid.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-pidns.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-pipe_maxfd.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-print_quoted_string.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-print_time.Po@am__quote@ # am--include-marker
-@@ -10651,6 +10655,20 @@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-overflowuid.obj `if test -f 'overflowuid.c'; then $(CYGPATH_W) 'overflowuid.c'; else $(CYGPATH_W) '$(srcdir)/overflowuid.c'; fi`
- 
-+libtests_a-pidns.o: pidns.c
-+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-pidns.o -MD -MP -MF $(DEPDIR)/libtests_a-pidns.Tpo -c -o libtests_a-pidns.o `test -f 'pidns.c' || echo '$(srcdir)/'`pidns.c
-+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-pidns.Tpo $(DEPDIR)/libtests_a-pidns.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='pidns.c' object='libtests_a-pidns.o' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-pidns.o `test -f 'pidns.c' || echo '$(srcdir)/'`pidns.c
-+
-+libtests_a-pidns.obj: pidns.c
-+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-pidns.obj -MD -MP -MF $(DEPDIR)/libtests_a-pidns.Tpo -c -o libtests_a-pidns.obj `if test -f 'pidns.c'; then $(CYGPATH_W) 'pidns.c'; else $(CYGPATH_W) '$(srcdir)/pidns.c'; fi`
-+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-pidns.Tpo $(DEPDIR)/libtests_a-pidns.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='pidns.c' object='libtests_a-pidns.obj' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-pidns.obj `if test -f 'pidns.c'; then $(CYGPATH_W) 'pidns.c'; else $(CYGPATH_W) '$(srcdir)/pidns.c'; fi`
-+
- libtests_a-pipe_maxfd.o: pipe_maxfd.c
- @am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-pipe_maxfd.o -MD -MP -MF $(DEPDIR)/libtests_a-pipe_maxfd.Tpo -c -o libtests_a-pipe_maxfd.o `test -f 'pipe_maxfd.c' || echo '$(srcdir)/'`pipe_maxfd.c
- @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-pipe_maxfd.Tpo $(DEPDIR)/libtests_a-pipe_maxfd.Po
-@@ -11748,6 +11766,7 @@
- 	-rm -f ./$(DEPDIR)/libtests_a-libsocketcall.Po
- 	-rm -f ./$(DEPDIR)/libtests_a-lock_file.Po
- 	-rm -f ./$(DEPDIR)/libtests_a-overflowuid.Po
-+	-rm -f ./$(DEPDIR)/libtests_a-pidns.Po
- 	-rm -f ./$(DEPDIR)/libtests_a-pipe_maxfd.Po
- 	-rm -f ./$(DEPDIR)/libtests_a-print_quoted_string.Po
- 	-rm -f ./$(DEPDIR)/libtests_a-print_time.Po
-@@ -12605,6 +12624,7 @@
- 	-rm -f ./$(DEPDIR)/libtests_a-libsocketcall.Po
- 	-rm -f ./$(DEPDIR)/libtests_a-lock_file.Po
- 	-rm -f ./$(DEPDIR)/libtests_a-overflowuid.Po
-+	-rm -f ./$(DEPDIR)/libtests_a-pidns.Po
- 	-rm -f ./$(DEPDIR)/libtests_a-pipe_maxfd.Po
- 	-rm -f ./$(DEPDIR)/libtests_a-print_quoted_string.Po
- 	-rm -f ./$(DEPDIR)/libtests_a-print_time.Po
-Index: strace-5.7/tests-mx32/Makefile.in
-===================================================================
---- strace-5.7.orig/tests-mx32/Makefile.in	2020-09-09 19:49:39.557566736 +0200
-+++ strace-5.7/tests-mx32/Makefile.in	2020-09-09 19:52:26.062665980 +0200
-@@ -531,7 +531,7 @@
- 	libtests_a-libmmsg.$(OBJEXT) \
- 	libtests_a-libsocketcall.$(OBJEXT) \
- 	libtests_a-lock_file.$(OBJEXT) \
--	libtests_a-overflowuid.$(OBJEXT) \
-+	libtests_a-overflowuid.$(OBJEXT) libtests_a-pidns.$(OBJEXT) \
- 	libtests_a-pipe_maxfd.$(OBJEXT) \
- 	libtests_a-print_quoted_string.$(OBJEXT) \
- 	libtests_a-print_time.$(OBJEXT) \
-@@ -3899,6 +3899,7 @@
- 	./$(DEPDIR)/libtests_a-libsocketcall.Po \
- 	./$(DEPDIR)/libtests_a-lock_file.Po \
- 	./$(DEPDIR)/libtests_a-overflowuid.Po \
-+	./$(DEPDIR)/libtests_a-pidns.Po \
- 	./$(DEPDIR)/libtests_a-pipe_maxfd.Po \
- 	./$(DEPDIR)/libtests_a-print_quoted_string.Po \
- 	./$(DEPDIR)/libtests_a-print_time.Po \
-@@ -5122,6 +5123,8 @@
- 	libsocketcall.c \
- 	lock_file.c \
- 	overflowuid.c \
-+	pidns.c \
-+	pidns.h \
- 	pipe_maxfd.c \
- 	print_quoted_string.c \
- 	print_time.c \
-@@ -9926,6 +9929,7 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-libsocketcall.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-lock_file.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-overflowuid.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-pidns.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-pipe_maxfd.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-print_quoted_string.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-print_time.Po@am__quote@ # am--include-marker
-@@ -10651,6 +10655,20 @@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-overflowuid.obj `if test -f 'overflowuid.c'; then $(CYGPATH_W) 'overflowuid.c'; else $(CYGPATH_W) '$(srcdir)/overflowuid.c'; fi`
- 
-+libtests_a-pidns.o: pidns.c
-+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-pidns.o -MD -MP -MF $(DEPDIR)/libtests_a-pidns.Tpo -c -o libtests_a-pidns.o `test -f 'pidns.c' || echo '$(srcdir)/'`pidns.c
-+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-pidns.Tpo $(DEPDIR)/libtests_a-pidns.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='pidns.c' object='libtests_a-pidns.o' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-pidns.o `test -f 'pidns.c' || echo '$(srcdir)/'`pidns.c
-+
-+libtests_a-pidns.obj: pidns.c
-+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-pidns.obj -MD -MP -MF $(DEPDIR)/libtests_a-pidns.Tpo -c -o libtests_a-pidns.obj `if test -f 'pidns.c'; then $(CYGPATH_W) 'pidns.c'; else $(CYGPATH_W) '$(srcdir)/pidns.c'; fi`
-+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-pidns.Tpo $(DEPDIR)/libtests_a-pidns.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='pidns.c' object='libtests_a-pidns.obj' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-pidns.obj `if test -f 'pidns.c'; then $(CYGPATH_W) 'pidns.c'; else $(CYGPATH_W) '$(srcdir)/pidns.c'; fi`
-+
- libtests_a-pipe_maxfd.o: pipe_maxfd.c
- @am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-pipe_maxfd.o -MD -MP -MF $(DEPDIR)/libtests_a-pipe_maxfd.Tpo -c -o libtests_a-pipe_maxfd.o `test -f 'pipe_maxfd.c' || echo '$(srcdir)/'`pipe_maxfd.c
- @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-pipe_maxfd.Tpo $(DEPDIR)/libtests_a-pipe_maxfd.Po
-@@ -11748,6 +11766,7 @@
- 	-rm -f ./$(DEPDIR)/libtests_a-libsocketcall.Po
- 	-rm -f ./$(DEPDIR)/libtests_a-lock_file.Po
- 	-rm -f ./$(DEPDIR)/libtests_a-overflowuid.Po
-+	-rm -f ./$(DEPDIR)/libtests_a-pidns.Po
- 	-rm -f ./$(DEPDIR)/libtests_a-pipe_maxfd.Po
- 	-rm -f ./$(DEPDIR)/libtests_a-print_quoted_string.Po
- 	-rm -f ./$(DEPDIR)/libtests_a-print_time.Po
-@@ -12605,6 +12624,7 @@
- 	-rm -f ./$(DEPDIR)/libtests_a-libsocketcall.Po
- 	-rm -f ./$(DEPDIR)/libtests_a-lock_file.Po
- 	-rm -f ./$(DEPDIR)/libtests_a-overflowuid.Po
-+	-rm -f ./$(DEPDIR)/libtests_a-pidns.Po
- 	-rm -f ./$(DEPDIR)/libtests_a-pipe_maxfd.Po
- 	-rm -f ./$(DEPDIR)/libtests_a-print_quoted_string.Po
- 	-rm -f ./$(DEPDIR)/libtests_a-print_time.Po
diff --git a/SOURCES/0138-Add-tests-for-PID-namespace-translation.patch b/SOURCES/0138-Add-tests-for-PID-namespace-translation.patch
deleted file mode 100644
index 45ed9b0..0000000
--- a/SOURCES/0138-Add-tests-for-PID-namespace-translation.patch
+++ /dev/null
@@ -1,20054 +0,0 @@
-From 83e40ec53c3d32ee605930127fa376b1d257c934 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?=C3=81kos=20Uzonyi?= <uzonyi.akos@gmail.com>
-Date: Sat, 11 Jul 2020 17:29:58 +0200
-Subject: [PATCH 138/138] Add tests for PID namespace translation
-
-* Makefile.am (CODE_COVERAGE_IGNORE_PATTERN): Add test directories.
-* tests/.gitignore: Add new test executables.
-* tests/Makefile.am (check_PROGRAMS): Add new test executables.
-(DECODER_TESTS) Add new test files.
-(libtests_a_SOURCES): Add trie_for_tests.c, xmalloc_for_tests.c.
-* tests/gen_tests.in: Add new tests.
-* tests/trie_test.c: New file.
-* tests/trie_for_tests.c: New file.
-* tests/xmalloc_for_tests.c: New file.
-* tests/pidns-cache.c: New file.
-* tests/pidns-cache.test: New file.
-* tests/fcntl--pidns-translation.c: New file.
-* tests/fcntl64--pidns-translation.c: New file.
-* tests/fork--pidns-translation.awk: New file.
-* tests/fork--pidns-translation.c: New file.
-* tests/fork--pidns-translation.test: New file.
-* tests/getpgrp--pidns-translation.c: New file.
-* tests/getpid--pidns-translation.c: New file.
-* tests/getsid--pidns-translation.c: New file.
-* tests/gettid--pidns-translation.c: New file.
-* tests/gettid--pidns-translation.test: New file.
-* tests/ioctl_block--pidns-translation.c: New file.
-* tests/ioctl_block--pidns-translation.test: New file.
-* tests/ioprio--pidns-translation.c: New file.
-* tests/kill--pidns-translation.c: New file.
-* tests/migrate_pages--pidns-translation.c: New file.
-* tests/move_pages--pidns-translation.c: New file.
-* tests/net-sockaddr--pidns-translation.c: New file.
-* tests/netlink_audit--pidns-translation.c: New file.
-* tests/netlink_audit--pidns-translation.test: New file.
-* tests/pidfd_open--pidns-translation.c: New file.
-* tests/pidfd_send_signal--pidns-translation.c: New file.
-* tests/prlimit64--pidns-translation.c: New file.
-* tests/process_vm_readv--pidns-translation.c: New file.
-* tests/process_vm_writev--pidns-translation.c: New file.
-* tests/rt_sigqueueinfo--pidns-translation.c: New file.
-* tests/rt_tgsigqueueinfo--pidns-translation.c: New file.
-* tests/sched_xetaffinity--pidns-translation.c: New file.
-* tests/sched_xetattr--pidns-translation.c: New file.
-* tests/sched_xetparam--pidns-translation.c: New file.
-* tests/sched_xetscheduler--pidns-translation.c: New file.
-* tests/signal_receive--pidns-translation.c: New file.
-* tests/so_peercred--pidns-translation.c: New file.
-* tests/tkill--pidns-translation.c: New file.
-* tests/tgkill--pidns-translation.c: New file.
-* tests/xet_robust_list--pidns-translation.c: New file.
-* tests/xetpgid--pidns-translation.c: New file.
-* tests/xetpriority--pidns-translation.c: New file.
-* tests/fcntl-common.c: Print PID translation string after PIDs.
-* tests/fcntl.c: Likewise.
-* tests/fcntl64.c: Likewise.
-* tests/getpgrp.c: Likewise.
-* tests/getpid.c: Likewise.
-* tests/getsid.c: Likewise.
-* tests/gettid.c: Likewise.
-* tests/ioctl_block.c: Likewise.
-* tests/ioprio.c: Likewise.
-* tests/kcmp.c: Likewise.
-* tests/kill.c: Likewise.
-* tests/migrate_pages.c: Likewise.
-* tests/move_pages.c: Likewise.
-* tests/net-sockaddr.c: Likewise.
-* tests/netlink_audit.c: Likewise.
-* tests/pidfd_open.c: Likewise.
-* tests/pidfd_send_signal.c: Likewise.
-* tests/prlimit64.c: Likewise.
-* tests/process_vm_readv_writev.c: Likewise.
-* tests/rt_sigqueueinfo.c: Likewise.
-* tests/rt_tgsigqueueinfo.c: Likewise.
-* tests/sched_xetaffinity.c: Likewise.
-* tests/sched_xetattr.c: Likewise.
-* tests/sched_xetparam.c: Likewise.
-* tests/sched_xetscheduler.c: Likewise.
-* tests/signal_receive.c: Likewise.
-* tests/so_peercred.c: Likewise.
-* tests/tgkill.c: Likewise.
-* tests/tkill.c: Likewise.
-* tests/xet_robust_list.c: Likewise.
-* tests/xetpgid.c: Likewise.
-* tests/xetpriority.c: Likewise.
----
- Makefile.am                                   |   2 +-
- tests/.gitignore                              |  35 ++++++++
- tests/Makefile.am                             |  47 ++++++++++
- tests/fcntl--pidns-translation.c              |   2 +
- tests/fcntl-common.c                          |  78 ++++++++++++-----
- tests/fcntl.c                                 |   1 +
- tests/fcntl64--pidns-translation.c            |   2 +
- tests/fcntl64.c                               |   3 +
- tests/fork--pidns-translation.awk             |  15 ++++
- tests/fork--pidns-translation.c               |  78 +++++++++++++++++
- tests/fork--pidns-translation.test            |  14 +++
- tests/gen_tests.in                            |  32 ++++++-
- tests/getpgrp--pidns-translation.c            |   2 +
- tests/getpgrp.c                               |   8 +-
- tests/getpid--pidns-translation.c             |   2 +
- tests/getpid.c                                |   8 +-
- tests/getsid--pidns-translation.c             |   2 +
- tests/getsid.c                                |   9 +-
- tests/gettid--pidns-translation.c             |   2 +
- tests/gettid--pidns-translation.test          |  18 ++++
- tests/gettid.c                                |   8 +-
- tests/ioctl_block--pidns-translation.c        |   2 +
- tests/ioctl_block--pidns-translation.test     |  22 +++++
- tests/ioctl_block.c                           |  24 ++++-
- tests/ioprio--pidns-translation.c             |   2 +
- tests/ioprio.c                                |  54 ++++++++----
- tests/kcmp-y--pidns-translation.c             |   2 +
- tests/kcmp.c                                  |  11 ++-
- tests/kill--pidns-translation.c               |   2 +
- tests/kill.c                                  |  12 ++-
- tests/migrate_pages--pidns-translation.c      |   2 +
- tests/migrate_pages.c                         |  17 +++-
- tests/move_pages--pidns-translation.c         |   2 +
- tests/move_pages.c                            |  51 +++++++----
- tests/net-sockaddr--pidns-translation.c       |   2 +
- tests/net-sockaddr.c                          |  60 ++++++++++++-
- tests/netlink_audit--pidns-translation.c      |   2 +
- tests/netlink_audit--pidns-translation.test   |  13 +++
- tests/netlink_audit.c                         |  11 ++-
- tests/pidfd_open--pidns-translation.c         |   2 +
- tests/pidfd_open.c                            |  21 +++--
- tests/pidfd_send_signal--pidns-translation.c  |   2 +
- tests/pidfd_send_signal.c                     |  13 ++-
- tests/pidns-cache.c                           |  62 +++++++++++++
- tests/pidns-cache.test                        |  15 ++++
- tests/prlimit64--pidns-translation.c          |   2 +
- tests/prlimit64.c                             |  17 +++-
- tests/process_vm_readv--pidns-translation.c   |   2 +
- tests/process_vm_readv_writev.c               |  27 +++---
- tests/process_vm_writev--pidns-translation.c  |   2 +
- tests/rt_sigqueueinfo--pidns-translation.c    |   2 +
- tests/rt_sigqueueinfo.c                       |  15 +++-
- tests/rt_tgsigqueueinfo--pidns-translation.c  |   2 +
- tests/rt_tgsigqueueinfo.c                     |  26 ++++--
- tests/sched_xetaffinity--pidns-translation.c  |   2 +
- tests/sched_xetaffinity.c                     |  31 ++++---
- tests/sched_xetattr--pidns-translation.c      |   2 +
- tests/sched_xetattr.c                         |  47 +++++++++-
- tests/sched_xetparam--pidns-translation.c     |   2 +
- tests/sched_xetparam.c                        |  20 +++--
- tests/sched_xetscheduler--pidns-translation.c |   2 +
- tests/sched_xetscheduler.c                    |  44 +++++++---
- tests/signal_receive--pidns-translation.c     |   2 +
- tests/signal_receive.c                        |  22 +++--
- tests/so_peercred--pidns-translation.c        |   2 +
- tests/so_peercred.c                           |  22 +++++
- tests/tgkill--pidns-translation.c             |   2 +
- tests/tgkill.c                                |  51 +++++++----
- tests/tkill--pidns-translation.c              |   2 +
- tests/tkill.c                                 |  19 ++--
- tests/trie_for_tests.c                        |   1 +
- tests/trie_test.c                             | 121 ++++++++++++++++++++++++++
- tests/xet_robust_list--pidns-translation.c    |   2 +
- tests/xet_robust_list.c                       |  18 +++-
- tests/xetpgid--pidns-translation.c            |   2 +
- tests/xetpgid.c                               |  21 +++--
- tests/xetpriority--pidns-translation.c        |   2 +
- tests/xetpriority.c                           |  20 ++++-
- tests/xmalloc_for_tests.c                     |   2 +
- 79 files changed, 1143 insertions(+), 187 deletions(-)
- create mode 100644 tests/fcntl--pidns-translation.c
- create mode 100644 tests/fcntl64--pidns-translation.c
- create mode 100644 tests/fork--pidns-translation.awk
- create mode 100644 tests/fork--pidns-translation.c
- create mode 100755 tests/fork--pidns-translation.test
- create mode 100644 tests/getpgrp--pidns-translation.c
- create mode 100644 tests/getpid--pidns-translation.c
- create mode 100644 tests/getsid--pidns-translation.c
- create mode 100644 tests/gettid--pidns-translation.c
- create mode 100755 tests/gettid--pidns-translation.test
- create mode 100644 tests/ioctl_block--pidns-translation.c
- create mode 100755 tests/ioctl_block--pidns-translation.test
- create mode 100644 tests/ioprio--pidns-translation.c
- create mode 100644 tests/kcmp-y--pidns-translation.c
- create mode 100644 tests/kill--pidns-translation.c
- create mode 100644 tests/migrate_pages--pidns-translation.c
- create mode 100644 tests/move_pages--pidns-translation.c
- create mode 100644 tests/net-sockaddr--pidns-translation.c
- create mode 100644 tests/netlink_audit--pidns-translation.c
- create mode 100755 tests/netlink_audit--pidns-translation.test
- create mode 100644 tests/pidfd_open--pidns-translation.c
- create mode 100644 tests/pidfd_send_signal--pidns-translation.c
- create mode 100644 tests/pidns-cache.c
- create mode 100755 tests/pidns-cache.test
- create mode 100644 tests/prlimit64--pidns-translation.c
- create mode 100644 tests/process_vm_readv--pidns-translation.c
- create mode 100644 tests/process_vm_writev--pidns-translation.c
- create mode 100644 tests/rt_sigqueueinfo--pidns-translation.c
- create mode 100644 tests/rt_tgsigqueueinfo--pidns-translation.c
- create mode 100644 tests/sched_xetaffinity--pidns-translation.c
- create mode 100644 tests/sched_xetattr--pidns-translation.c
- create mode 100644 tests/sched_xetparam--pidns-translation.c
- create mode 100644 tests/sched_xetscheduler--pidns-translation.c
- create mode 100644 tests/signal_receive--pidns-translation.c
- create mode 100644 tests/so_peercred--pidns-translation.c
- create mode 100644 tests/tgkill--pidns-translation.c
- create mode 100644 tests/tkill--pidns-translation.c
- create mode 100644 tests/trie_for_tests.c
- create mode 100644 tests/trie_test.c
- create mode 100644 tests/xet_robust_list--pidns-translation.c
- create mode 100644 tests/xetpgid--pidns-translation.c
- create mode 100644 tests/xetpriority--pidns-translation.c
- create mode 100644 tests/xmalloc_for_tests.c
-
-Index: strace-5.7/Makefile.am
-===================================================================
---- strace-5.7.orig/Makefile.am	2020-09-09 19:52:30.590668679 +0200
-+++ strace-5.7/Makefile.am	2020-09-09 19:52:38.872673616 +0200
-@@ -408,7 +408,7 @@
- CODE_COVERAGE_BRANCH_COVERAGE = 1
- CODE_COVERAGE_GENHTML_OPTIONS = $(CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT) \
- 	--prefix $(shell cd $(abs_top_srcdir)/.. && pwd || echo .)
--CODE_COVERAGE_IGNORE_PATTERN = '/usr/include/*'
-+CODE_COVERAGE_IGNORE_PATTERN = '/usr/include/*' '*/tests/*' '*/tests-m32/*' '*/tests-mx32/*'
- strace_CPPFLAGS += $(CODE_COVERAGE_CPPFLAGS)
- strace_CFLAGS += $(CODE_COVERAGE_CFLAGS)
- strace_LDADD += $(CODE_COVERAGE_LIBS)
-Index: strace-5.7/tests/Makefile.am
-===================================================================
---- strace-5.7.orig/tests/Makefile.am	2020-09-09 19:52:30.590668679 +0200
-+++ strace-5.7/tests/Makefile.am	2020-09-09 19:52:38.872673616 +0200
-@@ -66,6 +66,7 @@
- 	test_ucopy.h \
- 	tests.h \
- 	tprintf.c \
-+	xmalloc_for_tests.c \
- 	# end of libtests_a_SOURCES
- libtests_a_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
- check_LIBRARIES = libtests.a
-@@ -109,17 +110,25 @@
- 	delay \
- 	execve-v \
- 	execveat-v \
-+	fcntl--pidns-translation \
-+	fcntl64--pidns-translation \
- 	filter_seccomp-flag \
- 	filter_seccomp-perf \
- 	filter-unavailable \
- 	fork-f \
-+	fork--pidns-translation \
- 	fsync-y \
- 	get_process_reaper \
-+	getpgrp--pidns-translation	\
- 	getpid	\
-+	getpid--pidns-translation	\
- 	getppid	\
-+	getsid--pidns-translation \
- 	gettid \
-+	gettid--pidns-translation \
- 	inject-nf \
- 	int_0x80 \
-+	ioctl_block--pidns-translation \
- 	ioctl_dm-v \
- 	ioctl_evdev-success \
- 	ioctl_evdev-success-Xabbrev \
-@@ -150,18 +159,25 @@
- 	ioctl_v4l2-success-v-Xabbrev \
- 	ioctl_v4l2-success-v-Xraw \
- 	ioctl_v4l2-success-v-Xverbose \
-+	ioprio--pidns-translation \
- 	is_linux_mips_n64 \
-+	kcmp-y--pidns-translation \
- 	kill_child \
-+	kill--pidns-translation \
- 	ksysent \
- 	list_sigaction_signum \
- 	localtime \
- 	looping_threads \
-+	migrate_pages--pidns-translation \
- 	mmsg-silent \
- 	mmsg_name-v \
-+	move_pages--pidns-translation \
- 	msg_control-v \
- 	net-accept-connect \
-+	net-sockaddr--pidns-translation \
- 	net-tpacket_stats-success \
- 	nlattr_ifla_xdp-y \
-+	netlink_audit--pidns-translation \
- 	netlink_inet_diag \
- 	netlink_netlink_diag \
- 	netlink_unix_diag \
-@@ -173,14 +189,20 @@
- 	pc \
- 	perf_event_open_nonverbose \
- 	perf_event_open_unabbrev \
-+	pidfd_open--pidns-translation \
-+	pidfd_send_signal--pidns-translation \
-+	pidns-cache \
- 	poll-P \
- 	ppoll-P \
- 	ppoll-v \
-+	prlimit64--pidns-translation \
- 	prctl-seccomp-filter-v \
- 	prctl-seccomp-strict \
- 	prctl-spec-inject \
- 	print_maxfd \
- 	print_ppid_tracerpid \
-+	process_vm_readv--pidns-translation \
-+	process_vm_writev--pidns-translation \
- 	qual_fault \
- 	qual_inject-error-signal \
- 	qual_inject-retval \
-@@ -194,7 +216,13 @@
- 	quotactl-xfs-v \
- 	redirect-fds \
- 	restart_syscall \
-+	rt_sigqueueinfo--pidns-translation \
-+	rt_tgsigqueueinfo--pidns-translation \
- 	run_expect_termsig \
-+	sched_xetaffinity--pidns-translation \
-+	sched_xetattr--pidns-translation \
-+	sched_xetparam--pidns-translation \
-+	sched_xetscheduler--pidns-translation \
- 	scm_rights \
- 	seccomp-filter-v \
- 	seccomp-strict \
-@@ -204,25 +232,33 @@
- 	set_sigign \
- 	setpgrp-exec \
- 	signal_receive \
-+	signal_receive--pidns-translation \
- 	sleep \
- 	stack-fcall \
- 	stack-fcall-attach \
- 	stack-fcall-mangled \
- 	status-none-threads \
- 	status-unfinished-threads \
-+	so_peercred--pidns-translation \
- 	syslog-success \
-+	tgkill--pidns-translation \
- 	threads-execve \
- 	threads-execve--quiet-thread-execve \
- 	threads-execve-q \
- 	threads-execve-qq \
- 	threads-execve-qqq \
-+	tkill--pidns-translation \
- 	tracer_ppid_pgid_sid \
-+	trie_test \
- 	unblock_reset_raise \
- 	unix-pair-send-recv \
- 	unix-pair-sendto-recvfrom \
- 	vfork-f \
- 	wait4-v \
- 	waitid-v \
-+	xetpgid--pidns-translation \
-+	xetpriority--pidns-translation \
-+	xet_robust_list--pidns-translation \
- 	zeroargc \
- 	# end of check_PROGRAMS
- 
-@@ -272,6 +308,11 @@
- 	stack-fcall-mangled-0.c stack-fcall-mangled-1.c \
- 	stack-fcall-mangled-2.c stack-fcall-mangled-3.c
- 
-+trie_test_SOURCES = trie_test.c trie_for_tests.c
-+trie_test_CPPFLAGS = $(AM_CPPFLAGS) $(CODE_COVERAGE_CPPFLAGS)
-+trie_test_CFLAGS = $(AM_CFLAGS) $(CODE_COVERAGE_CFLAGS)
-+trie_test_LDADD = $(LDADD) $(CODE_COVERAGE_LIBS)
-+
- include gen_tests.am
- 
- if ENABLE_STACKTRACE
-@@ -308,6 +349,7 @@
- 	int_0x80.test \
- 	inotify_init-y.test \
- 	ioctl.test \
-+	ioctl_block--pidns-translation.test \
- 	ioctl_evdev-success.test \
- 	ipc_msgbuf.test \
- 	kern_features-fault.test \
-@@ -379,15 +421,19 @@
- 	filtering_fd-syntax.test \
- 	filtering_syscall-syntax.test \
- 	first_exec_failure.test \
-+	fork--pidns-translation.test \
- 	get_regs.test \
-+	gettid--pidns-translation.test \
- 	inject-nf.test \
- 	interactive_block.test \
- 	kill_child.test \
- 	localtime.test \
- 	looping_threads.test \
-+	netlink_audit--pidns-translation.test \
- 	opipe.test \
- 	options-syntax.test \
- 	pc.test \
-+	pidns-cache.test \
- 	printpath-umovestr-legacy.test \
- 	printstrn-umoven-legacy.test \
- 	qual_fault-syntax.test \
-@@ -465,6 +511,7 @@
- 	filter_seccomp.in \
- 	filter_seccomp.sh \
- 	filter-unavailable.expected \
-+	fork--pidns-translation.awk \
- 	fstatat.c \
- 	fstatx.c \
- 	gen_pure_executables.sh \
-Index: strace-5.7/tests/fcntl--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests/fcntl--pidns-translation.c	2020-09-09 19:52:38.872673616 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "fcntl.c"
-Index: strace-5.7/tests/fcntl-common.c
-===================================================================
---- strace-5.7.orig/tests/fcntl-common.c	2020-09-09 19:52:30.591668680 +0200
-+++ strace-5.7/tests/fcntl-common.c	2020-09-09 19:52:38.873673616 +0200
-@@ -13,6 +13,8 @@
- #include <unistd.h>
- #include <assert.h>
- #include "flock.h"
-+#include "pidns.h"
-+#include "scno.h"
- 
- #define FILE_LEN 4096
- 
-@@ -48,12 +50,14 @@
- 	fl->l_len = (TYPEOF_FLOCK_OFF_T) 0xdefaced2cafef00dULL;
- 
- 	invoke_test_syscall(0, cmd, fl);
-+	pidns_print_leader();
- 	printf("%s(0, %s, {l_type=F_RDLCK, l_whence=SEEK_SET"
- 	       ", l_start=%jd, l_len=%jd}) = %s\n", TEST_SYSCALL_STR, name,
- 	       (intmax_t) fl->l_start, (intmax_t) fl->l_len, errstr);
- 
- 	void *const bad_addr = (void *) fl + 1;
- 	invoke_test_syscall(0, cmd, bad_addr);
-+	pidns_print_leader();
- 	printf("%s(0, %s, %p) = %s\n",
- 	       TEST_SYSCALL_STR, name, bad_addr, errstr);
- }
-@@ -72,12 +76,14 @@
- 	fl->l_len = (TYPEOF_FLOCK_OFF_T) 0xdefaced2cafef00dULL;
- 
- 	invoke_test_syscall(0, cmd, fl);
-+	pidns_print_leader();
- 	printf("%s(0, %s, {l_type=F_RDLCK, l_whence=SEEK_SET"
- 	       ", l_start=%jd, l_len=%jd}) = %s\n", TEST_SYSCALL_STR, name,
- 	       (intmax_t) fl->l_start, (intmax_t) fl->l_len, errstr);
- 
- 	void *const bad_addr = (void *) fl + 1;
- 	invoke_test_syscall(0, cmd, bad_addr);
-+	pidns_print_leader();
- 	printf("%s(0, %s, %p) = %s\n",
- 	       TEST_SYSCALL_STR, name, bad_addr, errstr);
- }
-@@ -94,6 +100,7 @@
- 	fl->l_len = FILE_LEN;
- 
- 	long rc = invoke_test_syscall(0, F_SETLK, fl);
-+	pidns_print_leader();
- 	printf("%s(0, F_SETLK, {l_type=F_RDLCK, l_whence=SEEK_SET"
- 	       ", l_start=0, l_len=%d}) = %s\n",
- 	       TEST_SYSCALL_STR, FILE_LEN, errstr);
-@@ -101,11 +108,13 @@
- 		return;
- 
- 	invoke_test_syscall(0, F_GETLK, fl);
-+	pidns_print_leader();
- 	printf("%s(0, F_GETLK, {l_type=F_UNLCK, l_whence=SEEK_SET"
- 	       ", l_start=0, l_len=%d, l_pid=0}) = 0\n",
- 	       TEST_SYSCALL_STR, FILE_LEN);
- 
- 	invoke_test_syscall(0, F_SETLKW, fl);
-+	pidns_print_leader();
- 	printf("%s(0, F_SETLKW, {l_type=F_UNLCK, l_whence=SEEK_SET"
- 	       ", l_start=0, l_len=%d}) = 0\n",
- 	       TEST_SYSCALL_STR, FILE_LEN);
-@@ -124,6 +133,7 @@
- 	fl->l_len = FILE_LEN;
- 
- 	long rc = invoke_test_syscall(0, F_OFD_SETLK, fl);
-+	pidns_print_leader();
- 	printf("%s(0, F_OFD_SETLK, {l_type=F_RDLCK, l_whence=SEEK_SET"
- 	       ", l_start=0, l_len=%d}) = %s\n",
- 	       TEST_SYSCALL_STR, FILE_LEN, errstr);
-@@ -131,11 +141,13 @@
- 		return;
- 
- 	invoke_test_syscall(0, F_OFD_GETLK, fl);
-+	pidns_print_leader();
- 	printf("%s(0, F_OFD_GETLK, {l_type=F_UNLCK, l_whence=SEEK_SET"
- 	       ", l_start=0, l_len=%d, l_pid=0}) = 0\n",
- 	       TEST_SYSCALL_STR, FILE_LEN);
- 
- 	invoke_test_syscall(0, F_OFD_SETLKW, fl);
-+	pidns_print_leader();
- 	printf("%s(0, F_OFD_SETLKW, {l_type=F_UNLCK, l_whence=SEEK_SET"
- 	       ", l_start=0, l_len=%d}) = 0\n",
- 	       TEST_SYSCALL_STR, FILE_LEN);
-@@ -167,18 +179,21 @@
- static long
- test_f_owner_ex_type_pid(const int cmd, const char *const cmd_name,
- 			 const int type, const char *const type_name,
--			 pid_t pid)
-+			 enum pid_type pid_type, pid_t pid)
- {
- 	TAIL_ALLOC_OBJECT_CONST_PTR(struct_kernel_f_owner_ex, fo);
- 
- 	fo->type = type;
- 	fo->pid = pid;
- 	long rc = invoke_test_syscall(0, cmd, fo);
--	printf("%s(0, %s, {type=%s, pid=%d}) = %s\n",
--	       TEST_SYSCALL_STR, cmd_name, type_name, fo->pid, errstr);
-+	pidns_print_leader();
-+	printf("%s(0, %s, {type=%s, pid=%d%s}) = %s\n",
-+	       TEST_SYSCALL_STR, cmd_name, type_name,
-+	       fo->pid, pidns_pid2str(pid_type), errstr);
- 
- 	void *bad_addr = (void *) fo + 1;
- 	invoke_test_syscall(0, cmd, bad_addr);
-+	pidns_print_leader();
- 	printf("%s(0, %s, %p) = %s\n",
- 	       TEST_SYSCALL_STR, cmd_name, bad_addr, errstr);
- 
-@@ -187,35 +202,35 @@
- 
- static void
- test_f_owner_ex_umove_or_printaddr(const int type, const char *const type_name,
--				   pid_t pid)
-+				   enum pid_type pid_type, pid_t pid)
- {
- 	long rc = test_f_owner_ex_type_pid(ARG_STR(F_SETOWN_EX),
--					   type, type_name, pid);
-+					   type, type_name, pid_type, pid);
- 	if (!rc)
- 		test_f_owner_ex_type_pid(ARG_STR(F_GETOWN_EX),
--					 type, type_name, pid);
-+					 type, type_name, pid_type, pid);
- }
- 
- static void
- test_f_owner_ex(void)
- {
--	static const struct {
-+	struct {
- 		int type;
- 		const char *type_name;
--		pid_t pid[2];
-+		enum pid_type pid_type;
-+		pid_t pid;
- 	} a[] = {
--		{ ARG_STR(F_OWNER_TID), { 1234567890, 20 } },
--		{ ARG_STR(F_OWNER_PID), { 1298126790, 30 } },
--		{ ARG_STR(F_OWNER_PGRP), { 1294567890, 40 } }
-+		{ ARG_STR(F_OWNER_TID), PT_NONE, 1234567890 },
-+		{ ARG_STR(F_OWNER_PID), PT_NONE, 1234567890 },
-+		{ ARG_STR(F_OWNER_PGRP), PT_NONE, 1234567890 },
-+		{ ARG_STR(F_OWNER_TID), PT_TID, syscall(__NR_gettid) },
-+		{ ARG_STR(F_OWNER_PID), PT_TGID, getpid() },
-+		{ ARG_STR(F_OWNER_PGRP), PT_PGID, getpgid(0) },
- 	};
- 
--	for (unsigned int i = 0; i < ARRAY_SIZE(a); i++) {
--		for (unsigned int j = 0; j < ARRAY_SIZE(a[0].pid); j++) {
--			test_f_owner_ex_umove_or_printaddr(a[i].type,
--							   a[i].type_name,
--							   a[i].pid[j]);
--		}
--	}
-+	for (unsigned int i = 0; i < ARRAY_SIZE(a); i++)
-+		test_f_owner_ex_umove_or_printaddr(a[i].type, a[i].type_name,
-+			a[i].pid_type, a[i].pid);
- }
- #endif /* TEST_F_OWNER_EX */
- 
-@@ -229,6 +244,23 @@
- };
- 
- static void
-+test_xetown(void)
-+{
-+	const int pid = getpid();
-+	const char *pid_str = pidns_pid2str(PT_TGID);
-+
-+	invoke_test_syscall(0, F_SETOWN, (void *) (intptr_t) pid);
-+	pidns_print_leader();
-+	printf("%s(0, F_SETOWN, %d%s) = %s\n",
-+		TEST_SYSCALL_STR, pid, pid_str, errstr);
-+
-+	invoke_test_syscall(0, F_GETOWN, NULL);
-+	pidns_print_leader();
-+	printf("%s(0, F_GETOWN) = %d%s\n",
-+		TEST_SYSCALL_STR, pid, pid_str);
-+}
-+
-+static void
- print_retval_flags(const struct fcntl_cmd_check *check, long rc)
- {
- 	if (check->print_flags) {
-@@ -243,12 +275,14 @@
- test_other_set_cmd(const struct fcntl_cmd_check *check)
- {
- 	invoke_test_syscall(check->fd, check->cmd, (void *) check->arg);
-+	pidns_print_leader();
- 	printf("%s(%d, %s, %s) = %s\n",
- 	       TEST_SYSCALL_STR, check->fd,
- 	       check->cmd_str, check->arg_str, errstr);
- 
- 	/* bad file fd */
- 	invoke_test_syscall(-1, check->cmd, (void *) check->arg);
-+	pidns_print_leader();
- 	printf("%s(-1, %s, %s) = %s\n",
- 	       TEST_SYSCALL_STR, check->cmd_str,
- 	       check->arg_str, errstr);
-@@ -258,12 +292,14 @@
- test_other_get_cmd(const struct fcntl_cmd_check *check)
- {
- 	long rc = invoke_test_syscall(check->fd, check->cmd, NULL);
-+	pidns_print_leader();
- 	printf("%s(%d, %s) = ",
- 	       TEST_SYSCALL_STR, check->fd, check->cmd_str);
- 	print_retval_flags(check, rc);
- 
- 	/* bad file fd */
- 	invoke_test_syscall(-1, check->cmd, NULL);
-+	pidns_print_leader();
- 	printf("%s(-1, %s) = %s\n",
- 	       TEST_SYSCALL_STR, check->cmd_str, errstr);
- }
-@@ -315,7 +351,6 @@
- {
- 	static const struct fcntl_cmd_check set_checks[] = {
- 		{ 0, ARG_STR(F_SETFD), ARG_STR(FD_CLOEXEC) },
--		{ 0, ARG_STR(F_SETOWN), ARG_STR(20) },
- #ifdef F_SETPIPE_SZ
- 		{ 0, ARG_STR(F_SETPIPE_SZ), ARG_STR(4097) },
- #endif
-@@ -336,7 +371,6 @@
- 	static const struct fcntl_cmd_check get_checks[] = {
- 		{ 0, ARG_STR(F_GETFD), .print_flags = print_flags_getfd },
- 		{ 1, ARG_STR(F_GETFD), .print_flags = print_flags_getfd },
--		{ 0, ARG_STR(F_GETOWN) },
- #ifdef F_GETPIPE_SZ
- 		{ 0, ARG_STR(F_GETPIPE_SZ) },
- #endif
-@@ -360,6 +394,8 @@
- int
- main(void)
- {
-+	PIDNS_TEST_INIT;
-+
- 	create_sample();
- 	test_flock();
- 	test_flock64();
-@@ -367,7 +403,9 @@
- 	test_f_owner_ex();
- #endif
- 	test_fcntl_others();
-+	test_xetown();
- 
-+	pidns_print_leader();
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests/fcntl.c
-===================================================================
---- strace-5.7.orig/tests/fcntl.c	2020-09-09 19:52:30.591668680 +0200
-+++ strace-5.7/tests/fcntl.c	2020-09-09 19:52:38.873673616 +0200
-@@ -24,6 +24,7 @@
- 		.l_len = 0xdefaced2cafef00dULL
- 	};
- 	invoke_test_syscall(0, cmd, &fl);
-+	pidns_print_leader();
- 	printf("%s(0, %s, %p) = %s\n",
- 	       TEST_SYSCALL_STR, name, &fl, errstr);
- }
-Index: strace-5.7/tests/fcntl64--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests/fcntl64--pidns-translation.c	2020-09-09 19:52:38.873673616 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "fcntl64.c"
-Index: strace-5.7/tests/fcntl64.c
-===================================================================
---- strace-5.7.orig/tests/fcntl64.c	2020-09-09 19:52:30.592668681 +0200
-+++ strace-5.7/tests/fcntl64.c	2020-09-09 19:52:38.873673616 +0200
-@@ -27,6 +27,7 @@
- 	fl->l_len = FILE_LEN;
- 
- 	long rc = invoke_test_syscall(0, F_SETLK64, fl);
-+	pidns_print_leader();
- 	printf("%s(0, F_SETLK64, {l_type=F_RDLCK, l_whence=SEEK_SET"
- 	       ", l_start=0, l_len=%d}) = %s\n",
- 	       TEST_SYSCALL_STR, FILE_LEN, errstr);
-@@ -35,11 +36,13 @@
- 		return;
- 
- 	invoke_test_syscall(0, F_GETLK64, fl);
-+	pidns_print_leader();
- 	printf("%s(0, F_GETLK64, {l_type=F_UNLCK, l_whence=SEEK_SET"
- 	       ", l_start=0, l_len=%d, l_pid=0}) = 0\n",
- 	       TEST_SYSCALL_STR, FILE_LEN);
- 
- 	invoke_test_syscall(0, F_SETLKW64, fl);
-+	pidns_print_leader();
- 	printf("%s(0, F_SETLKW64, {l_type=F_UNLCK, l_whence=SEEK_SET"
- 	       ", l_start=0, l_len=%d}) = 0\n",
- 	       TEST_SYSCALL_STR, FILE_LEN);
-Index: strace-5.7/tests/fork--pidns-translation.awk
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests/fork--pidns-translation.awk	2020-09-09 19:52:38.873673616 +0200
-@@ -0,0 +1,15 @@
-+/fork/ {
-+        match($0, "([0-9]+) in strace\x27s PID NS", a);
-+        if (a[1])
-+                fork_pid = a[1]
-+}
-+
-+/exited with 0/ {
-+        if (!exit_pid)
-+                exit_pid = $1
-+}
-+
-+END {
-+        if (!fork_pid || !exit_pid || fork_pid != exit_pid)
-+                exit 1
-+}
-Index: strace-5.7/tests/fork--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests/fork--pidns-translation.c	2020-09-09 19:52:38.874673617 +0200
-@@ -0,0 +1,78 @@
-+/*
-+ * Test PID namespace translation
-+ *
-+ * Copyright (c) 2020 Ákos Uzonyi <uzonyi.akos@gmail.com>
-+ * All rights reserved.
-+ *
-+ * SPDX-License-Identifier: LGPL-2.1-or-later
-+ */
-+
-+#include "tests.h"
-+#include "scno.h"
-+#include "pidns.h"
-+
-+#ifdef __NR_fork
-+
-+#include <errno.h>
-+#include <limits.h>
-+#include <sched.h>
-+#include <signal.h>
-+#include <stdio.h>
-+#include <stdlib.h>
-+#include <sys/wait.h>
-+#include <unistd.h>
-+#include <linux/sched.h>
-+#include "nsfs.h"
-+
-+#ifndef CLONE_NEWUSER
-+# define CLONE_NEWUSER 0x10000000
-+#endif
-+
-+#ifndef CLONE_NEWPID
-+# define CLONE_NEWPID 0x20000000
-+#endif
-+
-+static int
-+fork_chain(int depth)
-+{
-+	if (!depth)
-+		return 0;
-+
-+	int pid = syscall(__NR_fork);
-+	if (pid < 0)
-+		return errno;
-+
-+	if (!pid)
-+		_exit(fork_chain(depth - 1));
-+
-+	int status;
-+	if (wait(&status) < 0)
-+		return errno;
-+
-+	if (!WIFEXITED(status))
-+		return -1;
-+
-+	return WEXITSTATUS(status);
-+}
-+
-+int main(void)
-+{
-+	check_ns_ioctl();
-+
-+	if (unshare(CLONE_NEWPID | CLONE_NEWUSER) < 0) {
-+		if (errno == EPERM)
-+			perror_msg_and_skip("unshare");
-+
-+		perror_msg_and_fail("unshare");
-+	}
-+
-+	errno = fork_chain(2);
-+	if (errno)
-+		perror("fork_chain");
-+}
-+
-+#else
-+
-+SKIP_MAIN_UNDEFINED("__NR_fork")
-+
-+#endif
-Index: strace-5.7/tests/fork--pidns-translation.test
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests/fork--pidns-translation.test	2020-09-09 19:52:38.874673617 +0200
-@@ -0,0 +1,14 @@
-+#!/bin/sh
-+#
-+# Check pidns translation of fork's return value.
-+#
-+# Copyright (c) 2020 The strace developers.
-+# All rights reserved.
-+#
-+# SPDX-License-Identifier: LGPL-2.1-or-later
-+
-+. "${srcdir=.}/init.sh"
-+
-+run_prog
-+run_strace -a6 --pidns-translation -f -e trace=fork $args
-+match_awk
-Index: strace-5.7/tests/gen_tests.in
-===================================================================
---- strace-5.7.orig/tests/gen_tests.in	2020-09-09 19:52:30.593668681 +0200
-+++ strace-5.7/tests/gen_tests.in	2020-09-09 19:52:38.874673617 +0200
-@@ -88,7 +88,9 @@
- fchown32	-a18
- fchownat
- fcntl	-a8
-+fcntl--pidns-translation	test_pidns -a8 -e trace=fcntl
- fcntl64	-a8
-+fcntl64--pidns-translation	test_pidns -a8 -e trace=fcntl64
- fdatasync	-a14
- file_handle	-e trace=name_to_handle_at,open_by_handle_at
- file_ioctl	+ioctl.test
-@@ -142,7 +144,9 @@
- getgroups32	-a19
- getpeername	-a27
- getpgrp	-a10
-+getpgrp--pidns-translation	test_pidns -e trace=getpgrp -a10
- getpid	-a9
-+getpid--pidns-translation	test_pidns -e trace=getpid -a9
- getppid	-a10
- getrandom	-a32 -s3
- getresgid	-a25
-@@ -152,6 +156,7 @@
- getrlimit	-a27
- getrusage	-v
- getsid	-a10
-+getsid--pidns-translation	test_pidns -e trace=getsid -a10
- getsockname	-a27
- gettid	-a9
- getuid-creds	+getuid.test
-@@ -245,6 +250,7 @@
- ioperm	-a27
- iopl	-a8
- ioprio	-a18 -e trace=ioprio_get,ioprio_set
-+ioprio--pidns-translation	test_pidns -a18 -e trace=ioprio_get,ioprio_set
- ioprio-Xabbrev	-a18 -e trace=ioprio_get,ioprio_set -Xabbrev
- ioprio-Xraw	-a18 -e trace=ioprio_get,ioprio_set -Xraw
- ioprio-Xverbose	-a18 -e trace=ioprio_get,ioprio_set -Xverbose
-@@ -267,6 +273,7 @@
- ipc_shm-Xverbose	+ipc.sh -Xverbose -a34
- kcmp	-a22
- kcmp-y	-a22 -y -e trace=kcmp
-+kcmp-y--pidns-translation	test_pidns -a22 -y -e trace=kcmp
- kern_features -a16
- kernel_version	-a16 -v -e trace=bpf
- kernel_version-Xabbrev	-a16 -Xabbrev -v -e trace=bpf
-@@ -279,6 +286,7 @@
- keyctl-Xraw	-a13 -s10 -e trace=keyctl -Xraw
- keyctl-Xverbose	-a41 -s10 -e trace=keyctl -Xverbose
- kill	-a12 -esignal=none
-+kill--pidns-translation	test_pidns -a12 -e trace=kill -esignal=none
- ksysent	../$NAME
- lchown	-a30
- lchown32	-a32
-@@ -300,6 +308,7 @@
- memfd_create-Xraw	-a30 -Xraw -e trace=memfd_create
- memfd_create-Xverbose	-Xverbose -e trace=memfd_create
- migrate_pages	-a33
-+migrate_pages--pidns-translation	test_pidns -a33 -e trace=migrate_pages
- mincore	-a22
- mkdir	-a20
- mkdirat	-a28
-@@ -330,6 +339,7 @@
- move_pages-Xabbrev	-s3 -e trace=move_pages -Xabbrev
- move_pages-Xraw	-s3 -a36 -e trace=move_pages -Xraw
- move_pages-Xverbose	-s3 -e trace=move_pages -Xverbose
-+move_pages--pidns-translation	test_pidns -s3 -e trace=move_pages
- mq	-a32 -e trace=mq_getsetattr,mq_open,mq_unlink
- mq_sendrecv	-a14 -e trace=mq_open,mq_notify,mq_timedsend,mq_timedreceive,mq_unlink
- mq_sendrecv-read	-eread=0 -a14 -e trace=mq_open,mq_notify,mq_timedsend,mq_timedreceive,mq_unlink
-@@ -349,6 +359,7 @@
- net-packet_mreq-Xraw	-e trace=setsockopt -Xraw
- net-packet_mreq-Xverbose	-e trace=setsockopt -Xverbose
- net-sockaddr	-a24 -e trace=connect
-+net-sockaddr--pidns-translation	test_pidns -a24 -e trace=connect
- net-tpacket_req -e trace=setsockopt
- net-tpacket_stats -e trace=getsockopt
- net-yy-inet6	+net-yy-inet.test
-@@ -452,7 +463,9 @@
- pidfd_open-P	-a17 -P /dev/full -e trace=pidfd_open
- pidfd_open-y	-a17 -y -e trace=pidfd_open
- pidfd_open-yy	-a17 -yy -e trace=pidfd_open
-+pidfd_open--pidns-translation	test_pidns -a17 -e trace=pidfd_open
- pidfd_send_signal
-+pidfd_send_signal--pidns-translation test_pidns -e trace=pidfd_send_signal
- pipe2	-a15
- pkey_alloc	-a17
- pkey_free	-a13
-@@ -475,8 +488,11 @@
- printstrn-umoven-peekdata	-e signal=none -e trace=add_key
- printstrn-umoven-undumpable	-e signal=none -e trace=add_key
- prlimit64
-+prlimit64--pidns-translation     test_pidns -e trace=prlimit64
- process_vm_readv	-s5 -a37
-+process_vm_readv--pidns-translation	test_pidns -s5 -a37 -e trace=process_vm_readv
- process_vm_writev	-s5 -a38
-+process_vm_writev--pidns-translation	test_pidns -s5 -a38 -e trace=process_vm_writev
- pselect6
- ptrace	-a23 -e signal=none
- ptrace_syscall_info	-a35 -e signal=none -e trace=ptrace
-@@ -513,10 +529,12 @@
- rt_sigpending	-a20
- rt_sigprocmask
- rt_sigqueueinfo	-esignal=none
-+rt_sigqueueinfo--pidns-translation	test_pidns -esignal=none -e trace=rt_sigqueueinfo
- rt_sigreturn	-esignal='!USR1'
- rt_sigsuspend	-a20 -esignal=none
- rt_sigtimedwait	-a38
- rt_tgsigqueueinfo	-esignal=none
-+rt_tgsigqueueinfo--pidns-translation	test_pidns -esignal=none -e trace=rt_tgsigqueueinfo
- s390_guarded_storage	-a32
- s390_guarded_storage-v	-e trace=s390_guarded_storage -a32 -v
- s390_pci_mmio_read_write	-e trace=s390_pci_mmio_read,s390_pci_mmio_write -a30
-@@ -527,9 +545,13 @@
- sched_get_priority_mxx	-a33 -e trace=sched_get_priority_min,sched_get_priority_max
- sched_rr_get_interval	-a31
- sched_xetaffinity	-a28 -e trace=sched_getaffinity,sched_setaffinity
-+sched_xetaffinity--pidns-translation	test_pidns -a28 -e trace=sched_getaffinity,sched_setaffinity
- sched_xetattr	-a29 -e trace=sched_getattr,sched_setattr
-+sched_xetattr--pidns-translation	test_pidns -a29 -e trace=sched_getattr,sched_setattr
- sched_xetparam	-a23 -e trace=sched_getparam,sched_setparam
-+sched_xetparam--pidns-translation	test_pidns -a23 -e trace=sched_getparam,sched_setparam
- sched_xetscheduler	-a22 -e trace=sched_getscheduler,sched_setscheduler
-+sched_xetscheduler--pidns-translation	test_pidns -a22 -e trace=sched_getscheduler,sched_setscheduler
- sched_yield	-a14
- seccomp-filter	-e trace=seccomp
- seccomp-filter-v	-v -e trace=seccomp
-@@ -576,6 +598,7 @@
- siginfo	-e trace=none
- signal	-a25 -e signal=none -e trace='/^signal$'
- signal_receive	-a16 -e trace=kill
-+signal_receive--pidns-translation	test_pidns -a16 -e trace=kill
- signalfd4
- sigpending	-a15
- sigprocmask	-a34
-@@ -587,6 +610,7 @@
- so_peercred-Xabbrev	-e trace=getsockopt -Xabbrev
- so_peercred-Xraw	-e trace=getsockopt -Xraw -a39
- so_peercred-Xverbose	-e trace=getsockopt -Xverbose
-+so_peercred--pidns-translation	test_pidns -e trace=getsockopt
- sock_filter-v	-v -e trace=getsockopt,setsockopt
- sock_filter-v-Xabbrev	-v -e trace=getsockopt,setsockopt -X abbrev
- sock_filter-v-Xraw	-a 37 -v -e trace=getsockopt,setsockopt -X raw
-@@ -659,6 +683,7 @@
- syslog	-a35
- tee
- tgkill	-a15 --signal='!cont'
-+tgkill--pidns-translation       test_pidns -a15 --signal='!cont' -e trace=tgkill
- threads-execve--quiet-thread-execve +threads-execve.test -s40 --quiet=personality,thread-execve
- threads-execve-q +threads-execve.test -q
- threads-execve-qq +threads-execve.test -qq
-@@ -670,6 +695,7 @@
- times	-esignal=none
- times-fail	-a12 -e trace=times
- tkill	-a12 --signal='!cont'
-+tkill--pidns-translation       test_pidns --signal='!cont' -a12 -e trace=tkill
- trace_clock	test_trace_expr 'clock_nanosleep|times' -e%clock
- trace_creds	test_trace_expr '([gs]et[^p]*([gu]id|groups)|caps|prctl|[fl]?chown|print(path-umovestr|strn-umoven)-undumpable|ptrace|quotactl|rt_sigtimedwait|rt_(tg)?sigqueueinfo).*' -e%creds
- trace_fstat	test_trace_expr '' -e%fstat -v -P stat.sample -P /dev/full
-@@ -686,6 +712,7 @@
- trace_stat_like	test_trace_expr '' -e%%stat -v -P stat.sample -P /dev/full
- trace_statfs	test_trace_expr '' -e%statfs
- trace_statfs_like	test_trace_expr '' -e%%statfs
-+trie_test    run_prog
- truncate
- truncate64
- ugetrlimit	-a28
-@@ -716,7 +743,10 @@
- xattr	-a22 -e trace=getxattr,fgetxattr,lgetxattr,setxattr,fsetxattr,lsetxattr,listxattr,flistxattr,llistxattr,removexattr,fremovexattr,lremovexattr
- xattr-strings	-a22 -s 4 -e trace=fsetxattr
- xet_robust_list	-a24 -e trace=get_robust_list,set_robust_list
-+xet_robust_list--pidns-translation	test_pidns -a24 -e trace=get_robust_list,set_robust_list
- xetitimer	-a29 -e trace=setitimer,getitimer
- xetpgid	-a11 -e trace=getpgid,setpgid
--xetpriority	-a29 -e trace=getpriority,setpriority
-+xetpgid--pidns-translation	test_pidns -a11 -e trace=getpgid,setpgid
-+xetpriority	-a27 -e trace=getpriority,setpriority
-+xetpriority--pidns-translation	test_pidns -a27 -e trace=getpriority,setpriority
- xettimeofday	-a20 -e trace=gettimeofday,settimeofday
-Index: strace-5.7/tests/getpgrp--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests/getpgrp--pidns-translation.c	2020-09-09 19:52:38.875673618 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "getpgrp.c"
-Index: strace-5.7/tests/getpgrp.c
-===================================================================
---- strace-5.7.orig/tests/getpgrp.c	2020-09-09 19:52:30.593668681 +0200
-+++ strace-5.7/tests/getpgrp.c	2020-09-09 19:52:38.875673618 +0200
-@@ -7,6 +7,7 @@
- 
- #include "tests.h"
- #include "scno.h"
-+#include "pidns.h"
- 
- #ifdef __NR_getpgrp
- 
-@@ -16,8 +17,13 @@
- int
- main(void)
- {
--	printf("getpgrp() = %ld\n", syscall(__NR_getpgrp));
-+	PIDNS_TEST_INIT;
- 
-+	pidns_print_leader();
-+	printf("getpgrp() = %d%s\n", (int) syscall(__NR_getpgrp),
-+		pidns_pid2str(PT_PGID));
-+
-+	pidns_print_leader();
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests/getpid--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests/getpid--pidns-translation.c	2020-09-09 19:52:38.875673618 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "getpid.c"
-Index: strace-5.7/tests/getpid.c
-===================================================================
---- strace-5.7.orig/tests/getpid.c	2020-09-09 19:52:30.593668681 +0200
-+++ strace-5.7/tests/getpid.c	2020-09-09 19:52:38.875673618 +0200
-@@ -7,6 +7,7 @@
- 
- #include "tests.h"
- #include "scno.h"
-+#include "pidns.h"
- 
- #if defined __NR_getpid && (!defined __NR_getxpid || __NR_getxpid != __NR_getpid)
- 
-@@ -16,7 +17,12 @@
- int
- main(void)
- {
--	printf("getpid() = %ld\n", syscall(__NR_getpid));
-+	PIDNS_TEST_INIT;
-+
-+	pidns_print_leader();
-+	printf("getpid() = %d%s\n", (int) syscall(__NR_getpid),
-+		pidns_pid2str(PT_TGID));
-+	pidns_print_leader();
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests/getsid--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests/getsid--pidns-translation.c	2020-09-09 19:52:38.875673618 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "getsid.c"
-Index: strace-5.7/tests/getsid.c
-===================================================================
---- strace-5.7.orig/tests/getsid.c	2020-09-09 19:52:30.594668682 +0200
-+++ strace-5.7/tests/getsid.c	2020-09-09 19:52:38.876673618 +0200
-@@ -6,15 +6,22 @@
-  */
- 
- #include "tests.h"
-+#include "pidns.h"
-+
- #include <stdio.h>
- #include <unistd.h>
- 
- int
- main(void)
- {
-+	PIDNS_TEST_INIT;
-+
- 	pid_t pid = getpid();
--	printf("getsid(%d) = %d\n", pid, getsid(pid));
-+	pidns_print_leader();
-+	printf("getsid(%d%s) = %d%s\n", pid, pidns_pid2str(PT_TGID),
-+		getsid(pid), pidns_pid2str(PT_SID));
- 
-+	pidns_print_leader();
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests/gettid--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests/gettid--pidns-translation.c	2020-09-09 19:52:38.876673618 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "gettid.c"
-Index: strace-5.7/tests/gettid--pidns-translation.test
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests/gettid--pidns-translation.test	2020-09-09 19:52:38.876673618 +0200
-@@ -0,0 +1,18 @@
-+#!/bin/sh
-+#
-+# Check pidns translation of gettid's return value.
-+#
-+# Copyright (c) 2020 The strace developers.
-+# All rights reserved.
-+#
-+# SPDX-License-Identifier: LGPL-2.1-or-later
-+
-+. "${srcdir=.}/init.sh"
-+
-+run_prog > /dev/null
-+run_strace -a9 --pidns-translation -f -e trace=gettid $args > "$EXP"
-+parent_pid="$(tail -n 2 $LOG | head -n 1 | cut -d' ' -f1)"
-+init_pid="$(tail -n 1 $LOG | cut -d' ' -f1)"
-+# uniq: filter out extra gettid calls made by musl libc
-+grep -E -v "^($parent_pid|$init_pid) |unfinished|resumed" "$LOG" | uniq > "$OUT"
-+match_diff "$OUT" "$EXP"
-Index: strace-5.7/tests/gettid.c
-===================================================================
---- strace-5.7.orig/tests/gettid.c	2020-09-09 19:52:30.594668682 +0200
-+++ strace-5.7/tests/gettid.c	2020-09-09 19:52:38.876673618 +0200
-@@ -9,11 +9,17 @@
- #include <stdio.h>
- #include <unistd.h>
- #include "scno.h"
-+#include "pidns.h"
- 
- int
- main(void)
- {
--	printf("gettid() = %ld\n", syscall(__NR_gettid));
-+	PIDNS_TEST_INIT;
-+
-+	pidns_print_leader();
-+	printf("gettid() = %d%s\n", (int) syscall(__NR_gettid),
-+		pidns_pid2str(PT_TID));
-+	pidns_print_leader();
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests/ioctl_block--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests/ioctl_block--pidns-translation.c	2020-09-09 19:52:38.876673618 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "ioctl_block.c"
-Index: strace-5.7/tests/ioctl_block--pidns-translation.test
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests/ioctl_block--pidns-translation.test	2020-09-09 19:52:38.877673619 +0200
-@@ -0,0 +1,22 @@
-+#!/bin/sh
-+#
-+# Check pidns translation of ioctl(BLK*) syscall decoding.
-+#
-+# Copyright (c) 2020 The strace developers.
-+# All rights reserved.
-+#
-+# SPDX-License-Identifier: LGPL-2.1-or-later
-+
-+. "${srcdir=.}/init.sh"
-+
-+check_prog head
-+check_prog tail
-+check_prog cut
-+check_prog grep
-+
-+run_prog > /dev/null
-+run_strace --pidns-translation -f -a16 -e trace=ioctl $@ $args > "$EXP"
-+parent_pid="$(tail -n 2 $LOG | head -n 1 | cut -d' ' -f1)"
-+init_pid="$(tail -n 1 $LOG | cut -d' ' -f1)"
-+grep -E -v "^($parent_pid|$init_pid) |ioctl\([0123][,<]" "$LOG" > "$OUT"
-+match_diff "$OUT" "$EXP"
-Index: strace-5.7/tests/ioctl_block.c
-===================================================================
---- strace-5.7.orig/tests/ioctl_block.c	2020-09-09 19:52:30.595668682 +0200
-+++ strace-5.7/tests/ioctl_block.c	2020-09-09 19:52:38.877673619 +0200
-@@ -9,7 +9,9 @@
-  */
- 
- #include "tests.h"
-+#include "pidns.h"
- #include <errno.h>
-+#include <unistd.h>
- #include <inttypes.h>
- #include <stdio.h>
- #include <string.h>
-@@ -41,12 +43,15 @@
- #define TEST_NULL_ARG(cmd)						\
- 	do {								\
- 		ioctl(-1, cmd, 0);					\
-+		pidns_print_leader();					\
- 		printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", #cmd);	\
- 	} while (0)
- 
- int
- main(void)
- {
-+	PIDNS_TEST_INIT;
-+
- 	TEST_NULL_ARG(BLKBSZGET);
- 	TEST_NULL_ARG(BLKBSZSET);
- 	TEST_NULL_ARG(BLKFRAGET);
-@@ -91,18 +96,22 @@
- #endif
- 
- 	ioctl(-1, BLKRASET, lmagic);
-+	pidns_print_leader();
- 	printf("ioctl(-1, BLKRASET, %lu) = -1 EBADF (%m)\n", lmagic);
- 
- 	ioctl(-1, BLKFRASET, lmagic);
-+	pidns_print_leader();
- 	printf("ioctl(-1, BLKFRASET, %lu) = -1 EBADF (%m)\n", lmagic);
- 
- 	TAIL_ALLOC_OBJECT_CONST_PTR(int, val_int);
- 	*val_int = magic;
- 
- 	ioctl(-1, BLKROSET, val_int);
-+	pidns_print_leader();
- 	printf("ioctl(-1, BLKROSET, [%d]) = -1 EBADF (%m)\n", *val_int);
- 
- 	ioctl(-1, BLKBSZSET, val_int);
-+	pidns_print_leader();
- 	printf("ioctl(-1, BLKBSZSET, [%d]) = -1 EBADF (%m)\n", *val_int);
- 
- 	uint64_t *pair_int64 = tail_alloc(sizeof(*pair_int64) * 2);
-@@ -111,18 +120,21 @@
- 
- #ifdef BLKDISCARD
- 	ioctl(-1, BLKDISCARD, pair_int64);
-+	pidns_print_leader();
- 	printf("ioctl(-1, BLKDISCARD, [%" PRIu64 ", %" PRIu64 "])"
- 	       " = -1 EBADF (%m)\n", pair_int64[0], pair_int64[1]);
- #endif
- 
- #ifdef BLKSECDISCARD
- 	ioctl(-1, BLKSECDISCARD, pair_int64);
-+	pidns_print_leader();
- 	printf("ioctl(-1, BLKSECDISCARD, [%" PRIu64 ", %" PRIu64 "])"
- 	       " = -1 EBADF (%m)\n", pair_int64[0], pair_int64[1]);
- #endif
- 
- #ifdef BLKZEROOUT
- 	ioctl(-1, BLKZEROOUT, pair_int64);
-+	pidns_print_leader();
- 	printf("ioctl(-1, BLKZEROOUT, [%" PRIu64 ", %" PRIu64 "])"
- 	       " = -1 EBADF (%m)\n", pair_int64[0], pair_int64[1]);
- #endif
-@@ -134,6 +146,7 @@
- 	blkpg->data = (void *) (unsigned long) 0xcafef00dfffffeedULL;
- 
- 	ioctl(-1, BLKPG, blkpg);
-+	pidns_print_leader();
- 	printf("ioctl(-1, BLKPG, {op=%s, flags=%d, datalen=%d"
- 	       ", data=%#lx}) = -1 EBADF (%m)\n",
- 	       "BLKPG_RESIZE_PARTITION", blkpg->flags, blkpg->datalen,
-@@ -149,6 +162,7 @@
- 	blkpg->data = bp;
- 
- 	ioctl(-1, BLKPG, blkpg);
-+	pidns_print_leader();
- 	printf("ioctl(-1, BLKPG, {op=%s, flags=%d, datalen=%d"
- 	       ", data={start=%lld, length=%lld, pno=%d"
- 	       ", devname=\"%.*s\"..., volname=\"%.*s\"...}})"
-@@ -162,25 +176,31 @@
- #if defined BLKTRACESETUP && defined HAVE_STRUCT_BLK_USER_TRACE_SETUP
- 	TAIL_ALLOC_OBJECT_CONST_PTR(struct blk_user_trace_setup, buts);
- 	fill_memory(buts, sizeof(*buts));
-+	buts->pid = getpid();
- 
- 	ioctl(-1, BLKTRACESETUP, buts);
-+	pidns_print_leader();
- 	printf("ioctl(-1, BLKTRACESETUP, {act_mask=%hu, buf_size=%u, buf_nr=%u"
--	       ", start_lba=%" PRI__u64 ", end_lba=%" PRI__u64 ", pid=%d})"
-+	       ", start_lba=%" PRI__u64 ", end_lba=%" PRI__u64 ", pid=%d%s})"
- 	       " = -1 EBADF (%m)\n",
- 	       buts->act_mask, buts->buf_size, buts->buf_nr,
--	       buts->start_lba, buts->end_lba, buts->pid);
-+	       buts->start_lba, buts->end_lba, buts->pid,
-+	       pidns_pid2str(PT_TGID));
- #endif
- 
- 	unsigned int i;
- 	for (i = 0; i < ARRAY_SIZE(block_argless); ++i) {
- 		ioctl(-1, (unsigned long) block_argless[i].val, lmagic);
-+		pidns_print_leader();
- 		printf("ioctl(-1, %s) = -1 EBADF (%m)\n", block_argless[i].str);
- 	}
- 
- 	ioctl(-1, _IOC(_IOC_READ, 0x12, 0xfe, 0xff), lmagic);
-+	pidns_print_leader();
- 	printf("ioctl(-1, %s, %#lx) = -1 EBADF (%m)\n",
- 	       "_IOC(_IOC_READ, 0x12, 0xfe, 0xff)", lmagic);
- 
-+	pidns_print_leader();
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests/ioprio--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests/ioprio--pidns-translation.c	2020-09-09 19:52:38.877673619 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "ioprio.c"
-Index: strace-5.7/tests/ioprio.c
-===================================================================
---- strace-5.7.orig/tests/ioprio.c	2020-09-09 19:52:30.595668682 +0200
-+++ strace-5.7/tests/ioprio.c	2020-09-09 19:52:38.878673619 +0200
-@@ -9,8 +9,8 @@
-  */
- 
- #include "tests.h"
--
- #include "scno.h"
-+#include "pidns.h"
- 
- #if defined(__NR_ioprio_get) && defined(__NR_ioprio_set)
- 
-@@ -30,12 +30,18 @@
- int
- main(void)
- {
-+	PIDNS_TEST_INIT;
-+
- 	static const kernel_ulong_t bogus_which =
- 		(kernel_ulong_t) 0xdeadfacefa57beefULL;
- 	static const kernel_ulong_t bogus_who =
- 		(kernel_ulong_t) 0xbadc0dedda7a1057ULL;
- 	static const kernel_ulong_t bogus_ioprio =
- 		(kernel_ulong_t) 0xdec0ded1facefeedULL;
-+
-+	const int pid = getpid();
-+	const int pgid = getpgid(0);
-+
- # if !XLAT_RAW
- 	static const char * const bogus_ioprio_str =
- 		"IOPRIO_PRIO_VALUE(0x7d677 /* IOPRIO_CLASS_??? */, 7917)";
-@@ -46,6 +52,7 @@
- 
- 	rc = syscall(__NR_ioprio_get, bogus_which, bogus_who);
- 	errstr = sprintrc(rc);
-+	pidns_print_leader();
- # if XLAT_RAW
- 	printf("ioprio_get(%#x, %d) = %s\n",
- 	       (int) bogus_which, (int) bogus_who, errstr);
-@@ -54,42 +61,52 @@
- 	       (int) bogus_which, (int) bogus_who, errstr);
- # endif
- 
--	rc = syscall(__NR_ioprio_get, 1, 0);
-+	rc = syscall(__NR_ioprio_get, 1, pid);
- 	errstr = sprintrc(rc);
-+	pidns_print_leader();
-+	printf("ioprio_get(");
- # if XLAT_RAW
--	printf("ioprio_get(0x1, 0) = %s\n", errstr);
-+	printf("0x1, ");
-+# elif XLAT_VERBOSE
-+	printf("0x1 /* IOPRIO_WHO_PROCESS */, ");
- # else /* XLAT_ABBREV */
--#  if XLAT_VERBOSE
--	printf("ioprio_get(0x1 /* IOPRIO_WHO_PROCESS */, 0) = %s", errstr);
--#  else
--	printf("ioprio_get(IOPRIO_WHO_PROCESS, 0) = %s", errstr);
--#  endif
-+	printf("IOPRIO_WHO_PROCESS, ");
-+# endif
-+	printf("%d%s) = %s", pid, pidns_pid2str(PT_TGID), errstr);
-+# if !XLAT_RAW
- 	if (rc >= 0) {
- 		printf(" (IOPRIO_PRIO_VALUE(");
- 		printxval(ioprio_class, (unsigned int) rc >> 13,
- 			  "IOPRIO_CLASS_???");
- 		printf(", %u))", (unsigned int) rc & 0x1fff);
- 	}
--	puts("");
- # endif
-+	puts("");
- 
--	rc = syscall(__NR_ioprio_set, 2, 0, 8191);
-+	rc = syscall(__NR_ioprio_set, 2, pgid, 8191);
- 	errstr = sprintrc(rc);
-+	pidns_print_leader();
-+	printf("ioprio_set(");
- # if XLAT_RAW
--	printf("ioprio_set(%#x, 0, 8191) = %s\n", 2, errstr);
-+	printf("%#x", 2);
- # elif XLAT_VERBOSE
--	printf("ioprio_set(%#x /* IOPRIO_WHO_PGRP */, 0, 8191"
--	       " /* IOPRIO_PRIO_VALUE(0 /* IOPRIO_CLASS_NONE */, 8191) */)"
--	       " = %s\n",
--	       2, errstr);
-+	printf("%#x /* IOPRIO_WHO_PGRP */", 2);
- # else /* XLAT_ABBREV */
--	printf("ioprio_set(IOPRIO_WHO_PGRP, 0"
--	       ", IOPRIO_PRIO_VALUE(IOPRIO_CLASS_NONE, 8191)) = %s\n",
--	       errstr);
-+	printf("IOPRIO_WHO_PGRP");
-+# endif
-+	printf(", %d%s", pgid, pidns_pid2str(PT_PGID));
-+# if XLAT_RAW
-+	printf(", 8191)");
-+# elif XLAT_VERBOSE
-+	printf(", 8191 /* IOPRIO_PRIO_VALUE(0 /* IOPRIO_CLASS_NONE */, 8191) */)");
-+# else /* XLAT_ABBREV */
-+	printf(", IOPRIO_PRIO_VALUE(IOPRIO_CLASS_NONE, 8191))");
- # endif
-+	printf(" = %s\n", errstr);
- 
- 	rc = syscall(__NR_ioprio_set, bogus_which, bogus_who, bogus_ioprio);
- 	errstr = sprintrc(rc);
-+	pidns_print_leader();
- # if XLAT_RAW
- 	printf("ioprio_set(%#x, %d, %d) = %s\n",
- 	       (int) bogus_which, (int) bogus_who, (int) bogus_ioprio,
-@@ -104,6 +121,7 @@
- 	       errstr);
- # endif
- 
-+	pidns_print_leader();
- 	puts("+++ exited with 0 +++");
- 
- 	return 0;
-Index: strace-5.7/tests/kcmp-y--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests/kcmp-y--pidns-translation.c	2020-09-09 19:52:38.878673619 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "kcmp-y.c"
-Index: strace-5.7/tests/kcmp.c
-===================================================================
---- strace-5.7.orig/tests/kcmp.c	2020-09-09 19:52:30.596668683 +0200
-+++ strace-5.7/tests/kcmp.c	2020-09-09 19:52:38.878673619 +0200
-@@ -9,8 +9,8 @@
-  */
- 
- #include "tests.h"
--
- #include "scno.h"
-+#include "pidns.h"
- 
- #ifdef __NR_kcmp
- 
-@@ -101,7 +101,11 @@
- 	rc = syscall(__NR_kcmp, pid1, pid2, type, idx1, idx2);
- 	errstr = sprintrc(rc);
- 
--	printf("kcmp(%d, %d, ", (int) pid1, (int) pid2);
-+	const char *pid_str = pidns_pid2str(PT_TGID);
-+	pidns_print_leader();
-+	printf("kcmp(%d%s, %d%s, ",
-+		(int) pid1, (int) pid1 == getpid() ? pid_str : "",
-+		(int) pid2, (int) pid2 == getpid() ? pid_str : "");
- 
- 	if (type_str)
- 		printf("%s", type_str);
-@@ -146,6 +150,8 @@
- int
- main(void)
- {
-+	PIDNS_TEST_INIT;
-+
- 	static const kernel_ulong_t bogus_pid1 =
- 		(kernel_ulong_t) 0xdeadca75face1057ULL;
- 	static const kernel_ulong_t bogus_pid2 =
-@@ -221,6 +227,7 @@
- 			(uintptr_t) slot, 1);
- 	}
- 
-+	pidns_print_leader();
- 	puts("+++ exited with 0 +++");
- 
- 	return 0;
-Index: strace-5.7/tests/kill--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests/kill--pidns-translation.c	2020-09-09 19:52:38.878673619 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "kill.c"
-Index: strace-5.7/tests/kill.c
-===================================================================
---- strace-5.7.orig/tests/kill.c	2020-09-09 19:52:30.596668683 +0200
-+++ strace-5.7/tests/kill.c	2020-09-09 19:52:38.878673619 +0200
-@@ -11,6 +11,7 @@
- 
- #include "tests.h"
- #include "scno.h"
-+#include "pidns.h"
- 
- #ifdef __NR_kill
- 
-@@ -26,6 +27,8 @@
- int
- main(void)
- {
-+	PIDNS_TEST_INIT;
-+
- 	const struct sigaction act = { .sa_handler = handler };
- 	if (sigaction(SIGALRM, &act, NULL))
- 		perror_msg_and_fail("sigaction");
-@@ -37,18 +40,23 @@
- 		perror_msg_and_fail("sigprocmask");
- 
- 	const int pid = getpid();
-+	const char *pid_str = pidns_pid2str(PT_TGID);
- 	long rc = syscall(__NR_kill, pid, (long) 0xdefaced00000000ULL | SIGALRM);
--	printf("kill(%d, SIGALRM) = %ld\n", pid, rc);
-+	pidns_print_leader();
-+	printf("kill(%d%s, SIGALRM) = %ld\n", pid, pid_str, rc);
- 
- 	const long big_pid = (long) 0xfacefeedbadc0dedULL;
- 	const long big_sig = (long) 0xdeadbeefcafef00dULL;
- 	rc = syscall(__NR_kill, big_pid, big_sig);
-+	pidns_print_leader();
- 	printf("kill(%d, %d) = %ld %s (%m)\n",
- 	       (int) big_pid, (int) big_sig, rc, errno2name());
- 
- 	rc = syscall(__NR_kill, (long) 0xdefaced00000000ULL | pid, 0);
--	printf("kill(%d, 0) = %ld\n", pid, rc);
-+	pidns_print_leader();
-+	printf("kill(%d%s, 0) = %ld\n", pid, pid_str, rc);
- 
-+	pidns_print_leader();
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests/migrate_pages--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests/migrate_pages--pidns-translation.c	2020-09-09 19:52:38.879673620 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "migrate_pages.c"
-Index: strace-5.7/tests/migrate_pages.c
-===================================================================
---- strace-5.7.orig/tests/migrate_pages.c	2020-09-09 19:52:30.596668683 +0200
-+++ strace-5.7/tests/migrate_pages.c	2020-09-09 19:52:38.879673620 +0200
-@@ -10,6 +10,7 @@
- 
- #include "tests.h"
- #include "scno.h"
-+#include "pidns.h"
- 
- #ifdef __NR_migrate_pages
- 
-@@ -19,11 +20,21 @@
- int
- main(void)
- {
--	const long pid = (long) 0xfacefeedffffffffULL;
-+	PIDNS_TEST_INIT;
-+
-+	const long pid = (long) 0xfacefeed00000000ULL | getpid();
- 	long rc = syscall(__NR_migrate_pages, pid, 0, 0, 0);
--	printf("migrate_pages(%d, 0, NULL, NULL) = %ld %s (%m)\n",
--	       (int) pid, rc, errno2name());
- 
-+	pidns_print_leader();
-+	printf("migrate_pages(%d%s, 0, NULL, NULL) = %ld",
-+		(int) pid, pidns_pid2str(PT_TGID), rc);
-+
-+	if (rc < 0)
-+		printf(" %s (%m)\n", errno2name());
-+	else
-+		printf("\n");
-+
-+	pidns_print_leader();
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests/move_pages--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests/move_pages--pidns-translation.c	2020-09-09 19:52:38.879673620 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "move_pages.c"
-Index: strace-5.7/tests/move_pages.c
-===================================================================
---- strace-5.7.orig/tests/move_pages.c	2020-09-09 19:52:30.597668684 +0200
-+++ strace-5.7/tests/move_pages.c	2020-09-09 19:52:38.879673620 +0200
-@@ -10,6 +10,7 @@
- 
- #include "tests.h"
- #include "scno.h"
-+#include "pidns.h"
- 
- #ifdef __NR_move_pages
- 
-@@ -122,15 +123,20 @@
- }
- 
- static void
--print_stat_pages(const unsigned long pid, const unsigned long count,
--		 const void **const pages, int *const status)
-+print_stat_pages(const unsigned long pid,
-+		 const char *pid_str,
-+		 const unsigned long count,
-+		 const void **const pages,
-+		 int *const status)
- {
- 	const unsigned long flags = (unsigned long) 0xfacefeed00000002ULL;
- 
- 	long rc = syscall(__NR_move_pages,
- 			  pid, count, pages, NULL, status, flags);
- 	const char *errstr = sprintrc(rc);
--	printf("move_pages(%d, %lu, ", (int) pid, count);
-+	pidns_print_leader();
-+	printf("move_pages(%d%s, %lu, ", (int) pid, pid_str,
-+		count);
- 	print_page_array(pages, count, 0);
- 	printf(", NULL, ");
- 	if (rc) {
-@@ -152,6 +158,7 @@
- 
- static void
- print_move_pages(const unsigned long pid,
-+		 const char *pid_str,
- 		 unsigned long count,
- 		 const unsigned int offset,
- 		 const void **const pages,
-@@ -164,7 +171,9 @@
- 	long rc = syscall(__NR_move_pages,
- 			  pid, count, pages, nodes, status, flags);
- 	const char *errstr = sprintrc(rc);
--	printf("move_pages(%d, %lu, ", (int) pid, count);
-+	pidns_print_leader();
-+	printf("move_pages(%d%s, %lu, ", (int) pid, pid_str,
-+		count);
- 	print_page_array(pages, count, offset);
- 	printf(", ");
- 	print_node_array(nodes, count, offset);
-@@ -185,8 +194,11 @@
- int
- main(void)
- {
-+	PIDNS_TEST_INIT;
-+
- 	const unsigned long pid =
- 		(unsigned long) 0xfacefeed00000000ULL | getpid();
-+	const char *pid_str = pidns_pid2str(PT_TGID);
- 	unsigned long count = 1;
- 	const unsigned page_size = get_page_size();
- 	const void *const page = tail_alloc(page_size);
-@@ -195,40 +207,41 @@
- 	TAIL_ALLOC_OBJECT_VAR_PTR(int, nodes);
- 	TAIL_ALLOC_OBJECT_VAR_PTR(int, status);
- 
--	print_stat_pages(pid, 0, pages, status);
--	print_move_pages(pid, 0, 0, pages, nodes, status);
--	print_move_pages(pid, 0, 1, pages + 1, nodes + 1, status + 1);
-+	print_stat_pages(pid, pid_str, 0, pages, status);
-+	print_move_pages(pid, pid_str, 0, 0, pages, nodes, status);
-+	print_move_pages(pid, pid_str, 0, 1, pages + 1, nodes + 1, status + 1);
- 
- 	*pages = page;
--	print_stat_pages(pid, count, pages, status);
-+	print_stat_pages(pid, pid_str, count, pages, status);
- 	*nodes = 0xdeadbee1;
--	print_move_pages(pid, count, 0, pages, nodes, status);
--	print_move_pages(pid, count, 1, pages, nodes, status);
-+	print_move_pages(pid, pid_str, count, 0, pages, nodes, status);
-+	print_move_pages(pid, pid_str, count, 1, pages, nodes, status);
- 
- 	++count;
- 	--status;
- 	*(--pages) = efault;
--	print_stat_pages(pid, count, pages, status);
-+	print_stat_pages(pid, pid_str, count, pages, status);
- 	*(--nodes) = 0xdeadbee2;
--	print_move_pages(pid, count, 0, pages, nodes, status);
--	print_move_pages(pid, count, 1, pages, nodes, status);
-+	print_move_pages(pid, pid_str, count, 0, pages, nodes, status);
-+	print_move_pages(pid, pid_str, count, 1, pages, nodes, status);
- 
- 	++count;
- 	--status;
- 	*(--pages) = nodes;
--	print_stat_pages(pid, count, pages, status);
-+	print_stat_pages(pid, pid_str, count, pages, status);
- 	*(--nodes) = 0xdeadbee3;
--	print_move_pages(pid, count, 0, pages, nodes, status);
--	print_move_pages(pid, count, 1, pages, nodes, status);
-+	print_move_pages(pid, pid_str, count, 0, pages, nodes, status);
-+	print_move_pages(pid, pid_str, count, 1, pages, nodes, status);
- 
- 	++count;
- 	--status;
- 	*(--pages) = status;
--	print_stat_pages(pid, count, pages, status);
-+	print_stat_pages(pid, pid_str, count, pages, status);
- 	*(--nodes) = 0xdeadbee4;
--	print_move_pages(pid, count, 0, pages, nodes, status);
--	print_move_pages(pid, count, 1, pages, nodes, status);
-+	print_move_pages(pid, pid_str, count, 0, pages, nodes, status);
-+	print_move_pages(pid, pid_str, count, 1, pages, nodes, status);
- 
-+	pidns_print_leader();
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests/net-sockaddr--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests/net-sockaddr--pidns-translation.c	2020-09-09 19:52:38.879673620 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "net-sockaddr.c"
-Index: strace-5.7/tests/net-sockaddr.c
-===================================================================
---- strace-5.7.orig/tests/net-sockaddr.c	2020-09-09 19:52:30.598668684 +0200
-+++ strace-5.7/tests/net-sockaddr.c	2020-09-09 19:52:38.880673621 +0200
-@@ -9,6 +9,7 @@
-  */
- 
- #include "tests.h"
-+#include "pidns.h"
- #include <stddef.h>
- #include <stdio.h>
- #include <string.h>
-@@ -40,18 +41,21 @@
- 	memset(un->sun_path, '0', sizeof(un->sun_path));
- 	unsigned int len = sizeof(*un);
- 	int ret = connect(-1, (void *) un, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_UNIX, sun_path=\"%.*u\"}"
- 	       ", %u) = %d EBADF (%m)\n",
- 	       (int) sizeof(un->sun_path), 0, len, ret);
- 
- 	un->sun_path[1] = 0;
- 	ret = connect(-1, (void *) un, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_UNIX, sun_path=\"%u\"}, %u)"
- 	       " = %d EBADF (%m)\n", 0, len, ret);
- 
- 	un->sun_path[0] = 0;
- 	un->sun_path[2] = 1;
- 	ret = connect(-1, (void *) un, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_UNIX, sun_path=@\"\\0\\001%.*u\"}"
- 	       ", %u) = %d EBADF (%m)\n",
- 	       (int) sizeof(un->sun_path) - 3, 0, len, ret);
-@@ -61,12 +65,14 @@
- 	memset(un->sun_path, '0', sizeof(un->sun_path));
- 	len = sizeof(*un) + 2;
- 	ret = connect(-1, (void *) un, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_UNIX, sun_path=\"%.*u\"}"
- 	       ", %u) = %d EBADF (%m)\n",
- 	       (int) sizeof(un->sun_path), 0, len, ret);
- 
- 	un->sun_path[0] = 0;
- 	ret = connect(-1, (void *) un, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_UNIX, sun_path=@\"%.*u\"}"
- 	       ", %u) = %d EBADF (%m)\n",
- 	       (int) sizeof(un->sun_path) - 1, 0, len, ret);
-@@ -75,18 +81,21 @@
- 	un->sun_family = AF_UNIX;
- 	len = sizeof(*un) - 2;
- 	ret = connect(-1, (void *) un, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_UNIX, sun_path=\"%.*u\"}"
- 	       ", %u) = %d EBADF (%m)\n",
- 	       (int) sizeof(un->sun_path) - 2, 0, len, ret);
- 
- 	un->sun_path[0] = 0;
- 	ret = connect(-1, (void *) un, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_UNIX, sun_path=@\"%.*u\"}"
- 	       ", %u) = %d EBADF (%m)\n",
- 	       (int) sizeof(un->sun_path) - 3, 0, len, ret);
- 
- 	len = sizeof(*un);
- 	ret = connect(-1, (void *) un, len);
-+	pidns_print_leader();
- 	printf("connect(-1, %p, %u) = %d EBADF (%m)\n", un, len, ret);
- 
- 	un = tail_alloc(sizeof(struct sockaddr_storage));
-@@ -94,12 +103,14 @@
- 	memset(un->sun_path, '0', sizeof(un->sun_path));
- 	len = sizeof(struct sockaddr_storage) + 1;
- 	ret = connect(-1, (void *) un, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_UNIX, sun_path=\"%.*u\"}"
- 	       ", %u) = %d EBADF (%m)\n",
- 	       (int) sizeof(un->sun_path), 0, len, ret);
- 
- 	un->sun_path[0] = 0;
- 	ret = connect(-1, (void *) un, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_UNIX, sun_path=@\"%.*u\"}"
- 	       ", %u) = %d EBADF (%m)\n",
- 	       (int) sizeof(un->sun_path) - 1, 0, len, ret);
-@@ -117,6 +128,7 @@
- 	in->sin_addr.s_addr = inet_addr(h_addr);
- 	unsigned int len = sizeof(*in);
- 	int ret = connect(-1, (void *) in, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_INET, sin_port=htons(%hu)"
- 	       ", sin_addr=inet_addr(\"%s\")}, %u) = %d EBADF (%m)\n",
- 	       h_port, h_addr, len, ret);
-@@ -127,6 +139,7 @@
- 	in->sin_addr.s_addr = inet_addr(h_addr);
- 	len = sizeof(*in) + 4;
- 	ret = connect(-1, (void *) in, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_INET, sin_port=htons(%hu)"
- 	       ", sin_addr=inet_addr(\"%s\")}, %u) = %d EBADF (%m)\n",
- 	       h_port, h_addr, len, ret);
-@@ -137,6 +150,7 @@
- 	in->sin_addr.s_addr = 0;
- 	len = sizeof(*in) - 4;
- 	ret = connect(-1, (void *) in, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_INET, sa_data=\"%s\"}, %u)"
- 	       " = %d EBADF (%m)\n",
- 	       "\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377",
-@@ -144,6 +158,7 @@
- 
- 	len = sizeof(*in);
- 	ret = connect(-1, (void *) in, len);
-+	pidns_print_leader();
- 	printf("connect(-1, %p, %u) = %d EBADF (%m)\n", in, len, ret);
- }
- 
-@@ -155,6 +170,7 @@
- 	in6->sin6_scope_id = 0xfacefeed;
- 	unsigned int len = sizeof(*in6);
- 	int ret = connect(-1, (void *) in6, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_INET6, sin6_port=htons(%hu)"
- 	       ", sin6_flowinfo=htonl(%u)"
- 	       ", inet_pton(AF_INET6, \"%s\", &sin6_addr)"
-@@ -166,7 +182,8 @@
- 	in6->sin6_scope_id = ifindex_lo();
- 	if (in6->sin6_scope_id) {
- 		ret = connect(-1, (void *) in6, len);
--		printf("connect(-1, {sa_family=AF_INET6, sin6_port=htons(%hu)"
-+		pidns_print_leader();
-+	printf("connect(-1, {sa_family=AF_INET6, sin6_port=htons(%hu)"
- 		       ", sin6_flowinfo=htonl(%u)"
- 		       ", inet_pton(AF_INET6, \"%s\", &sin6_addr)"
- 		       ", sin6_scope_id=%s}, %u)"
-@@ -191,6 +208,7 @@
- 	in6->sin6_scope_id = 0xfacefeed;
- 	unsigned int len = sizeof(*in6);
- 	int ret = connect(-1, (void *) in6, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_INET6, sin6_port=htons(%hu)"
- 	       ", sin6_flowinfo=htonl(%u)"
- 	       ", inet_pton(AF_INET6, \"%s\", &sin6_addr)"
-@@ -209,6 +227,7 @@
- 	in6->sin6_scope_id = 0xfacefeed;
- 	len = sizeof(*in6) + 4;
- 	ret = connect(-1, (void *) in6, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_INET6, sin6_port=htons(%hu)"
- 	       ", sin6_flowinfo=htonl(%u)"
- 	       ", inet_pton(AF_INET6, \"%s\", &sin6_addr)"
-@@ -223,6 +242,7 @@
- 	inet_pton(AF_INET6, h_addr, &in6->sin6_addr);
- 	len = sizeof(*in6) - sizeof(in6->sin6_scope_id);
- 	ret = connect(-1, (void *) in6, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_INET6, sin6_port=htons(%hu)"
- 	       ", sin6_flowinfo=htonl(%u)"
- 	       ", inet_pton(AF_INET6, \"%s\", &sin6_addr)}, %u)"
-@@ -236,6 +256,7 @@
- 	memset(&in6->sin6_addr, '0', sizeof(in6->sin6_addr) - 4);
- 	len = sizeof(*in6) - sizeof(in6->sin6_scope_id) - 4;
- 	ret = connect(-1, (void *) in6, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_INET6"
- 	       ", sa_data=\"\\0\\0\\0\\0\\0\\000%.*u\"}, %u)"
- 	       " = %d EBADF (%m)\n",
-@@ -244,6 +265,7 @@
- 
- 	len = sizeof(*in6) - sizeof(in6->sin6_scope_id);
- 	ret = connect(-1, (void *) in6, len);
-+	pidns_print_leader();
- 	printf("connect(-1, %p, %u) = %d EBADF (%m)\n", in6, len, ret);
- }
- 
-@@ -262,6 +284,7 @@
- 	void *ipx = tail_memdup(&c_ipx, sizeof(c_ipx));
- 	unsigned int len = sizeof(c_ipx);
- 	int ret = connect(-1, ipx, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_IPX, sipx_port=htons(%u)"
- 	       ", sipx_network=htonl(%#x)"
- 	       ", sipx_node=[%#02x, %#02x, %#02x, %#02x, %#02x, %#02x]"
-@@ -316,18 +339,21 @@
- 	fill_memory(sax, size);
- 	sax->fsa_ax25.sax25_family = AF_AX25;
- 	rc = connect(-1, sax_void, sizeof(struct sockaddr_ax25) - 1);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_AX25, sa_data=\"\\202\\203\\204\\205"
- 	       "\\206\\207\\210\\211\\212\\213\\214\\215\\216\"}, %zu) = %s\n",
- 	       sizeof(struct sockaddr_ax25) - 1, sprintrc(rc));
- 
- 	memcpy(sax, &ax25, sizeof(ax25));
- 	rc = connect(-1, sax_void, sizeof(struct sockaddr_ax25));
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_AX25, fsa_ax25={sax25_call=VALID-13"
- 	       ", sax25_ndigis=8}, fsa_digipeater=[/* ??? */]}, %zu) = %s\n",
- 	       sizeof(struct sockaddr_ax25), sprintrc(rc));
- 
- 	sax->fsa_ax25.sax25_ndigis = 0;
- 	rc = connect(-1, sax_void, sizeof(struct sockaddr_ax25));
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_AX25, sax25_call=VALID-13"
- 	       ", sax25_ndigis=0}, %zu) = %s\n",
- 	       sizeof(struct sockaddr_ax25), sprintrc(rc));
-@@ -335,6 +361,7 @@
- 	sax->fsa_ax25.sax25_ndigis = 8;
- 	size = sizeof(struct sockaddr_ax25) + sizeof(ax25_address) * 3 + 1;
- 	rc = connect(-1, sax_void, size);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_AX25, fsa_ax25={sax25_call=VALID-13"
- 	       ", sax25_ndigis=8}, fsa_digipeater"
- 	       "=[{ax25_call=\"\\xa6\\xa0\\x82\\x40\\x86\\x8a\\x00\""
-@@ -348,6 +375,7 @@
- 	sax->fsa_digipeater[2].ax25_call[6] = 0x4;
- 	size = sizeof(struct sockaddr_ax25) + sizeof(ax25_address) * 4;
- 	rc = connect(-1, sax_void, size);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_AX25, fsa_ax25={sax25_call=VALID-13"
- 	       ", sax25_ndigis=8}, fsa_digipeater"
- 	       "=[{ax25_call=\"\\xa6\\xa0\\x82\\x40\\x86\\x8a\\x00\""
-@@ -365,6 +393,7 @@
- 	for (size_t i = 0; i < 3; i++) {
- 		size = sizeof(ax25) + sizeof(ax25_address) * (i / 2);
- 		rc = connect(-1, sax_void, size);
-+		pidns_print_leader();
- 		printf("connect(-1, {sa_family=AF_AX25"
- 		       ", fsa_ax25={sax25_call=VALID-13, sax25_ndigis=%d}"
- 		       ", fsa_digipeater=[VALID2-7, OK-15, %s /* FINE-2 */"
-@@ -427,12 +456,14 @@
- 	long rc;
- 
- 	rc = connect(-1, x25_void, sizeof(c_x25) - 1);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_X25"
- 	       ", sa_data=\"0123456789abcde\"}, %zu) = %s\n",
- 	       sizeof(c_x25) - 1, sprintrc(rc));
- 
- 	for (size_t i = 0; i < 2; i++) {
- 		rc = connect(-1, x25_void, sizeof(c_x25) + i);
-+		pidns_print_leader();
- 		printf("connect(-1, {sa_family=AF_X25"
- 		       ", sx25_addr={x25_addr=\"0123456789abcde\"...}"
- 		       "}, %zu) = %s\n",
-@@ -442,6 +473,7 @@
- 	struct sockaddr_x25 *const x25 = x25_void;
- 	x25->sx25_addr.x25_addr[10] = '\0';
- 	rc = connect(-1, x25_void, sizeof(c_x25));
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_X25"
- 	       ", sx25_addr={x25_addr=\"0123456789\"}"
- 	       "}, %zu) = %s\n",
-@@ -457,19 +489,21 @@
- 	nl->nl_groups = 0xfacefeed;
- 	unsigned int len = sizeof(*nl);
- 	int ret = connect(-1, (void *) nl, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_NETLINK, nl_pid=%d"
- 	       ", nl_groups=%#08x}, %u) = %d EBADF (%m)\n",
- 	       nl->nl_pid, nl->nl_groups, len, ret);
- 
- 	nl = ((void *) nl) - 4;
- 	nl->nl_family = AF_NETLINK;
--	nl->nl_pid = 1234567890;
-+	nl->nl_pid = getpid();
- 	nl->nl_groups = 0xfacefeed;
- 	len = sizeof(*nl) + 4;
- 	ret = connect(-1, (void *) nl, len);
--	printf("connect(-1, {sa_family=AF_NETLINK, nl_pid=%d"
-+	pidns_print_leader();
-+	printf("connect(-1, {sa_family=AF_NETLINK, nl_pid=%d%s"
- 	       ", nl_groups=%#08x}, %u) = %d EBADF (%m)\n",
--	       nl->nl_pid, nl->nl_groups, len, ret);
-+	       nl->nl_pid, pidns_pid2str(PT_TGID), nl->nl_groups, len, ret);
- }
- 
- static void
-@@ -487,6 +521,7 @@
- 	void *ll = tail_memdup(&c_ll, sizeof(c_ll));
- 	unsigned int len = sizeof(c_ll);
- 	int ret = connect(-1, ll, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_PACKET"
- 	       ", sll_protocol=htons(ETH_P_ALL)"
- 	       ", sll_ifindex=%u, sll_hatype=ARPHRD_ETHER"
-@@ -502,6 +537,7 @@
- 
- 	((struct sockaddr_ll *) ll)->sll_halen++;
- 	ret = connect(-1, ll, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_PACKET"
- 	       ", sll_protocol=htons(ETH_P_ALL)"
- 	       ", sll_ifindex=%u, sll_hatype=ARPHRD_ETHER"
-@@ -517,6 +553,7 @@
- 
- 	((struct sockaddr_ll *) ll)->sll_halen = 0;
- 	ret = connect(-1, ll, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_PACKET"
- 	       ", sll_protocol=htons(ETH_P_ALL)"
- 	       ", sll_ifindex=%u, sll_hatype=ARPHRD_ETHER"
-@@ -526,6 +563,7 @@
- 	((struct sockaddr_ll *) ll)->sll_ifindex = ifindex_lo();
- 	if (((struct sockaddr_ll *) ll)->sll_ifindex) {
- 		ret = connect(-1, ll, len);
-+	pidns_print_leader();
- 		printf("connect(-1, {sa_family=AF_PACKET"
- 		       ", sll_protocol=htons(ETH_P_ALL)"
- 		       ", sll_ifindex=%s"
-@@ -549,11 +587,13 @@
- 	unsigned int len = sizeof(*hci);
- 
- 	int ret = connect(-1, (void *) hci, 4);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_BLUETOOTH, hci_dev=htobs(%hu)"
- 	       "}, 4) = %d EBADF (%m)\n",
- 	       h_port, ret);
- 
- 	ret = connect(-1, (void *) hci, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_BLUETOOTH, hci_dev=htobs(%hu)"
- # ifdef HAVE_STRUCT_SOCKADDR_HCI_HCI_CHANNEL
- 	       ", hci_channel=HCI_CHANNEL_RAW"
-@@ -572,6 +612,7 @@
- 	void *sco = tail_memdup(&c_sco, sizeof(c_sco));
- 	unsigned int len = sizeof(c_sco);
- 	int ret = connect(-1, sco, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_BLUETOOTH"
- 	       ", sco_bdaddr=%02x:%02x:%02x:%02x:%02x:%02x"
- 	       "}, %u) = %d EBADF (%m)\n",
-@@ -592,6 +633,7 @@
- 	void *rc = tail_memdup(&c_rc, sizeof(c_rc));
- 	unsigned int len = sizeof(c_rc);
- 	int ret = connect(-1, rc, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_BLUETOOTH"
- 	       ", rc_bdaddr=%02x:%02x:%02x:%02x:%02x:%02x"
- 	       ", rc_channel=%u}, %u) = %d EBADF (%m)\n",
-@@ -619,6 +661,7 @@
- 	unsigned int len = sizeof(c_l2);
- 
- 	int ret = connect(-1, l2, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_BLUETOOTH"
- 	       ", l2_psm=htobs(L2CAP_PSM_DYN_START + %hu)"
- 	       ", l2_bdaddr=%02x:%02x:%02x:%02x:%02x:%02x"
-@@ -640,6 +683,7 @@
- # endif
- 	memcpy(l2, &c_l2, sizeof(c_l2));
- 	ret = connect(-1, l2, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_BLUETOOTH"
- 	       ", l2_psm=htobs(L2CAP_PSM_SDP)"
- 	       ", l2_bdaddr=%02x:%02x:%02x:%02x:%02x:%02x"
-@@ -660,6 +704,7 @@
- # endif
- 	memcpy(l2, &c_l2, sizeof(c_l2));
- 	ret = connect(-1, l2, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_BLUETOOTH"
- 	       ", l2_psm=htobs(0xbad /* L2CAP_PSM_??? */)"
- 	       ", l2_bdaddr=%02x:%02x:%02x:%02x:%02x:%02x"
-@@ -677,6 +722,7 @@
- 	c_l2.l2_cid = htobs(0xffff);
- 	memcpy(l2, &c_l2, 12);
- 	ret = connect(-1, l2, 12);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_BLUETOOTH"
- 	       ", l2_psm=htobs(L2CAP_PSM_AUTO_END)"
- 	       ", l2_bdaddr=%02x:%02x:%02x:%02x:%02x:%02x"
-@@ -700,6 +746,7 @@
- 	u.sa->sa_family = 0xff;
- 	unsigned int len = sizeof(*u.st) + 8;
- 	int ret = connect(-1, (void *) u.st, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=%#x /* AF_??? */, sa_data=\"%.*u\"}"
- 	       ", %u) = %d EBADF (%m)\n", u.sa->sa_family,
- 	       (int) (sizeof(*u.st) - sizeof(u.sa->sa_family)), 0, len, ret);
-@@ -707,11 +754,13 @@
- 	u.sa->sa_family = 0;
- 	len = sizeof(u.sa->sa_family) + 1;
- 	ret = connect(-1, (void *) u.st, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_UNSPEC, sa_data=\"0\"}, %u)"
- 	       " = %d EBADF (%m)\n", len, ret);
- 
- 	u.sa->sa_family = AF_BLUETOOTH;
- 	ret = connect(-1, (void *) u.st, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_BLUETOOTH, sa_data=\"0\"}, %u)"
- 	       " = %d EBADF (%m)\n", len, ret);
- }
-@@ -719,6 +768,8 @@
- int
- main(void)
- {
-+	PIDNS_TEST_INIT;
-+
- 	check_un();
- 	check_in();
- 	check_in6();
-@@ -735,6 +786,7 @@
- #endif
- 	check_raw();
- 
-+	pidns_print_leader();
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests/netlink_audit--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests/netlink_audit--pidns-translation.c	2020-09-09 19:52:38.880673621 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "netlink_audit.c"
-Index: strace-5.7/tests/netlink_audit--pidns-translation.test
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests/netlink_audit--pidns-translation.test	2020-09-09 19:52:38.880673621 +0200
-@@ -0,0 +1,13 @@
-+#!/bin/sh
-+#
-+# Check pidns translation of NETLINK_SOCK_DIAG protocol decoding
-+#
-+# Copyright (c) 2020 The strace developers.
-+# All rights reserved.
-+#
-+# SPDX-License-Identifier: LGPL-2.1-or-later
-+
-+. "${srcdir=.}/init.sh"
-+
-+run_prog ../netlink_netlink_diag
-+test_pidns -e trace=sendto "$@"
-Index: strace-5.7/tests/netlink_audit.c
-===================================================================
---- strace-5.7.orig/tests/netlink_audit.c	2020-09-09 19:52:30.599668685 +0200
-+++ strace-5.7/tests/netlink_audit.c	2020-09-09 19:52:38.881673621 +0200
-@@ -7,6 +7,7 @@
-  */
- 
- #include "tests.h"
-+#include "pidns.h"
- #include <stdio.h>
- #include <string.h>
- #include <unistd.h>
-@@ -17,18 +18,23 @@
- static void
- test_nlmsg_type(const int fd)
- {
-+	PIDNS_TEST_INIT;
-+
- 	long rc;
- 	struct nlmsghdr nlh = {
- 		.nlmsg_len = sizeof(nlh),
- 		.nlmsg_type = AUDIT_GET,
- 		.nlmsg_flags = NLM_F_REQUEST,
-+		.nlmsg_pid = getpid(),
- 	};
- 
- 	rc = sendto(fd, &nlh, sizeof(nlh), MSG_DONTWAIT, NULL, 0);
-+	pidns_print_leader();
- 	printf("sendto(%d, {len=%u, type=AUDIT_GET"
--	       ", flags=NLM_F_REQUEST, seq=0, pid=0}"
-+	       ", flags=NLM_F_REQUEST, seq=0, pid=%d%s}"
- 	       ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
--	       fd, nlh.nlmsg_len, (unsigned) sizeof(nlh), sprintrc(rc));
-+	       fd, nlh.nlmsg_len, nlh.nlmsg_pid, pidns_pid2str(PT_TGID),
-+	       (unsigned) sizeof(nlh), sprintrc(rc));
- }
- 
- int main(void)
-@@ -39,6 +45,7 @@
- 
- 	test_nlmsg_type(fd);
- 
-+	pidns_print_leader();
- 	printf("+++ exited with 0 +++\n");
- 
- 	return 0;
-Index: strace-5.7/tests/pidfd_open--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests/pidfd_open--pidns-translation.c	2020-09-09 19:52:38.881673621 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "pidfd_open.c"
-Index: strace-5.7/tests/pidfd_open.c
-===================================================================
---- strace-5.7.orig/tests/pidfd_open.c	2020-09-09 19:52:30.599668685 +0200
-+++ strace-5.7/tests/pidfd_open.c	2020-09-09 19:52:38.881673621 +0200
-@@ -10,6 +10,7 @@
- 
- #include "tests.h"
- #include "scno.h"
-+#include "pidns.h"
- 
- #ifdef __NR_pidfd_open
- 
-@@ -37,6 +38,8 @@
- int
- main(void)
- {
-+	PIDNS_TEST_INIT;
-+
- # if defined PATH_TRACING || defined PRINT_PATHS
- 	skip_if_unavailable("/proc/self/fd/");
- # endif
-@@ -50,16 +53,19 @@
- 
- 	k_pidfd_open(0, 0);
- # ifndef PATH_TRACING
-+	pidns_print_leader();
- 	printf("pidfd_open(0, 0) = %s\n", errstr);
- # endif
- 
- 	k_pidfd_open(-1U, 0);
- # ifndef PATH_TRACING
-+	pidns_print_leader();
- 	printf("pidfd_open(-1, 0) = %s\n", errstr);
- # endif
- 
- 	k_pidfd_open(0, -1U);
- # ifndef PATH_TRACING
-+	pidns_print_leader();
- 	printf("pidfd_open(0, %#x) = %s\n", -1U, errstr);
- # endif
- 
-@@ -68,7 +74,10 @@
- 
- 	k_pidfd_open(pid, flags);
- # ifndef PATH_TRACING
--	printf("pidfd_open(%d, %#x) = %s\n", pid, flags, errstr);
-+	const char *pid_str = pidns_pid2str(PT_TGID);
-+	pidns_print_leader();
-+	printf("pidfd_open(%d%s, %#x) = %s\n",
-+		pid, pid_str, flags, errstr);
- # endif
- 
- # ifdef PRINT_PATHS
-@@ -80,17 +89,19 @@
- # endif
- 
- # ifndef PATH_TRACING
--	printf("pidfd_open(%d, 0) = "
-+	pidns_print_leader();
-+	printf("pidfd_open(%d%s, 0) = "
- #  if defined PRINT_PIDFD
--	       "%ld<pid:%d>\n", pid, rc, pid
-+	       "%ld<pid:%d>\n", pid, pid_str, rc, pid
- #  elif defined PRINT_PATHS
--	       "%ld<anon_inode:[pidfd]>\n", pid, rc
-+	       "%ld<anon_inode:[pidfd]>\n", pid, pid_str, rc
- #  else
--	       "%s\n", pid, errstr
-+	       "%s\n", pid, pid_str, errstr
- #  endif
- 	       );
- # endif
- 
-+	pidns_print_leader();
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests/pidfd_send_signal--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests/pidfd_send_signal--pidns-translation.c	2020-09-09 19:52:38.881673621 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "pidfd_send_signal.c"
-Index: strace-5.7/tests/pidfd_send_signal.c
-===================================================================
---- strace-5.7.orig/tests/pidfd_send_signal.c	2020-09-09 19:52:30.600668685 +0200
-+++ strace-5.7/tests/pidfd_send_signal.c	2020-09-09 19:52:38.881673621 +0200
-@@ -10,6 +10,7 @@
- #include "tests.h"
- #include <unistd.h>
- #include "scno.h"
-+#include "pidns.h"
- 
- #ifdef __NR_pidfd_send_signal
- 
-@@ -36,6 +37,8 @@
- int
- main(void)
- {
-+	PIDNS_TEST_INIT;
-+
- 	static const char null_path[] = "/dev/null";
- 
- 	int fd = open(null_path, O_RDONLY);
-@@ -46,19 +49,23 @@
- 	const void *esi = (const void *) si + 1;
- 
- 	sys_pidfd_send_signal(fd, SIGUSR1, esi, 0);
-+	pidns_print_leader();
- 	printf("pidfd_send_signal(%d, SIGUSR1, %p, 0) = %s\n",
- 	       fd, esi, errstr);
- 
- 	si->si_signo = SIGUSR1;
- 	si->si_code = SI_QUEUE;
-+	si->si_pid = getpid();
- 
- 	sys_pidfd_send_signal(fd, SIGUSR2, si, -1);
-+	pidns_print_leader();
- 	printf("pidfd_send_signal(%d, SIGUSR2, {si_signo=SIGUSR1"
--	       ", si_code=SI_QUEUE, si_errno=%u, si_pid=%d, si_uid=%d"
-+	       ", si_code=SI_QUEUE, si_errno=%u, si_pid=%d%s, si_uid=%d"
- 	       ", si_value={int=%d, ptr=%p}}, %#x) = %s\n",
--	       fd, si->si_errno, si->si_pid, si->si_uid, si->si_int, si->si_ptr,
--	       -1U, errstr);
-+	       fd, si->si_errno, si->si_pid, pidns_pid2str(PT_TGID), si->si_uid,
-+	       si->si_int, si->si_ptr, -1U, errstr);
- 
-+	pidns_print_leader();
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests/pidns-cache.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests/pidns-cache.c	2020-09-09 19:52:38.882673622 +0200
-@@ -0,0 +1,62 @@
-+/*
-+ * Copyright (c) 2020 The strace developers.
-+ * All rights reserved.
-+ *
-+ * SPDX-License-Identifier: GPL-2.0-or-later
-+ */
-+
-+#include "tests.h"
-+#include "scno.h"
-+#include "pidns.h"
-+
-+#if defined __NR_getpid && (!defined __NR_getxpid || __NR_getxpid != __NR_getpid)
-+
-+# include <stdio.h>
-+# include <unistd.h>
-+# include <sys/time.h>
-+
-+# define SYSCALL_COUNT 1000
-+
-+/**
-+ * Max ratio of the execution time with and without pidns translation.
-+ */
-+# define MAX_TIME_RATIO 20
-+
-+static long
-+execute_syscalls(void)
-+{
-+	/* Load our PID in the cache */
-+	syscall(__NR_getpid);
-+
-+	struct timeval stop, start;
-+	gettimeofday(&start, NULL);
-+
-+	for (int i = 0; i < SYSCALL_COUNT; i++)
-+	       syscall(__NR_getpid);
-+
-+	gettimeofday(&stop, NULL);
-+
-+	return (stop.tv_usec - start.tv_usec) +
-+		(stop.tv_sec - start.tv_sec) * 1000000;
-+}
-+
-+int
-+main(void)
-+{
-+	long max_us = execute_syscalls() * MAX_TIME_RATIO;
-+
-+	pidns_test_init();
-+
-+	long us = execute_syscalls();
-+	if (us > max_us)
-+		error_msg_and_fail("pidns translation took too long: %ld us "
-+		                   "(max: %ld us)", us, max_us);
-+
-+	return 0;
-+}
-+
-+#else
-+
-+SKIP_MAIN_UNDEFINED("__NR_getpid")
-+
-+#endif
-Index: strace-5.7/tests/pidns-cache.test
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests/pidns-cache.test	2020-09-09 19:52:38.882673622 +0200
-@@ -0,0 +1,15 @@
-+#!/bin/sh
-+#
-+# Test pidns translation cache.
-+#
-+# Copyright (c) 2020 The strace developers.
-+# All rights reserved.
-+#
-+# SPDX-License-Identifier: GPL-2.0-or-later
-+
-+. "${srcdir=.}/init.sh"
-+
-+check_prog timeout
-+
-+run_prog > /dev/null
-+run_strace --pidns-translation -f -e trace=getpid $args
-Index: strace-5.7/tests/prlimit64--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests/prlimit64--pidns-translation.c	2020-09-09 19:52:38.882673622 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "prlimit64.c"
-Index: strace-5.7/tests/prlimit64.c
-===================================================================
---- strace-5.7.orig/tests/prlimit64.c	2020-09-09 19:52:30.600668685 +0200
-+++ strace-5.7/tests/prlimit64.c	2020-09-09 19:52:38.882673622 +0200
-@@ -19,6 +19,7 @@
- # include <sys/resource.h>
- # include <unistd.h>
- 
-+# include "pidns.h"
- # include "xlat.h"
- # include "xlat/resources.h"
- 
-@@ -42,8 +43,11 @@
- int
- main(void)
- {
-+	PIDNS_TEST_INIT;
-+
- 	unsigned long pid =
- 		(unsigned long) 0xdefaced00000000ULL | (unsigned) getpid();
-+	const char *pid_str = pidns_pid2str(PT_TGID);
- 	uint64_t *const rlimit = tail_alloc(sizeof(*rlimit) * 2);
- 	const struct xlat_data *xlat;
- 	size_t i = 0;
-@@ -54,18 +58,23 @@
- 
- 		unsigned long res = 0xfacefeed00000000ULL | xlat->val;
- 		long rc = syscall(__NR_prlimit64, pid, res, 0, rlimit);
-+		pidns_print_leader();
- 		if (rc)
--			printf("prlimit64(%d, %s, NULL, %p) = %ld %s (%m)\n",
--			       (unsigned) pid, xlat->str, rlimit,
-+			printf("prlimit64(%d%s, %s, NULL, %p) ="
-+				     " %ld %s (%m)\n",
-+			       (unsigned) pid, pid_str,
-+			       xlat->str, rlimit,
- 			       rc, errno2name());
- 		else
--			printf("prlimit64(%d, %s, NULL"
-+			printf("prlimit64(%d%s, %s, NULL"
- 			       ", {rlim_cur=%s, rlim_max=%s}) = 0\n",
--			       (unsigned) pid, xlat->str,
-+			       (unsigned) pid, pid_str,
-+			       xlat->str,
- 			       sprint_rlim(rlimit[0]),
- 			       sprint_rlim(rlimit[1]));
- 	}
- 
-+	pidns_print_leader();
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests/process_vm_readv--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests/process_vm_readv--pidns-translation.c	2020-09-09 19:52:38.882673622 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "process_vm_readv.c"
-Index: strace-5.7/tests/process_vm_readv_writev.c
-===================================================================
---- strace-5.7.orig/tests/process_vm_readv_writev.c	2020-09-09 19:52:30.601668686 +0200
-+++ strace-5.7/tests/process_vm_readv_writev.c	2020-09-09 19:52:38.883673622 +0200
-@@ -12,6 +12,7 @@
- #include <stdio.h>
- #include <unistd.h>
- #include <sys/uio.h>
-+#include "pidns.h"
- 
- #if OP_WR
- # define in_iovec  rmt_iovec
-@@ -121,7 +122,7 @@
- }
- 
- static void
--do_call(kernel_ulong_t pid,
-+do_call(kernel_ulong_t pid, enum pid_type pid_type,
- 	kernel_ulong_t local_iov, const char *local_arg,
- 	kernel_ulong_t liovcnt,
- 	kernel_ulong_t remote_iov, const char *remote_arg,
-@@ -135,7 +136,8 @@
- 		flags);
- 	errstr = sprintrc(rc);
- 
--	printf("%s(%d, ", OP_STR, (int) pid);
-+	pidns_print_leader();
-+	printf("%s(%d%s, ", OP_STR, (int) pid, pidns_pid2str(pid_type));
- 
- 	if (pr_iov)
- 		pr_iov((const struct iovec *) (uintptr_t) local_iov, local_arg,
-@@ -164,6 +166,8 @@
- int
- main(void)
- {
-+	PIDNS_TEST_INIT;
-+
- 	enum {
- 		SIZE_11 = 2,
- 		SIZE_12 = 3,
-@@ -243,18 +247,18 @@
- 	fill_memory_ex(data2_out, SIZE_2, SEGM2_BASE, SIZE_2);
- 
- 
--	do_call(bogus_pid, (kernel_ulong_t) (uintptr_t) ARG_STR(NULL),
-+	do_call(bogus_pid, PT_NONE, (kernel_ulong_t) (uintptr_t) ARG_STR(NULL),
- 		bogus_iovcnt1, (kernel_ulong_t) (uintptr_t) ARG_STR(NULL),
- 		bogus_iovcnt2, bogus_flags, NULL);
- 
--	do_call(my_pid, ptr_cast(bogus_iov + ARRAY_SIZE(bogus_iovec)),
-+	do_call(my_pid, PT_TGID, ptr_cast(bogus_iov + ARRAY_SIZE(bogus_iovec)),
- 		"[]", 0, ptr_cast(in_iov + ARRAY_SIZE(in_iovec)), "[]",
- 		0, 0, NULL);
--	do_call(my_pid, ptr_cast(bogus_iov + ARRAY_SIZE(bogus_iovec)), NULL,
--		bogus_iovcnt1, ptr_cast(in_iov + ARRAY_SIZE(in_iovec)), NULL,
--		bogus_iovcnt2, 0, print_iov);
-+	do_call(my_pid, PT_TGID, ptr_cast(bogus_iov + ARRAY_SIZE(bogus_iovec)),
-+		NULL, bogus_iovcnt1, ptr_cast(in_iov + ARRAY_SIZE(in_iovec)),
-+		NULL, bogus_iovcnt2, 0, print_iov);
- 
--	do_call(my_pid, ptr_cast(bogus_iov), (char *) &bogus_arg,
-+	do_call(my_pid, PT_TGID, ptr_cast(bogus_iov), (char *) &bogus_arg,
- 		ARRAY_SIZE(bogus_iovec), ptr_cast(rmt_iov + 2),
- 		(char *) &rmt_arg_cut, ARRAY_SIZE(rmt_iovec) - 2, 0, print_iov);
- 
-@@ -263,7 +267,7 @@
- 	lcl_arg_cut.check_rc = 1;
- #endif
- 
--	do_call(my_pid, ptr_cast(lcl_iov + 2), (char *) &lcl_arg_cut,
-+	do_call(my_pid, PT_TGID, ptr_cast(lcl_iov + 2), (char *) &lcl_arg_cut,
- 		ARRAY_SIZE(lcl_iovec) - 1, ptr_cast(bogus_iov + 2),
- 		(char *) &bogus_arg_cut, ARRAY_SIZE(bogus_iovec) - 1, 0,
- 		print_iov);
-@@ -273,15 +277,16 @@
- 	rmt_arg_cut.addr_term = 1;
- 	rmt_arg_cut.count = 5;
- 
--	do_call(my_pid, ptr_cast(lcl_iov + 2), (char *) &lcl_arg_cut,
-+	do_call(my_pid, PT_TGID, ptr_cast(lcl_iov + 2), (char *) &lcl_arg_cut,
- 		ARRAY_SIZE(lcl_iovec) - 2, ptr_cast(rmt_iov + 1),
- 		(char *) &rmt_arg_cut, ARRAY_SIZE(rmt_iovec), 0, print_iov);
- 
- 	/* Correct call */
--	do_call(my_pid, ptr_cast(lcl_iov), (char *) &lcl_arg,
-+	do_call(my_pid, PT_TGID, ptr_cast(lcl_iov), (char *) &lcl_arg,
- 		ARRAY_SIZE(lcl_iovec), ptr_cast(rmt_iov), (char *) &rmt_arg,
- 		ARRAY_SIZE(rmt_iovec), 0, print_iov);
- 
-+	pidns_print_leader();
- 	puts("+++ exited with 0 +++");
- 
- 	return 0;
-Index: strace-5.7/tests/process_vm_writev--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests/process_vm_writev--pidns-translation.c	2020-09-09 19:52:38.883673622 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "process_vm_writev.c"
-Index: strace-5.7/tests/rt_sigqueueinfo--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests/rt_sigqueueinfo--pidns-translation.c	2020-09-09 19:52:38.883673622 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "rt_sigqueueinfo.c"
-Index: strace-5.7/tests/rt_sigqueueinfo.c
-===================================================================
---- strace-5.7.orig/tests/rt_sigqueueinfo.c	2020-09-09 19:52:30.601668686 +0200
-+++ strace-5.7/tests/rt_sigqueueinfo.c	2020-09-09 19:52:38.883673622 +0200
-@@ -7,6 +7,7 @@
-  */
- 
- #include "tests.h"
-+#include "pidns.h"
- #include <assert.h>
- #include <stdio.h>
- #include <signal.h>
-@@ -15,6 +16,8 @@
- int
- main(void)
- {
-+	PIDNS_TEST_INIT;
-+
- 	struct sigaction sa = {
- 		.sa_handler = SIG_IGN
- 	};
-@@ -22,15 +25,19 @@
- 		.sival_ptr = (void *) (unsigned long) 0xdeadbeefbadc0dedULL
- 	};
- 	pid_t pid = getpid();
-+	const char *pid_str = pidns_pid2str(PT_TGID);
- 
- 	assert(sigaction(SIGUSR1, &sa, NULL) == 0);
- 	if (sigqueue(pid, SIGUSR1, value))
- 		perror_msg_and_skip("sigqueue");
--	printf("rt_sigqueueinfo(%u, SIGUSR1, {si_signo=SIGUSR1, "
--		"si_code=SI_QUEUE, si_pid=%d, si_uid=%d, "
-+	pidns_print_leader();
-+	printf("rt_sigqueueinfo(%d%s, SIGUSR1, {si_signo=SIGUSR1, "
-+		"si_code=SI_QUEUE, si_pid=%d%s, si_uid=%u, "
- 		"si_value={int=%d, ptr=%p}}) = 0\n",
--		pid, pid, getuid(), value.sival_int, value.sival_ptr);
--	printf("+++ exited with 0 +++\n");
-+		pid, pid_str, pid, pid_str,
-+		getuid(), value.sival_int, value.sival_ptr);
-+	pidns_print_leader();
-+	puts("+++ exited with 0 +++");
- 
- 	return 0;
- }
-Index: strace-5.7/tests/rt_tgsigqueueinfo--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests/rt_tgsigqueueinfo--pidns-translation.c	2020-09-09 19:52:38.883673622 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "rt_tgsigqueueinfo.c"
-Index: strace-5.7/tests/rt_tgsigqueueinfo.c
-===================================================================
---- strace-5.7.orig/tests/rt_tgsigqueueinfo.c	2020-09-09 19:52:30.601668686 +0200
-+++ strace-5.7/tests/rt_tgsigqueueinfo.c	2020-09-09 19:52:38.884673623 +0200
-@@ -10,8 +10,9 @@
- 
- #include "tests.h"
- #include "scno.h"
-+#include "pidns.h"
- 
--#ifdef __NR_rt_tgsigqueueinfo
-+#if defined __NR_rt_tgsigqueueinfo && defined __NR_gettid
- 
- # include <errno.h>
- # include <signal.h>
-@@ -20,11 +21,11 @@
- # include <unistd.h>
- 
- static long
--k_tgsigqueueinfo(const pid_t pid, const int sig, const void *const info)
-+k_tgsigqueueinfo(const pid_t tgid, const int tid, const int sig, const void *const info)
- {
- 	return syscall(__NR_rt_tgsigqueueinfo,
--		       F8ILL_KULONG_MASK | pid,
--		       F8ILL_KULONG_MASK | pid,
-+		       F8ILL_KULONG_MASK | tgid,
-+		       F8ILL_KULONG_MASK | tid,
- 		       F8ILL_KULONG_MASK | sig,
- 		       info);
- }
-@@ -32,6 +33,8 @@
- int
- main(void)
- {
-+	PIDNS_TEST_INIT;
-+
- 	const struct sigaction sa = {
- 		.sa_handler = SIG_IGN
- 	};
-@@ -48,17 +51,22 @@
- 	info->si_value.sival_ptr =
- 		(void *) (unsigned long) 0xdeadbeeffacefeedULL;
- 
--	if (k_tgsigqueueinfo(info->si_pid, SIGUSR1, info))
-+	if (k_tgsigqueueinfo(getpid(), syscall(__NR_gettid), SIGUSR1, info))
- 		(errno == ENOSYS ? perror_msg_and_skip : perror_msg_and_fail)(
- 			"rt_tgsigqueueinfo");
- 
--	printf("rt_tgsigqueueinfo(%u, %u, %s, {si_signo=%s"
--		", si_code=SI_QUEUE, si_errno=ENOENT, si_pid=%d"
-+	pidns_print_leader();
-+	printf("rt_tgsigqueueinfo(%d%s, %d%s, %s, {si_signo=%s"
-+		", si_code=SI_QUEUE, si_errno=ENOENT, si_pid=%d%s"
- 		", si_uid=%d, si_value={int=%d, ptr=%p}}) = 0\n",
--		info->si_pid, info->si_pid, "SIGUSR1", "SIGUSR1",
--		info->si_pid, info->si_uid, info->si_value.sival_int,
-+		info->si_pid, pidns_pid2str(PT_TGID),
-+		info->si_pid, pidns_pid2str(PT_TID),
-+		"SIGUSR1", "SIGUSR1",
-+		info->si_pid, pidns_pid2str(PT_TGID),
-+		info->si_uid, info->si_value.sival_int,
- 		info->si_value.sival_ptr);
- 
-+	pidns_print_leader();
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests/sched_xetaffinity--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests/sched_xetaffinity--pidns-translation.c	2020-09-09 19:52:38.884673623 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "sched_xetaffinity.c"
-Index: strace-5.7/tests/sched_xetaffinity.c
-===================================================================
---- strace-5.7.orig/tests/sched_xetaffinity.c	2020-09-09 19:52:30.602668687 +0200
-+++ strace-5.7/tests/sched_xetaffinity.c	2020-09-09 19:52:38.884673623 +0200
-@@ -10,6 +10,7 @@
- 
- #include "tests.h"
- #include "scno.h"
-+#include "pidns.h"
- #include <sched.h>
- 
- #if defined __NR_sched_getaffinity && defined __NR_sched_setaffinity \
-@@ -41,8 +42,11 @@
- int
- main(void)
- {
-+	PIDNS_TEST_INIT;
-+
- 	unsigned int cpuset_size = 1;
- 	const pid_t pid = getpid();
-+	const char *pid_str = pidns_pid2str(PT_TGID);
- 
- 	while (cpuset_size) {
- 		assert(getaffinity(pid, cpuset_size, NULL) == -1);
-@@ -50,18 +54,21 @@
- 			break;
- 		if (EINVAL != errno)
- 			perror_msg_and_skip("sched_getaffinity");
--		printf("sched_getaffinity(%d, %u, NULL) = %s\n",
--		       pid, cpuset_size, errstr);
-+		pidns_print_leader();
-+		printf("sched_getaffinity(%d%s, %u, NULL) = %s\n",
-+		       pid, pid_str, cpuset_size, errstr);
- 		cpuset_size <<= 1;
- 	}
- 	assert(cpuset_size);
--	printf("sched_getaffinity(%d, %u, NULL) = %s\n",
--	       pid, cpuset_size, errstr);
-+	pidns_print_leader();
-+	printf("sched_getaffinity(%d%s, %u, NULL) = %s\n",
-+	       pid, pid_str, cpuset_size, errstr);
- 
- 	cpu_set_t *cpuset = tail_alloc(cpuset_size);
- 	getaffinity(pid, cpuset_size, cpuset + 1);
--	printf("sched_getaffinity(%d, %u, %p) = %s\n",
--	       pid, cpuset_size, cpuset + 1, errstr);
-+	pidns_print_leader();
-+	printf("sched_getaffinity(%d%s, %u, %p) = %s\n",
-+	       pid, pid_str, cpuset_size, cpuset + 1, errstr);
- 
- 	int ret_size = getaffinity(pid, cpuset_size, cpuset);
- 	if (ret_size < 0)
-@@ -69,7 +76,8 @@
- 				    pid, (unsigned) cpuset_size, cpuset, errstr);
- 	assert(ret_size <= (int) cpuset_size);
- 
--	printf("sched_getaffinity(%d, %u, [", pid, cpuset_size);
-+	pidns_print_leader();
-+	printf("sched_getaffinity(%d%s, %u, [", pid, pid_str, cpuset_size);
- 	const char *sep;
- 	unsigned int i, cpu;
- 	for (i = 0, cpu = 0, sep = ""; i < (unsigned) ret_size * 8; ++i) {
-@@ -85,8 +93,9 @@
- 	CPU_SET_S(cpu, cpuset_size, cpuset);
- 	if (setaffinity(pid, cpuset_size, cpuset))
- 		perror_msg_and_skip("sched_setaffinity");
--	printf("sched_setaffinity(%d, %u, [%u]) = 0\n",
--	       pid, cpuset_size, cpu);
-+	pidns_print_leader();
-+	printf("sched_setaffinity(%d%s, %u, [%u]) = 0\n",
-+	       pid, pid_str, cpuset_size, cpu);
- 
- 	const unsigned int big_size = cpuset_size < 128 ? 128 : cpuset_size * 2;
- 	cpuset = tail_alloc(big_size);
-@@ -95,7 +104,8 @@
- 		perror_msg_and_fail("sched_getaffinity(%d, %u, %p) = %s\n",
- 				    pid, big_size, cpuset, errstr);
- 	assert(ret_size <= (int) big_size);
--	printf("sched_getaffinity(%d, %u, [", pid, big_size);
-+	pidns_print_leader();
-+	printf("sched_getaffinity(%d%s, %u, [", pid, pid_str, big_size);
- 	for (i = 0, sep = ""; i < (unsigned) ret_size * 8; ++i) {
- 		if (CPU_ISSET_S(i, (unsigned) ret_size, cpuset)) {
- 			printf("%s%u", sep, i);
-@@ -104,6 +114,7 @@
- 	}
- 	printf("]) = %s\n", errstr);
- 
-+	pidns_print_leader();
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests/sched_xetattr--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests/sched_xetattr--pidns-translation.c	2020-09-09 19:52:38.884673623 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "sched_xetattr.c"
-Index: strace-5.7/tests/sched_xetattr.c
-===================================================================
---- strace-5.7.orig/tests/sched_xetattr.c	2020-09-09 19:52:30.603668687 +0200
-+++ strace-5.7/tests/sched_xetattr.c	2020-09-09 19:52:38.885673624 +0200
-@@ -15,6 +15,7 @@
- # include <stdio.h>
- # include <sched.h>
- # include <unistd.h>
-+# include "pidns.h"
- # include "sched_attr.h"
- # include "xlat.h"
- # include "xlat/schedulers.h"
-@@ -41,6 +42,8 @@
- int
- main(void)
- {
-+	PIDNS_TEST_INIT;
-+
- 	static const kernel_ulong_t bogus_pid =
- 		(kernel_ulong_t) 0xdefacedfacefeedULL;
- 	static const kernel_ulong_t bogus_size =
-@@ -48,20 +51,28 @@
- 	static const kernel_ulong_t bogus_flags =
- 		(kernel_ulong_t) 0xdefaceddeadc0deULL;
- 
-+	const int pid = getpid();
-+	const char *pid_str = pidns_pid2str(PT_TGID);
-+
- 	TAIL_ALLOC_OBJECT_CONST_PTR(struct sched_attr, attr);
- 	TAIL_ALLOC_OBJECT_CONST_PTR(unsigned int, psize);
- 	void *const efault = attr + 1;
- 
--	sys_sched_getattr(0, 0, 0, 0);
--	printf("sched_getattr(0, NULL, 0, 0) = %s\n", errstr);
-+	sys_sched_getattr(pid, 0, 0, 0);
-+	pidns_print_leader();
-+	printf("sched_getattr(%d%s, NULL, 0, 0) = %s\n",
-+		pid, pid_str, errstr);
- 
- 	sys_sched_getattr(0, (unsigned long) attr, 0, 0);
-+	pidns_print_leader();
- 	printf("sched_getattr(0, %p, 0, 0) = %s\n", attr, errstr);
- 
- 	sys_sched_getattr(bogus_pid, 0, 0, 0);
-+	pidns_print_leader();
- 	printf("sched_getattr(%d, NULL, 0, 0) = %s\n", (int) bogus_pid, errstr);
- 
- 	sys_sched_getattr(-1U, (unsigned long) attr, bogus_size, bogus_flags);
-+	pidns_print_leader();
- 	printf("sched_getattr(-1, %p, %s%u, %u) = %s\n",
- 	       attr,
- # if defined __arm64__ || defined __aarch64__
-@@ -72,11 +83,13 @@
- 	       (unsigned) bogus_size, (unsigned) bogus_flags, errstr);
- 
- 	sys_sched_getattr(0, (unsigned long) efault, SCHED_ATTR_MIN_SIZE, 0);
-+	pidns_print_leader();
- 	printf("sched_getattr(0, %p, %u, 0) = %s\n",
- 	       efault, (unsigned) SCHED_ATTR_MIN_SIZE, errstr);
- 
- 	if (sys_sched_getattr(0, (unsigned long) attr, SCHED_ATTR_MIN_SIZE, 0))
- 		perror_msg_and_skip("sched_getattr");
-+	pidns_print_leader();
- 	printf("sched_getattr(0, {size=%u, sched_policy=", attr->size);
- 	printxval(schedulers, attr->sched_policy, NULL);
- 	printf(", sched_flags=%s, sched_nice=%d, sched_priority=%u"
-@@ -91,11 +104,13 @@
- 	       (unsigned) SCHED_ATTR_MIN_SIZE);
- 
- 	sys_sched_getattr(0, (unsigned long) efault, sizeof(*attr), 0);
-+	pidns_print_leader();
- 	printf("sched_getattr(0, %p, %u, 0) = %s\n",
- 	       efault, (unsigned) sizeof(*attr), errstr);
- 
- 	if (sys_sched_getattr(0, (unsigned long) attr, sizeof(*attr), 0))
- 		perror_msg_and_skip("sched_getattr");
-+	pidns_print_leader();
- 	printf("sched_getattr(0, {size=%u, sched_policy=", attr->size);
- 	printxval(schedulers, attr->sched_policy, NULL);
- 	printf(", sched_flags=%s, sched_nice=%d, sched_priority=%u"
-@@ -121,11 +136,13 @@
- 			  F8ILL_KULONG_MASK | sizeof(*attr), F8ILL_KULONG_MASK);
- # if defined __arm64__ || defined __aarch64__
- 	if (rc) {
-+		pidns_print_leader();
- 		printf("sched_getattr(0, %p, 0xffffffff<<32|%u, 0) = %s\n",
- 		       attr, (unsigned) sizeof(*attr), errstr);
- 	} else
- # endif
- 	{
-+		pidns_print_leader();
- 		printf("sched_getattr(0, {size=%u, sched_policy=", attr->size);
- 		printxval(schedulers, attr->sched_policy, NULL);
- 		printf(", sched_flags=%s, sched_nice=%d, sched_priority=%u"
-@@ -146,13 +163,16 @@
- 	}
- 
- 	sys_sched_setattr(bogus_pid, 0, 0);
-+	pidns_print_leader();
- 	printf("sched_setattr(%d, NULL, 0) = %s\n", (int) bogus_pid, errstr);
- 
- 	attr->sched_flags |= 1;
- 
--	if (sys_sched_setattr(0, (unsigned long) attr, 0))
-+	if (sys_sched_setattr(pid, (unsigned long) attr, 0))
- 		perror_msg_and_skip("sched_setattr");
--	printf("sched_setattr(0, {size=%u, sched_policy=", attr->size);
-+	pidns_print_leader();
-+	printf("sched_setattr(%d%s, {size=%u, sched_policy=",
-+		pid, pid_str, attr->size);
- 	printxval(schedulers, attr->sched_policy, NULL);
- 	printf(", sched_flags=%s, sched_nice=%d, sched_priority=%u"
- 	       ", sched_runtime=%" PRIu64 ", sched_deadline=%" PRIu64
-@@ -172,6 +192,7 @@
- 
- 	sys_sched_setattr(F8ILL_KULONG_MASK, (unsigned long) attr,
- 			  F8ILL_KULONG_MASK);
-+	pidns_print_leader();
- 	printf("sched_setattr(0, {size=%u, sched_policy=", attr->size);
- 	printxval(schedulers, attr->sched_policy, NULL);
- 	printf(", sched_flags=%s, sched_nice=%d, sched_priority=%u"
-@@ -193,11 +214,13 @@
- 	*psize = attr->size;
- 
- 	sys_sched_setattr(0, (unsigned long) psize, 0);
-+	pidns_print_leader();
- 	printf("sched_setattr(0, %p, 0) = %s\n", psize, errstr);
- 
- 	attr->size = 0;
- 
- 	sys_sched_setattr(0, (unsigned long) attr, 0);
-+	pidns_print_leader();
- 	printf("sched_setattr(0, {size=%u, sched_policy=", attr->size);
- 	printxval(schedulers, attr->sched_policy, NULL);
- 	printf(", sched_flags=%s, sched_nice=%d, sched_priority=%u"
-@@ -213,12 +236,14 @@
- 	attr->size = 1;
- 
- 	sys_sched_setattr(0, (unsigned long) attr, 0);
-+	pidns_print_leader();
- 	printf("sched_setattr(0, {size=%u} => {size=%u}, 0) = %s\n",
- 	       1, attr->size, errstr);
- 
- 	attr->size = SCHED_ATTR_MIN_SIZE - 1;
- 
- 	sys_sched_setattr(0, (unsigned long) attr, 0);
-+	pidns_print_leader();
- 	printf("sched_setattr(0, {size=%u} => {size=%u}, 0) = %s\n",
- 	       SCHED_ATTR_MIN_SIZE - 1, attr->size, errstr);
- 
-@@ -232,6 +257,7 @@
- 	attr->sched_period = 0xded1ca7edda7aca7ULL;
- 
- 	sys_sched_setattr(bogus_pid, (unsigned long) attr, bogus_flags);
-+	pidns_print_leader();
- 	printf("sched_setattr(%d, {size=%u, sched_policy=%#x /* SCHED_??? */, "
- 	       "sched_flags=%#" PRIx64 " /* SCHED_FLAG_??? */, "
- 	       "sched_nice=%d, sched_priority=%u, sched_runtime=%" PRIu64 ", "
-@@ -274,6 +300,7 @@
- 	attr->sched_period = 0xded1ca7edda7aca7ULL;
- 
- 	sys_sched_setattr(bogus_pid, (unsigned long) attr, bogus_flags);
-+	pidns_print_leader();
- 	printf("sched_setattr(%d, {size=%u, sched_policy=%#x /* SCHED_??? */, "
- 	       "sched_flags=SCHED_FLAG_RESET_ON_FORK|SCHED_FLAG_RECLAIM|"
- 	       "SCHED_FLAG_DL_OVERRUN|0x80, "
-@@ -296,11 +323,13 @@
- 		const kernel_ulong_t ill = f8ill_ptr_to_kulong(attr);
- 
- 		sys_sched_getattr(0, ill, sizeof(*attr), 0);
-+		pidns_print_leader();
- 		printf("sched_getattr(0, %#llx, %u, 0) = %s\n",
- 		       (unsigned long long) ill, (unsigned) sizeof(*attr),
- 		       errstr);
- 
- 		sys_sched_setattr(0, ill, 0);
-+		pidns_print_leader();
- 		printf("sched_setattr(0, %#llx, 0) = %s\n",
- 		       (unsigned long long) ill, errstr);
- 	}
-@@ -310,6 +339,7 @@
- 	attr->sched_flags = 0x8fULL;
- 
- 	sys_sched_setattr(bogus_pid, (unsigned long) attr, bogus_flags);
-+	pidns_print_leader();
- 	printf("sched_setattr(%d, {size=%u, "
- 	       "sched_flags=SCHED_FLAG_RESET_ON_FORK|SCHED_FLAG_RECLAIM|"
- 	       "SCHED_FLAG_DL_OVERRUN|SCHED_FLAG_KEEP_POLICY|0x80, "
-@@ -329,11 +359,13 @@
- 		const kernel_ulong_t ill = f8ill_ptr_to_kulong(attr);
- 
- 		sys_sched_getattr(0, ill, sizeof(*attr), 0);
-+		pidns_print_leader();
- 		printf("sched_getattr(0, %#llx, %u, 0) = %s\n",
- 		       (unsigned long long) ill, (unsigned) sizeof(*attr),
- 		       errstr);
- 
- 		sys_sched_setattr(0, ill, 0);
-+		pidns_print_leader();
- 		printf("sched_setattr(0, %#llx, 0) = %s\n",
- 		       (unsigned long long) ill, errstr);
- 	}
-@@ -342,6 +374,7 @@
- 	attr->sched_flags = 0xe7ULL;
- 
- 	sys_sched_setattr(bogus_pid, (unsigned long) attr, bogus_flags);
-+	pidns_print_leader();
- 	printf("sched_setattr(%d, {size=%u, sched_policy=%#x /* SCHED_??? */, "
- 	       "sched_flags=SCHED_FLAG_RESET_ON_FORK|SCHED_FLAG_RECLAIM|"
- 	       "SCHED_FLAG_DL_OVERRUN|SCHED_FLAG_UTIL_CLAMP_MIN"
-@@ -365,11 +398,13 @@
- 		const kernel_ulong_t ill = f8ill_ptr_to_kulong(attr);
- 
- 		sys_sched_getattr(0, ill, sizeof(*attr), 0);
-+		pidns_print_leader();
- 		printf("sched_getattr(0, %#llx, %u, 0) = %s\n",
- 		       (unsigned long long) ill, (unsigned) sizeof(*attr),
- 		       errstr);
- 
- 		sys_sched_setattr(0, ill, 0);
-+		pidns_print_leader();
- 		printf("sched_setattr(0, %#llx, 0) = %s\n",
- 		       (unsigned long long) ill, errstr);
- 	}
-@@ -377,6 +412,7 @@
- 	attr->sched_flags = 0xcaffee90LL;
- 
- 	sys_sched_setattr(bogus_pid, (unsigned long) attr, bogus_flags);
-+	pidns_print_leader();
- 	printf("sched_setattr(%d, {size=%u, sched_flags=SCHED_FLAG_KEEP_PARAMS"
- 	       "|0xcaffee80, sched_util_min=%u, sched_util_max=%u}, %u) = %s\n",
- 	       (int) bogus_pid,
-@@ -389,15 +425,18 @@
- 		const kernel_ulong_t ill = f8ill_ptr_to_kulong(attr);
- 
- 		sys_sched_getattr(0, ill, sizeof(*attr), 0);
-+		pidns_print_leader();
- 		printf("sched_getattr(0, %#llx, %u, 0) = %s\n",
- 		       (unsigned long long) ill, (unsigned) sizeof(*attr),
- 		       errstr);
- 
- 		sys_sched_setattr(0, ill, 0);
-+		pidns_print_leader();
- 		printf("sched_setattr(0, %#llx, 0) = %s\n",
- 		       (unsigned long long) ill, errstr);
- 	}
- 
-+	pidns_print_leader();
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests/sched_xetparam--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests/sched_xetparam--pidns-translation.c	2020-09-09 19:52:38.885673624 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "sched_xetparam.c"
-Index: strace-5.7/tests/sched_xetparam.c
-===================================================================
---- strace-5.7.orig/tests/sched_xetparam.c	2020-09-09 19:52:30.603668687 +0200
-+++ strace-5.7/tests/sched_xetparam.c	2020-09-09 19:52:38.885673624 +0200
-@@ -7,6 +7,7 @@
- 
- #include "tests.h"
- #include "scno.h"
-+# include "pidns.h"
- 
- #if defined __NR_sched_getparam && defined __NR_sched_setparam
- 
-@@ -17,18 +18,27 @@
- int
- main(void)
- {
-+	PIDNS_TEST_INIT;
-+
- 	struct sched_param *const param =
- 		tail_alloc(sizeof(struct sched_param));
- 
--	long rc = syscall(__NR_sched_getparam, 0, param);
--	printf("sched_getparam(0, [%d]) = %ld\n",
--	       param->sched_priority, rc);
-+	const int pid = getpid();
-+	const char *pid_str = pidns_pid2str(PT_TGID);
-+
-+	long rc = syscall(__NR_sched_getparam, pid, param);
-+	pidns_print_leader();
-+	printf("sched_getparam(%d%s, [%d]) = %ld\n",
-+	       pid, pid_str, param->sched_priority, rc);
- 
- 	param->sched_priority = -1;
--	rc = syscall(__NR_sched_setparam, 0, param);
--	printf("sched_setparam(0, [%d]) = %ld %s (%m)\n",
-+	rc = syscall(__NR_sched_setparam, pid, param);
-+	pidns_print_leader();
-+	printf("sched_setparam(%d%s, [%d]) = %ld %s (%m)\n",
-+	       pid, pid_str,
- 	       param->sched_priority, rc, errno2name());
- 
-+	pidns_print_leader();
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests/sched_xetscheduler--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests/sched_xetscheduler--pidns-translation.c	2020-09-09 19:52:38.885673624 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "sched_xetscheduler.c"
-Index: strace-5.7/tests/sched_xetscheduler.c
-===================================================================
---- strace-5.7.orig/tests/sched_xetscheduler.c	2020-09-09 19:52:30.603668687 +0200
-+++ strace-5.7/tests/sched_xetscheduler.c	2020-09-09 19:52:38.886673624 +0200
-@@ -7,6 +7,7 @@
- 
- #include "tests.h"
- #include "scno.h"
-+#include "pidns.h"
- 
- #if defined __NR_sched_getscheduler && defined __NR_sched_setscheduler
- 
-@@ -17,8 +18,13 @@
- int
- main(void)
- {
-+	PIDNS_TEST_INIT;
-+
- 	TAIL_ALLOC_OBJECT_CONST_PTR(struct sched_param, param);
--	long rc = syscall(__NR_sched_getscheduler, 0);
-+	const int pid = getpid();
-+	const char *pid_str = pidns_pid2str(PT_TGID);
-+
-+	long rc = syscall(__NR_sched_getscheduler, pid);
- 	const char *scheduler;
- 	switch (rc) {
- 		case SCHED_FIFO:
-@@ -50,33 +56,43 @@
- 		default:
- 			scheduler = "SCHED_OTHER";
- 	}
--	printf("sched_getscheduler(0) = %ld (%s)\n",
--	       rc, scheduler);
-+	pidns_print_leader();
-+	printf("sched_getscheduler(%d%s) = %ld (%s)\n",
-+	       pid, pid_str, rc, scheduler);
- 
- 	rc = syscall(__NR_sched_getscheduler, -1);
-+	pidns_print_leader();
- 	printf("sched_getscheduler(-1) = %s\n", sprintrc(rc));
- 
- 	param->sched_priority = -1;
- 
--	rc = syscall(__NR_sched_setscheduler, 0, SCHED_FIFO, NULL);
--	printf("sched_setscheduler(0, SCHED_FIFO, NULL) = %s\n", sprintrc(rc));
--
--	rc = syscall(__NR_sched_setscheduler, 0, SCHED_FIFO, param + 1);
--	printf("sched_setscheduler(0, SCHED_FIFO, %p) = %s\n", param + 1,
--	       sprintrc(rc));
--
--	rc = syscall(__NR_sched_setscheduler, 0, 0xfaceda7a, param);
--	printf("sched_setscheduler(0, %#x /* SCHED_??? */, [%d]) = %s\n",
--	       0xfaceda7a, param->sched_priority, sprintrc(rc));
-+	rc = syscall(__NR_sched_setscheduler, pid, SCHED_FIFO, NULL);
-+	pidns_print_leader();
-+	printf("sched_setscheduler(%d%s, SCHED_FIFO, NULL) = %s\n",
-+	       pid, pid_str, sprintrc(rc));
-+
-+	rc = syscall(__NR_sched_setscheduler, pid, SCHED_FIFO, param + 1);
-+	pidns_print_leader();
-+	printf("sched_setscheduler(%d%s, SCHED_FIFO, %p) = %s\n",
-+	       pid, pid_str, param + 1, sprintrc(rc));
-+
-+	rc = syscall(__NR_sched_setscheduler, pid, 0xfaceda7a, param);
-+	pidns_print_leader();
-+	printf("sched_setscheduler(%d%s, %#x /* SCHED_??? */, [%d]) = %s\n",
-+	       pid, pid_str, 0xfaceda7a,
-+	       param->sched_priority, sprintrc(rc));
- 
- 	rc = syscall(__NR_sched_setscheduler, -1, SCHED_FIFO, param);
-+	pidns_print_leader();
- 	printf("sched_setscheduler(-1, SCHED_FIFO, [%d]) = %s\n",
- 	       param->sched_priority, sprintrc(rc));
- 
--	rc = syscall(__NR_sched_setscheduler, 0, SCHED_FIFO, param);
--	printf("sched_setscheduler(0, SCHED_FIFO, [%d]) = %s\n",
--	       param->sched_priority, sprintrc(rc));
-+	rc = syscall(__NR_sched_setscheduler, pid, SCHED_FIFO, param);
-+	pidns_print_leader();
-+	printf("sched_setscheduler(%d%s, SCHED_FIFO, [%d]) = %s\n",
-+	       pid, pid_str, param->sched_priority, sprintrc(rc));
- 
-+	pidns_print_leader();
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests/signal_receive--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests/signal_receive--pidns-translation.c	2020-09-09 19:52:38.886673624 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "signal_receive.c"
-Index: strace-5.7/tests/signal_receive.c
-===================================================================
---- strace-5.7.orig/tests/signal_receive.c	2020-09-09 19:52:30.604668688 +0200
-+++ strace-5.7/tests/signal_receive.c	2020-09-09 19:52:38.886673624 +0200
-@@ -8,6 +8,7 @@
-  */
- 
- #include "tests.h"
-+#include "pidns.h"
- #include <signal.h>
- #include <stdio.h>
- #include <unistd.h>
-@@ -26,10 +27,13 @@
- int
- main(void)
- {
-+	PIDNS_TEST_INIT;
-+
- 	static const char prefix[] = "KERNEL BUG";
- 	int printed = 0;
- 
- 	const int pid = getpid();
-+	const char *pid_str = pidns_pid2str(PT_TGID);
- 	const int uid = geteuid();
- 
- 	for (int sig = 1; sig <= 31; ++sig) {
-@@ -73,10 +77,13 @@
- 		const int e_pid = s_pid;
- 		const int e_uid = s_uid;
- #endif
--		printf("kill(%d, %s) = 0\n", pid, signal2name(sig));
--		printf("--- %s {si_signo=%s, si_code=SI_USER, si_pid=%d"
-+		pidns_print_leader();
-+		printf("kill(%d%s, %s) = 0\n", pid, pid_str, signal2name(sig));
-+		pidns_print_leader();
-+		printf("--- %s {si_signo=%s, si_code=SI_USER, si_pid=%d%s"
- 		       ", si_uid=%d} ---\n",
--		       signal2name(sig), signal2name(e_sig), e_pid, e_uid);
-+		       signal2name(sig), signal2name(e_sig),
-+		       e_pid, pid_str, e_uid);
- 
- 		if (s_code || sig != s_sig || pid != s_pid || uid != s_uid) {
- 			/*
-@@ -91,11 +98,11 @@
- 			}
- 			fprintf(stderr,
- 				"%s: expected: si_signo=%d, si_code=%d"
--				", si_pid=%d, si_uid=%d\n"
-+				", si_pid=%d%s, si_uid=%d\n"
- 				"%s: received: si_signo=%d, si_code=%d"
--				", si_pid=%d, si_uid=%d\n",
--				prefix, sig, SI_USER, pid, uid,
--				prefix, sig, s_code, s_pid, s_uid);
-+				", si_pid=%d%s, si_uid=%d\n",
-+				prefix, sig, SI_USER, pid, pid_str, uid,
-+				prefix, sig, s_code, s_pid, pid_str, s_uid);
- 		}
- 	}
- 
-@@ -104,6 +111,7 @@
- 			"*** PLEASE FIX THE KERNEL ***\n", prefix);
- 	}
- 
-+	pidns_print_leader();
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests/so_peercred--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests/so_peercred--pidns-translation.c	2020-09-09 19:52:38.886673624 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "so_peercred.c"
-Index: strace-5.7/tests/so_peercred.c
-===================================================================
---- strace-5.7.orig/tests/so_peercred.c	2020-09-09 19:52:30.604668688 +0200
-+++ strace-5.7/tests/so_peercred.c	2020-09-09 19:52:38.886673624 +0200
-@@ -9,6 +9,7 @@
-  */
- 
- #include "tests.h"
-+#include "pidns.h"
- 
- #include <stddef.h>
- #include <stdio.h>
-@@ -53,6 +54,8 @@
- int
- main(void)
- {
-+	PIDNS_TEST_INIT;
-+
- 	TAIL_ALLOC_OBJECT_CONST_PTR(struct ucred, peercred);
- 	TAIL_ALLOC_OBJECT_CONST_PTR(socklen_t, len);
- 
-@@ -75,6 +78,8 @@
- 	struct ucred *const gid_truncated =
- 		tail_alloc(sizeof_gid_truncated);
- 
-+	const char *pid_str = pidns_pid2str(PT_TGID);
-+
- 	int sv[2];
- 	if (socketpair(AF_UNIX, SOCK_STREAM, 0, sv))
-                 perror_msg_and_skip("socketpair AF_UNIX SOCK_STREAM");
-@@ -82,8 +87,10 @@
- 	/* classic getsockopt */
- 	*len = sizeof(*peercred);
- 	get_peercred(sv[0], peercred, len);
-+	pidns_print_leader();
- 	printf("getsockopt(%d, %s", sv[0], so_str());
- 	PRINT_FIELD_D(", {", *peercred, pid);
-+	printf("%s", pid_str);
- 	PRINT_FIELD_UID(", ", *peercred, uid);
- 	PRINT_FIELD_UID(", ", *peercred, gid);
- 	printf("}, [%d]) = %s\n", *len, errstr);
-@@ -91,14 +98,17 @@
- 	/* getsockopt with zero optlen */
- 	*len = 0;
- 	get_peercred(sv[0], peercred, len);
-+	pidns_print_leader();
- 	printf("getsockopt(%d, %s, %p, [0]) = %s\n",
- 	       sv[0], so_str(), peercred, errstr);
- 
- 	/* getsockopt with optlen larger than necessary - shortened */
- 	*len = sizeof(*peercred) + 1;
- 	get_peercred(sv[0], peercred, len);
-+	pidns_print_leader();
- 	printf("getsockopt(%d, %s", sv[0], so_str());
- 	PRINT_FIELD_D(", {", *peercred, pid);
-+	printf("%s", pid_str);
- 	PRINT_FIELD_UID(", ", *peercred, uid);
- 	PRINT_FIELD_UID(", ", *peercred, gid);
- 	printf("}, [%u->%d]) = %s\n",
-@@ -110,6 +120,7 @@
- 	 */
- 	*len = sizeof_pid_truncated;
- 	get_peercred(sv[0], pid_truncated, len);
-+	pidns_print_leader();
- 	printf("getsockopt(%d, %s, {pid=", sv[0], so_str());
- 	print_quoted_hex(pid_truncated, *len);
- 	printf("}, [%d]) = %s\n", *len, errstr);
-@@ -120,8 +131,10 @@
- 	 */
- 	*len = sizeof_pid;
- 	get_peercred(sv[0], pid, len);
-+	pidns_print_leader();
- 	printf("getsockopt(%d, %s", sv[0], so_str());
- 	PRINT_FIELD_D(", {", *pid, pid);
-+	printf("%s", pid_str);
- 	printf("}, [%d]) = %s\n", *len, errstr);
- 
- 	/*
-@@ -136,8 +149,10 @@
- 	 * to struct ucred.pid field.
- 	 */
- 	memcpy(uid, uid_truncated, sizeof_uid_truncated);
-+	pidns_print_leader();
- 	printf("getsockopt(%d, %s", sv[0], so_str());
- 	PRINT_FIELD_D(", {", *uid, pid);
-+	printf("%s", pid_str);
- 	printf(", uid=");
- 	print_quoted_hex(&uid->uid, sizeof_uid_truncated -
- 				    offsetof(struct ucred, uid));
-@@ -149,8 +164,10 @@
- 	 */
- 	*len = sizeof_uid;
- 	get_peercred(sv[0], uid, len);
-+	pidns_print_leader();
- 	printf("getsockopt(%d, %s", sv[0], so_str());
- 	PRINT_FIELD_D(", {", *uid, pid);
-+	printf("%s", pid_str);
- 	PRINT_FIELD_UID(", ", *uid, uid);
- 	printf("}, [%d]) = %s\n", *len, errstr);
- 
-@@ -166,8 +183,10 @@
- 	 * to struct ucred.pid and struct ucred.uid fields.
- 	 */
- 	memcpy(peercred, gid_truncated, sizeof_gid_truncated);
-+	pidns_print_leader();
- 	printf("getsockopt(%d, %s", sv[0], so_str());
- 	PRINT_FIELD_D(", {", *peercred, pid);
-+	printf("%s", pid_str);
- 	PRINT_FIELD_UID(", ", *peercred, uid);
- 	printf(", gid=");
- 	print_quoted_hex(&peercred->gid, sizeof_gid_truncated -
-@@ -177,14 +196,17 @@
- 	/* getsockopt optval EFAULT */
- 	*len = sizeof(*peercred);
- 	get_peercred(sv[0], &peercred->uid, len);
-+	pidns_print_leader();
- 	printf("getsockopt(%d, %s, %p, [%d]) = %s\n",
- 	       sv[0], so_str(), &peercred->uid, *len, errstr);
- 
- 	/* getsockopt optlen EFAULT */
- 	get_peercred(sv[0], peercred, len + 1);
-+	pidns_print_leader();
- 	printf("getsockopt(%d, %s, %p, %p) = %s\n",
- 	       sv[0], so_str(), peercred, len + 1, errstr);
- 
-+	pidns_print_leader();
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests/tgkill--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests/tgkill--pidns-translation.c	2020-09-09 19:52:38.887673625 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "tgkill.c"
-Index: strace-5.7/tests/tgkill.c
-===================================================================
---- strace-5.7.orig/tests/tgkill.c	2020-09-09 19:52:30.604668688 +0200
-+++ strace-5.7/tests/tgkill.c	2020-09-09 19:52:38.887673625 +0200
-@@ -9,6 +9,7 @@
- 
- #include "tests.h"
- #include "scno.h"
-+#include "pidns.h"
- 
- #ifdef __NR_tgkill
- 
-@@ -36,28 +37,46 @@
- int
- main(void)
- {
-+	PIDNS_TEST_INIT;
-+
- 	const int pid = getpid();
-+	const char *pid_str = pidns_pid2str(PT_TGID);
-+	const int tid = syscall(__NR_gettid);
-+	const char *tid_str = pidns_pid2str(PT_TID);
- 	const int bad_pid = -1;
- 	const int bad_sig = 0xface;
- 
--	k_tgkill(pid, pid, 0);
--	printf("tgkill(%d, %d, 0) = %s\n", pid, pid, errstr);
-+	k_tgkill(pid, tid, 0);
-+	pidns_print_leader();
-+	printf("tgkill(%d%s, %d%s, 0) = %s\n",
-+		pid, pid_str, tid, tid_str, errstr);
- 
- 	k_tgkill(pid, bad_pid, 0);
--	printf("tgkill(%d, %d, 0) = %s\n", pid, bad_pid, errstr);
--
--	k_tgkill(bad_pid, pid, 0);
--	printf("tgkill(%d, %d, 0) = %s\n", bad_pid, pid, errstr);
--
--	k_tgkill(pid, pid, SIGCONT);
--	printf("tgkill(%d, %d, SIGCONT) = %s\n", pid, pid, errstr);
--
--	k_tgkill(pid, pid, bad_sig);
--	printf("tgkill(%d, %d, %d) = %s\n", pid, pid, bad_sig, errstr);
--
--	k_tgkill(pid, pid, -bad_sig);
--	printf("tgkill(%d, %d, %d) = %s\n", pid, pid, -bad_sig, errstr);
-+	pidns_print_leader();
-+	printf("tgkill(%d%s, %d, 0) = %s\n",
-+		pid, pid_str, bad_pid, errstr);
-+
-+	k_tgkill(bad_pid, tid, 0);
-+	pidns_print_leader();
-+	printf("tgkill(%d, %d%s, 0) = %s\n",
-+		bad_pid, tid, tid_str, errstr);
-+
-+	k_tgkill(pid, tid, SIGCONT);
-+	pidns_print_leader();
-+	printf("tgkill(%d%s, %d%s, SIGCONT) = %s\n",
-+		pid, pid_str, tid, tid_str, errstr);
-+
-+	k_tgkill(pid, tid, bad_sig);
-+	pidns_print_leader();
-+	printf("tgkill(%d%s, %d%s, %d) = %s\n",
-+		pid, pid_str, tid, tid_str, bad_sig, errstr);
-+
-+	k_tgkill(pid, tid, -bad_sig);
-+	pidns_print_leader();
-+	printf("tgkill(%d%s, %d%s, %d) = %s\n",
-+		pid, pid_str, tid, tid_str, -bad_sig, errstr);
- 
-+	pidns_print_leader();
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests/tkill--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests/tkill--pidns-translation.c	2020-09-09 19:52:38.887673625 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "tkill.c"
-Index: strace-5.7/tests/tkill.c
-===================================================================
---- strace-5.7.orig/tests/tkill.c	2020-09-09 19:52:30.605668688 +0200
-+++ strace-5.7/tests/tkill.c	2020-09-09 19:52:38.887673625 +0200
-@@ -9,6 +9,7 @@
- 
- #include "tests.h"
- #include "scno.h"
-+#include "pidns.h"
- 
- #ifdef __NR_tkill
- 
-@@ -33,22 +34,30 @@
- int
- main(void)
- {
--	const int pid = getpid();
-+	PIDNS_TEST_INIT;
-+
-+	const int tid = syscall(__NR_gettid);
-+	const char *tid_str = pidns_pid2str(PT_TID);
- 	const int bad_pid = -1;
- 	const int bad_sig = 0xface;
- 
--	k_tkill(pid, 0);
--	printf("tkill(%d, 0) = %s\n", pid, errstr);
--
--	k_tkill(pid, SIGCONT);
--	printf("tkill(%d, SIGCONT) = %s\n", pid, errstr);
-+	k_tkill(tid, 0);
-+	pidns_print_leader();
-+	printf("tkill(%d%s, 0) = %s\n", tid, tid_str, errstr);
-+
-+	k_tkill(tid, SIGCONT);
-+	pidns_print_leader();
-+	printf("tkill(%d%s, SIGCONT) = %s\n", tid, tid_str, errstr);
- 
- 	k_tkill(bad_pid, bad_sig);
-+	pidns_print_leader();
- 	printf("tkill(%d, %d) = %s\n", bad_pid, bad_sig, errstr);
- 
- 	k_tkill(bad_pid, -bad_sig);
-+	pidns_print_leader();
- 	printf("tkill(%d, %d) = %s\n", bad_pid, -bad_sig, errstr);
- 
-+	pidns_print_leader();
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests/trie_for_tests.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests/trie_for_tests.c	2020-09-09 19:52:38.887673625 +0200
-@@ -0,0 +1 @@
-+#include "trie.c"
-Index: strace-5.7/tests/trie_test.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests/trie_test.c	2020-09-09 19:52:38.888673625 +0200
-@@ -0,0 +1,121 @@
-+/*
-+ * Copyright (c) 2017-2019 The strace developers.
-+ * All rights reserved.
-+ *
-+ * SPDX-License-Identifier: GPL-2.0-or-later
-+ */
-+
-+#include "tests.h"
-+#include "trie.h"
-+
-+#include <stdio.h>
-+#include <inttypes.h>
-+
-+static void
-+assert_equals(const char *msg, uint64_t expected, uint64_t actual) {
-+	if (actual != expected)
-+		error_msg_and_fail("%s: expected: %" PRIu64
-+		                   ", actual: %" PRIu64, msg, expected, actual);
-+}
-+
-+static void
-+iterate_fn(void *data, uint64_t key, uint64_t value)
-+{
-+	uint64_t expected = key < 256 && key % 10 == 0 ? key + 42 : -1ULL;
-+	assert_equals("iterate_fn", expected, value);
-+
-+	int *count = (int *) data;
-+	if (value != -1ULL)
-+		(*count)++;
-+}
-+
-+static void
-+test_trie_iterate_fn(void)
-+{
-+	struct trie *t = trie_create(8, 6, 3, 3, -1);
-+	for (int i = 0; i < 26; i++)
-+		trie_set(t, i * 10, i * 10 + 42);
-+
-+	static const struct {
-+		uint64_t start;
-+		uint64_t end;
-+		int expected_count;
-+	} iterate_params[] = {
-+		{0, 256, 26},
-+		{0, UINT64_MAX, 26},
-+		{20, 90, 8},
-+		{99, 999, 16},
-+		{10000, 100000, 0},
-+		{200, 100, 0},
-+	};
-+
-+	for (size_t i = 0; i < ARRAY_SIZE(iterate_params); i++) {
-+		int count = 0;
-+		trie_iterate_keys(t, iterate_params[i].start, iterate_params[i].end, iterate_fn, &count);
-+		assert_equals("iteration count", iterate_params[i].expected_count, count);
-+	}
-+}
-+
-+struct key_value_pair {
-+	uint64_t key, value;
-+};
-+
-+static void
-+test_trie_get(void)
-+{
-+	static const struct {
-+		uint8_t key_size;
-+		uint8_t item_size_lg;
-+		uint8_t node_key_bits;
-+		uint8_t data_block_key_bits;
-+		uint64_t empty_value;
-+
-+		struct key_value_pair set_values[3], get_values[3];
-+	} params[] = {
-+		{64, 6, 10, 10, 0,
-+			{{300, 1}, {0xfacefeed, 0xabcdef123456}, {-1ULL, -1ULL}},
-+			{{301, 0}, {0xfacefeed, 0xabcdef123456}, {-1ULL, -1ULL}}},
-+		{8, 2, 4, 4, 10,
-+			{{0xab, 0xcd}, {0xface, 2}, {0, 3}},
-+			{{0xab, 0xd}, {0xface, 10}, {0, 3}}},
-+		{30, 0, 6, 3, -1,
-+			{{0xaaaa, 127}, {0xface, 0}, {0, 0}},
-+			{{0xaaaa, 1}, {0xface, 0}, {1, 1}}},
-+		{16, 4, 5, 11, 0xffffff,
-+			{{0xabcdef, 42}, {0xabcd, 42}, {0xffff, 0}},
-+			{{0xabcdef, 0xffff}, {0xabcd, 42}, {0xffff, 0}}},
-+		{41, 5, 1, 1, -1,
-+			{{0xabcdef01, 0x22222222}, {-1, 0x33333333}, {10, 10}},
-+			{{0xabcdef01, 0x22222222}, {-1, 0xffffffff}, {10, 10}}},
-+	};
-+
-+	for (size_t i = 0; i < ARRAY_SIZE(params); i++) {
-+		struct trie *t = trie_create(params[i].key_size,
-+		                             params[i].item_size_lg,
-+					     params[i].node_key_bits,
-+					     params[i].data_block_key_bits,
-+					     params[i].empty_value);
-+
-+		if (!t)
-+			error_msg_and_fail("trie creation failed");
-+
-+		for (size_t j = 0; j < ARRAY_SIZE(params[i].set_values); j++) {
-+			struct key_value_pair kv = params[i].set_values[j];
-+			trie_set(t, kv.key, kv.value);
-+		}
-+		for (size_t j = 0; j < ARRAY_SIZE(params[i].get_values); j++) {
-+			struct key_value_pair kv = params[i].get_values[j];
-+			assert_equals("trie_get", kv.value, trie_get(t, kv.key));
-+		}
-+
-+		trie_free(t);
-+	}
-+}
-+
-+int
-+main(void)
-+{
-+	test_trie_get();
-+	test_trie_iterate_fn();
-+	return 0;
-+}
-Index: strace-5.7/tests/xet_robust_list--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests/xet_robust_list--pidns-translation.c	2020-09-09 19:52:38.888673625 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "xet_robust_list.c"
-Index: strace-5.7/tests/xet_robust_list.c
-===================================================================
---- strace-5.7.orig/tests/xet_robust_list.c	2020-09-09 19:52:30.605668688 +0200
-+++ strace-5.7/tests/xet_robust_list.c	2020-09-09 19:52:38.888673625 +0200
-@@ -8,6 +8,7 @@
- 
- #include "tests.h"
- #include "scno.h"
-+#include "pidns.h"
- 
- #if defined __NR_get_robust_list && defined __NR_set_robust_list
- 
-@@ -30,27 +31,36 @@
- int
- main(void)
- {
-+	PIDNS_TEST_INIT;
-+
- 	const pid_t pid = getpid();
-+	const char *pid_str = pidns_pid2str(PT_TGID);
- 	const long long_pid = (unsigned long) (0xdeadbeef00000000LL | pid);
- 	TAIL_ALLOC_OBJECT_CONST_PTR(void *, p_head);
- 	TAIL_ALLOC_OBJECT_CONST_PTR(size_t, p_len);
- 
- 	if (syscall(__NR_get_robust_list, long_pid, p_head, p_len))
- 		perror_msg_and_skip("get_robust_list");
--	printf("get_robust_list(%d, [%s], [%lu]) = 0\n",
--	       (int) pid, sprintaddr(*p_head), (unsigned long) *p_len);
-+	pidns_print_leader();
-+	printf("get_robust_list(%d%s, [%s], [%lu]) = 0\n",
-+	       pid, pid_str, sprintaddr(*p_head),
-+	       (unsigned long) *p_len);
- 
- 	void *head = tail_alloc(*p_len);
- 	if (syscall(__NR_set_robust_list, head, *p_len))
- 		perror_msg_and_skip("set_robust_list");
-+	pidns_print_leader();
- 	printf("set_robust_list(%p, %lu) = 0\n",
- 	       head, (unsigned long) *p_len);
- 
- 	if (syscall(__NR_get_robust_list, long_pid, p_head, p_len))
- 		perror_msg_and_skip("get_robust_list");
--	printf("get_robust_list(%d, [%s], [%lu]) = 0\n",
--	       (int) pid, sprintaddr(*p_head), (unsigned long) *p_len);
-+	pidns_print_leader();
-+	printf("get_robust_list(%d%s, [%s], [%lu]) = 0\n",
-+	       pid, pid_str, sprintaddr(*p_head),
-+	       (unsigned long) *p_len);
- 
-+	pidns_print_leader();
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests/xetpgid--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests/xetpgid--pidns-translation.c	2020-09-09 19:52:38.888673625 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "xetpgid.c"
-Index: strace-5.7/tests/xetpgid.c
-===================================================================
---- strace-5.7.orig/tests/xetpgid.c	2020-09-09 19:52:30.606668689 +0200
-+++ strace-5.7/tests/xetpgid.c	2020-09-09 19:52:38.888673625 +0200
-@@ -10,6 +10,7 @@
- 
- #include "tests.h"
- #include "scno.h"
-+#include "pidns.h"
- 
- #if defined __NR_getpgid && defined __NR_setpgid
- 
-@@ -19,13 +20,21 @@
- int
- main(void)
- {
--	const int pid = getpid();
--	long rc = syscall(__NR_getpgid, F8ILL_KULONG_MASK | pid);
--	printf("getpgid(%d) = %ld\n", pid, rc);
-+	PIDNS_TEST_INIT;
- 
--	rc = syscall(__NR_setpgid, F8ILL_KULONG_MASK, F8ILL_KULONG_MASK | pid);
--	printf("setpgid(0, %d) = %ld\n", pid, rc);
-+	const int pid = getpid();
-+	long pgid = syscall(__NR_getpgid, F8ILL_KULONG_MASK | pid);
-+	pidns_print_leader();
-+	printf("getpgid(%d%s) = %ld%s\n", pid, pidns_pid2str(PT_TGID),
-+		pgid, pidns_pid2str(PT_PGID));
-+
-+	long rc = syscall(__NR_setpgid, F8ILL_KULONG_MASK,
-+		F8ILL_KULONG_MASK | pgid);
-+	pidns_print_leader();
-+	printf("setpgid(0, %ld%s) = %s\n", pgid, pidns_pid2str(PT_PGID),
-+		sprintrc(rc));
- 
-+	pidns_print_leader();
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests/xetpriority--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests/xetpriority--pidns-translation.c	2020-09-09 19:52:38.889673626 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "xetpriority.c"
-Index: strace-5.7/tests/xetpriority.c
-===================================================================
---- strace-5.7.orig/tests/xetpriority.c	2020-09-09 19:52:30.606668689 +0200
-+++ strace-5.7/tests/xetpriority.c	2020-09-09 19:52:38.889673626 +0200
-@@ -7,6 +7,7 @@
- 
- #include "tests.h"
- #include "scno.h"
-+#include "pidns.h"
- 
- #if defined __NR_getpriority && defined __NR_setpriority
- 
-@@ -17,15 +18,30 @@
- int
- main(void)
- {
-+	PIDNS_TEST_INIT;
-+
- 	const int pid = getpid();
-+	const int pgid = getpgid(0);
-+
- 	long rc = syscall(__NR_getpriority, PRIO_PROCESS,
- 			  F8ILL_KULONG_MASK | pid);
--	printf("getpriority(PRIO_PROCESS, %d) = %ld\n", pid, rc);
-+	pidns_print_leader();
-+	printf("getpriority(PRIO_PROCESS, %d%s) = %ld\n",
-+		pid, pidns_pid2str(PT_TGID), rc);
- 
- 	rc = syscall(__NR_setpriority, PRIO_PROCESS,
- 		     F8ILL_KULONG_MASK | pid, F8ILL_KULONG_MASK);
--	printf("setpriority(PRIO_PROCESS, %d, 0) = %s\n", pid, sprintrc(rc));
-+	pidns_print_leader();
-+	printf("setpriority(PRIO_PROCESS, %d%s, 0) = %s\n",
-+		pid, pidns_pid2str(PT_TGID), sprintrc(rc));
-+
-+	rc = syscall(__NR_getpriority, PRIO_PGRP,
-+			  F8ILL_KULONG_MASK | pgid);
-+	pidns_print_leader();
-+	printf("getpriority(PRIO_PGRP, %d%s) = %ld\n",
-+		pgid, pidns_pid2str(PT_PGID), rc);
- 
-+	pidns_print_leader();
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests/xmalloc_for_tests.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests/xmalloc_for_tests.c	2020-09-09 19:52:38.889673626 +0200
-@@ -0,0 +1,2 @@
-+#define error_msg_and_die error_msg_and_fail
-+#include "xmalloc.c"
-Index: strace-5.7/tests-m32/Makefile.am
-===================================================================
---- strace-5.7.orig/tests-m32/Makefile.am	2020-09-09 19:52:30.607668690 +0200
-+++ strace-5.7/tests-m32/Makefile.am	2020-09-09 19:52:38.889673626 +0200
-@@ -66,6 +66,7 @@
- 	test_ucopy.h \
- 	tests.h \
- 	tprintf.c \
-+	xmalloc_for_tests.c \
- 	# end of libtests_a_SOURCES
- libtests_a_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
- check_LIBRARIES = libtests.a
-@@ -109,17 +110,25 @@
- 	delay \
- 	execve-v \
- 	execveat-v \
-+	fcntl--pidns-translation \
-+	fcntl64--pidns-translation \
- 	filter_seccomp-flag \
- 	filter_seccomp-perf \
- 	filter-unavailable \
- 	fork-f \
-+	fork--pidns-translation \
- 	fsync-y \
- 	get_process_reaper \
-+	getpgrp--pidns-translation	\
- 	getpid	\
-+	getpid--pidns-translation	\
- 	getppid	\
-+	getsid--pidns-translation \
- 	gettid \
-+	gettid--pidns-translation \
- 	inject-nf \
- 	int_0x80 \
-+	ioctl_block--pidns-translation \
- 	ioctl_dm-v \
- 	ioctl_evdev-success \
- 	ioctl_evdev-success-Xabbrev \
-@@ -150,18 +159,25 @@
- 	ioctl_v4l2-success-v-Xabbrev \
- 	ioctl_v4l2-success-v-Xraw \
- 	ioctl_v4l2-success-v-Xverbose \
-+	ioprio--pidns-translation \
- 	is_linux_mips_n64 \
-+	kcmp-y--pidns-translation \
- 	kill_child \
-+	kill--pidns-translation \
- 	ksysent \
- 	list_sigaction_signum \
- 	localtime \
- 	looping_threads \
-+	migrate_pages--pidns-translation \
- 	mmsg-silent \
- 	mmsg_name-v \
-+	move_pages--pidns-translation \
- 	msg_control-v \
- 	net-accept-connect \
-+	net-sockaddr--pidns-translation \
- 	net-tpacket_stats-success \
- 	nlattr_ifla_xdp-y \
-+	netlink_audit--pidns-translation \
- 	netlink_inet_diag \
- 	netlink_netlink_diag \
- 	netlink_unix_diag \
-@@ -173,14 +189,20 @@
- 	pc \
- 	perf_event_open_nonverbose \
- 	perf_event_open_unabbrev \
-+	pidfd_open--pidns-translation \
-+	pidfd_send_signal--pidns-translation \
-+	pidns-cache \
- 	poll-P \
- 	ppoll-P \
- 	ppoll-v \
-+	prlimit64--pidns-translation \
- 	prctl-seccomp-filter-v \
- 	prctl-seccomp-strict \
- 	prctl-spec-inject \
- 	print_maxfd \
- 	print_ppid_tracerpid \
-+	process_vm_readv--pidns-translation \
-+	process_vm_writev--pidns-translation \
- 	qual_fault \
- 	qual_inject-error-signal \
- 	qual_inject-retval \
-@@ -194,7 +216,13 @@
- 	quotactl-xfs-v \
- 	redirect-fds \
- 	restart_syscall \
-+	rt_sigqueueinfo--pidns-translation \
-+	rt_tgsigqueueinfo--pidns-translation \
- 	run_expect_termsig \
-+	sched_xetaffinity--pidns-translation \
-+	sched_xetattr--pidns-translation \
-+	sched_xetparam--pidns-translation \
-+	sched_xetscheduler--pidns-translation \
- 	scm_rights \
- 	seccomp-filter-v \
- 	seccomp-strict \
-@@ -204,25 +232,33 @@
- 	set_sigign \
- 	setpgrp-exec \
- 	signal_receive \
-+	signal_receive--pidns-translation \
- 	sleep \
- 	stack-fcall \
- 	stack-fcall-attach \
- 	stack-fcall-mangled \
- 	status-none-threads \
- 	status-unfinished-threads \
-+	so_peercred--pidns-translation \
- 	syslog-success \
-+	tgkill--pidns-translation \
- 	threads-execve \
- 	threads-execve--quiet-thread-execve \
- 	threads-execve-q \
- 	threads-execve-qq \
- 	threads-execve-qqq \
-+	tkill--pidns-translation \
- 	tracer_ppid_pgid_sid \
-+	trie_test \
- 	unblock_reset_raise \
- 	unix-pair-send-recv \
- 	unix-pair-sendto-recvfrom \
- 	vfork-f \
- 	wait4-v \
- 	waitid-v \
-+	xetpgid--pidns-translation \
-+	xetpriority--pidns-translation \
-+	xet_robust_list--pidns-translation \
- 	zeroargc \
- 	# end of check_PROGRAMS
- 
-@@ -272,6 +308,11 @@
- 	stack-fcall-mangled-0.c stack-fcall-mangled-1.c \
- 	stack-fcall-mangled-2.c stack-fcall-mangled-3.c
- 
-+trie_test_SOURCES = trie_test.c trie_for_tests.c
-+trie_test_CPPFLAGS = $(AM_CPPFLAGS) $(CODE_COVERAGE_CPPFLAGS)
-+trie_test_CFLAGS = $(AM_CFLAGS) $(CODE_COVERAGE_CFLAGS)
-+trie_test_LDADD = $(LDADD) $(CODE_COVERAGE_LIBS)
-+
- include gen_tests.am
- 
- if ENABLE_STACKTRACE
-@@ -308,6 +349,7 @@
- 	int_0x80.test \
- 	inotify_init-y.test \
- 	ioctl.test \
-+	ioctl_block--pidns-translation.test \
- 	ioctl_evdev-success.test \
- 	ipc_msgbuf.test \
- 	kern_features-fault.test \
-@@ -379,15 +421,19 @@
- 	filtering_fd-syntax.test \
- 	filtering_syscall-syntax.test \
- 	first_exec_failure.test \
-+	fork--pidns-translation.test \
- 	get_regs.test \
-+	gettid--pidns-translation.test \
- 	inject-nf.test \
- 	interactive_block.test \
- 	kill_child.test \
- 	localtime.test \
- 	looping_threads.test \
-+	netlink_audit--pidns-translation.test \
- 	opipe.test \
- 	options-syntax.test \
- 	pc.test \
-+	pidns-cache.test \
- 	printpath-umovestr-legacy.test \
- 	printstrn-umoven-legacy.test \
- 	qual_fault-syntax.test \
-@@ -465,6 +511,7 @@
- 	filter_seccomp.in \
- 	filter_seccomp.sh \
- 	filter-unavailable.expected \
-+	fork--pidns-translation.awk \
- 	fstatat.c \
- 	fstatx.c \
- 	gen_pure_executables.sh \
-Index: strace-5.7/tests-m32/fcntl--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-m32/fcntl--pidns-translation.c	2020-09-09 19:52:38.890673627 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "fcntl.c"
-Index: strace-5.7/tests-m32/fcntl-common.c
-===================================================================
---- strace-5.7.orig/tests-m32/fcntl-common.c	2020-09-09 19:52:30.607668690 +0200
-+++ strace-5.7/tests-m32/fcntl-common.c	2020-09-09 19:52:38.890673627 +0200
-@@ -13,6 +13,8 @@
- #include <unistd.h>
- #include <assert.h>
- #include "flock.h"
-+#include "pidns.h"
-+#include "scno.h"
- 
- #define FILE_LEN 4096
- 
-@@ -48,12 +50,14 @@
- 	fl->l_len = (TYPEOF_FLOCK_OFF_T) 0xdefaced2cafef00dULL;
- 
- 	invoke_test_syscall(0, cmd, fl);
-+	pidns_print_leader();
- 	printf("%s(0, %s, {l_type=F_RDLCK, l_whence=SEEK_SET"
- 	       ", l_start=%jd, l_len=%jd}) = %s\n", TEST_SYSCALL_STR, name,
- 	       (intmax_t) fl->l_start, (intmax_t) fl->l_len, errstr);
- 
- 	void *const bad_addr = (void *) fl + 1;
- 	invoke_test_syscall(0, cmd, bad_addr);
-+	pidns_print_leader();
- 	printf("%s(0, %s, %p) = %s\n",
- 	       TEST_SYSCALL_STR, name, bad_addr, errstr);
- }
-@@ -72,12 +76,14 @@
- 	fl->l_len = (TYPEOF_FLOCK_OFF_T) 0xdefaced2cafef00dULL;
- 
- 	invoke_test_syscall(0, cmd, fl);
-+	pidns_print_leader();
- 	printf("%s(0, %s, {l_type=F_RDLCK, l_whence=SEEK_SET"
- 	       ", l_start=%jd, l_len=%jd}) = %s\n", TEST_SYSCALL_STR, name,
- 	       (intmax_t) fl->l_start, (intmax_t) fl->l_len, errstr);
- 
- 	void *const bad_addr = (void *) fl + 1;
- 	invoke_test_syscall(0, cmd, bad_addr);
-+	pidns_print_leader();
- 	printf("%s(0, %s, %p) = %s\n",
- 	       TEST_SYSCALL_STR, name, bad_addr, errstr);
- }
-@@ -94,6 +100,7 @@
- 	fl->l_len = FILE_LEN;
- 
- 	long rc = invoke_test_syscall(0, F_SETLK, fl);
-+	pidns_print_leader();
- 	printf("%s(0, F_SETLK, {l_type=F_RDLCK, l_whence=SEEK_SET"
- 	       ", l_start=0, l_len=%d}) = %s\n",
- 	       TEST_SYSCALL_STR, FILE_LEN, errstr);
-@@ -101,11 +108,13 @@
- 		return;
- 
- 	invoke_test_syscall(0, F_GETLK, fl);
-+	pidns_print_leader();
- 	printf("%s(0, F_GETLK, {l_type=F_UNLCK, l_whence=SEEK_SET"
- 	       ", l_start=0, l_len=%d, l_pid=0}) = 0\n",
- 	       TEST_SYSCALL_STR, FILE_LEN);
- 
- 	invoke_test_syscall(0, F_SETLKW, fl);
-+	pidns_print_leader();
- 	printf("%s(0, F_SETLKW, {l_type=F_UNLCK, l_whence=SEEK_SET"
- 	       ", l_start=0, l_len=%d}) = 0\n",
- 	       TEST_SYSCALL_STR, FILE_LEN);
-@@ -124,6 +133,7 @@
- 	fl->l_len = FILE_LEN;
- 
- 	long rc = invoke_test_syscall(0, F_OFD_SETLK, fl);
-+	pidns_print_leader();
- 	printf("%s(0, F_OFD_SETLK, {l_type=F_RDLCK, l_whence=SEEK_SET"
- 	       ", l_start=0, l_len=%d}) = %s\n",
- 	       TEST_SYSCALL_STR, FILE_LEN, errstr);
-@@ -131,11 +141,13 @@
- 		return;
- 
- 	invoke_test_syscall(0, F_OFD_GETLK, fl);
-+	pidns_print_leader();
- 	printf("%s(0, F_OFD_GETLK, {l_type=F_UNLCK, l_whence=SEEK_SET"
- 	       ", l_start=0, l_len=%d, l_pid=0}) = 0\n",
- 	       TEST_SYSCALL_STR, FILE_LEN);
- 
- 	invoke_test_syscall(0, F_OFD_SETLKW, fl);
-+	pidns_print_leader();
- 	printf("%s(0, F_OFD_SETLKW, {l_type=F_UNLCK, l_whence=SEEK_SET"
- 	       ", l_start=0, l_len=%d}) = 0\n",
- 	       TEST_SYSCALL_STR, FILE_LEN);
-@@ -167,18 +179,21 @@
- static long
- test_f_owner_ex_type_pid(const int cmd, const char *const cmd_name,
- 			 const int type, const char *const type_name,
--			 pid_t pid)
-+			 enum pid_type pid_type, pid_t pid)
- {
- 	TAIL_ALLOC_OBJECT_CONST_PTR(struct_kernel_f_owner_ex, fo);
- 
- 	fo->type = type;
- 	fo->pid = pid;
- 	long rc = invoke_test_syscall(0, cmd, fo);
--	printf("%s(0, %s, {type=%s, pid=%d}) = %s\n",
--	       TEST_SYSCALL_STR, cmd_name, type_name, fo->pid, errstr);
-+	pidns_print_leader();
-+	printf("%s(0, %s, {type=%s, pid=%d%s}) = %s\n",
-+	       TEST_SYSCALL_STR, cmd_name, type_name,
-+	       fo->pid, pidns_pid2str(pid_type), errstr);
- 
- 	void *bad_addr = (void *) fo + 1;
- 	invoke_test_syscall(0, cmd, bad_addr);
-+	pidns_print_leader();
- 	printf("%s(0, %s, %p) = %s\n",
- 	       TEST_SYSCALL_STR, cmd_name, bad_addr, errstr);
- 
-@@ -187,35 +202,35 @@
- 
- static void
- test_f_owner_ex_umove_or_printaddr(const int type, const char *const type_name,
--				   pid_t pid)
-+				   enum pid_type pid_type, pid_t pid)
- {
- 	long rc = test_f_owner_ex_type_pid(ARG_STR(F_SETOWN_EX),
--					   type, type_name, pid);
-+					   type, type_name, pid_type, pid);
- 	if (!rc)
- 		test_f_owner_ex_type_pid(ARG_STR(F_GETOWN_EX),
--					 type, type_name, pid);
-+					 type, type_name, pid_type, pid);
- }
- 
- static void
- test_f_owner_ex(void)
- {
--	static const struct {
-+	struct {
- 		int type;
- 		const char *type_name;
--		pid_t pid[2];
-+		enum pid_type pid_type;
-+		pid_t pid;
- 	} a[] = {
--		{ ARG_STR(F_OWNER_TID), { 1234567890, 20 } },
--		{ ARG_STR(F_OWNER_PID), { 1298126790, 30 } },
--		{ ARG_STR(F_OWNER_PGRP), { 1294567890, 40 } }
-+		{ ARG_STR(F_OWNER_TID), PT_NONE, 1234567890 },
-+		{ ARG_STR(F_OWNER_PID), PT_NONE, 1234567890 },
-+		{ ARG_STR(F_OWNER_PGRP), PT_NONE, 1234567890 },
-+		{ ARG_STR(F_OWNER_TID), PT_TID, syscall(__NR_gettid) },
-+		{ ARG_STR(F_OWNER_PID), PT_TGID, getpid() },
-+		{ ARG_STR(F_OWNER_PGRP), PT_PGID, getpgid(0) },
- 	};
- 
--	for (unsigned int i = 0; i < ARRAY_SIZE(a); i++) {
--		for (unsigned int j = 0; j < ARRAY_SIZE(a[0].pid); j++) {
--			test_f_owner_ex_umove_or_printaddr(a[i].type,
--							   a[i].type_name,
--							   a[i].pid[j]);
--		}
--	}
-+	for (unsigned int i = 0; i < ARRAY_SIZE(a); i++)
-+		test_f_owner_ex_umove_or_printaddr(a[i].type, a[i].type_name,
-+			a[i].pid_type, a[i].pid);
- }
- #endif /* TEST_F_OWNER_EX */
- 
-@@ -229,6 +244,23 @@
- };
- 
- static void
-+test_xetown(void)
-+{
-+	const int pid = getpid();
-+	const char *pid_str = pidns_pid2str(PT_TGID);
-+
-+	invoke_test_syscall(0, F_SETOWN, (void *) (intptr_t) pid);
-+	pidns_print_leader();
-+	printf("%s(0, F_SETOWN, %d%s) = %s\n",
-+		TEST_SYSCALL_STR, pid, pid_str, errstr);
-+
-+	invoke_test_syscall(0, F_GETOWN, NULL);
-+	pidns_print_leader();
-+	printf("%s(0, F_GETOWN) = %d%s\n",
-+		TEST_SYSCALL_STR, pid, pid_str);
-+}
-+
-+static void
- print_retval_flags(const struct fcntl_cmd_check *check, long rc)
- {
- 	if (check->print_flags) {
-@@ -243,12 +275,14 @@
- test_other_set_cmd(const struct fcntl_cmd_check *check)
- {
- 	invoke_test_syscall(check->fd, check->cmd, (void *) check->arg);
-+	pidns_print_leader();
- 	printf("%s(%d, %s, %s) = %s\n",
- 	       TEST_SYSCALL_STR, check->fd,
- 	       check->cmd_str, check->arg_str, errstr);
- 
- 	/* bad file fd */
- 	invoke_test_syscall(-1, check->cmd, (void *) check->arg);
-+	pidns_print_leader();
- 	printf("%s(-1, %s, %s) = %s\n",
- 	       TEST_SYSCALL_STR, check->cmd_str,
- 	       check->arg_str, errstr);
-@@ -258,12 +292,14 @@
- test_other_get_cmd(const struct fcntl_cmd_check *check)
- {
- 	long rc = invoke_test_syscall(check->fd, check->cmd, NULL);
-+	pidns_print_leader();
- 	printf("%s(%d, %s) = ",
- 	       TEST_SYSCALL_STR, check->fd, check->cmd_str);
- 	print_retval_flags(check, rc);
- 
- 	/* bad file fd */
- 	invoke_test_syscall(-1, check->cmd, NULL);
-+	pidns_print_leader();
- 	printf("%s(-1, %s) = %s\n",
- 	       TEST_SYSCALL_STR, check->cmd_str, errstr);
- }
-@@ -315,7 +351,6 @@
- {
- 	static const struct fcntl_cmd_check set_checks[] = {
- 		{ 0, ARG_STR(F_SETFD), ARG_STR(FD_CLOEXEC) },
--		{ 0, ARG_STR(F_SETOWN), ARG_STR(20) },
- #ifdef F_SETPIPE_SZ
- 		{ 0, ARG_STR(F_SETPIPE_SZ), ARG_STR(4097) },
- #endif
-@@ -336,7 +371,6 @@
- 	static const struct fcntl_cmd_check get_checks[] = {
- 		{ 0, ARG_STR(F_GETFD), .print_flags = print_flags_getfd },
- 		{ 1, ARG_STR(F_GETFD), .print_flags = print_flags_getfd },
--		{ 0, ARG_STR(F_GETOWN) },
- #ifdef F_GETPIPE_SZ
- 		{ 0, ARG_STR(F_GETPIPE_SZ) },
- #endif
-@@ -360,6 +394,8 @@
- int
- main(void)
- {
-+	PIDNS_TEST_INIT;
-+
- 	create_sample();
- 	test_flock();
- 	test_flock64();
-@@ -367,7 +403,9 @@
- 	test_f_owner_ex();
- #endif
- 	test_fcntl_others();
-+	test_xetown();
- 
-+	pidns_print_leader();
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests-m32/fcntl.c
-===================================================================
---- strace-5.7.orig/tests-m32/fcntl.c	2020-09-09 19:52:30.608668690 +0200
-+++ strace-5.7/tests-m32/fcntl.c	2020-09-09 19:52:38.890673627 +0200
-@@ -24,6 +24,7 @@
- 		.l_len = 0xdefaced2cafef00dULL
- 	};
- 	invoke_test_syscall(0, cmd, &fl);
-+	pidns_print_leader();
- 	printf("%s(0, %s, %p) = %s\n",
- 	       TEST_SYSCALL_STR, name, &fl, errstr);
- }
-Index: strace-5.7/tests-m32/fcntl64--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-m32/fcntl64--pidns-translation.c	2020-09-09 19:52:38.890673627 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "fcntl64.c"
-Index: strace-5.7/tests-m32/fcntl64.c
-===================================================================
---- strace-5.7.orig/tests-m32/fcntl64.c	2020-09-09 19:52:30.608668690 +0200
-+++ strace-5.7/tests-m32/fcntl64.c	2020-09-09 19:52:38.890673627 +0200
-@@ -27,6 +27,7 @@
- 	fl->l_len = FILE_LEN;
- 
- 	long rc = invoke_test_syscall(0, F_SETLK64, fl);
-+	pidns_print_leader();
- 	printf("%s(0, F_SETLK64, {l_type=F_RDLCK, l_whence=SEEK_SET"
- 	       ", l_start=0, l_len=%d}) = %s\n",
- 	       TEST_SYSCALL_STR, FILE_LEN, errstr);
-@@ -35,11 +36,13 @@
- 		return;
- 
- 	invoke_test_syscall(0, F_GETLK64, fl);
-+	pidns_print_leader();
- 	printf("%s(0, F_GETLK64, {l_type=F_UNLCK, l_whence=SEEK_SET"
- 	       ", l_start=0, l_len=%d, l_pid=0}) = 0\n",
- 	       TEST_SYSCALL_STR, FILE_LEN);
- 
- 	invoke_test_syscall(0, F_SETLKW64, fl);
-+	pidns_print_leader();
- 	printf("%s(0, F_SETLKW64, {l_type=F_UNLCK, l_whence=SEEK_SET"
- 	       ", l_start=0, l_len=%d}) = 0\n",
- 	       TEST_SYSCALL_STR, FILE_LEN);
-Index: strace-5.7/tests-m32/fork--pidns-translation.awk
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-m32/fork--pidns-translation.awk	2020-09-09 19:52:38.891673627 +0200
-@@ -0,0 +1,15 @@
-+/fork/ {
-+        match($0, "([0-9]+) in strace\x27s PID NS", a);
-+        if (a[1])
-+                fork_pid = a[1]
-+}
-+
-+/exited with 0/ {
-+        if (!exit_pid)
-+                exit_pid = $1
-+}
-+
-+END {
-+        if (!fork_pid || !exit_pid || fork_pid != exit_pid)
-+                exit 1
-+}
-Index: strace-5.7/tests-m32/fork--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-m32/fork--pidns-translation.c	2020-09-09 19:52:38.891673627 +0200
-@@ -0,0 +1,78 @@
-+/*
-+ * Test PID namespace translation
-+ *
-+ * Copyright (c) 2020 Ákos Uzonyi <uzonyi.akos@gmail.com>
-+ * All rights reserved.
-+ *
-+ * SPDX-License-Identifier: LGPL-2.1-or-later
-+ */
-+
-+#include "tests.h"
-+#include "scno.h"
-+#include "pidns.h"
-+
-+#ifdef __NR_fork
-+
-+#include <errno.h>
-+#include <limits.h>
-+#include <sched.h>
-+#include <signal.h>
-+#include <stdio.h>
-+#include <stdlib.h>
-+#include <sys/wait.h>
-+#include <unistd.h>
-+#include <linux/sched.h>
-+#include "nsfs.h"
-+
-+#ifndef CLONE_NEWUSER
-+# define CLONE_NEWUSER 0x10000000
-+#endif
-+
-+#ifndef CLONE_NEWPID
-+# define CLONE_NEWPID 0x20000000
-+#endif
-+
-+static int
-+fork_chain(int depth)
-+{
-+	if (!depth)
-+		return 0;
-+
-+	int pid = syscall(__NR_fork);
-+	if (pid < 0)
-+		return errno;
-+
-+	if (!pid)
-+		_exit(fork_chain(depth - 1));
-+
-+	int status;
-+	if (wait(&status) < 0)
-+		return errno;
-+
-+	if (!WIFEXITED(status))
-+		return -1;
-+
-+	return WEXITSTATUS(status);
-+}
-+
-+int main(void)
-+{
-+	check_ns_ioctl();
-+
-+	if (unshare(CLONE_NEWPID | CLONE_NEWUSER) < 0) {
-+		if (errno == EPERM)
-+			perror_msg_and_skip("unshare");
-+
-+		perror_msg_and_fail("unshare");
-+	}
-+
-+	errno = fork_chain(2);
-+	if (errno)
-+		perror("fork_chain");
-+}
-+
-+#else
-+
-+SKIP_MAIN_UNDEFINED("__NR_fork")
-+
-+#endif
-Index: strace-5.7/tests-m32/fork--pidns-translation.test
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-m32/fork--pidns-translation.test	2020-09-09 19:52:38.891673627 +0200
-@@ -0,0 +1,14 @@
-+#!/bin/sh
-+#
-+# Check pidns translation of fork's return value.
-+#
-+# Copyright (c) 2020 The strace developers.
-+# All rights reserved.
-+#
-+# SPDX-License-Identifier: LGPL-2.1-or-later
-+
-+. "${srcdir=.}/init.sh"
-+
-+run_prog
-+run_strace -a6 --pidns-translation -f -e trace=fork $args
-+match_awk
-Index: strace-5.7/tests-m32/gen_tests.in
-===================================================================
---- strace-5.7.orig/tests-m32/gen_tests.in	2020-09-09 19:52:30.609668691 +0200
-+++ strace-5.7/tests-m32/gen_tests.in	2020-09-09 19:52:38.891673627 +0200
-@@ -88,7 +88,9 @@
- fchown32	-a18
- fchownat
- fcntl	-a8
-+fcntl--pidns-translation	test_pidns -a8 -e trace=fcntl
- fcntl64	-a8
-+fcntl64--pidns-translation	test_pidns -a8 -e trace=fcntl64
- fdatasync	-a14
- file_handle	-e trace=name_to_handle_at,open_by_handle_at
- file_ioctl	+ioctl.test
-@@ -142,7 +144,9 @@
- getgroups32	-a19
- getpeername	-a27
- getpgrp	-a10
-+getpgrp--pidns-translation	test_pidns -e trace=getpgrp -a10
- getpid	-a9
-+getpid--pidns-translation	test_pidns -e trace=getpid -a9
- getppid	-a10
- getrandom	-a32 -s3
- getresgid	-a25
-@@ -152,6 +156,7 @@
- getrlimit	-a27
- getrusage	-v
- getsid	-a10
-+getsid--pidns-translation	test_pidns -e trace=getsid -a10
- getsockname	-a27
- gettid	-a9
- getuid-creds	+getuid.test
-@@ -245,6 +250,7 @@
- ioperm	-a27
- iopl	-a8
- ioprio	-a18 -e trace=ioprio_get,ioprio_set
-+ioprio--pidns-translation	test_pidns -a18 -e trace=ioprio_get,ioprio_set
- ioprio-Xabbrev	-a18 -e trace=ioprio_get,ioprio_set -Xabbrev
- ioprio-Xraw	-a18 -e trace=ioprio_get,ioprio_set -Xraw
- ioprio-Xverbose	-a18 -e trace=ioprio_get,ioprio_set -Xverbose
-@@ -267,6 +273,7 @@
- ipc_shm-Xverbose	+ipc.sh -Xverbose -a34
- kcmp	-a22
- kcmp-y	-a22 -y -e trace=kcmp
-+kcmp-y--pidns-translation	test_pidns -a22 -y -e trace=kcmp
- kern_features -a16
- kernel_version	-a16 -v -e trace=bpf
- kernel_version-Xabbrev	-a16 -Xabbrev -v -e trace=bpf
-@@ -279,6 +286,7 @@
- keyctl-Xraw	-a13 -s10 -e trace=keyctl -Xraw
- keyctl-Xverbose	-a41 -s10 -e trace=keyctl -Xverbose
- kill	-a12 -esignal=none
-+kill--pidns-translation	test_pidns -a12 -e trace=kill -esignal=none
- ksysent	../$NAME
- lchown	-a30
- lchown32	-a32
-@@ -300,6 +308,7 @@
- memfd_create-Xraw	-a30 -Xraw -e trace=memfd_create
- memfd_create-Xverbose	-Xverbose -e trace=memfd_create
- migrate_pages	-a33
-+migrate_pages--pidns-translation	test_pidns -a33 -e trace=migrate_pages
- mincore	-a22
- mkdir	-a20
- mkdirat	-a28
-@@ -330,6 +339,7 @@
- move_pages-Xabbrev	-s3 -e trace=move_pages -Xabbrev
- move_pages-Xraw	-s3 -a36 -e trace=move_pages -Xraw
- move_pages-Xverbose	-s3 -e trace=move_pages -Xverbose
-+move_pages--pidns-translation	test_pidns -s3 -e trace=move_pages
- mq	-a32 -e trace=mq_getsetattr,mq_open,mq_unlink
- mq_sendrecv	-a14 -e trace=mq_open,mq_notify,mq_timedsend,mq_timedreceive,mq_unlink
- mq_sendrecv-read	-eread=0 -a14 -e trace=mq_open,mq_notify,mq_timedsend,mq_timedreceive,mq_unlink
-@@ -349,6 +359,7 @@
- net-packet_mreq-Xraw	-e trace=setsockopt -Xraw
- net-packet_mreq-Xverbose	-e trace=setsockopt -Xverbose
- net-sockaddr	-a24 -e trace=connect
-+net-sockaddr--pidns-translation	test_pidns -a24 -e trace=connect
- net-tpacket_req -e trace=setsockopt
- net-tpacket_stats -e trace=getsockopt
- net-yy-inet6	+net-yy-inet.test
-@@ -452,7 +463,9 @@
- pidfd_open-P	-a17 -P /dev/full -e trace=pidfd_open
- pidfd_open-y	-a17 -y -e trace=pidfd_open
- pidfd_open-yy	-a17 -yy -e trace=pidfd_open
-+pidfd_open--pidns-translation	test_pidns -a17 -e trace=pidfd_open
- pidfd_send_signal
-+pidfd_send_signal--pidns-translation test_pidns -e trace=pidfd_send_signal
- pipe2	-a15
- pkey_alloc	-a17
- pkey_free	-a13
-@@ -475,8 +488,11 @@
- printstrn-umoven-peekdata	-e signal=none -e trace=add_key
- printstrn-umoven-undumpable	-e signal=none -e trace=add_key
- prlimit64
-+prlimit64--pidns-translation     test_pidns -e trace=prlimit64
- process_vm_readv	-s5 -a37
-+process_vm_readv--pidns-translation	test_pidns -s5 -a37 -e trace=process_vm_readv
- process_vm_writev	-s5 -a38
-+process_vm_writev--pidns-translation	test_pidns -s5 -a38 -e trace=process_vm_writev
- pselect6
- ptrace	-a23 -e signal=none
- ptrace_syscall_info	-a35 -e signal=none -e trace=ptrace
-@@ -513,10 +529,12 @@
- rt_sigpending	-a20
- rt_sigprocmask
- rt_sigqueueinfo	-esignal=none
-+rt_sigqueueinfo--pidns-translation	test_pidns -esignal=none -e trace=rt_sigqueueinfo
- rt_sigreturn	-esignal='!USR1'
- rt_sigsuspend	-a20 -esignal=none
- rt_sigtimedwait	-a38
- rt_tgsigqueueinfo	-esignal=none
-+rt_tgsigqueueinfo--pidns-translation	test_pidns -esignal=none -e trace=rt_tgsigqueueinfo
- s390_guarded_storage	-a32
- s390_guarded_storage-v	-e trace=s390_guarded_storage -a32 -v
- s390_pci_mmio_read_write	-e trace=s390_pci_mmio_read,s390_pci_mmio_write -a30
-@@ -527,9 +545,13 @@
- sched_get_priority_mxx	-a33 -e trace=sched_get_priority_min,sched_get_priority_max
- sched_rr_get_interval	-a31
- sched_xetaffinity	-a28 -e trace=sched_getaffinity,sched_setaffinity
-+sched_xetaffinity--pidns-translation	test_pidns -a28 -e trace=sched_getaffinity,sched_setaffinity
- sched_xetattr	-a29 -e trace=sched_getattr,sched_setattr
-+sched_xetattr--pidns-translation	test_pidns -a29 -e trace=sched_getattr,sched_setattr
- sched_xetparam	-a23 -e trace=sched_getparam,sched_setparam
-+sched_xetparam--pidns-translation	test_pidns -a23 -e trace=sched_getparam,sched_setparam
- sched_xetscheduler	-a22 -e trace=sched_getscheduler,sched_setscheduler
-+sched_xetscheduler--pidns-translation	test_pidns -a22 -e trace=sched_getscheduler,sched_setscheduler
- sched_yield	-a14
- seccomp-filter	-e trace=seccomp
- seccomp-filter-v	-v -e trace=seccomp
-@@ -576,6 +598,7 @@
- siginfo	-e trace=none
- signal	-a25 -e signal=none -e trace='/^signal$'
- signal_receive	-a16 -e trace=kill
-+signal_receive--pidns-translation	test_pidns -a16 -e trace=kill
- signalfd4
- sigpending	-a15
- sigprocmask	-a34
-@@ -587,6 +610,7 @@
- so_peercred-Xabbrev	-e trace=getsockopt -Xabbrev
- so_peercred-Xraw	-e trace=getsockopt -Xraw -a39
- so_peercred-Xverbose	-e trace=getsockopt -Xverbose
-+so_peercred--pidns-translation	test_pidns -e trace=getsockopt
- sock_filter-v	-v -e trace=getsockopt,setsockopt
- sock_filter-v-Xabbrev	-v -e trace=getsockopt,setsockopt -X abbrev
- sock_filter-v-Xraw	-a 37 -v -e trace=getsockopt,setsockopt -X raw
-@@ -659,6 +683,7 @@
- syslog	-a35
- tee
- tgkill	-a15 --signal='!cont'
-+tgkill--pidns-translation       test_pidns -a15 --signal='!cont' -e trace=tgkill
- threads-execve--quiet-thread-execve +threads-execve.test -s40 --quiet=personality,thread-execve
- threads-execve-q +threads-execve.test -q
- threads-execve-qq +threads-execve.test -qq
-@@ -670,6 +695,7 @@
- times	-esignal=none
- times-fail	-a12 -e trace=times
- tkill	-a12 --signal='!cont'
-+tkill--pidns-translation       test_pidns --signal='!cont' -a12 -e trace=tkill
- trace_clock	test_trace_expr 'clock_nanosleep|times' -e%clock
- trace_creds	test_trace_expr '([gs]et[^p]*([gu]id|groups)|caps|prctl|[fl]?chown|print(path-umovestr|strn-umoven)-undumpable|ptrace|quotactl|rt_sigtimedwait|rt_(tg)?sigqueueinfo).*' -e%creds
- trace_fstat	test_trace_expr '' -e%fstat -v -P stat.sample -P /dev/full
-@@ -686,6 +712,7 @@
- trace_stat_like	test_trace_expr '' -e%%stat -v -P stat.sample -P /dev/full
- trace_statfs	test_trace_expr '' -e%statfs
- trace_statfs_like	test_trace_expr '' -e%%statfs
-+trie_test    run_prog
- truncate
- truncate64
- ugetrlimit	-a28
-@@ -716,7 +743,10 @@
- xattr	-a22 -e trace=getxattr,fgetxattr,lgetxattr,setxattr,fsetxattr,lsetxattr,listxattr,flistxattr,llistxattr,removexattr,fremovexattr,lremovexattr
- xattr-strings	-a22 -s 4 -e trace=fsetxattr
- xet_robust_list	-a24 -e trace=get_robust_list,set_robust_list
-+xet_robust_list--pidns-translation	test_pidns -a24 -e trace=get_robust_list,set_robust_list
- xetitimer	-a29 -e trace=setitimer,getitimer
- xetpgid	-a11 -e trace=getpgid,setpgid
--xetpriority	-a29 -e trace=getpriority,setpriority
-+xetpgid--pidns-translation	test_pidns -a11 -e trace=getpgid,setpgid
-+xetpriority	-a27 -e trace=getpriority,setpriority
-+xetpriority--pidns-translation	test_pidns -a27 -e trace=getpriority,setpriority
- xettimeofday	-a20 -e trace=gettimeofday,settimeofday
-Index: strace-5.7/tests-m32/getpgrp--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-m32/getpgrp--pidns-translation.c	2020-09-09 19:52:38.892673628 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "getpgrp.c"
-Index: strace-5.7/tests-m32/getpgrp.c
-===================================================================
---- strace-5.7.orig/tests-m32/getpgrp.c	2020-09-09 19:52:30.609668691 +0200
-+++ strace-5.7/tests-m32/getpgrp.c	2020-09-09 19:52:38.892673628 +0200
-@@ -7,6 +7,7 @@
- 
- #include "tests.h"
- #include "scno.h"
-+#include "pidns.h"
- 
- #ifdef __NR_getpgrp
- 
-@@ -16,8 +17,13 @@
- int
- main(void)
- {
--	printf("getpgrp() = %ld\n", syscall(__NR_getpgrp));
-+	PIDNS_TEST_INIT;
- 
-+	pidns_print_leader();
-+	printf("getpgrp() = %d%s\n", (int) syscall(__NR_getpgrp),
-+		pidns_pid2str(PT_PGID));
-+
-+	pidns_print_leader();
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests-m32/getpid--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-m32/getpid--pidns-translation.c	2020-09-09 19:52:38.892673628 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "getpid.c"
-Index: strace-5.7/tests-m32/getpid.c
-===================================================================
---- strace-5.7.orig/tests-m32/getpid.c	2020-09-09 19:52:30.610668691 +0200
-+++ strace-5.7/tests-m32/getpid.c	2020-09-09 19:52:38.892673628 +0200
-@@ -7,6 +7,7 @@
- 
- #include "tests.h"
- #include "scno.h"
-+#include "pidns.h"
- 
- #if defined __NR_getpid && (!defined __NR_getxpid || __NR_getxpid != __NR_getpid)
- 
-@@ -16,7 +17,12 @@
- int
- main(void)
- {
--	printf("getpid() = %ld\n", syscall(__NR_getpid));
-+	PIDNS_TEST_INIT;
-+
-+	pidns_print_leader();
-+	printf("getpid() = %d%s\n", (int) syscall(__NR_getpid),
-+		pidns_pid2str(PT_TGID));
-+	pidns_print_leader();
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests-m32/getsid--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-m32/getsid--pidns-translation.c	2020-09-09 19:52:38.892673628 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "getsid.c"
-Index: strace-5.7/tests-m32/getsid.c
-===================================================================
---- strace-5.7.orig/tests-m32/getsid.c	2020-09-09 19:52:30.610668691 +0200
-+++ strace-5.7/tests-m32/getsid.c	2020-09-09 19:52:38.892673628 +0200
-@@ -6,15 +6,22 @@
-  */
- 
- #include "tests.h"
-+#include "pidns.h"
-+
- #include <stdio.h>
- #include <unistd.h>
- 
- int
- main(void)
- {
-+	PIDNS_TEST_INIT;
-+
- 	pid_t pid = getpid();
--	printf("getsid(%d) = %d\n", pid, getsid(pid));
-+	pidns_print_leader();
-+	printf("getsid(%d%s) = %d%s\n", pid, pidns_pid2str(PT_TGID),
-+		getsid(pid), pidns_pid2str(PT_SID));
- 
-+	pidns_print_leader();
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests-m32/gettid--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-m32/gettid--pidns-translation.c	2020-09-09 19:52:38.893673628 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "gettid.c"
-Index: strace-5.7/tests-m32/gettid--pidns-translation.test
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-m32/gettid--pidns-translation.test	2020-09-09 19:52:38.893673628 +0200
-@@ -0,0 +1,18 @@
-+#!/bin/sh
-+#
-+# Check pidns translation of gettid's return value.
-+#
-+# Copyright (c) 2020 The strace developers.
-+# All rights reserved.
-+#
-+# SPDX-License-Identifier: LGPL-2.1-or-later
-+
-+. "${srcdir=.}/init.sh"
-+
-+run_prog > /dev/null
-+run_strace -a9 --pidns-translation -f -e trace=gettid $args > "$EXP"
-+parent_pid="$(tail -n 2 $LOG | head -n 1 | cut -d' ' -f1)"
-+init_pid="$(tail -n 1 $LOG | cut -d' ' -f1)"
-+# uniq: filter out extra gettid calls made by musl libc
-+grep -E -v "^($parent_pid|$init_pid) |unfinished|resumed" "$LOG" | uniq > "$OUT"
-+match_diff "$OUT" "$EXP"
-Index: strace-5.7/tests-m32/gettid.c
-===================================================================
---- strace-5.7.orig/tests-m32/gettid.c	2020-09-09 19:52:30.610668691 +0200
-+++ strace-5.7/tests-m32/gettid.c	2020-09-09 19:52:38.893673628 +0200
-@@ -9,11 +9,17 @@
- #include <stdio.h>
- #include <unistd.h>
- #include "scno.h"
-+#include "pidns.h"
- 
- int
- main(void)
- {
--	printf("gettid() = %ld\n", syscall(__NR_gettid));
-+	PIDNS_TEST_INIT;
-+
-+	pidns_print_leader();
-+	printf("gettid() = %d%s\n", (int) syscall(__NR_gettid),
-+		pidns_pid2str(PT_TID));
-+	pidns_print_leader();
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests-m32/ioctl_block--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-m32/ioctl_block--pidns-translation.c	2020-09-09 19:52:38.893673628 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "ioctl_block.c"
-Index: strace-5.7/tests-m32/ioctl_block--pidns-translation.test
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-m32/ioctl_block--pidns-translation.test	2020-09-09 19:52:38.893673628 +0200
-@@ -0,0 +1,22 @@
-+#!/bin/sh
-+#
-+# Check pidns translation of ioctl(BLK*) syscall decoding.
-+#
-+# Copyright (c) 2020 The strace developers.
-+# All rights reserved.
-+#
-+# SPDX-License-Identifier: LGPL-2.1-or-later
-+
-+. "${srcdir=.}/init.sh"
-+
-+check_prog head
-+check_prog tail
-+check_prog cut
-+check_prog grep
-+
-+run_prog > /dev/null
-+run_strace --pidns-translation -f -a16 -e trace=ioctl $@ $args > "$EXP"
-+parent_pid="$(tail -n 2 $LOG | head -n 1 | cut -d' ' -f1)"
-+init_pid="$(tail -n 1 $LOG | cut -d' ' -f1)"
-+grep -E -v "^($parent_pid|$init_pid) |ioctl\([0123][,<]" "$LOG" > "$OUT"
-+match_diff "$OUT" "$EXP"
-Index: strace-5.7/tests-m32/ioctl_block.c
-===================================================================
---- strace-5.7.orig/tests-m32/ioctl_block.c	2020-09-09 19:52:30.611668692 +0200
-+++ strace-5.7/tests-m32/ioctl_block.c	2020-09-09 19:52:38.893673628 +0200
-@@ -9,7 +9,9 @@
-  */
- 
- #include "tests.h"
-+#include "pidns.h"
- #include <errno.h>
-+#include <unistd.h>
- #include <inttypes.h>
- #include <stdio.h>
- #include <string.h>
-@@ -41,12 +43,15 @@
- #define TEST_NULL_ARG(cmd)						\
- 	do {								\
- 		ioctl(-1, cmd, 0);					\
-+		pidns_print_leader();					\
- 		printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", #cmd);	\
- 	} while (0)
- 
- int
- main(void)
- {
-+	PIDNS_TEST_INIT;
-+
- 	TEST_NULL_ARG(BLKBSZGET);
- 	TEST_NULL_ARG(BLKBSZSET);
- 	TEST_NULL_ARG(BLKFRAGET);
-@@ -91,18 +96,22 @@
- #endif
- 
- 	ioctl(-1, BLKRASET, lmagic);
-+	pidns_print_leader();
- 	printf("ioctl(-1, BLKRASET, %lu) = -1 EBADF (%m)\n", lmagic);
- 
- 	ioctl(-1, BLKFRASET, lmagic);
-+	pidns_print_leader();
- 	printf("ioctl(-1, BLKFRASET, %lu) = -1 EBADF (%m)\n", lmagic);
- 
- 	TAIL_ALLOC_OBJECT_CONST_PTR(int, val_int);
- 	*val_int = magic;
- 
- 	ioctl(-1, BLKROSET, val_int);
-+	pidns_print_leader();
- 	printf("ioctl(-1, BLKROSET, [%d]) = -1 EBADF (%m)\n", *val_int);
- 
- 	ioctl(-1, BLKBSZSET, val_int);
-+	pidns_print_leader();
- 	printf("ioctl(-1, BLKBSZSET, [%d]) = -1 EBADF (%m)\n", *val_int);
- 
- 	uint64_t *pair_int64 = tail_alloc(sizeof(*pair_int64) * 2);
-@@ -111,18 +120,21 @@
- 
- #ifdef BLKDISCARD
- 	ioctl(-1, BLKDISCARD, pair_int64);
-+	pidns_print_leader();
- 	printf("ioctl(-1, BLKDISCARD, [%" PRIu64 ", %" PRIu64 "])"
- 	       " = -1 EBADF (%m)\n", pair_int64[0], pair_int64[1]);
- #endif
- 
- #ifdef BLKSECDISCARD
- 	ioctl(-1, BLKSECDISCARD, pair_int64);
-+	pidns_print_leader();
- 	printf("ioctl(-1, BLKSECDISCARD, [%" PRIu64 ", %" PRIu64 "])"
- 	       " = -1 EBADF (%m)\n", pair_int64[0], pair_int64[1]);
- #endif
- 
- #ifdef BLKZEROOUT
- 	ioctl(-1, BLKZEROOUT, pair_int64);
-+	pidns_print_leader();
- 	printf("ioctl(-1, BLKZEROOUT, [%" PRIu64 ", %" PRIu64 "])"
- 	       " = -1 EBADF (%m)\n", pair_int64[0], pair_int64[1]);
- #endif
-@@ -134,6 +146,7 @@
- 	blkpg->data = (void *) (unsigned long) 0xcafef00dfffffeedULL;
- 
- 	ioctl(-1, BLKPG, blkpg);
-+	pidns_print_leader();
- 	printf("ioctl(-1, BLKPG, {op=%s, flags=%d, datalen=%d"
- 	       ", data=%#lx}) = -1 EBADF (%m)\n",
- 	       "BLKPG_RESIZE_PARTITION", blkpg->flags, blkpg->datalen,
-@@ -149,6 +162,7 @@
- 	blkpg->data = bp;
- 
- 	ioctl(-1, BLKPG, blkpg);
-+	pidns_print_leader();
- 	printf("ioctl(-1, BLKPG, {op=%s, flags=%d, datalen=%d"
- 	       ", data={start=%lld, length=%lld, pno=%d"
- 	       ", devname=\"%.*s\"..., volname=\"%.*s\"...}})"
-@@ -162,25 +176,31 @@
- #if defined BLKTRACESETUP && defined HAVE_STRUCT_BLK_USER_TRACE_SETUP
- 	TAIL_ALLOC_OBJECT_CONST_PTR(struct blk_user_trace_setup, buts);
- 	fill_memory(buts, sizeof(*buts));
-+	buts->pid = getpid();
- 
- 	ioctl(-1, BLKTRACESETUP, buts);
-+	pidns_print_leader();
- 	printf("ioctl(-1, BLKTRACESETUP, {act_mask=%hu, buf_size=%u, buf_nr=%u"
--	       ", start_lba=%" PRI__u64 ", end_lba=%" PRI__u64 ", pid=%d})"
-+	       ", start_lba=%" PRI__u64 ", end_lba=%" PRI__u64 ", pid=%d%s})"
- 	       " = -1 EBADF (%m)\n",
- 	       buts->act_mask, buts->buf_size, buts->buf_nr,
--	       buts->start_lba, buts->end_lba, buts->pid);
-+	       buts->start_lba, buts->end_lba, buts->pid,
-+	       pidns_pid2str(PT_TGID));
- #endif
- 
- 	unsigned int i;
- 	for (i = 0; i < ARRAY_SIZE(block_argless); ++i) {
- 		ioctl(-1, (unsigned long) block_argless[i].val, lmagic);
-+		pidns_print_leader();
- 		printf("ioctl(-1, %s) = -1 EBADF (%m)\n", block_argless[i].str);
- 	}
- 
- 	ioctl(-1, _IOC(_IOC_READ, 0x12, 0xfe, 0xff), lmagic);
-+	pidns_print_leader();
- 	printf("ioctl(-1, %s, %#lx) = -1 EBADF (%m)\n",
- 	       "_IOC(_IOC_READ, 0x12, 0xfe, 0xff)", lmagic);
- 
-+	pidns_print_leader();
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests-m32/ioprio--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-m32/ioprio--pidns-translation.c	2020-09-09 19:52:38.894673629 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "ioprio.c"
-Index: strace-5.7/tests-m32/ioprio.c
-===================================================================
---- strace-5.7.orig/tests-m32/ioprio.c	2020-09-09 19:52:30.611668692 +0200
-+++ strace-5.7/tests-m32/ioprio.c	2020-09-09 19:52:38.894673629 +0200
-@@ -9,8 +9,8 @@
-  */
- 
- #include "tests.h"
--
- #include "scno.h"
-+#include "pidns.h"
- 
- #if defined(__NR_ioprio_get) && defined(__NR_ioprio_set)
- 
-@@ -30,12 +30,18 @@
- int
- main(void)
- {
-+	PIDNS_TEST_INIT;
-+
- 	static const kernel_ulong_t bogus_which =
- 		(kernel_ulong_t) 0xdeadfacefa57beefULL;
- 	static const kernel_ulong_t bogus_who =
- 		(kernel_ulong_t) 0xbadc0dedda7a1057ULL;
- 	static const kernel_ulong_t bogus_ioprio =
- 		(kernel_ulong_t) 0xdec0ded1facefeedULL;
-+
-+	const int pid = getpid();
-+	const int pgid = getpgid(0);
-+
- # if !XLAT_RAW
- 	static const char * const bogus_ioprio_str =
- 		"IOPRIO_PRIO_VALUE(0x7d677 /* IOPRIO_CLASS_??? */, 7917)";
-@@ -46,6 +52,7 @@
- 
- 	rc = syscall(__NR_ioprio_get, bogus_which, bogus_who);
- 	errstr = sprintrc(rc);
-+	pidns_print_leader();
- # if XLAT_RAW
- 	printf("ioprio_get(%#x, %d) = %s\n",
- 	       (int) bogus_which, (int) bogus_who, errstr);
-@@ -54,42 +61,52 @@
- 	       (int) bogus_which, (int) bogus_who, errstr);
- # endif
- 
--	rc = syscall(__NR_ioprio_get, 1, 0);
-+	rc = syscall(__NR_ioprio_get, 1, pid);
- 	errstr = sprintrc(rc);
-+	pidns_print_leader();
-+	printf("ioprio_get(");
- # if XLAT_RAW
--	printf("ioprio_get(0x1, 0) = %s\n", errstr);
-+	printf("0x1, ");
-+# elif XLAT_VERBOSE
-+	printf("0x1 /* IOPRIO_WHO_PROCESS */, ");
- # else /* XLAT_ABBREV */
--#  if XLAT_VERBOSE
--	printf("ioprio_get(0x1 /* IOPRIO_WHO_PROCESS */, 0) = %s", errstr);
--#  else
--	printf("ioprio_get(IOPRIO_WHO_PROCESS, 0) = %s", errstr);
--#  endif
-+	printf("IOPRIO_WHO_PROCESS, ");
-+# endif
-+	printf("%d%s) = %s", pid, pidns_pid2str(PT_TGID), errstr);
-+# if !XLAT_RAW
- 	if (rc >= 0) {
- 		printf(" (IOPRIO_PRIO_VALUE(");
- 		printxval(ioprio_class, (unsigned int) rc >> 13,
- 			  "IOPRIO_CLASS_???");
- 		printf(", %u))", (unsigned int) rc & 0x1fff);
- 	}
--	puts("");
- # endif
-+	puts("");
- 
--	rc = syscall(__NR_ioprio_set, 2, 0, 8191);
-+	rc = syscall(__NR_ioprio_set, 2, pgid, 8191);
- 	errstr = sprintrc(rc);
-+	pidns_print_leader();
-+	printf("ioprio_set(");
- # if XLAT_RAW
--	printf("ioprio_set(%#x, 0, 8191) = %s\n", 2, errstr);
-+	printf("%#x", 2);
- # elif XLAT_VERBOSE
--	printf("ioprio_set(%#x /* IOPRIO_WHO_PGRP */, 0, 8191"
--	       " /* IOPRIO_PRIO_VALUE(0 /* IOPRIO_CLASS_NONE */, 8191) */)"
--	       " = %s\n",
--	       2, errstr);
-+	printf("%#x /* IOPRIO_WHO_PGRP */", 2);
- # else /* XLAT_ABBREV */
--	printf("ioprio_set(IOPRIO_WHO_PGRP, 0"
--	       ", IOPRIO_PRIO_VALUE(IOPRIO_CLASS_NONE, 8191)) = %s\n",
--	       errstr);
-+	printf("IOPRIO_WHO_PGRP");
-+# endif
-+	printf(", %d%s", pgid, pidns_pid2str(PT_PGID));
-+# if XLAT_RAW
-+	printf(", 8191)");
-+# elif XLAT_VERBOSE
-+	printf(", 8191 /* IOPRIO_PRIO_VALUE(0 /* IOPRIO_CLASS_NONE */, 8191) */)");
-+# else /* XLAT_ABBREV */
-+	printf(", IOPRIO_PRIO_VALUE(IOPRIO_CLASS_NONE, 8191))");
- # endif
-+	printf(" = %s\n", errstr);
- 
- 	rc = syscall(__NR_ioprio_set, bogus_which, bogus_who, bogus_ioprio);
- 	errstr = sprintrc(rc);
-+	pidns_print_leader();
- # if XLAT_RAW
- 	printf("ioprio_set(%#x, %d, %d) = %s\n",
- 	       (int) bogus_which, (int) bogus_who, (int) bogus_ioprio,
-@@ -104,6 +121,7 @@
- 	       errstr);
- # endif
- 
-+	pidns_print_leader();
- 	puts("+++ exited with 0 +++");
- 
- 	return 0;
-Index: strace-5.7/tests-m32/kcmp-y--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-m32/kcmp-y--pidns-translation.c	2020-09-09 19:52:38.894673629 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "kcmp-y.c"
-Index: strace-5.7/tests-m32/kcmp.c
-===================================================================
---- strace-5.7.orig/tests-m32/kcmp.c	2020-09-09 19:52:30.612668693 +0200
-+++ strace-5.7/tests-m32/kcmp.c	2020-09-09 19:52:38.894673629 +0200
-@@ -9,8 +9,8 @@
-  */
- 
- #include "tests.h"
--
- #include "scno.h"
-+#include "pidns.h"
- 
- #ifdef __NR_kcmp
- 
-@@ -101,7 +101,11 @@
- 	rc = syscall(__NR_kcmp, pid1, pid2, type, idx1, idx2);
- 	errstr = sprintrc(rc);
- 
--	printf("kcmp(%d, %d, ", (int) pid1, (int) pid2);
-+	const char *pid_str = pidns_pid2str(PT_TGID);
-+	pidns_print_leader();
-+	printf("kcmp(%d%s, %d%s, ",
-+		(int) pid1, (int) pid1 == getpid() ? pid_str : "",
-+		(int) pid2, (int) pid2 == getpid() ? pid_str : "");
- 
- 	if (type_str)
- 		printf("%s", type_str);
-@@ -146,6 +150,8 @@
- int
- main(void)
- {
-+	PIDNS_TEST_INIT;
-+
- 	static const kernel_ulong_t bogus_pid1 =
- 		(kernel_ulong_t) 0xdeadca75face1057ULL;
- 	static const kernel_ulong_t bogus_pid2 =
-@@ -221,6 +227,7 @@
- 			(uintptr_t) slot, 1);
- 	}
- 
-+	pidns_print_leader();
- 	puts("+++ exited with 0 +++");
- 
- 	return 0;
-Index: strace-5.7/tests-m32/kill--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-m32/kill--pidns-translation.c	2020-09-09 19:52:38.894673629 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "kill.c"
-Index: strace-5.7/tests-m32/kill.c
-===================================================================
---- strace-5.7.orig/tests-m32/kill.c	2020-09-09 19:52:30.612668693 +0200
-+++ strace-5.7/tests-m32/kill.c	2020-09-09 19:52:38.895673630 +0200
-@@ -11,6 +11,7 @@
- 
- #include "tests.h"
- #include "scno.h"
-+#include "pidns.h"
- 
- #ifdef __NR_kill
- 
-@@ -26,6 +27,8 @@
- int
- main(void)
- {
-+	PIDNS_TEST_INIT;
-+
- 	const struct sigaction act = { .sa_handler = handler };
- 	if (sigaction(SIGALRM, &act, NULL))
- 		perror_msg_and_fail("sigaction");
-@@ -37,18 +40,23 @@
- 		perror_msg_and_fail("sigprocmask");
- 
- 	const int pid = getpid();
-+	const char *pid_str = pidns_pid2str(PT_TGID);
- 	long rc = syscall(__NR_kill, pid, (long) 0xdefaced00000000ULL | SIGALRM);
--	printf("kill(%d, SIGALRM) = %ld\n", pid, rc);
-+	pidns_print_leader();
-+	printf("kill(%d%s, SIGALRM) = %ld\n", pid, pid_str, rc);
- 
- 	const long big_pid = (long) 0xfacefeedbadc0dedULL;
- 	const long big_sig = (long) 0xdeadbeefcafef00dULL;
- 	rc = syscall(__NR_kill, big_pid, big_sig);
-+	pidns_print_leader();
- 	printf("kill(%d, %d) = %ld %s (%m)\n",
- 	       (int) big_pid, (int) big_sig, rc, errno2name());
- 
- 	rc = syscall(__NR_kill, (long) 0xdefaced00000000ULL | pid, 0);
--	printf("kill(%d, 0) = %ld\n", pid, rc);
-+	pidns_print_leader();
-+	printf("kill(%d%s, 0) = %ld\n", pid, pid_str, rc);
- 
-+	pidns_print_leader();
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests-m32/migrate_pages--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-m32/migrate_pages--pidns-translation.c	2020-09-09 19:52:38.895673630 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "migrate_pages.c"
-Index: strace-5.7/tests-m32/migrate_pages.c
-===================================================================
---- strace-5.7.orig/tests-m32/migrate_pages.c	2020-09-09 19:52:30.612668693 +0200
-+++ strace-5.7/tests-m32/migrate_pages.c	2020-09-09 19:52:38.895673630 +0200
-@@ -10,6 +10,7 @@
- 
- #include "tests.h"
- #include "scno.h"
-+#include "pidns.h"
- 
- #ifdef __NR_migrate_pages
- 
-@@ -19,11 +20,21 @@
- int
- main(void)
- {
--	const long pid = (long) 0xfacefeedffffffffULL;
-+	PIDNS_TEST_INIT;
-+
-+	const long pid = (long) 0xfacefeed00000000ULL | getpid();
- 	long rc = syscall(__NR_migrate_pages, pid, 0, 0, 0);
--	printf("migrate_pages(%d, 0, NULL, NULL) = %ld %s (%m)\n",
--	       (int) pid, rc, errno2name());
- 
-+	pidns_print_leader();
-+	printf("migrate_pages(%d%s, 0, NULL, NULL) = %ld",
-+		(int) pid, pidns_pid2str(PT_TGID), rc);
-+
-+	if (rc < 0)
-+		printf(" %s (%m)\n", errno2name());
-+	else
-+		printf("\n");
-+
-+	pidns_print_leader();
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests-m32/move_pages--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-m32/move_pages--pidns-translation.c	2020-09-09 19:52:38.895673630 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "move_pages.c"
-Index: strace-5.7/tests-m32/move_pages.c
-===================================================================
---- strace-5.7.orig/tests-m32/move_pages.c	2020-09-09 19:52:30.613668693 +0200
-+++ strace-5.7/tests-m32/move_pages.c	2020-09-09 19:52:38.895673630 +0200
-@@ -10,6 +10,7 @@
- 
- #include "tests.h"
- #include "scno.h"
-+#include "pidns.h"
- 
- #ifdef __NR_move_pages
- 
-@@ -122,15 +123,20 @@
- }
- 
- static void
--print_stat_pages(const unsigned long pid, const unsigned long count,
--		 const void **const pages, int *const status)
-+print_stat_pages(const unsigned long pid,
-+		 const char *pid_str,
-+		 const unsigned long count,
-+		 const void **const pages,
-+		 int *const status)
- {
- 	const unsigned long flags = (unsigned long) 0xfacefeed00000002ULL;
- 
- 	long rc = syscall(__NR_move_pages,
- 			  pid, count, pages, NULL, status, flags);
- 	const char *errstr = sprintrc(rc);
--	printf("move_pages(%d, %lu, ", (int) pid, count);
-+	pidns_print_leader();
-+	printf("move_pages(%d%s, %lu, ", (int) pid, pid_str,
-+		count);
- 	print_page_array(pages, count, 0);
- 	printf(", NULL, ");
- 	if (rc) {
-@@ -152,6 +158,7 @@
- 
- static void
- print_move_pages(const unsigned long pid,
-+		 const char *pid_str,
- 		 unsigned long count,
- 		 const unsigned int offset,
- 		 const void **const pages,
-@@ -164,7 +171,9 @@
- 	long rc = syscall(__NR_move_pages,
- 			  pid, count, pages, nodes, status, flags);
- 	const char *errstr = sprintrc(rc);
--	printf("move_pages(%d, %lu, ", (int) pid, count);
-+	pidns_print_leader();
-+	printf("move_pages(%d%s, %lu, ", (int) pid, pid_str,
-+		count);
- 	print_page_array(pages, count, offset);
- 	printf(", ");
- 	print_node_array(nodes, count, offset);
-@@ -185,8 +194,11 @@
- int
- main(void)
- {
-+	PIDNS_TEST_INIT;
-+
- 	const unsigned long pid =
- 		(unsigned long) 0xfacefeed00000000ULL | getpid();
-+	const char *pid_str = pidns_pid2str(PT_TGID);
- 	unsigned long count = 1;
- 	const unsigned page_size = get_page_size();
- 	const void *const page = tail_alloc(page_size);
-@@ -195,40 +207,41 @@
- 	TAIL_ALLOC_OBJECT_VAR_PTR(int, nodes);
- 	TAIL_ALLOC_OBJECT_VAR_PTR(int, status);
- 
--	print_stat_pages(pid, 0, pages, status);
--	print_move_pages(pid, 0, 0, pages, nodes, status);
--	print_move_pages(pid, 0, 1, pages + 1, nodes + 1, status + 1);
-+	print_stat_pages(pid, pid_str, 0, pages, status);
-+	print_move_pages(pid, pid_str, 0, 0, pages, nodes, status);
-+	print_move_pages(pid, pid_str, 0, 1, pages + 1, nodes + 1, status + 1);
- 
- 	*pages = page;
--	print_stat_pages(pid, count, pages, status);
-+	print_stat_pages(pid, pid_str, count, pages, status);
- 	*nodes = 0xdeadbee1;
--	print_move_pages(pid, count, 0, pages, nodes, status);
--	print_move_pages(pid, count, 1, pages, nodes, status);
-+	print_move_pages(pid, pid_str, count, 0, pages, nodes, status);
-+	print_move_pages(pid, pid_str, count, 1, pages, nodes, status);
- 
- 	++count;
- 	--status;
- 	*(--pages) = efault;
--	print_stat_pages(pid, count, pages, status);
-+	print_stat_pages(pid, pid_str, count, pages, status);
- 	*(--nodes) = 0xdeadbee2;
--	print_move_pages(pid, count, 0, pages, nodes, status);
--	print_move_pages(pid, count, 1, pages, nodes, status);
-+	print_move_pages(pid, pid_str, count, 0, pages, nodes, status);
-+	print_move_pages(pid, pid_str, count, 1, pages, nodes, status);
- 
- 	++count;
- 	--status;
- 	*(--pages) = nodes;
--	print_stat_pages(pid, count, pages, status);
-+	print_stat_pages(pid, pid_str, count, pages, status);
- 	*(--nodes) = 0xdeadbee3;
--	print_move_pages(pid, count, 0, pages, nodes, status);
--	print_move_pages(pid, count, 1, pages, nodes, status);
-+	print_move_pages(pid, pid_str, count, 0, pages, nodes, status);
-+	print_move_pages(pid, pid_str, count, 1, pages, nodes, status);
- 
- 	++count;
- 	--status;
- 	*(--pages) = status;
--	print_stat_pages(pid, count, pages, status);
-+	print_stat_pages(pid, pid_str, count, pages, status);
- 	*(--nodes) = 0xdeadbee4;
--	print_move_pages(pid, count, 0, pages, nodes, status);
--	print_move_pages(pid, count, 1, pages, nodes, status);
-+	print_move_pages(pid, pid_str, count, 0, pages, nodes, status);
-+	print_move_pages(pid, pid_str, count, 1, pages, nodes, status);
- 
-+	pidns_print_leader();
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests-m32/net-sockaddr--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-m32/net-sockaddr--pidns-translation.c	2020-09-09 19:52:38.896673630 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "net-sockaddr.c"
-Index: strace-5.7/tests-m32/net-sockaddr.c
-===================================================================
---- strace-5.7.orig/tests-m32/net-sockaddr.c	2020-09-09 19:52:30.614668694 +0200
-+++ strace-5.7/tests-m32/net-sockaddr.c	2020-09-09 19:52:38.896673630 +0200
-@@ -9,6 +9,7 @@
-  */
- 
- #include "tests.h"
-+#include "pidns.h"
- #include <stddef.h>
- #include <stdio.h>
- #include <string.h>
-@@ -40,18 +41,21 @@
- 	memset(un->sun_path, '0', sizeof(un->sun_path));
- 	unsigned int len = sizeof(*un);
- 	int ret = connect(-1, (void *) un, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_UNIX, sun_path=\"%.*u\"}"
- 	       ", %u) = %d EBADF (%m)\n",
- 	       (int) sizeof(un->sun_path), 0, len, ret);
- 
- 	un->sun_path[1] = 0;
- 	ret = connect(-1, (void *) un, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_UNIX, sun_path=\"%u\"}, %u)"
- 	       " = %d EBADF (%m)\n", 0, len, ret);
- 
- 	un->sun_path[0] = 0;
- 	un->sun_path[2] = 1;
- 	ret = connect(-1, (void *) un, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_UNIX, sun_path=@\"\\0\\001%.*u\"}"
- 	       ", %u) = %d EBADF (%m)\n",
- 	       (int) sizeof(un->sun_path) - 3, 0, len, ret);
-@@ -61,12 +65,14 @@
- 	memset(un->sun_path, '0', sizeof(un->sun_path));
- 	len = sizeof(*un) + 2;
- 	ret = connect(-1, (void *) un, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_UNIX, sun_path=\"%.*u\"}"
- 	       ", %u) = %d EBADF (%m)\n",
- 	       (int) sizeof(un->sun_path), 0, len, ret);
- 
- 	un->sun_path[0] = 0;
- 	ret = connect(-1, (void *) un, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_UNIX, sun_path=@\"%.*u\"}"
- 	       ", %u) = %d EBADF (%m)\n",
- 	       (int) sizeof(un->sun_path) - 1, 0, len, ret);
-@@ -75,18 +81,21 @@
- 	un->sun_family = AF_UNIX;
- 	len = sizeof(*un) - 2;
- 	ret = connect(-1, (void *) un, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_UNIX, sun_path=\"%.*u\"}"
- 	       ", %u) = %d EBADF (%m)\n",
- 	       (int) sizeof(un->sun_path) - 2, 0, len, ret);
- 
- 	un->sun_path[0] = 0;
- 	ret = connect(-1, (void *) un, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_UNIX, sun_path=@\"%.*u\"}"
- 	       ", %u) = %d EBADF (%m)\n",
- 	       (int) sizeof(un->sun_path) - 3, 0, len, ret);
- 
- 	len = sizeof(*un);
- 	ret = connect(-1, (void *) un, len);
-+	pidns_print_leader();
- 	printf("connect(-1, %p, %u) = %d EBADF (%m)\n", un, len, ret);
- 
- 	un = tail_alloc(sizeof(struct sockaddr_storage));
-@@ -94,12 +103,14 @@
- 	memset(un->sun_path, '0', sizeof(un->sun_path));
- 	len = sizeof(struct sockaddr_storage) + 1;
- 	ret = connect(-1, (void *) un, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_UNIX, sun_path=\"%.*u\"}"
- 	       ", %u) = %d EBADF (%m)\n",
- 	       (int) sizeof(un->sun_path), 0, len, ret);
- 
- 	un->sun_path[0] = 0;
- 	ret = connect(-1, (void *) un, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_UNIX, sun_path=@\"%.*u\"}"
- 	       ", %u) = %d EBADF (%m)\n",
- 	       (int) sizeof(un->sun_path) - 1, 0, len, ret);
-@@ -117,6 +128,7 @@
- 	in->sin_addr.s_addr = inet_addr(h_addr);
- 	unsigned int len = sizeof(*in);
- 	int ret = connect(-1, (void *) in, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_INET, sin_port=htons(%hu)"
- 	       ", sin_addr=inet_addr(\"%s\")}, %u) = %d EBADF (%m)\n",
- 	       h_port, h_addr, len, ret);
-@@ -127,6 +139,7 @@
- 	in->sin_addr.s_addr = inet_addr(h_addr);
- 	len = sizeof(*in) + 4;
- 	ret = connect(-1, (void *) in, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_INET, sin_port=htons(%hu)"
- 	       ", sin_addr=inet_addr(\"%s\")}, %u) = %d EBADF (%m)\n",
- 	       h_port, h_addr, len, ret);
-@@ -137,6 +150,7 @@
- 	in->sin_addr.s_addr = 0;
- 	len = sizeof(*in) - 4;
- 	ret = connect(-1, (void *) in, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_INET, sa_data=\"%s\"}, %u)"
- 	       " = %d EBADF (%m)\n",
- 	       "\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377",
-@@ -144,6 +158,7 @@
- 
- 	len = sizeof(*in);
- 	ret = connect(-1, (void *) in, len);
-+	pidns_print_leader();
- 	printf("connect(-1, %p, %u) = %d EBADF (%m)\n", in, len, ret);
- }
- 
-@@ -155,6 +170,7 @@
- 	in6->sin6_scope_id = 0xfacefeed;
- 	unsigned int len = sizeof(*in6);
- 	int ret = connect(-1, (void *) in6, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_INET6, sin6_port=htons(%hu)"
- 	       ", sin6_flowinfo=htonl(%u)"
- 	       ", inet_pton(AF_INET6, \"%s\", &sin6_addr)"
-@@ -166,7 +182,8 @@
- 	in6->sin6_scope_id = ifindex_lo();
- 	if (in6->sin6_scope_id) {
- 		ret = connect(-1, (void *) in6, len);
--		printf("connect(-1, {sa_family=AF_INET6, sin6_port=htons(%hu)"
-+		pidns_print_leader();
-+	printf("connect(-1, {sa_family=AF_INET6, sin6_port=htons(%hu)"
- 		       ", sin6_flowinfo=htonl(%u)"
- 		       ", inet_pton(AF_INET6, \"%s\", &sin6_addr)"
- 		       ", sin6_scope_id=%s}, %u)"
-@@ -191,6 +208,7 @@
- 	in6->sin6_scope_id = 0xfacefeed;
- 	unsigned int len = sizeof(*in6);
- 	int ret = connect(-1, (void *) in6, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_INET6, sin6_port=htons(%hu)"
- 	       ", sin6_flowinfo=htonl(%u)"
- 	       ", inet_pton(AF_INET6, \"%s\", &sin6_addr)"
-@@ -209,6 +227,7 @@
- 	in6->sin6_scope_id = 0xfacefeed;
- 	len = sizeof(*in6) + 4;
- 	ret = connect(-1, (void *) in6, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_INET6, sin6_port=htons(%hu)"
- 	       ", sin6_flowinfo=htonl(%u)"
- 	       ", inet_pton(AF_INET6, \"%s\", &sin6_addr)"
-@@ -223,6 +242,7 @@
- 	inet_pton(AF_INET6, h_addr, &in6->sin6_addr);
- 	len = sizeof(*in6) - sizeof(in6->sin6_scope_id);
- 	ret = connect(-1, (void *) in6, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_INET6, sin6_port=htons(%hu)"
- 	       ", sin6_flowinfo=htonl(%u)"
- 	       ", inet_pton(AF_INET6, \"%s\", &sin6_addr)}, %u)"
-@@ -236,6 +256,7 @@
- 	memset(&in6->sin6_addr, '0', sizeof(in6->sin6_addr) - 4);
- 	len = sizeof(*in6) - sizeof(in6->sin6_scope_id) - 4;
- 	ret = connect(-1, (void *) in6, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_INET6"
- 	       ", sa_data=\"\\0\\0\\0\\0\\0\\000%.*u\"}, %u)"
- 	       " = %d EBADF (%m)\n",
-@@ -244,6 +265,7 @@
- 
- 	len = sizeof(*in6) - sizeof(in6->sin6_scope_id);
- 	ret = connect(-1, (void *) in6, len);
-+	pidns_print_leader();
- 	printf("connect(-1, %p, %u) = %d EBADF (%m)\n", in6, len, ret);
- }
- 
-@@ -262,6 +284,7 @@
- 	void *ipx = tail_memdup(&c_ipx, sizeof(c_ipx));
- 	unsigned int len = sizeof(c_ipx);
- 	int ret = connect(-1, ipx, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_IPX, sipx_port=htons(%u)"
- 	       ", sipx_network=htonl(%#x)"
- 	       ", sipx_node=[%#02x, %#02x, %#02x, %#02x, %#02x, %#02x]"
-@@ -316,18 +339,21 @@
- 	fill_memory(sax, size);
- 	sax->fsa_ax25.sax25_family = AF_AX25;
- 	rc = connect(-1, sax_void, sizeof(struct sockaddr_ax25) - 1);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_AX25, sa_data=\"\\202\\203\\204\\205"
- 	       "\\206\\207\\210\\211\\212\\213\\214\\215\\216\"}, %zu) = %s\n",
- 	       sizeof(struct sockaddr_ax25) - 1, sprintrc(rc));
- 
- 	memcpy(sax, &ax25, sizeof(ax25));
- 	rc = connect(-1, sax_void, sizeof(struct sockaddr_ax25));
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_AX25, fsa_ax25={sax25_call=VALID-13"
- 	       ", sax25_ndigis=8}, fsa_digipeater=[/* ??? */]}, %zu) = %s\n",
- 	       sizeof(struct sockaddr_ax25), sprintrc(rc));
- 
- 	sax->fsa_ax25.sax25_ndigis = 0;
- 	rc = connect(-1, sax_void, sizeof(struct sockaddr_ax25));
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_AX25, sax25_call=VALID-13"
- 	       ", sax25_ndigis=0}, %zu) = %s\n",
- 	       sizeof(struct sockaddr_ax25), sprintrc(rc));
-@@ -335,6 +361,7 @@
- 	sax->fsa_ax25.sax25_ndigis = 8;
- 	size = sizeof(struct sockaddr_ax25) + sizeof(ax25_address) * 3 + 1;
- 	rc = connect(-1, sax_void, size);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_AX25, fsa_ax25={sax25_call=VALID-13"
- 	       ", sax25_ndigis=8}, fsa_digipeater"
- 	       "=[{ax25_call=\"\\xa6\\xa0\\x82\\x40\\x86\\x8a\\x00\""
-@@ -348,6 +375,7 @@
- 	sax->fsa_digipeater[2].ax25_call[6] = 0x4;
- 	size = sizeof(struct sockaddr_ax25) + sizeof(ax25_address) * 4;
- 	rc = connect(-1, sax_void, size);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_AX25, fsa_ax25={sax25_call=VALID-13"
- 	       ", sax25_ndigis=8}, fsa_digipeater"
- 	       "=[{ax25_call=\"\\xa6\\xa0\\x82\\x40\\x86\\x8a\\x00\""
-@@ -365,6 +393,7 @@
- 	for (size_t i = 0; i < 3; i++) {
- 		size = sizeof(ax25) + sizeof(ax25_address) * (i / 2);
- 		rc = connect(-1, sax_void, size);
-+		pidns_print_leader();
- 		printf("connect(-1, {sa_family=AF_AX25"
- 		       ", fsa_ax25={sax25_call=VALID-13, sax25_ndigis=%d}"
- 		       ", fsa_digipeater=[VALID2-7, OK-15, %s /* FINE-2 */"
-@@ -427,12 +456,14 @@
- 	long rc;
- 
- 	rc = connect(-1, x25_void, sizeof(c_x25) - 1);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_X25"
- 	       ", sa_data=\"0123456789abcde\"}, %zu) = %s\n",
- 	       sizeof(c_x25) - 1, sprintrc(rc));
- 
- 	for (size_t i = 0; i < 2; i++) {
- 		rc = connect(-1, x25_void, sizeof(c_x25) + i);
-+		pidns_print_leader();
- 		printf("connect(-1, {sa_family=AF_X25"
- 		       ", sx25_addr={x25_addr=\"0123456789abcde\"...}"
- 		       "}, %zu) = %s\n",
-@@ -442,6 +473,7 @@
- 	struct sockaddr_x25 *const x25 = x25_void;
- 	x25->sx25_addr.x25_addr[10] = '\0';
- 	rc = connect(-1, x25_void, sizeof(c_x25));
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_X25"
- 	       ", sx25_addr={x25_addr=\"0123456789\"}"
- 	       "}, %zu) = %s\n",
-@@ -457,19 +489,21 @@
- 	nl->nl_groups = 0xfacefeed;
- 	unsigned int len = sizeof(*nl);
- 	int ret = connect(-1, (void *) nl, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_NETLINK, nl_pid=%d"
- 	       ", nl_groups=%#08x}, %u) = %d EBADF (%m)\n",
- 	       nl->nl_pid, nl->nl_groups, len, ret);
- 
- 	nl = ((void *) nl) - 4;
- 	nl->nl_family = AF_NETLINK;
--	nl->nl_pid = 1234567890;
-+	nl->nl_pid = getpid();
- 	nl->nl_groups = 0xfacefeed;
- 	len = sizeof(*nl) + 4;
- 	ret = connect(-1, (void *) nl, len);
--	printf("connect(-1, {sa_family=AF_NETLINK, nl_pid=%d"
-+	pidns_print_leader();
-+	printf("connect(-1, {sa_family=AF_NETLINK, nl_pid=%d%s"
- 	       ", nl_groups=%#08x}, %u) = %d EBADF (%m)\n",
--	       nl->nl_pid, nl->nl_groups, len, ret);
-+	       nl->nl_pid, pidns_pid2str(PT_TGID), nl->nl_groups, len, ret);
- }
- 
- static void
-@@ -487,6 +521,7 @@
- 	void *ll = tail_memdup(&c_ll, sizeof(c_ll));
- 	unsigned int len = sizeof(c_ll);
- 	int ret = connect(-1, ll, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_PACKET"
- 	       ", sll_protocol=htons(ETH_P_ALL)"
- 	       ", sll_ifindex=%u, sll_hatype=ARPHRD_ETHER"
-@@ -502,6 +537,7 @@
- 
- 	((struct sockaddr_ll *) ll)->sll_halen++;
- 	ret = connect(-1, ll, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_PACKET"
- 	       ", sll_protocol=htons(ETH_P_ALL)"
- 	       ", sll_ifindex=%u, sll_hatype=ARPHRD_ETHER"
-@@ -517,6 +553,7 @@
- 
- 	((struct sockaddr_ll *) ll)->sll_halen = 0;
- 	ret = connect(-1, ll, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_PACKET"
- 	       ", sll_protocol=htons(ETH_P_ALL)"
- 	       ", sll_ifindex=%u, sll_hatype=ARPHRD_ETHER"
-@@ -526,6 +563,7 @@
- 	((struct sockaddr_ll *) ll)->sll_ifindex = ifindex_lo();
- 	if (((struct sockaddr_ll *) ll)->sll_ifindex) {
- 		ret = connect(-1, ll, len);
-+	pidns_print_leader();
- 		printf("connect(-1, {sa_family=AF_PACKET"
- 		       ", sll_protocol=htons(ETH_P_ALL)"
- 		       ", sll_ifindex=%s"
-@@ -549,11 +587,13 @@
- 	unsigned int len = sizeof(*hci);
- 
- 	int ret = connect(-1, (void *) hci, 4);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_BLUETOOTH, hci_dev=htobs(%hu)"
- 	       "}, 4) = %d EBADF (%m)\n",
- 	       h_port, ret);
- 
- 	ret = connect(-1, (void *) hci, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_BLUETOOTH, hci_dev=htobs(%hu)"
- # ifdef HAVE_STRUCT_SOCKADDR_HCI_HCI_CHANNEL
- 	       ", hci_channel=HCI_CHANNEL_RAW"
-@@ -572,6 +612,7 @@
- 	void *sco = tail_memdup(&c_sco, sizeof(c_sco));
- 	unsigned int len = sizeof(c_sco);
- 	int ret = connect(-1, sco, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_BLUETOOTH"
- 	       ", sco_bdaddr=%02x:%02x:%02x:%02x:%02x:%02x"
- 	       "}, %u) = %d EBADF (%m)\n",
-@@ -592,6 +633,7 @@
- 	void *rc = tail_memdup(&c_rc, sizeof(c_rc));
- 	unsigned int len = sizeof(c_rc);
- 	int ret = connect(-1, rc, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_BLUETOOTH"
- 	       ", rc_bdaddr=%02x:%02x:%02x:%02x:%02x:%02x"
- 	       ", rc_channel=%u}, %u) = %d EBADF (%m)\n",
-@@ -619,6 +661,7 @@
- 	unsigned int len = sizeof(c_l2);
- 
- 	int ret = connect(-1, l2, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_BLUETOOTH"
- 	       ", l2_psm=htobs(L2CAP_PSM_DYN_START + %hu)"
- 	       ", l2_bdaddr=%02x:%02x:%02x:%02x:%02x:%02x"
-@@ -640,6 +683,7 @@
- # endif
- 	memcpy(l2, &c_l2, sizeof(c_l2));
- 	ret = connect(-1, l2, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_BLUETOOTH"
- 	       ", l2_psm=htobs(L2CAP_PSM_SDP)"
- 	       ", l2_bdaddr=%02x:%02x:%02x:%02x:%02x:%02x"
-@@ -660,6 +704,7 @@
- # endif
- 	memcpy(l2, &c_l2, sizeof(c_l2));
- 	ret = connect(-1, l2, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_BLUETOOTH"
- 	       ", l2_psm=htobs(0xbad /* L2CAP_PSM_??? */)"
- 	       ", l2_bdaddr=%02x:%02x:%02x:%02x:%02x:%02x"
-@@ -677,6 +722,7 @@
- 	c_l2.l2_cid = htobs(0xffff);
- 	memcpy(l2, &c_l2, 12);
- 	ret = connect(-1, l2, 12);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_BLUETOOTH"
- 	       ", l2_psm=htobs(L2CAP_PSM_AUTO_END)"
- 	       ", l2_bdaddr=%02x:%02x:%02x:%02x:%02x:%02x"
-@@ -700,6 +746,7 @@
- 	u.sa->sa_family = 0xff;
- 	unsigned int len = sizeof(*u.st) + 8;
- 	int ret = connect(-1, (void *) u.st, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=%#x /* AF_??? */, sa_data=\"%.*u\"}"
- 	       ", %u) = %d EBADF (%m)\n", u.sa->sa_family,
- 	       (int) (sizeof(*u.st) - sizeof(u.sa->sa_family)), 0, len, ret);
-@@ -707,11 +754,13 @@
- 	u.sa->sa_family = 0;
- 	len = sizeof(u.sa->sa_family) + 1;
- 	ret = connect(-1, (void *) u.st, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_UNSPEC, sa_data=\"0\"}, %u)"
- 	       " = %d EBADF (%m)\n", len, ret);
- 
- 	u.sa->sa_family = AF_BLUETOOTH;
- 	ret = connect(-1, (void *) u.st, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_BLUETOOTH, sa_data=\"0\"}, %u)"
- 	       " = %d EBADF (%m)\n", len, ret);
- }
-@@ -719,6 +768,8 @@
- int
- main(void)
- {
-+	PIDNS_TEST_INIT;
-+
- 	check_un();
- 	check_in();
- 	check_in6();
-@@ -735,6 +786,7 @@
- #endif
- 	check_raw();
- 
-+	pidns_print_leader();
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests-m32/netlink_audit--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-m32/netlink_audit--pidns-translation.c	2020-09-09 19:52:38.896673630 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "netlink_audit.c"
-Index: strace-5.7/tests-m32/netlink_audit--pidns-translation.test
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-m32/netlink_audit--pidns-translation.test	2020-09-09 19:52:38.897673631 +0200
-@@ -0,0 +1,13 @@
-+#!/bin/sh
-+#
-+# Check pidns translation of NETLINK_SOCK_DIAG protocol decoding
-+#
-+# Copyright (c) 2020 The strace developers.
-+# All rights reserved.
-+#
-+# SPDX-License-Identifier: LGPL-2.1-or-later
-+
-+. "${srcdir=.}/init.sh"
-+
-+run_prog ../netlink_netlink_diag
-+test_pidns -e trace=sendto "$@"
-Index: strace-5.7/tests-m32/netlink_audit.c
-===================================================================
---- strace-5.7.orig/tests-m32/netlink_audit.c	2020-09-09 19:52:30.615668694 +0200
-+++ strace-5.7/tests-m32/netlink_audit.c	2020-09-09 19:52:38.897673631 +0200
-@@ -7,6 +7,7 @@
-  */
- 
- #include "tests.h"
-+#include "pidns.h"
- #include <stdio.h>
- #include <string.h>
- #include <unistd.h>
-@@ -17,18 +18,23 @@
- static void
- test_nlmsg_type(const int fd)
- {
-+	PIDNS_TEST_INIT;
-+
- 	long rc;
- 	struct nlmsghdr nlh = {
- 		.nlmsg_len = sizeof(nlh),
- 		.nlmsg_type = AUDIT_GET,
- 		.nlmsg_flags = NLM_F_REQUEST,
-+		.nlmsg_pid = getpid(),
- 	};
- 
- 	rc = sendto(fd, &nlh, sizeof(nlh), MSG_DONTWAIT, NULL, 0);
-+	pidns_print_leader();
- 	printf("sendto(%d, {len=%u, type=AUDIT_GET"
--	       ", flags=NLM_F_REQUEST, seq=0, pid=0}"
-+	       ", flags=NLM_F_REQUEST, seq=0, pid=%d%s}"
- 	       ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
--	       fd, nlh.nlmsg_len, (unsigned) sizeof(nlh), sprintrc(rc));
-+	       fd, nlh.nlmsg_len, nlh.nlmsg_pid, pidns_pid2str(PT_TGID),
-+	       (unsigned) sizeof(nlh), sprintrc(rc));
- }
- 
- int main(void)
-@@ -39,6 +45,7 @@
- 
- 	test_nlmsg_type(fd);
- 
-+	pidns_print_leader();
- 	printf("+++ exited with 0 +++\n");
- 
- 	return 0;
-Index: strace-5.7/tests-m32/pidfd_open--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-m32/pidfd_open--pidns-translation.c	2020-09-09 19:52:38.897673631 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "pidfd_open.c"
-Index: strace-5.7/tests-m32/pidfd_open.c
-===================================================================
---- strace-5.7.orig/tests-m32/pidfd_open.c	2020-09-09 19:52:30.615668694 +0200
-+++ strace-5.7/tests-m32/pidfd_open.c	2020-09-09 19:52:38.897673631 +0200
-@@ -10,6 +10,7 @@
- 
- #include "tests.h"
- #include "scno.h"
-+#include "pidns.h"
- 
- #ifdef __NR_pidfd_open
- 
-@@ -37,6 +38,8 @@
- int
- main(void)
- {
-+	PIDNS_TEST_INIT;
-+
- # if defined PATH_TRACING || defined PRINT_PATHS
- 	skip_if_unavailable("/proc/self/fd/");
- # endif
-@@ -50,16 +53,19 @@
- 
- 	k_pidfd_open(0, 0);
- # ifndef PATH_TRACING
-+	pidns_print_leader();
- 	printf("pidfd_open(0, 0) = %s\n", errstr);
- # endif
- 
- 	k_pidfd_open(-1U, 0);
- # ifndef PATH_TRACING
-+	pidns_print_leader();
- 	printf("pidfd_open(-1, 0) = %s\n", errstr);
- # endif
- 
- 	k_pidfd_open(0, -1U);
- # ifndef PATH_TRACING
-+	pidns_print_leader();
- 	printf("pidfd_open(0, %#x) = %s\n", -1U, errstr);
- # endif
- 
-@@ -68,7 +74,10 @@
- 
- 	k_pidfd_open(pid, flags);
- # ifndef PATH_TRACING
--	printf("pidfd_open(%d, %#x) = %s\n", pid, flags, errstr);
-+	const char *pid_str = pidns_pid2str(PT_TGID);
-+	pidns_print_leader();
-+	printf("pidfd_open(%d%s, %#x) = %s\n",
-+		pid, pid_str, flags, errstr);
- # endif
- 
- # ifdef PRINT_PATHS
-@@ -80,17 +89,19 @@
- # endif
- 
- # ifndef PATH_TRACING
--	printf("pidfd_open(%d, 0) = "
-+	pidns_print_leader();
-+	printf("pidfd_open(%d%s, 0) = "
- #  if defined PRINT_PIDFD
--	       "%ld<pid:%d>\n", pid, rc, pid
-+	       "%ld<pid:%d>\n", pid, pid_str, rc, pid
- #  elif defined PRINT_PATHS
--	       "%ld<anon_inode:[pidfd]>\n", pid, rc
-+	       "%ld<anon_inode:[pidfd]>\n", pid, pid_str, rc
- #  else
--	       "%s\n", pid, errstr
-+	       "%s\n", pid, pid_str, errstr
- #  endif
- 	       );
- # endif
- 
-+	pidns_print_leader();
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests-m32/pidfd_send_signal--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-m32/pidfd_send_signal--pidns-translation.c	2020-09-09 19:52:38.897673631 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "pidfd_send_signal.c"
-Index: strace-5.7/tests-m32/pidfd_send_signal.c
-===================================================================
---- strace-5.7.orig/tests-m32/pidfd_send_signal.c	2020-09-09 19:52:30.615668694 +0200
-+++ strace-5.7/tests-m32/pidfd_send_signal.c	2020-09-09 19:52:38.898673631 +0200
-@@ -10,6 +10,7 @@
- #include "tests.h"
- #include <unistd.h>
- #include "scno.h"
-+#include "pidns.h"
- 
- #ifdef __NR_pidfd_send_signal
- 
-@@ -36,6 +37,8 @@
- int
- main(void)
- {
-+	PIDNS_TEST_INIT;
-+
- 	static const char null_path[] = "/dev/null";
- 
- 	int fd = open(null_path, O_RDONLY);
-@@ -46,19 +49,23 @@
- 	const void *esi = (const void *) si + 1;
- 
- 	sys_pidfd_send_signal(fd, SIGUSR1, esi, 0);
-+	pidns_print_leader();
- 	printf("pidfd_send_signal(%d, SIGUSR1, %p, 0) = %s\n",
- 	       fd, esi, errstr);
- 
- 	si->si_signo = SIGUSR1;
- 	si->si_code = SI_QUEUE;
-+	si->si_pid = getpid();
- 
- 	sys_pidfd_send_signal(fd, SIGUSR2, si, -1);
-+	pidns_print_leader();
- 	printf("pidfd_send_signal(%d, SIGUSR2, {si_signo=SIGUSR1"
--	       ", si_code=SI_QUEUE, si_errno=%u, si_pid=%d, si_uid=%d"
-+	       ", si_code=SI_QUEUE, si_errno=%u, si_pid=%d%s, si_uid=%d"
- 	       ", si_value={int=%d, ptr=%p}}, %#x) = %s\n",
--	       fd, si->si_errno, si->si_pid, si->si_uid, si->si_int, si->si_ptr,
--	       -1U, errstr);
-+	       fd, si->si_errno, si->si_pid, pidns_pid2str(PT_TGID), si->si_uid,
-+	       si->si_int, si->si_ptr, -1U, errstr);
- 
-+	pidns_print_leader();
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests-m32/pidns-cache.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-m32/pidns-cache.c	2020-09-09 19:52:38.898673631 +0200
-@@ -0,0 +1,62 @@
-+/*
-+ * Copyright (c) 2020 The strace developers.
-+ * All rights reserved.
-+ *
-+ * SPDX-License-Identifier: GPL-2.0-or-later
-+ */
-+
-+#include "tests.h"
-+#include "scno.h"
-+#include "pidns.h"
-+
-+#if defined __NR_getpid && (!defined __NR_getxpid || __NR_getxpid != __NR_getpid)
-+
-+# include <stdio.h>
-+# include <unistd.h>
-+# include <sys/time.h>
-+
-+# define SYSCALL_COUNT 1000
-+
-+/**
-+ * Max ratio of the execution time with and without pidns translation.
-+ */
-+# define MAX_TIME_RATIO 20
-+
-+static long
-+execute_syscalls(void)
-+{
-+	/* Load our PID in the cache */
-+	syscall(__NR_getpid);
-+
-+	struct timeval stop, start;
-+	gettimeofday(&start, NULL);
-+
-+	for (int i = 0; i < SYSCALL_COUNT; i++)
-+	       syscall(__NR_getpid);
-+
-+	gettimeofday(&stop, NULL);
-+
-+	return (stop.tv_usec - start.tv_usec) +
-+		(stop.tv_sec - start.tv_sec) * 1000000;
-+}
-+
-+int
-+main(void)
-+{
-+	long max_us = execute_syscalls() * MAX_TIME_RATIO;
-+
-+	pidns_test_init();
-+
-+	long us = execute_syscalls();
-+	if (us > max_us)
-+		error_msg_and_fail("pidns translation took too long: %ld us "
-+		                   "(max: %ld us)", us, max_us);
-+
-+	return 0;
-+}
-+
-+#else
-+
-+SKIP_MAIN_UNDEFINED("__NR_getpid")
-+
-+#endif
-Index: strace-5.7/tests-m32/pidns-cache.test
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-m32/pidns-cache.test	2020-09-09 19:52:38.898673631 +0200
-@@ -0,0 +1,15 @@
-+#!/bin/sh
-+#
-+# Test pidns translation cache.
-+#
-+# Copyright (c) 2020 The strace developers.
-+# All rights reserved.
-+#
-+# SPDX-License-Identifier: GPL-2.0-or-later
-+
-+. "${srcdir=.}/init.sh"
-+
-+check_prog timeout
-+
-+run_prog > /dev/null
-+run_strace --pidns-translation -f -e trace=getpid $args
-Index: strace-5.7/tests-m32/prlimit64--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-m32/prlimit64--pidns-translation.c	2020-09-09 19:52:38.898673631 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "prlimit64.c"
-Index: strace-5.7/tests-m32/prlimit64.c
-===================================================================
---- strace-5.7.orig/tests-m32/prlimit64.c	2020-09-09 19:52:30.616668695 +0200
-+++ strace-5.7/tests-m32/prlimit64.c	2020-09-09 19:52:38.898673631 +0200
-@@ -19,6 +19,7 @@
- # include <sys/resource.h>
- # include <unistd.h>
- 
-+# include "pidns.h"
- # include "xlat.h"
- # include "xlat/resources.h"
- 
-@@ -42,8 +43,11 @@
- int
- main(void)
- {
-+	PIDNS_TEST_INIT;
-+
- 	unsigned long pid =
- 		(unsigned long) 0xdefaced00000000ULL | (unsigned) getpid();
-+	const char *pid_str = pidns_pid2str(PT_TGID);
- 	uint64_t *const rlimit = tail_alloc(sizeof(*rlimit) * 2);
- 	const struct xlat_data *xlat;
- 	size_t i = 0;
-@@ -54,18 +58,23 @@
- 
- 		unsigned long res = 0xfacefeed00000000ULL | xlat->val;
- 		long rc = syscall(__NR_prlimit64, pid, res, 0, rlimit);
-+		pidns_print_leader();
- 		if (rc)
--			printf("prlimit64(%d, %s, NULL, %p) = %ld %s (%m)\n",
--			       (unsigned) pid, xlat->str, rlimit,
-+			printf("prlimit64(%d%s, %s, NULL, %p) ="
-+				     " %ld %s (%m)\n",
-+			       (unsigned) pid, pid_str,
-+			       xlat->str, rlimit,
- 			       rc, errno2name());
- 		else
--			printf("prlimit64(%d, %s, NULL"
-+			printf("prlimit64(%d%s, %s, NULL"
- 			       ", {rlim_cur=%s, rlim_max=%s}) = 0\n",
--			       (unsigned) pid, xlat->str,
-+			       (unsigned) pid, pid_str,
-+			       xlat->str,
- 			       sprint_rlim(rlimit[0]),
- 			       sprint_rlim(rlimit[1]));
- 	}
- 
-+	pidns_print_leader();
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests-m32/process_vm_readv--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-m32/process_vm_readv--pidns-translation.c	2020-09-09 19:52:38.899673632 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "process_vm_readv.c"
-Index: strace-5.7/tests-m32/process_vm_readv_writev.c
-===================================================================
---- strace-5.7.orig/tests-m32/process_vm_readv_writev.c	2020-09-09 19:52:30.616668695 +0200
-+++ strace-5.7/tests-m32/process_vm_readv_writev.c	2020-09-09 19:52:38.899673632 +0200
-@@ -12,6 +12,7 @@
- #include <stdio.h>
- #include <unistd.h>
- #include <sys/uio.h>
-+#include "pidns.h"
- 
- #if OP_WR
- # define in_iovec  rmt_iovec
-@@ -121,7 +122,7 @@
- }
- 
- static void
--do_call(kernel_ulong_t pid,
-+do_call(kernel_ulong_t pid, enum pid_type pid_type,
- 	kernel_ulong_t local_iov, const char *local_arg,
- 	kernel_ulong_t liovcnt,
- 	kernel_ulong_t remote_iov, const char *remote_arg,
-@@ -135,7 +136,8 @@
- 		flags);
- 	errstr = sprintrc(rc);
- 
--	printf("%s(%d, ", OP_STR, (int) pid);
-+	pidns_print_leader();
-+	printf("%s(%d%s, ", OP_STR, (int) pid, pidns_pid2str(pid_type));
- 
- 	if (pr_iov)
- 		pr_iov((const struct iovec *) (uintptr_t) local_iov, local_arg,
-@@ -164,6 +166,8 @@
- int
- main(void)
- {
-+	PIDNS_TEST_INIT;
-+
- 	enum {
- 		SIZE_11 = 2,
- 		SIZE_12 = 3,
-@@ -243,18 +247,18 @@
- 	fill_memory_ex(data2_out, SIZE_2, SEGM2_BASE, SIZE_2);
- 
- 
--	do_call(bogus_pid, (kernel_ulong_t) (uintptr_t) ARG_STR(NULL),
-+	do_call(bogus_pid, PT_NONE, (kernel_ulong_t) (uintptr_t) ARG_STR(NULL),
- 		bogus_iovcnt1, (kernel_ulong_t) (uintptr_t) ARG_STR(NULL),
- 		bogus_iovcnt2, bogus_flags, NULL);
- 
--	do_call(my_pid, ptr_cast(bogus_iov + ARRAY_SIZE(bogus_iovec)),
-+	do_call(my_pid, PT_TGID, ptr_cast(bogus_iov + ARRAY_SIZE(bogus_iovec)),
- 		"[]", 0, ptr_cast(in_iov + ARRAY_SIZE(in_iovec)), "[]",
- 		0, 0, NULL);
--	do_call(my_pid, ptr_cast(bogus_iov + ARRAY_SIZE(bogus_iovec)), NULL,
--		bogus_iovcnt1, ptr_cast(in_iov + ARRAY_SIZE(in_iovec)), NULL,
--		bogus_iovcnt2, 0, print_iov);
-+	do_call(my_pid, PT_TGID, ptr_cast(bogus_iov + ARRAY_SIZE(bogus_iovec)),
-+		NULL, bogus_iovcnt1, ptr_cast(in_iov + ARRAY_SIZE(in_iovec)),
-+		NULL, bogus_iovcnt2, 0, print_iov);
- 
--	do_call(my_pid, ptr_cast(bogus_iov), (char *) &bogus_arg,
-+	do_call(my_pid, PT_TGID, ptr_cast(bogus_iov), (char *) &bogus_arg,
- 		ARRAY_SIZE(bogus_iovec), ptr_cast(rmt_iov + 2),
- 		(char *) &rmt_arg_cut, ARRAY_SIZE(rmt_iovec) - 2, 0, print_iov);
- 
-@@ -263,7 +267,7 @@
- 	lcl_arg_cut.check_rc = 1;
- #endif
- 
--	do_call(my_pid, ptr_cast(lcl_iov + 2), (char *) &lcl_arg_cut,
-+	do_call(my_pid, PT_TGID, ptr_cast(lcl_iov + 2), (char *) &lcl_arg_cut,
- 		ARRAY_SIZE(lcl_iovec) - 1, ptr_cast(bogus_iov + 2),
- 		(char *) &bogus_arg_cut, ARRAY_SIZE(bogus_iovec) - 1, 0,
- 		print_iov);
-@@ -273,15 +277,16 @@
- 	rmt_arg_cut.addr_term = 1;
- 	rmt_arg_cut.count = 5;
- 
--	do_call(my_pid, ptr_cast(lcl_iov + 2), (char *) &lcl_arg_cut,
-+	do_call(my_pid, PT_TGID, ptr_cast(lcl_iov + 2), (char *) &lcl_arg_cut,
- 		ARRAY_SIZE(lcl_iovec) - 2, ptr_cast(rmt_iov + 1),
- 		(char *) &rmt_arg_cut, ARRAY_SIZE(rmt_iovec), 0, print_iov);
- 
- 	/* Correct call */
--	do_call(my_pid, ptr_cast(lcl_iov), (char *) &lcl_arg,
-+	do_call(my_pid, PT_TGID, ptr_cast(lcl_iov), (char *) &lcl_arg,
- 		ARRAY_SIZE(lcl_iovec), ptr_cast(rmt_iov), (char *) &rmt_arg,
- 		ARRAY_SIZE(rmt_iovec), 0, print_iov);
- 
-+	pidns_print_leader();
- 	puts("+++ exited with 0 +++");
- 
- 	return 0;
-Index: strace-5.7/tests-m32/process_vm_writev--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-m32/process_vm_writev--pidns-translation.c	2020-09-09 19:52:38.899673632 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "process_vm_writev.c"
-Index: strace-5.7/tests-m32/rt_sigqueueinfo--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-m32/rt_sigqueueinfo--pidns-translation.c	2020-09-09 19:52:38.899673632 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "rt_sigqueueinfo.c"
-Index: strace-5.7/tests-m32/rt_sigqueueinfo.c
-===================================================================
---- strace-5.7.orig/tests-m32/rt_sigqueueinfo.c	2020-09-09 19:52:30.617668695 +0200
-+++ strace-5.7/tests-m32/rt_sigqueueinfo.c	2020-09-09 19:52:38.899673632 +0200
-@@ -7,6 +7,7 @@
-  */
- 
- #include "tests.h"
-+#include "pidns.h"
- #include <assert.h>
- #include <stdio.h>
- #include <signal.h>
-@@ -15,6 +16,8 @@
- int
- main(void)
- {
-+	PIDNS_TEST_INIT;
-+
- 	struct sigaction sa = {
- 		.sa_handler = SIG_IGN
- 	};
-@@ -22,15 +25,19 @@
- 		.sival_ptr = (void *) (unsigned long) 0xdeadbeefbadc0dedULL
- 	};
- 	pid_t pid = getpid();
-+	const char *pid_str = pidns_pid2str(PT_TGID);
- 
- 	assert(sigaction(SIGUSR1, &sa, NULL) == 0);
- 	if (sigqueue(pid, SIGUSR1, value))
- 		perror_msg_and_skip("sigqueue");
--	printf("rt_sigqueueinfo(%u, SIGUSR1, {si_signo=SIGUSR1, "
--		"si_code=SI_QUEUE, si_pid=%d, si_uid=%d, "
-+	pidns_print_leader();
-+	printf("rt_sigqueueinfo(%d%s, SIGUSR1, {si_signo=SIGUSR1, "
-+		"si_code=SI_QUEUE, si_pid=%d%s, si_uid=%u, "
- 		"si_value={int=%d, ptr=%p}}) = 0\n",
--		pid, pid, getuid(), value.sival_int, value.sival_ptr);
--	printf("+++ exited with 0 +++\n");
-+		pid, pid_str, pid, pid_str,
-+		getuid(), value.sival_int, value.sival_ptr);
-+	pidns_print_leader();
-+	puts("+++ exited with 0 +++");
- 
- 	return 0;
- }
-Index: strace-5.7/tests-m32/rt_tgsigqueueinfo--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-m32/rt_tgsigqueueinfo--pidns-translation.c	2020-09-09 19:52:38.900673633 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "rt_tgsigqueueinfo.c"
-Index: strace-5.7/tests-m32/rt_tgsigqueueinfo.c
-===================================================================
---- strace-5.7.orig/tests-m32/rt_tgsigqueueinfo.c	2020-09-09 19:52:30.617668695 +0200
-+++ strace-5.7/tests-m32/rt_tgsigqueueinfo.c	2020-09-09 19:52:38.900673633 +0200
-@@ -10,8 +10,9 @@
- 
- #include "tests.h"
- #include "scno.h"
-+#include "pidns.h"
- 
--#ifdef __NR_rt_tgsigqueueinfo
-+#if defined __NR_rt_tgsigqueueinfo && defined __NR_gettid
- 
- # include <errno.h>
- # include <signal.h>
-@@ -20,11 +21,11 @@
- # include <unistd.h>
- 
- static long
--k_tgsigqueueinfo(const pid_t pid, const int sig, const void *const info)
-+k_tgsigqueueinfo(const pid_t tgid, const int tid, const int sig, const void *const info)
- {
- 	return syscall(__NR_rt_tgsigqueueinfo,
--		       F8ILL_KULONG_MASK | pid,
--		       F8ILL_KULONG_MASK | pid,
-+		       F8ILL_KULONG_MASK | tgid,
-+		       F8ILL_KULONG_MASK | tid,
- 		       F8ILL_KULONG_MASK | sig,
- 		       info);
- }
-@@ -32,6 +33,8 @@
- int
- main(void)
- {
-+	PIDNS_TEST_INIT;
-+
- 	const struct sigaction sa = {
- 		.sa_handler = SIG_IGN
- 	};
-@@ -48,17 +51,22 @@
- 	info->si_value.sival_ptr =
- 		(void *) (unsigned long) 0xdeadbeeffacefeedULL;
- 
--	if (k_tgsigqueueinfo(info->si_pid, SIGUSR1, info))
-+	if (k_tgsigqueueinfo(getpid(), syscall(__NR_gettid), SIGUSR1, info))
- 		(errno == ENOSYS ? perror_msg_and_skip : perror_msg_and_fail)(
- 			"rt_tgsigqueueinfo");
- 
--	printf("rt_tgsigqueueinfo(%u, %u, %s, {si_signo=%s"
--		", si_code=SI_QUEUE, si_errno=ENOENT, si_pid=%d"
-+	pidns_print_leader();
-+	printf("rt_tgsigqueueinfo(%d%s, %d%s, %s, {si_signo=%s"
-+		", si_code=SI_QUEUE, si_errno=ENOENT, si_pid=%d%s"
- 		", si_uid=%d, si_value={int=%d, ptr=%p}}) = 0\n",
--		info->si_pid, info->si_pid, "SIGUSR1", "SIGUSR1",
--		info->si_pid, info->si_uid, info->si_value.sival_int,
-+		info->si_pid, pidns_pid2str(PT_TGID),
-+		info->si_pid, pidns_pid2str(PT_TID),
-+		"SIGUSR1", "SIGUSR1",
-+		info->si_pid, pidns_pid2str(PT_TGID),
-+		info->si_uid, info->si_value.sival_int,
- 		info->si_value.sival_ptr);
- 
-+	pidns_print_leader();
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests-m32/sched_xetaffinity--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-m32/sched_xetaffinity--pidns-translation.c	2020-09-09 19:52:38.900673633 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "sched_xetaffinity.c"
-Index: strace-5.7/tests-m32/sched_xetaffinity.c
-===================================================================
---- strace-5.7.orig/tests-m32/sched_xetaffinity.c	2020-09-09 19:52:30.618668696 +0200
-+++ strace-5.7/tests-m32/sched_xetaffinity.c	2020-09-09 19:52:38.900673633 +0200
-@@ -10,6 +10,7 @@
- 
- #include "tests.h"
- #include "scno.h"
-+#include "pidns.h"
- #include <sched.h>
- 
- #if defined __NR_sched_getaffinity && defined __NR_sched_setaffinity \
-@@ -41,8 +42,11 @@
- int
- main(void)
- {
-+	PIDNS_TEST_INIT;
-+
- 	unsigned int cpuset_size = 1;
- 	const pid_t pid = getpid();
-+	const char *pid_str = pidns_pid2str(PT_TGID);
- 
- 	while (cpuset_size) {
- 		assert(getaffinity(pid, cpuset_size, NULL) == -1);
-@@ -50,18 +54,21 @@
- 			break;
- 		if (EINVAL != errno)
- 			perror_msg_and_skip("sched_getaffinity");
--		printf("sched_getaffinity(%d, %u, NULL) = %s\n",
--		       pid, cpuset_size, errstr);
-+		pidns_print_leader();
-+		printf("sched_getaffinity(%d%s, %u, NULL) = %s\n",
-+		       pid, pid_str, cpuset_size, errstr);
- 		cpuset_size <<= 1;
- 	}
- 	assert(cpuset_size);
--	printf("sched_getaffinity(%d, %u, NULL) = %s\n",
--	       pid, cpuset_size, errstr);
-+	pidns_print_leader();
-+	printf("sched_getaffinity(%d%s, %u, NULL) = %s\n",
-+	       pid, pid_str, cpuset_size, errstr);
- 
- 	cpu_set_t *cpuset = tail_alloc(cpuset_size);
- 	getaffinity(pid, cpuset_size, cpuset + 1);
--	printf("sched_getaffinity(%d, %u, %p) = %s\n",
--	       pid, cpuset_size, cpuset + 1, errstr);
-+	pidns_print_leader();
-+	printf("sched_getaffinity(%d%s, %u, %p) = %s\n",
-+	       pid, pid_str, cpuset_size, cpuset + 1, errstr);
- 
- 	int ret_size = getaffinity(pid, cpuset_size, cpuset);
- 	if (ret_size < 0)
-@@ -69,7 +76,8 @@
- 				    pid, (unsigned) cpuset_size, cpuset, errstr);
- 	assert(ret_size <= (int) cpuset_size);
- 
--	printf("sched_getaffinity(%d, %u, [", pid, cpuset_size);
-+	pidns_print_leader();
-+	printf("sched_getaffinity(%d%s, %u, [", pid, pid_str, cpuset_size);
- 	const char *sep;
- 	unsigned int i, cpu;
- 	for (i = 0, cpu = 0, sep = ""; i < (unsigned) ret_size * 8; ++i) {
-@@ -85,8 +93,9 @@
- 	CPU_SET_S(cpu, cpuset_size, cpuset);
- 	if (setaffinity(pid, cpuset_size, cpuset))
- 		perror_msg_and_skip("sched_setaffinity");
--	printf("sched_setaffinity(%d, %u, [%u]) = 0\n",
--	       pid, cpuset_size, cpu);
-+	pidns_print_leader();
-+	printf("sched_setaffinity(%d%s, %u, [%u]) = 0\n",
-+	       pid, pid_str, cpuset_size, cpu);
- 
- 	const unsigned int big_size = cpuset_size < 128 ? 128 : cpuset_size * 2;
- 	cpuset = tail_alloc(big_size);
-@@ -95,7 +104,8 @@
- 		perror_msg_and_fail("sched_getaffinity(%d, %u, %p) = %s\n",
- 				    pid, big_size, cpuset, errstr);
- 	assert(ret_size <= (int) big_size);
--	printf("sched_getaffinity(%d, %u, [", pid, big_size);
-+	pidns_print_leader();
-+	printf("sched_getaffinity(%d%s, %u, [", pid, pid_str, big_size);
- 	for (i = 0, sep = ""; i < (unsigned) ret_size * 8; ++i) {
- 		if (CPU_ISSET_S(i, (unsigned) ret_size, cpuset)) {
- 			printf("%s%u", sep, i);
-@@ -104,6 +114,7 @@
- 	}
- 	printf("]) = %s\n", errstr);
- 
-+	pidns_print_leader();
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests-m32/sched_xetattr--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-m32/sched_xetattr--pidns-translation.c	2020-09-09 19:52:38.900673633 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "sched_xetattr.c"
-Index: strace-5.7/tests-m32/sched_xetattr.c
-===================================================================
---- strace-5.7.orig/tests-m32/sched_xetattr.c	2020-09-09 19:52:30.618668696 +0200
-+++ strace-5.7/tests-m32/sched_xetattr.c	2020-09-09 19:52:38.901673633 +0200
-@@ -15,6 +15,7 @@
- # include <stdio.h>
- # include <sched.h>
- # include <unistd.h>
-+# include "pidns.h"
- # include "sched_attr.h"
- # include "xlat.h"
- # include "xlat/schedulers.h"
-@@ -41,6 +42,8 @@
- int
- main(void)
- {
-+	PIDNS_TEST_INIT;
-+
- 	static const kernel_ulong_t bogus_pid =
- 		(kernel_ulong_t) 0xdefacedfacefeedULL;
- 	static const kernel_ulong_t bogus_size =
-@@ -48,20 +51,28 @@
- 	static const kernel_ulong_t bogus_flags =
- 		(kernel_ulong_t) 0xdefaceddeadc0deULL;
- 
-+	const int pid = getpid();
-+	const char *pid_str = pidns_pid2str(PT_TGID);
-+
- 	TAIL_ALLOC_OBJECT_CONST_PTR(struct sched_attr, attr);
- 	TAIL_ALLOC_OBJECT_CONST_PTR(unsigned int, psize);
- 	void *const efault = attr + 1;
- 
--	sys_sched_getattr(0, 0, 0, 0);
--	printf("sched_getattr(0, NULL, 0, 0) = %s\n", errstr);
-+	sys_sched_getattr(pid, 0, 0, 0);
-+	pidns_print_leader();
-+	printf("sched_getattr(%d%s, NULL, 0, 0) = %s\n",
-+		pid, pid_str, errstr);
- 
- 	sys_sched_getattr(0, (unsigned long) attr, 0, 0);
-+	pidns_print_leader();
- 	printf("sched_getattr(0, %p, 0, 0) = %s\n", attr, errstr);
- 
- 	sys_sched_getattr(bogus_pid, 0, 0, 0);
-+	pidns_print_leader();
- 	printf("sched_getattr(%d, NULL, 0, 0) = %s\n", (int) bogus_pid, errstr);
- 
- 	sys_sched_getattr(-1U, (unsigned long) attr, bogus_size, bogus_flags);
-+	pidns_print_leader();
- 	printf("sched_getattr(-1, %p, %s%u, %u) = %s\n",
- 	       attr,
- # if defined __arm64__ || defined __aarch64__
-@@ -72,11 +83,13 @@
- 	       (unsigned) bogus_size, (unsigned) bogus_flags, errstr);
- 
- 	sys_sched_getattr(0, (unsigned long) efault, SCHED_ATTR_MIN_SIZE, 0);
-+	pidns_print_leader();
- 	printf("sched_getattr(0, %p, %u, 0) = %s\n",
- 	       efault, (unsigned) SCHED_ATTR_MIN_SIZE, errstr);
- 
- 	if (sys_sched_getattr(0, (unsigned long) attr, SCHED_ATTR_MIN_SIZE, 0))
- 		perror_msg_and_skip("sched_getattr");
-+	pidns_print_leader();
- 	printf("sched_getattr(0, {size=%u, sched_policy=", attr->size);
- 	printxval(schedulers, attr->sched_policy, NULL);
- 	printf(", sched_flags=%s, sched_nice=%d, sched_priority=%u"
-@@ -91,11 +104,13 @@
- 	       (unsigned) SCHED_ATTR_MIN_SIZE);
- 
- 	sys_sched_getattr(0, (unsigned long) efault, sizeof(*attr), 0);
-+	pidns_print_leader();
- 	printf("sched_getattr(0, %p, %u, 0) = %s\n",
- 	       efault, (unsigned) sizeof(*attr), errstr);
- 
- 	if (sys_sched_getattr(0, (unsigned long) attr, sizeof(*attr), 0))
- 		perror_msg_and_skip("sched_getattr");
-+	pidns_print_leader();
- 	printf("sched_getattr(0, {size=%u, sched_policy=", attr->size);
- 	printxval(schedulers, attr->sched_policy, NULL);
- 	printf(", sched_flags=%s, sched_nice=%d, sched_priority=%u"
-@@ -121,11 +136,13 @@
- 			  F8ILL_KULONG_MASK | sizeof(*attr), F8ILL_KULONG_MASK);
- # if defined __arm64__ || defined __aarch64__
- 	if (rc) {
-+		pidns_print_leader();
- 		printf("sched_getattr(0, %p, 0xffffffff<<32|%u, 0) = %s\n",
- 		       attr, (unsigned) sizeof(*attr), errstr);
- 	} else
- # endif
- 	{
-+		pidns_print_leader();
- 		printf("sched_getattr(0, {size=%u, sched_policy=", attr->size);
- 		printxval(schedulers, attr->sched_policy, NULL);
- 		printf(", sched_flags=%s, sched_nice=%d, sched_priority=%u"
-@@ -146,13 +163,16 @@
- 	}
- 
- 	sys_sched_setattr(bogus_pid, 0, 0);
-+	pidns_print_leader();
- 	printf("sched_setattr(%d, NULL, 0) = %s\n", (int) bogus_pid, errstr);
- 
- 	attr->sched_flags |= 1;
- 
--	if (sys_sched_setattr(0, (unsigned long) attr, 0))
-+	if (sys_sched_setattr(pid, (unsigned long) attr, 0))
- 		perror_msg_and_skip("sched_setattr");
--	printf("sched_setattr(0, {size=%u, sched_policy=", attr->size);
-+	pidns_print_leader();
-+	printf("sched_setattr(%d%s, {size=%u, sched_policy=",
-+		pid, pid_str, attr->size);
- 	printxval(schedulers, attr->sched_policy, NULL);
- 	printf(", sched_flags=%s, sched_nice=%d, sched_priority=%u"
- 	       ", sched_runtime=%" PRIu64 ", sched_deadline=%" PRIu64
-@@ -172,6 +192,7 @@
- 
- 	sys_sched_setattr(F8ILL_KULONG_MASK, (unsigned long) attr,
- 			  F8ILL_KULONG_MASK);
-+	pidns_print_leader();
- 	printf("sched_setattr(0, {size=%u, sched_policy=", attr->size);
- 	printxval(schedulers, attr->sched_policy, NULL);
- 	printf(", sched_flags=%s, sched_nice=%d, sched_priority=%u"
-@@ -193,11 +214,13 @@
- 	*psize = attr->size;
- 
- 	sys_sched_setattr(0, (unsigned long) psize, 0);
-+	pidns_print_leader();
- 	printf("sched_setattr(0, %p, 0) = %s\n", psize, errstr);
- 
- 	attr->size = 0;
- 
- 	sys_sched_setattr(0, (unsigned long) attr, 0);
-+	pidns_print_leader();
- 	printf("sched_setattr(0, {size=%u, sched_policy=", attr->size);
- 	printxval(schedulers, attr->sched_policy, NULL);
- 	printf(", sched_flags=%s, sched_nice=%d, sched_priority=%u"
-@@ -213,12 +236,14 @@
- 	attr->size = 1;
- 
- 	sys_sched_setattr(0, (unsigned long) attr, 0);
-+	pidns_print_leader();
- 	printf("sched_setattr(0, {size=%u} => {size=%u}, 0) = %s\n",
- 	       1, attr->size, errstr);
- 
- 	attr->size = SCHED_ATTR_MIN_SIZE - 1;
- 
- 	sys_sched_setattr(0, (unsigned long) attr, 0);
-+	pidns_print_leader();
- 	printf("sched_setattr(0, {size=%u} => {size=%u}, 0) = %s\n",
- 	       SCHED_ATTR_MIN_SIZE - 1, attr->size, errstr);
- 
-@@ -232,6 +257,7 @@
- 	attr->sched_period = 0xded1ca7edda7aca7ULL;
- 
- 	sys_sched_setattr(bogus_pid, (unsigned long) attr, bogus_flags);
-+	pidns_print_leader();
- 	printf("sched_setattr(%d, {size=%u, sched_policy=%#x /* SCHED_??? */, "
- 	       "sched_flags=%#" PRIx64 " /* SCHED_FLAG_??? */, "
- 	       "sched_nice=%d, sched_priority=%u, sched_runtime=%" PRIu64 ", "
-@@ -274,6 +300,7 @@
- 	attr->sched_period = 0xded1ca7edda7aca7ULL;
- 
- 	sys_sched_setattr(bogus_pid, (unsigned long) attr, bogus_flags);
-+	pidns_print_leader();
- 	printf("sched_setattr(%d, {size=%u, sched_policy=%#x /* SCHED_??? */, "
- 	       "sched_flags=SCHED_FLAG_RESET_ON_FORK|SCHED_FLAG_RECLAIM|"
- 	       "SCHED_FLAG_DL_OVERRUN|0x80, "
-@@ -296,11 +323,13 @@
- 		const kernel_ulong_t ill = f8ill_ptr_to_kulong(attr);
- 
- 		sys_sched_getattr(0, ill, sizeof(*attr), 0);
-+		pidns_print_leader();
- 		printf("sched_getattr(0, %#llx, %u, 0) = %s\n",
- 		       (unsigned long long) ill, (unsigned) sizeof(*attr),
- 		       errstr);
- 
- 		sys_sched_setattr(0, ill, 0);
-+		pidns_print_leader();
- 		printf("sched_setattr(0, %#llx, 0) = %s\n",
- 		       (unsigned long long) ill, errstr);
- 	}
-@@ -310,6 +339,7 @@
- 	attr->sched_flags = 0x8fULL;
- 
- 	sys_sched_setattr(bogus_pid, (unsigned long) attr, bogus_flags);
-+	pidns_print_leader();
- 	printf("sched_setattr(%d, {size=%u, "
- 	       "sched_flags=SCHED_FLAG_RESET_ON_FORK|SCHED_FLAG_RECLAIM|"
- 	       "SCHED_FLAG_DL_OVERRUN|SCHED_FLAG_KEEP_POLICY|0x80, "
-@@ -329,11 +359,13 @@
- 		const kernel_ulong_t ill = f8ill_ptr_to_kulong(attr);
- 
- 		sys_sched_getattr(0, ill, sizeof(*attr), 0);
-+		pidns_print_leader();
- 		printf("sched_getattr(0, %#llx, %u, 0) = %s\n",
- 		       (unsigned long long) ill, (unsigned) sizeof(*attr),
- 		       errstr);
- 
- 		sys_sched_setattr(0, ill, 0);
-+		pidns_print_leader();
- 		printf("sched_setattr(0, %#llx, 0) = %s\n",
- 		       (unsigned long long) ill, errstr);
- 	}
-@@ -342,6 +374,7 @@
- 	attr->sched_flags = 0xe7ULL;
- 
- 	sys_sched_setattr(bogus_pid, (unsigned long) attr, bogus_flags);
-+	pidns_print_leader();
- 	printf("sched_setattr(%d, {size=%u, sched_policy=%#x /* SCHED_??? */, "
- 	       "sched_flags=SCHED_FLAG_RESET_ON_FORK|SCHED_FLAG_RECLAIM|"
- 	       "SCHED_FLAG_DL_OVERRUN|SCHED_FLAG_UTIL_CLAMP_MIN"
-@@ -365,11 +398,13 @@
- 		const kernel_ulong_t ill = f8ill_ptr_to_kulong(attr);
- 
- 		sys_sched_getattr(0, ill, sizeof(*attr), 0);
-+		pidns_print_leader();
- 		printf("sched_getattr(0, %#llx, %u, 0) = %s\n",
- 		       (unsigned long long) ill, (unsigned) sizeof(*attr),
- 		       errstr);
- 
- 		sys_sched_setattr(0, ill, 0);
-+		pidns_print_leader();
- 		printf("sched_setattr(0, %#llx, 0) = %s\n",
- 		       (unsigned long long) ill, errstr);
- 	}
-@@ -377,6 +412,7 @@
- 	attr->sched_flags = 0xcaffee90LL;
- 
- 	sys_sched_setattr(bogus_pid, (unsigned long) attr, bogus_flags);
-+	pidns_print_leader();
- 	printf("sched_setattr(%d, {size=%u, sched_flags=SCHED_FLAG_KEEP_PARAMS"
- 	       "|0xcaffee80, sched_util_min=%u, sched_util_max=%u}, %u) = %s\n",
- 	       (int) bogus_pid,
-@@ -389,15 +425,18 @@
- 		const kernel_ulong_t ill = f8ill_ptr_to_kulong(attr);
- 
- 		sys_sched_getattr(0, ill, sizeof(*attr), 0);
-+		pidns_print_leader();
- 		printf("sched_getattr(0, %#llx, %u, 0) = %s\n",
- 		       (unsigned long long) ill, (unsigned) sizeof(*attr),
- 		       errstr);
- 
- 		sys_sched_setattr(0, ill, 0);
-+		pidns_print_leader();
- 		printf("sched_setattr(0, %#llx, 0) = %s\n",
- 		       (unsigned long long) ill, errstr);
- 	}
- 
-+	pidns_print_leader();
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests-m32/sched_xetparam--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-m32/sched_xetparam--pidns-translation.c	2020-09-09 19:52:38.901673633 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "sched_xetparam.c"
-Index: strace-5.7/tests-m32/sched_xetparam.c
-===================================================================
---- strace-5.7.orig/tests-m32/sched_xetparam.c	2020-09-09 19:52:30.619668697 +0200
-+++ strace-5.7/tests-m32/sched_xetparam.c	2020-09-09 19:52:38.901673633 +0200
-@@ -7,6 +7,7 @@
- 
- #include "tests.h"
- #include "scno.h"
-+# include "pidns.h"
- 
- #if defined __NR_sched_getparam && defined __NR_sched_setparam
- 
-@@ -17,18 +18,27 @@
- int
- main(void)
- {
-+	PIDNS_TEST_INIT;
-+
- 	struct sched_param *const param =
- 		tail_alloc(sizeof(struct sched_param));
- 
--	long rc = syscall(__NR_sched_getparam, 0, param);
--	printf("sched_getparam(0, [%d]) = %ld\n",
--	       param->sched_priority, rc);
-+	const int pid = getpid();
-+	const char *pid_str = pidns_pid2str(PT_TGID);
-+
-+	long rc = syscall(__NR_sched_getparam, pid, param);
-+	pidns_print_leader();
-+	printf("sched_getparam(%d%s, [%d]) = %ld\n",
-+	       pid, pid_str, param->sched_priority, rc);
- 
- 	param->sched_priority = -1;
--	rc = syscall(__NR_sched_setparam, 0, param);
--	printf("sched_setparam(0, [%d]) = %ld %s (%m)\n",
-+	rc = syscall(__NR_sched_setparam, pid, param);
-+	pidns_print_leader();
-+	printf("sched_setparam(%d%s, [%d]) = %ld %s (%m)\n",
-+	       pid, pid_str,
- 	       param->sched_priority, rc, errno2name());
- 
-+	pidns_print_leader();
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests-m32/sched_xetscheduler--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-m32/sched_xetscheduler--pidns-translation.c	2020-09-09 19:52:38.901673633 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "sched_xetscheduler.c"
-Index: strace-5.7/tests-m32/sched_xetscheduler.c
-===================================================================
---- strace-5.7.orig/tests-m32/sched_xetscheduler.c	2020-09-09 19:52:30.619668697 +0200
-+++ strace-5.7/tests-m32/sched_xetscheduler.c	2020-09-09 19:52:38.902673634 +0200
-@@ -7,6 +7,7 @@
- 
- #include "tests.h"
- #include "scno.h"
-+#include "pidns.h"
- 
- #if defined __NR_sched_getscheduler && defined __NR_sched_setscheduler
- 
-@@ -17,8 +18,13 @@
- int
- main(void)
- {
-+	PIDNS_TEST_INIT;
-+
- 	TAIL_ALLOC_OBJECT_CONST_PTR(struct sched_param, param);
--	long rc = syscall(__NR_sched_getscheduler, 0);
-+	const int pid = getpid();
-+	const char *pid_str = pidns_pid2str(PT_TGID);
-+
-+	long rc = syscall(__NR_sched_getscheduler, pid);
- 	const char *scheduler;
- 	switch (rc) {
- 		case SCHED_FIFO:
-@@ -50,33 +56,43 @@
- 		default:
- 			scheduler = "SCHED_OTHER";
- 	}
--	printf("sched_getscheduler(0) = %ld (%s)\n",
--	       rc, scheduler);
-+	pidns_print_leader();
-+	printf("sched_getscheduler(%d%s) = %ld (%s)\n",
-+	       pid, pid_str, rc, scheduler);
- 
- 	rc = syscall(__NR_sched_getscheduler, -1);
-+	pidns_print_leader();
- 	printf("sched_getscheduler(-1) = %s\n", sprintrc(rc));
- 
- 	param->sched_priority = -1;
- 
--	rc = syscall(__NR_sched_setscheduler, 0, SCHED_FIFO, NULL);
--	printf("sched_setscheduler(0, SCHED_FIFO, NULL) = %s\n", sprintrc(rc));
--
--	rc = syscall(__NR_sched_setscheduler, 0, SCHED_FIFO, param + 1);
--	printf("sched_setscheduler(0, SCHED_FIFO, %p) = %s\n", param + 1,
--	       sprintrc(rc));
--
--	rc = syscall(__NR_sched_setscheduler, 0, 0xfaceda7a, param);
--	printf("sched_setscheduler(0, %#x /* SCHED_??? */, [%d]) = %s\n",
--	       0xfaceda7a, param->sched_priority, sprintrc(rc));
-+	rc = syscall(__NR_sched_setscheduler, pid, SCHED_FIFO, NULL);
-+	pidns_print_leader();
-+	printf("sched_setscheduler(%d%s, SCHED_FIFO, NULL) = %s\n",
-+	       pid, pid_str, sprintrc(rc));
-+
-+	rc = syscall(__NR_sched_setscheduler, pid, SCHED_FIFO, param + 1);
-+	pidns_print_leader();
-+	printf("sched_setscheduler(%d%s, SCHED_FIFO, %p) = %s\n",
-+	       pid, pid_str, param + 1, sprintrc(rc));
-+
-+	rc = syscall(__NR_sched_setscheduler, pid, 0xfaceda7a, param);
-+	pidns_print_leader();
-+	printf("sched_setscheduler(%d%s, %#x /* SCHED_??? */, [%d]) = %s\n",
-+	       pid, pid_str, 0xfaceda7a,
-+	       param->sched_priority, sprintrc(rc));
- 
- 	rc = syscall(__NR_sched_setscheduler, -1, SCHED_FIFO, param);
-+	pidns_print_leader();
- 	printf("sched_setscheduler(-1, SCHED_FIFO, [%d]) = %s\n",
- 	       param->sched_priority, sprintrc(rc));
- 
--	rc = syscall(__NR_sched_setscheduler, 0, SCHED_FIFO, param);
--	printf("sched_setscheduler(0, SCHED_FIFO, [%d]) = %s\n",
--	       param->sched_priority, sprintrc(rc));
-+	rc = syscall(__NR_sched_setscheduler, pid, SCHED_FIFO, param);
-+	pidns_print_leader();
-+	printf("sched_setscheduler(%d%s, SCHED_FIFO, [%d]) = %s\n",
-+	       pid, pid_str, param->sched_priority, sprintrc(rc));
- 
-+	pidns_print_leader();
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests-m32/signal_receive--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-m32/signal_receive--pidns-translation.c	2020-09-09 19:52:38.902673634 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "signal_receive.c"
-Index: strace-5.7/tests-m32/signal_receive.c
-===================================================================
---- strace-5.7.orig/tests-m32/signal_receive.c	2020-09-09 19:52:30.619668697 +0200
-+++ strace-5.7/tests-m32/signal_receive.c	2020-09-09 19:52:38.902673634 +0200
-@@ -8,6 +8,7 @@
-  */
- 
- #include "tests.h"
-+#include "pidns.h"
- #include <signal.h>
- #include <stdio.h>
- #include <unistd.h>
-@@ -26,10 +27,13 @@
- int
- main(void)
- {
-+	PIDNS_TEST_INIT;
-+
- 	static const char prefix[] = "KERNEL BUG";
- 	int printed = 0;
- 
- 	const int pid = getpid();
-+	const char *pid_str = pidns_pid2str(PT_TGID);
- 	const int uid = geteuid();
- 
- 	for (int sig = 1; sig <= 31; ++sig) {
-@@ -73,10 +77,13 @@
- 		const int e_pid = s_pid;
- 		const int e_uid = s_uid;
- #endif
--		printf("kill(%d, %s) = 0\n", pid, signal2name(sig));
--		printf("--- %s {si_signo=%s, si_code=SI_USER, si_pid=%d"
-+		pidns_print_leader();
-+		printf("kill(%d%s, %s) = 0\n", pid, pid_str, signal2name(sig));
-+		pidns_print_leader();
-+		printf("--- %s {si_signo=%s, si_code=SI_USER, si_pid=%d%s"
- 		       ", si_uid=%d} ---\n",
--		       signal2name(sig), signal2name(e_sig), e_pid, e_uid);
-+		       signal2name(sig), signal2name(e_sig),
-+		       e_pid, pid_str, e_uid);
- 
- 		if (s_code || sig != s_sig || pid != s_pid || uid != s_uid) {
- 			/*
-@@ -91,11 +98,11 @@
- 			}
- 			fprintf(stderr,
- 				"%s: expected: si_signo=%d, si_code=%d"
--				", si_pid=%d, si_uid=%d\n"
-+				", si_pid=%d%s, si_uid=%d\n"
- 				"%s: received: si_signo=%d, si_code=%d"
--				", si_pid=%d, si_uid=%d\n",
--				prefix, sig, SI_USER, pid, uid,
--				prefix, sig, s_code, s_pid, s_uid);
-+				", si_pid=%d%s, si_uid=%d\n",
-+				prefix, sig, SI_USER, pid, pid_str, uid,
-+				prefix, sig, s_code, s_pid, pid_str, s_uid);
- 		}
- 	}
- 
-@@ -104,6 +111,7 @@
- 			"*** PLEASE FIX THE KERNEL ***\n", prefix);
- 	}
- 
-+	pidns_print_leader();
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests-m32/so_peercred--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-m32/so_peercred--pidns-translation.c	2020-09-09 19:52:38.902673634 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "so_peercred.c"
-Index: strace-5.7/tests-m32/so_peercred.c
-===================================================================
---- strace-5.7.orig/tests-m32/so_peercred.c	2020-09-09 19:52:30.620668697 +0200
-+++ strace-5.7/tests-m32/so_peercred.c	2020-09-09 19:52:38.902673634 +0200
-@@ -9,6 +9,7 @@
-  */
- 
- #include "tests.h"
-+#include "pidns.h"
- 
- #include <stddef.h>
- #include <stdio.h>
-@@ -53,6 +54,8 @@
- int
- main(void)
- {
-+	PIDNS_TEST_INIT;
-+
- 	TAIL_ALLOC_OBJECT_CONST_PTR(struct ucred, peercred);
- 	TAIL_ALLOC_OBJECT_CONST_PTR(socklen_t, len);
- 
-@@ -75,6 +78,8 @@
- 	struct ucred *const gid_truncated =
- 		tail_alloc(sizeof_gid_truncated);
- 
-+	const char *pid_str = pidns_pid2str(PT_TGID);
-+
- 	int sv[2];
- 	if (socketpair(AF_UNIX, SOCK_STREAM, 0, sv))
-                 perror_msg_and_skip("socketpair AF_UNIX SOCK_STREAM");
-@@ -82,8 +87,10 @@
- 	/* classic getsockopt */
- 	*len = sizeof(*peercred);
- 	get_peercred(sv[0], peercred, len);
-+	pidns_print_leader();
- 	printf("getsockopt(%d, %s", sv[0], so_str());
- 	PRINT_FIELD_D(", {", *peercred, pid);
-+	printf("%s", pid_str);
- 	PRINT_FIELD_UID(", ", *peercred, uid);
- 	PRINT_FIELD_UID(", ", *peercred, gid);
- 	printf("}, [%d]) = %s\n", *len, errstr);
-@@ -91,14 +98,17 @@
- 	/* getsockopt with zero optlen */
- 	*len = 0;
- 	get_peercred(sv[0], peercred, len);
-+	pidns_print_leader();
- 	printf("getsockopt(%d, %s, %p, [0]) = %s\n",
- 	       sv[0], so_str(), peercred, errstr);
- 
- 	/* getsockopt with optlen larger than necessary - shortened */
- 	*len = sizeof(*peercred) + 1;
- 	get_peercred(sv[0], peercred, len);
-+	pidns_print_leader();
- 	printf("getsockopt(%d, %s", sv[0], so_str());
- 	PRINT_FIELD_D(", {", *peercred, pid);
-+	printf("%s", pid_str);
- 	PRINT_FIELD_UID(", ", *peercred, uid);
- 	PRINT_FIELD_UID(", ", *peercred, gid);
- 	printf("}, [%u->%d]) = %s\n",
-@@ -110,6 +120,7 @@
- 	 */
- 	*len = sizeof_pid_truncated;
- 	get_peercred(sv[0], pid_truncated, len);
-+	pidns_print_leader();
- 	printf("getsockopt(%d, %s, {pid=", sv[0], so_str());
- 	print_quoted_hex(pid_truncated, *len);
- 	printf("}, [%d]) = %s\n", *len, errstr);
-@@ -120,8 +131,10 @@
- 	 */
- 	*len = sizeof_pid;
- 	get_peercred(sv[0], pid, len);
-+	pidns_print_leader();
- 	printf("getsockopt(%d, %s", sv[0], so_str());
- 	PRINT_FIELD_D(", {", *pid, pid);
-+	printf("%s", pid_str);
- 	printf("}, [%d]) = %s\n", *len, errstr);
- 
- 	/*
-@@ -136,8 +149,10 @@
- 	 * to struct ucred.pid field.
- 	 */
- 	memcpy(uid, uid_truncated, sizeof_uid_truncated);
-+	pidns_print_leader();
- 	printf("getsockopt(%d, %s", sv[0], so_str());
- 	PRINT_FIELD_D(", {", *uid, pid);
-+	printf("%s", pid_str);
- 	printf(", uid=");
- 	print_quoted_hex(&uid->uid, sizeof_uid_truncated -
- 				    offsetof(struct ucred, uid));
-@@ -149,8 +164,10 @@
- 	 */
- 	*len = sizeof_uid;
- 	get_peercred(sv[0], uid, len);
-+	pidns_print_leader();
- 	printf("getsockopt(%d, %s", sv[0], so_str());
- 	PRINT_FIELD_D(", {", *uid, pid);
-+	printf("%s", pid_str);
- 	PRINT_FIELD_UID(", ", *uid, uid);
- 	printf("}, [%d]) = %s\n", *len, errstr);
- 
-@@ -166,8 +183,10 @@
- 	 * to struct ucred.pid and struct ucred.uid fields.
- 	 */
- 	memcpy(peercred, gid_truncated, sizeof_gid_truncated);
-+	pidns_print_leader();
- 	printf("getsockopt(%d, %s", sv[0], so_str());
- 	PRINT_FIELD_D(", {", *peercred, pid);
-+	printf("%s", pid_str);
- 	PRINT_FIELD_UID(", ", *peercred, uid);
- 	printf(", gid=");
- 	print_quoted_hex(&peercred->gid, sizeof_gid_truncated -
-@@ -177,14 +196,17 @@
- 	/* getsockopt optval EFAULT */
- 	*len = sizeof(*peercred);
- 	get_peercred(sv[0], &peercred->uid, len);
-+	pidns_print_leader();
- 	printf("getsockopt(%d, %s, %p, [%d]) = %s\n",
- 	       sv[0], so_str(), &peercred->uid, *len, errstr);
- 
- 	/* getsockopt optlen EFAULT */
- 	get_peercred(sv[0], peercred, len + 1);
-+	pidns_print_leader();
- 	printf("getsockopt(%d, %s, %p, %p) = %s\n",
- 	       sv[0], so_str(), peercred, len + 1, errstr);
- 
-+	pidns_print_leader();
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests-m32/tgkill--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-m32/tgkill--pidns-translation.c	2020-09-09 19:52:38.902673634 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "tgkill.c"
-Index: strace-5.7/tests-m32/tgkill.c
-===================================================================
---- strace-5.7.orig/tests-m32/tgkill.c	2020-09-09 19:52:30.620668697 +0200
-+++ strace-5.7/tests-m32/tgkill.c	2020-09-09 19:52:38.903673634 +0200
-@@ -9,6 +9,7 @@
- 
- #include "tests.h"
- #include "scno.h"
-+#include "pidns.h"
- 
- #ifdef __NR_tgkill
- 
-@@ -36,28 +37,46 @@
- int
- main(void)
- {
-+	PIDNS_TEST_INIT;
-+
- 	const int pid = getpid();
-+	const char *pid_str = pidns_pid2str(PT_TGID);
-+	const int tid = syscall(__NR_gettid);
-+	const char *tid_str = pidns_pid2str(PT_TID);
- 	const int bad_pid = -1;
- 	const int bad_sig = 0xface;
- 
--	k_tgkill(pid, pid, 0);
--	printf("tgkill(%d, %d, 0) = %s\n", pid, pid, errstr);
-+	k_tgkill(pid, tid, 0);
-+	pidns_print_leader();
-+	printf("tgkill(%d%s, %d%s, 0) = %s\n",
-+		pid, pid_str, tid, tid_str, errstr);
- 
- 	k_tgkill(pid, bad_pid, 0);
--	printf("tgkill(%d, %d, 0) = %s\n", pid, bad_pid, errstr);
--
--	k_tgkill(bad_pid, pid, 0);
--	printf("tgkill(%d, %d, 0) = %s\n", bad_pid, pid, errstr);
--
--	k_tgkill(pid, pid, SIGCONT);
--	printf("tgkill(%d, %d, SIGCONT) = %s\n", pid, pid, errstr);
--
--	k_tgkill(pid, pid, bad_sig);
--	printf("tgkill(%d, %d, %d) = %s\n", pid, pid, bad_sig, errstr);
--
--	k_tgkill(pid, pid, -bad_sig);
--	printf("tgkill(%d, %d, %d) = %s\n", pid, pid, -bad_sig, errstr);
-+	pidns_print_leader();
-+	printf("tgkill(%d%s, %d, 0) = %s\n",
-+		pid, pid_str, bad_pid, errstr);
-+
-+	k_tgkill(bad_pid, tid, 0);
-+	pidns_print_leader();
-+	printf("tgkill(%d, %d%s, 0) = %s\n",
-+		bad_pid, tid, tid_str, errstr);
-+
-+	k_tgkill(pid, tid, SIGCONT);
-+	pidns_print_leader();
-+	printf("tgkill(%d%s, %d%s, SIGCONT) = %s\n",
-+		pid, pid_str, tid, tid_str, errstr);
-+
-+	k_tgkill(pid, tid, bad_sig);
-+	pidns_print_leader();
-+	printf("tgkill(%d%s, %d%s, %d) = %s\n",
-+		pid, pid_str, tid, tid_str, bad_sig, errstr);
-+
-+	k_tgkill(pid, tid, -bad_sig);
-+	pidns_print_leader();
-+	printf("tgkill(%d%s, %d%s, %d) = %s\n",
-+		pid, pid_str, tid, tid_str, -bad_sig, errstr);
- 
-+	pidns_print_leader();
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests-m32/tkill--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-m32/tkill--pidns-translation.c	2020-09-09 19:52:38.903673634 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "tkill.c"
-Index: strace-5.7/tests-m32/tkill.c
-===================================================================
---- strace-5.7.orig/tests-m32/tkill.c	2020-09-09 19:52:30.620668697 +0200
-+++ strace-5.7/tests-m32/tkill.c	2020-09-09 19:52:38.903673634 +0200
-@@ -9,6 +9,7 @@
- 
- #include "tests.h"
- #include "scno.h"
-+#include "pidns.h"
- 
- #ifdef __NR_tkill
- 
-@@ -33,22 +34,30 @@
- int
- main(void)
- {
--	const int pid = getpid();
-+	PIDNS_TEST_INIT;
-+
-+	const int tid = syscall(__NR_gettid);
-+	const char *tid_str = pidns_pid2str(PT_TID);
- 	const int bad_pid = -1;
- 	const int bad_sig = 0xface;
- 
--	k_tkill(pid, 0);
--	printf("tkill(%d, 0) = %s\n", pid, errstr);
--
--	k_tkill(pid, SIGCONT);
--	printf("tkill(%d, SIGCONT) = %s\n", pid, errstr);
-+	k_tkill(tid, 0);
-+	pidns_print_leader();
-+	printf("tkill(%d%s, 0) = %s\n", tid, tid_str, errstr);
-+
-+	k_tkill(tid, SIGCONT);
-+	pidns_print_leader();
-+	printf("tkill(%d%s, SIGCONT) = %s\n", tid, tid_str, errstr);
- 
- 	k_tkill(bad_pid, bad_sig);
-+	pidns_print_leader();
- 	printf("tkill(%d, %d) = %s\n", bad_pid, bad_sig, errstr);
- 
- 	k_tkill(bad_pid, -bad_sig);
-+	pidns_print_leader();
- 	printf("tkill(%d, %d) = %s\n", bad_pid, -bad_sig, errstr);
- 
-+	pidns_print_leader();
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests-m32/trie_for_tests.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-m32/trie_for_tests.c	2020-09-09 19:52:38.903673634 +0200
-@@ -0,0 +1 @@
-+#include "trie.c"
-Index: strace-5.7/tests-m32/trie_test.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-m32/trie_test.c	2020-09-09 19:52:38.903673634 +0200
-@@ -0,0 +1,121 @@
-+/*
-+ * Copyright (c) 2017-2019 The strace developers.
-+ * All rights reserved.
-+ *
-+ * SPDX-License-Identifier: GPL-2.0-or-later
-+ */
-+
-+#include "tests.h"
-+#include "trie.h"
-+
-+#include <stdio.h>
-+#include <inttypes.h>
-+
-+static void
-+assert_equals(const char *msg, uint64_t expected, uint64_t actual) {
-+	if (actual != expected)
-+		error_msg_and_fail("%s: expected: %" PRIu64
-+		                   ", actual: %" PRIu64, msg, expected, actual);
-+}
-+
-+static void
-+iterate_fn(void *data, uint64_t key, uint64_t value)
-+{
-+	uint64_t expected = key < 256 && key % 10 == 0 ? key + 42 : -1ULL;
-+	assert_equals("iterate_fn", expected, value);
-+
-+	int *count = (int *) data;
-+	if (value != -1ULL)
-+		(*count)++;
-+}
-+
-+static void
-+test_trie_iterate_fn(void)
-+{
-+	struct trie *t = trie_create(8, 6, 3, 3, -1);
-+	for (int i = 0; i < 26; i++)
-+		trie_set(t, i * 10, i * 10 + 42);
-+
-+	static const struct {
-+		uint64_t start;
-+		uint64_t end;
-+		int expected_count;
-+	} iterate_params[] = {
-+		{0, 256, 26},
-+		{0, UINT64_MAX, 26},
-+		{20, 90, 8},
-+		{99, 999, 16},
-+		{10000, 100000, 0},
-+		{200, 100, 0},
-+	};
-+
-+	for (size_t i = 0; i < ARRAY_SIZE(iterate_params); i++) {
-+		int count = 0;
-+		trie_iterate_keys(t, iterate_params[i].start, iterate_params[i].end, iterate_fn, &count);
-+		assert_equals("iteration count", iterate_params[i].expected_count, count);
-+	}
-+}
-+
-+struct key_value_pair {
-+	uint64_t key, value;
-+};
-+
-+static void
-+test_trie_get(void)
-+{
-+	static const struct {
-+		uint8_t key_size;
-+		uint8_t item_size_lg;
-+		uint8_t node_key_bits;
-+		uint8_t data_block_key_bits;
-+		uint64_t empty_value;
-+
-+		struct key_value_pair set_values[3], get_values[3];
-+	} params[] = {
-+		{64, 6, 10, 10, 0,
-+			{{300, 1}, {0xfacefeed, 0xabcdef123456}, {-1ULL, -1ULL}},
-+			{{301, 0}, {0xfacefeed, 0xabcdef123456}, {-1ULL, -1ULL}}},
-+		{8, 2, 4, 4, 10,
-+			{{0xab, 0xcd}, {0xface, 2}, {0, 3}},
-+			{{0xab, 0xd}, {0xface, 10}, {0, 3}}},
-+		{30, 0, 6, 3, -1,
-+			{{0xaaaa, 127}, {0xface, 0}, {0, 0}},
-+			{{0xaaaa, 1}, {0xface, 0}, {1, 1}}},
-+		{16, 4, 5, 11, 0xffffff,
-+			{{0xabcdef, 42}, {0xabcd, 42}, {0xffff, 0}},
-+			{{0xabcdef, 0xffff}, {0xabcd, 42}, {0xffff, 0}}},
-+		{41, 5, 1, 1, -1,
-+			{{0xabcdef01, 0x22222222}, {-1, 0x33333333}, {10, 10}},
-+			{{0xabcdef01, 0x22222222}, {-1, 0xffffffff}, {10, 10}}},
-+	};
-+
-+	for (size_t i = 0; i < ARRAY_SIZE(params); i++) {
-+		struct trie *t = trie_create(params[i].key_size,
-+		                             params[i].item_size_lg,
-+					     params[i].node_key_bits,
-+					     params[i].data_block_key_bits,
-+					     params[i].empty_value);
-+
-+		if (!t)
-+			error_msg_and_fail("trie creation failed");
-+
-+		for (size_t j = 0; j < ARRAY_SIZE(params[i].set_values); j++) {
-+			struct key_value_pair kv = params[i].set_values[j];
-+			trie_set(t, kv.key, kv.value);
-+		}
-+		for (size_t j = 0; j < ARRAY_SIZE(params[i].get_values); j++) {
-+			struct key_value_pair kv = params[i].get_values[j];
-+			assert_equals("trie_get", kv.value, trie_get(t, kv.key));
-+		}
-+
-+		trie_free(t);
-+	}
-+}
-+
-+int
-+main(void)
-+{
-+	test_trie_get();
-+	test_trie_iterate_fn();
-+	return 0;
-+}
-Index: strace-5.7/tests-m32/xet_robust_list--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-m32/xet_robust_list--pidns-translation.c	2020-09-09 19:52:38.903673634 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "xet_robust_list.c"
-Index: strace-5.7/tests-m32/xet_robust_list.c
-===================================================================
---- strace-5.7.orig/tests-m32/xet_robust_list.c	2020-09-09 19:52:30.621668698 +0200
-+++ strace-5.7/tests-m32/xet_robust_list.c	2020-09-09 19:52:38.904673635 +0200
-@@ -8,6 +8,7 @@
- 
- #include "tests.h"
- #include "scno.h"
-+#include "pidns.h"
- 
- #if defined __NR_get_robust_list && defined __NR_set_robust_list
- 
-@@ -30,27 +31,36 @@
- int
- main(void)
- {
-+	PIDNS_TEST_INIT;
-+
- 	const pid_t pid = getpid();
-+	const char *pid_str = pidns_pid2str(PT_TGID);
- 	const long long_pid = (unsigned long) (0xdeadbeef00000000LL | pid);
- 	TAIL_ALLOC_OBJECT_CONST_PTR(void *, p_head);
- 	TAIL_ALLOC_OBJECT_CONST_PTR(size_t, p_len);
- 
- 	if (syscall(__NR_get_robust_list, long_pid, p_head, p_len))
- 		perror_msg_and_skip("get_robust_list");
--	printf("get_robust_list(%d, [%s], [%lu]) = 0\n",
--	       (int) pid, sprintaddr(*p_head), (unsigned long) *p_len);
-+	pidns_print_leader();
-+	printf("get_robust_list(%d%s, [%s], [%lu]) = 0\n",
-+	       pid, pid_str, sprintaddr(*p_head),
-+	       (unsigned long) *p_len);
- 
- 	void *head = tail_alloc(*p_len);
- 	if (syscall(__NR_set_robust_list, head, *p_len))
- 		perror_msg_and_skip("set_robust_list");
-+	pidns_print_leader();
- 	printf("set_robust_list(%p, %lu) = 0\n",
- 	       head, (unsigned long) *p_len);
- 
- 	if (syscall(__NR_get_robust_list, long_pid, p_head, p_len))
- 		perror_msg_and_skip("get_robust_list");
--	printf("get_robust_list(%d, [%s], [%lu]) = 0\n",
--	       (int) pid, sprintaddr(*p_head), (unsigned long) *p_len);
-+	pidns_print_leader();
-+	printf("get_robust_list(%d%s, [%s], [%lu]) = 0\n",
-+	       pid, pid_str, sprintaddr(*p_head),
-+	       (unsigned long) *p_len);
- 
-+	pidns_print_leader();
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests-m32/xetpgid--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-m32/xetpgid--pidns-translation.c	2020-09-09 19:52:38.904673635 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "xetpgid.c"
-Index: strace-5.7/tests-m32/xetpgid.c
-===================================================================
---- strace-5.7.orig/tests-m32/xetpgid.c	2020-09-09 19:52:30.621668698 +0200
-+++ strace-5.7/tests-m32/xetpgid.c	2020-09-09 19:52:38.904673635 +0200
-@@ -10,6 +10,7 @@
- 
- #include "tests.h"
- #include "scno.h"
-+#include "pidns.h"
- 
- #if defined __NR_getpgid && defined __NR_setpgid
- 
-@@ -19,13 +20,21 @@
- int
- main(void)
- {
--	const int pid = getpid();
--	long rc = syscall(__NR_getpgid, F8ILL_KULONG_MASK | pid);
--	printf("getpgid(%d) = %ld\n", pid, rc);
-+	PIDNS_TEST_INIT;
- 
--	rc = syscall(__NR_setpgid, F8ILL_KULONG_MASK, F8ILL_KULONG_MASK | pid);
--	printf("setpgid(0, %d) = %ld\n", pid, rc);
-+	const int pid = getpid();
-+	long pgid = syscall(__NR_getpgid, F8ILL_KULONG_MASK | pid);
-+	pidns_print_leader();
-+	printf("getpgid(%d%s) = %ld%s\n", pid, pidns_pid2str(PT_TGID),
-+		pgid, pidns_pid2str(PT_PGID));
-+
-+	long rc = syscall(__NR_setpgid, F8ILL_KULONG_MASK,
-+		F8ILL_KULONG_MASK | pgid);
-+	pidns_print_leader();
-+	printf("setpgid(0, %ld%s) = %s\n", pgid, pidns_pid2str(PT_PGID),
-+		sprintrc(rc));
- 
-+	pidns_print_leader();
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests-m32/xetpriority--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-m32/xetpriority--pidns-translation.c	2020-09-09 19:52:38.904673635 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "xetpriority.c"
-Index: strace-5.7/tests-m32/xetpriority.c
-===================================================================
---- strace-5.7.orig/tests-m32/xetpriority.c	2020-09-09 19:52:30.622668698 +0200
-+++ strace-5.7/tests-m32/xetpriority.c	2020-09-09 19:52:38.904673635 +0200
-@@ -7,6 +7,7 @@
- 
- #include "tests.h"
- #include "scno.h"
-+#include "pidns.h"
- 
- #if defined __NR_getpriority && defined __NR_setpriority
- 
-@@ -17,15 +18,30 @@
- int
- main(void)
- {
-+	PIDNS_TEST_INIT;
-+
- 	const int pid = getpid();
-+	const int pgid = getpgid(0);
-+
- 	long rc = syscall(__NR_getpriority, PRIO_PROCESS,
- 			  F8ILL_KULONG_MASK | pid);
--	printf("getpriority(PRIO_PROCESS, %d) = %ld\n", pid, rc);
-+	pidns_print_leader();
-+	printf("getpriority(PRIO_PROCESS, %d%s) = %ld\n",
-+		pid, pidns_pid2str(PT_TGID), rc);
- 
- 	rc = syscall(__NR_setpriority, PRIO_PROCESS,
- 		     F8ILL_KULONG_MASK | pid, F8ILL_KULONG_MASK);
--	printf("setpriority(PRIO_PROCESS, %d, 0) = %s\n", pid, sprintrc(rc));
-+	pidns_print_leader();
-+	printf("setpriority(PRIO_PROCESS, %d%s, 0) = %s\n",
-+		pid, pidns_pid2str(PT_TGID), sprintrc(rc));
-+
-+	rc = syscall(__NR_getpriority, PRIO_PGRP,
-+			  F8ILL_KULONG_MASK | pgid);
-+	pidns_print_leader();
-+	printf("getpriority(PRIO_PGRP, %d%s) = %ld\n",
-+		pgid, pidns_pid2str(PT_PGID), rc);
- 
-+	pidns_print_leader();
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests-m32/xmalloc_for_tests.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-m32/xmalloc_for_tests.c	2020-09-09 19:52:38.905673636 +0200
-@@ -0,0 +1,2 @@
-+#define error_msg_and_die error_msg_and_fail
-+#include "xmalloc.c"
-Index: strace-5.7/tests-mx32/Makefile.am
-===================================================================
---- strace-5.7.orig/tests-mx32/Makefile.am	2020-09-09 19:52:30.622668698 +0200
-+++ strace-5.7/tests-mx32/Makefile.am	2020-09-09 19:52:38.905673636 +0200
-@@ -66,6 +66,7 @@
- 	test_ucopy.h \
- 	tests.h \
- 	tprintf.c \
-+	xmalloc_for_tests.c \
- 	# end of libtests_a_SOURCES
- libtests_a_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
- check_LIBRARIES = libtests.a
-@@ -109,17 +110,25 @@
- 	delay \
- 	execve-v \
- 	execveat-v \
-+	fcntl--pidns-translation \
-+	fcntl64--pidns-translation \
- 	filter_seccomp-flag \
- 	filter_seccomp-perf \
- 	filter-unavailable \
- 	fork-f \
-+	fork--pidns-translation \
- 	fsync-y \
- 	get_process_reaper \
-+	getpgrp--pidns-translation	\
- 	getpid	\
-+	getpid--pidns-translation	\
- 	getppid	\
-+	getsid--pidns-translation \
- 	gettid \
-+	gettid--pidns-translation \
- 	inject-nf \
- 	int_0x80 \
-+	ioctl_block--pidns-translation \
- 	ioctl_dm-v \
- 	ioctl_evdev-success \
- 	ioctl_evdev-success-Xabbrev \
-@@ -150,18 +159,25 @@
- 	ioctl_v4l2-success-v-Xabbrev \
- 	ioctl_v4l2-success-v-Xraw \
- 	ioctl_v4l2-success-v-Xverbose \
-+	ioprio--pidns-translation \
- 	is_linux_mips_n64 \
-+	kcmp-y--pidns-translation \
- 	kill_child \
-+	kill--pidns-translation \
- 	ksysent \
- 	list_sigaction_signum \
- 	localtime \
- 	looping_threads \
-+	migrate_pages--pidns-translation \
- 	mmsg-silent \
- 	mmsg_name-v \
-+	move_pages--pidns-translation \
- 	msg_control-v \
- 	net-accept-connect \
-+	net-sockaddr--pidns-translation \
- 	net-tpacket_stats-success \
- 	nlattr_ifla_xdp-y \
-+	netlink_audit--pidns-translation \
- 	netlink_inet_diag \
- 	netlink_netlink_diag \
- 	netlink_unix_diag \
-@@ -173,14 +189,20 @@
- 	pc \
- 	perf_event_open_nonverbose \
- 	perf_event_open_unabbrev \
-+	pidfd_open--pidns-translation \
-+	pidfd_send_signal--pidns-translation \
-+	pidns-cache \
- 	poll-P \
- 	ppoll-P \
- 	ppoll-v \
-+	prlimit64--pidns-translation \
- 	prctl-seccomp-filter-v \
- 	prctl-seccomp-strict \
- 	prctl-spec-inject \
- 	print_maxfd \
- 	print_ppid_tracerpid \
-+	process_vm_readv--pidns-translation \
-+	process_vm_writev--pidns-translation \
- 	qual_fault \
- 	qual_inject-error-signal \
- 	qual_inject-retval \
-@@ -194,7 +216,13 @@
- 	quotactl-xfs-v \
- 	redirect-fds \
- 	restart_syscall \
-+	rt_sigqueueinfo--pidns-translation \
-+	rt_tgsigqueueinfo--pidns-translation \
- 	run_expect_termsig \
-+	sched_xetaffinity--pidns-translation \
-+	sched_xetattr--pidns-translation \
-+	sched_xetparam--pidns-translation \
-+	sched_xetscheduler--pidns-translation \
- 	scm_rights \
- 	seccomp-filter-v \
- 	seccomp-strict \
-@@ -204,25 +232,33 @@
- 	set_sigign \
- 	setpgrp-exec \
- 	signal_receive \
-+	signal_receive--pidns-translation \
- 	sleep \
- 	stack-fcall \
- 	stack-fcall-attach \
- 	stack-fcall-mangled \
- 	status-none-threads \
- 	status-unfinished-threads \
-+	so_peercred--pidns-translation \
- 	syslog-success \
-+	tgkill--pidns-translation \
- 	threads-execve \
- 	threads-execve--quiet-thread-execve \
- 	threads-execve-q \
- 	threads-execve-qq \
- 	threads-execve-qqq \
-+	tkill--pidns-translation \
- 	tracer_ppid_pgid_sid \
-+	trie_test \
- 	unblock_reset_raise \
- 	unix-pair-send-recv \
- 	unix-pair-sendto-recvfrom \
- 	vfork-f \
- 	wait4-v \
- 	waitid-v \
-+	xetpgid--pidns-translation \
-+	xetpriority--pidns-translation \
-+	xet_robust_list--pidns-translation \
- 	zeroargc \
- 	# end of check_PROGRAMS
- 
-@@ -272,6 +308,11 @@
- 	stack-fcall-mangled-0.c stack-fcall-mangled-1.c \
- 	stack-fcall-mangled-2.c stack-fcall-mangled-3.c
- 
-+trie_test_SOURCES = trie_test.c trie_for_tests.c
-+trie_test_CPPFLAGS = $(AM_CPPFLAGS) $(CODE_COVERAGE_CPPFLAGS)
-+trie_test_CFLAGS = $(AM_CFLAGS) $(CODE_COVERAGE_CFLAGS)
-+trie_test_LDADD = $(LDADD) $(CODE_COVERAGE_LIBS)
-+
- include gen_tests.am
- 
- if ENABLE_STACKTRACE
-@@ -308,6 +349,7 @@
- 	int_0x80.test \
- 	inotify_init-y.test \
- 	ioctl.test \
-+	ioctl_block--pidns-translation.test \
- 	ioctl_evdev-success.test \
- 	ipc_msgbuf.test \
- 	kern_features-fault.test \
-@@ -379,15 +421,19 @@
- 	filtering_fd-syntax.test \
- 	filtering_syscall-syntax.test \
- 	first_exec_failure.test \
-+	fork--pidns-translation.test \
- 	get_regs.test \
-+	gettid--pidns-translation.test \
- 	inject-nf.test \
- 	interactive_block.test \
- 	kill_child.test \
- 	localtime.test \
- 	looping_threads.test \
-+	netlink_audit--pidns-translation.test \
- 	opipe.test \
- 	options-syntax.test \
- 	pc.test \
-+	pidns-cache.test \
- 	printpath-umovestr-legacy.test \
- 	printstrn-umoven-legacy.test \
- 	qual_fault-syntax.test \
-@@ -465,6 +511,7 @@
- 	filter_seccomp.in \
- 	filter_seccomp.sh \
- 	filter-unavailable.expected \
-+	fork--pidns-translation.awk \
- 	fstatat.c \
- 	fstatx.c \
- 	gen_pure_executables.sh \
-Index: strace-5.7/tests-mx32/fcntl--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-mx32/fcntl--pidns-translation.c	2020-09-09 19:52:38.905673636 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "fcntl.c"
-Index: strace-5.7/tests-mx32/fcntl-common.c
-===================================================================
---- strace-5.7.orig/tests-mx32/fcntl-common.c	2020-09-09 19:52:30.623668699 +0200
-+++ strace-5.7/tests-mx32/fcntl-common.c	2020-09-09 19:52:38.905673636 +0200
-@@ -13,6 +13,8 @@
- #include <unistd.h>
- #include <assert.h>
- #include "flock.h"
-+#include "pidns.h"
-+#include "scno.h"
- 
- #define FILE_LEN 4096
- 
-@@ -48,12 +50,14 @@
- 	fl->l_len = (TYPEOF_FLOCK_OFF_T) 0xdefaced2cafef00dULL;
- 
- 	invoke_test_syscall(0, cmd, fl);
-+	pidns_print_leader();
- 	printf("%s(0, %s, {l_type=F_RDLCK, l_whence=SEEK_SET"
- 	       ", l_start=%jd, l_len=%jd}) = %s\n", TEST_SYSCALL_STR, name,
- 	       (intmax_t) fl->l_start, (intmax_t) fl->l_len, errstr);
- 
- 	void *const bad_addr = (void *) fl + 1;
- 	invoke_test_syscall(0, cmd, bad_addr);
-+	pidns_print_leader();
- 	printf("%s(0, %s, %p) = %s\n",
- 	       TEST_SYSCALL_STR, name, bad_addr, errstr);
- }
-@@ -72,12 +76,14 @@
- 	fl->l_len = (TYPEOF_FLOCK_OFF_T) 0xdefaced2cafef00dULL;
- 
- 	invoke_test_syscall(0, cmd, fl);
-+	pidns_print_leader();
- 	printf("%s(0, %s, {l_type=F_RDLCK, l_whence=SEEK_SET"
- 	       ", l_start=%jd, l_len=%jd}) = %s\n", TEST_SYSCALL_STR, name,
- 	       (intmax_t) fl->l_start, (intmax_t) fl->l_len, errstr);
- 
- 	void *const bad_addr = (void *) fl + 1;
- 	invoke_test_syscall(0, cmd, bad_addr);
-+	pidns_print_leader();
- 	printf("%s(0, %s, %p) = %s\n",
- 	       TEST_SYSCALL_STR, name, bad_addr, errstr);
- }
-@@ -94,6 +100,7 @@
- 	fl->l_len = FILE_LEN;
- 
- 	long rc = invoke_test_syscall(0, F_SETLK, fl);
-+	pidns_print_leader();
- 	printf("%s(0, F_SETLK, {l_type=F_RDLCK, l_whence=SEEK_SET"
- 	       ", l_start=0, l_len=%d}) = %s\n",
- 	       TEST_SYSCALL_STR, FILE_LEN, errstr);
-@@ -101,11 +108,13 @@
- 		return;
- 
- 	invoke_test_syscall(0, F_GETLK, fl);
-+	pidns_print_leader();
- 	printf("%s(0, F_GETLK, {l_type=F_UNLCK, l_whence=SEEK_SET"
- 	       ", l_start=0, l_len=%d, l_pid=0}) = 0\n",
- 	       TEST_SYSCALL_STR, FILE_LEN);
- 
- 	invoke_test_syscall(0, F_SETLKW, fl);
-+	pidns_print_leader();
- 	printf("%s(0, F_SETLKW, {l_type=F_UNLCK, l_whence=SEEK_SET"
- 	       ", l_start=0, l_len=%d}) = 0\n",
- 	       TEST_SYSCALL_STR, FILE_LEN);
-@@ -124,6 +133,7 @@
- 	fl->l_len = FILE_LEN;
- 
- 	long rc = invoke_test_syscall(0, F_OFD_SETLK, fl);
-+	pidns_print_leader();
- 	printf("%s(0, F_OFD_SETLK, {l_type=F_RDLCK, l_whence=SEEK_SET"
- 	       ", l_start=0, l_len=%d}) = %s\n",
- 	       TEST_SYSCALL_STR, FILE_LEN, errstr);
-@@ -131,11 +141,13 @@
- 		return;
- 
- 	invoke_test_syscall(0, F_OFD_GETLK, fl);
-+	pidns_print_leader();
- 	printf("%s(0, F_OFD_GETLK, {l_type=F_UNLCK, l_whence=SEEK_SET"
- 	       ", l_start=0, l_len=%d, l_pid=0}) = 0\n",
- 	       TEST_SYSCALL_STR, FILE_LEN);
- 
- 	invoke_test_syscall(0, F_OFD_SETLKW, fl);
-+	pidns_print_leader();
- 	printf("%s(0, F_OFD_SETLKW, {l_type=F_UNLCK, l_whence=SEEK_SET"
- 	       ", l_start=0, l_len=%d}) = 0\n",
- 	       TEST_SYSCALL_STR, FILE_LEN);
-@@ -167,18 +179,21 @@
- static long
- test_f_owner_ex_type_pid(const int cmd, const char *const cmd_name,
- 			 const int type, const char *const type_name,
--			 pid_t pid)
-+			 enum pid_type pid_type, pid_t pid)
- {
- 	TAIL_ALLOC_OBJECT_CONST_PTR(struct_kernel_f_owner_ex, fo);
- 
- 	fo->type = type;
- 	fo->pid = pid;
- 	long rc = invoke_test_syscall(0, cmd, fo);
--	printf("%s(0, %s, {type=%s, pid=%d}) = %s\n",
--	       TEST_SYSCALL_STR, cmd_name, type_name, fo->pid, errstr);
-+	pidns_print_leader();
-+	printf("%s(0, %s, {type=%s, pid=%d%s}) = %s\n",
-+	       TEST_SYSCALL_STR, cmd_name, type_name,
-+	       fo->pid, pidns_pid2str(pid_type), errstr);
- 
- 	void *bad_addr = (void *) fo + 1;
- 	invoke_test_syscall(0, cmd, bad_addr);
-+	pidns_print_leader();
- 	printf("%s(0, %s, %p) = %s\n",
- 	       TEST_SYSCALL_STR, cmd_name, bad_addr, errstr);
- 
-@@ -187,35 +202,35 @@
- 
- static void
- test_f_owner_ex_umove_or_printaddr(const int type, const char *const type_name,
--				   pid_t pid)
-+				   enum pid_type pid_type, pid_t pid)
- {
- 	long rc = test_f_owner_ex_type_pid(ARG_STR(F_SETOWN_EX),
--					   type, type_name, pid);
-+					   type, type_name, pid_type, pid);
- 	if (!rc)
- 		test_f_owner_ex_type_pid(ARG_STR(F_GETOWN_EX),
--					 type, type_name, pid);
-+					 type, type_name, pid_type, pid);
- }
- 
- static void
- test_f_owner_ex(void)
- {
--	static const struct {
-+	struct {
- 		int type;
- 		const char *type_name;
--		pid_t pid[2];
-+		enum pid_type pid_type;
-+		pid_t pid;
- 	} a[] = {
--		{ ARG_STR(F_OWNER_TID), { 1234567890, 20 } },
--		{ ARG_STR(F_OWNER_PID), { 1298126790, 30 } },
--		{ ARG_STR(F_OWNER_PGRP), { 1294567890, 40 } }
-+		{ ARG_STR(F_OWNER_TID), PT_NONE, 1234567890 },
-+		{ ARG_STR(F_OWNER_PID), PT_NONE, 1234567890 },
-+		{ ARG_STR(F_OWNER_PGRP), PT_NONE, 1234567890 },
-+		{ ARG_STR(F_OWNER_TID), PT_TID, syscall(__NR_gettid) },
-+		{ ARG_STR(F_OWNER_PID), PT_TGID, getpid() },
-+		{ ARG_STR(F_OWNER_PGRP), PT_PGID, getpgid(0) },
- 	};
- 
--	for (unsigned int i = 0; i < ARRAY_SIZE(a); i++) {
--		for (unsigned int j = 0; j < ARRAY_SIZE(a[0].pid); j++) {
--			test_f_owner_ex_umove_or_printaddr(a[i].type,
--							   a[i].type_name,
--							   a[i].pid[j]);
--		}
--	}
-+	for (unsigned int i = 0; i < ARRAY_SIZE(a); i++)
-+		test_f_owner_ex_umove_or_printaddr(a[i].type, a[i].type_name,
-+			a[i].pid_type, a[i].pid);
- }
- #endif /* TEST_F_OWNER_EX */
- 
-@@ -229,6 +244,23 @@
- };
- 
- static void
-+test_xetown(void)
-+{
-+	const int pid = getpid();
-+	const char *pid_str = pidns_pid2str(PT_TGID);
-+
-+	invoke_test_syscall(0, F_SETOWN, (void *) (intptr_t) pid);
-+	pidns_print_leader();
-+	printf("%s(0, F_SETOWN, %d%s) = %s\n",
-+		TEST_SYSCALL_STR, pid, pid_str, errstr);
-+
-+	invoke_test_syscall(0, F_GETOWN, NULL);
-+	pidns_print_leader();
-+	printf("%s(0, F_GETOWN) = %d%s\n",
-+		TEST_SYSCALL_STR, pid, pid_str);
-+}
-+
-+static void
- print_retval_flags(const struct fcntl_cmd_check *check, long rc)
- {
- 	if (check->print_flags) {
-@@ -243,12 +275,14 @@
- test_other_set_cmd(const struct fcntl_cmd_check *check)
- {
- 	invoke_test_syscall(check->fd, check->cmd, (void *) check->arg);
-+	pidns_print_leader();
- 	printf("%s(%d, %s, %s) = %s\n",
- 	       TEST_SYSCALL_STR, check->fd,
- 	       check->cmd_str, check->arg_str, errstr);
- 
- 	/* bad file fd */
- 	invoke_test_syscall(-1, check->cmd, (void *) check->arg);
-+	pidns_print_leader();
- 	printf("%s(-1, %s, %s) = %s\n",
- 	       TEST_SYSCALL_STR, check->cmd_str,
- 	       check->arg_str, errstr);
-@@ -258,12 +292,14 @@
- test_other_get_cmd(const struct fcntl_cmd_check *check)
- {
- 	long rc = invoke_test_syscall(check->fd, check->cmd, NULL);
-+	pidns_print_leader();
- 	printf("%s(%d, %s) = ",
- 	       TEST_SYSCALL_STR, check->fd, check->cmd_str);
- 	print_retval_flags(check, rc);
- 
- 	/* bad file fd */
- 	invoke_test_syscall(-1, check->cmd, NULL);
-+	pidns_print_leader();
- 	printf("%s(-1, %s) = %s\n",
- 	       TEST_SYSCALL_STR, check->cmd_str, errstr);
- }
-@@ -315,7 +351,6 @@
- {
- 	static const struct fcntl_cmd_check set_checks[] = {
- 		{ 0, ARG_STR(F_SETFD), ARG_STR(FD_CLOEXEC) },
--		{ 0, ARG_STR(F_SETOWN), ARG_STR(20) },
- #ifdef F_SETPIPE_SZ
- 		{ 0, ARG_STR(F_SETPIPE_SZ), ARG_STR(4097) },
- #endif
-@@ -336,7 +371,6 @@
- 	static const struct fcntl_cmd_check get_checks[] = {
- 		{ 0, ARG_STR(F_GETFD), .print_flags = print_flags_getfd },
- 		{ 1, ARG_STR(F_GETFD), .print_flags = print_flags_getfd },
--		{ 0, ARG_STR(F_GETOWN) },
- #ifdef F_GETPIPE_SZ
- 		{ 0, ARG_STR(F_GETPIPE_SZ) },
- #endif
-@@ -360,6 +394,8 @@
- int
- main(void)
- {
-+	PIDNS_TEST_INIT;
-+
- 	create_sample();
- 	test_flock();
- 	test_flock64();
-@@ -367,7 +403,9 @@
- 	test_f_owner_ex();
- #endif
- 	test_fcntl_others();
-+	test_xetown();
- 
-+	pidns_print_leader();
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests-mx32/fcntl.c
-===================================================================
---- strace-5.7.orig/tests-mx32/fcntl.c	2020-09-09 19:52:30.623668699 +0200
-+++ strace-5.7/tests-mx32/fcntl.c	2020-09-09 19:52:38.906673636 +0200
-@@ -24,6 +24,7 @@
- 		.l_len = 0xdefaced2cafef00dULL
- 	};
- 	invoke_test_syscall(0, cmd, &fl);
-+	pidns_print_leader();
- 	printf("%s(0, %s, %p) = %s\n",
- 	       TEST_SYSCALL_STR, name, &fl, errstr);
- }
-Index: strace-5.7/tests-mx32/fcntl64--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-mx32/fcntl64--pidns-translation.c	2020-09-09 19:52:38.906673636 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "fcntl64.c"
-Index: strace-5.7/tests-mx32/fcntl64.c
-===================================================================
---- strace-5.7.orig/tests-mx32/fcntl64.c	2020-09-09 19:52:30.623668699 +0200
-+++ strace-5.7/tests-mx32/fcntl64.c	2020-09-09 19:52:38.906673636 +0200
-@@ -27,6 +27,7 @@
- 	fl->l_len = FILE_LEN;
- 
- 	long rc = invoke_test_syscall(0, F_SETLK64, fl);
-+	pidns_print_leader();
- 	printf("%s(0, F_SETLK64, {l_type=F_RDLCK, l_whence=SEEK_SET"
- 	       ", l_start=0, l_len=%d}) = %s\n",
- 	       TEST_SYSCALL_STR, FILE_LEN, errstr);
-@@ -35,11 +36,13 @@
- 		return;
- 
- 	invoke_test_syscall(0, F_GETLK64, fl);
-+	pidns_print_leader();
- 	printf("%s(0, F_GETLK64, {l_type=F_UNLCK, l_whence=SEEK_SET"
- 	       ", l_start=0, l_len=%d, l_pid=0}) = 0\n",
- 	       TEST_SYSCALL_STR, FILE_LEN);
- 
- 	invoke_test_syscall(0, F_SETLKW64, fl);
-+	pidns_print_leader();
- 	printf("%s(0, F_SETLKW64, {l_type=F_UNLCK, l_whence=SEEK_SET"
- 	       ", l_start=0, l_len=%d}) = 0\n",
- 	       TEST_SYSCALL_STR, FILE_LEN);
-Index: strace-5.7/tests-mx32/fork--pidns-translation.awk
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-mx32/fork--pidns-translation.awk	2020-09-09 19:52:38.906673636 +0200
-@@ -0,0 +1,15 @@
-+/fork/ {
-+        match($0, "([0-9]+) in strace\x27s PID NS", a);
-+        if (a[1])
-+                fork_pid = a[1]
-+}
-+
-+/exited with 0/ {
-+        if (!exit_pid)
-+                exit_pid = $1
-+}
-+
-+END {
-+        if (!fork_pid || !exit_pid || fork_pid != exit_pid)
-+                exit 1
-+}
-Index: strace-5.7/tests-mx32/fork--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-mx32/fork--pidns-translation.c	2020-09-09 19:52:38.906673636 +0200
-@@ -0,0 +1,78 @@
-+/*
-+ * Test PID namespace translation
-+ *
-+ * Copyright (c) 2020 Ákos Uzonyi <uzonyi.akos@gmail.com>
-+ * All rights reserved.
-+ *
-+ * SPDX-License-Identifier: LGPL-2.1-or-later
-+ */
-+
-+#include "tests.h"
-+#include "scno.h"
-+#include "pidns.h"
-+
-+#ifdef __NR_fork
-+
-+#include <errno.h>
-+#include <limits.h>
-+#include <sched.h>
-+#include <signal.h>
-+#include <stdio.h>
-+#include <stdlib.h>
-+#include <sys/wait.h>
-+#include <unistd.h>
-+#include <linux/sched.h>
-+#include "nsfs.h"
-+
-+#ifndef CLONE_NEWUSER
-+# define CLONE_NEWUSER 0x10000000
-+#endif
-+
-+#ifndef CLONE_NEWPID
-+# define CLONE_NEWPID 0x20000000
-+#endif
-+
-+static int
-+fork_chain(int depth)
-+{
-+	if (!depth)
-+		return 0;
-+
-+	int pid = syscall(__NR_fork);
-+	if (pid < 0)
-+		return errno;
-+
-+	if (!pid)
-+		_exit(fork_chain(depth - 1));
-+
-+	int status;
-+	if (wait(&status) < 0)
-+		return errno;
-+
-+	if (!WIFEXITED(status))
-+		return -1;
-+
-+	return WEXITSTATUS(status);
-+}
-+
-+int main(void)
-+{
-+	check_ns_ioctl();
-+
-+	if (unshare(CLONE_NEWPID | CLONE_NEWUSER) < 0) {
-+		if (errno == EPERM)
-+			perror_msg_and_skip("unshare");
-+
-+		perror_msg_and_fail("unshare");
-+	}
-+
-+	errno = fork_chain(2);
-+	if (errno)
-+		perror("fork_chain");
-+}
-+
-+#else
-+
-+SKIP_MAIN_UNDEFINED("__NR_fork")
-+
-+#endif
-Index: strace-5.7/tests-mx32/fork--pidns-translation.test
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-mx32/fork--pidns-translation.test	2020-09-09 19:52:38.906673636 +0200
-@@ -0,0 +1,14 @@
-+#!/bin/sh
-+#
-+# Check pidns translation of fork's return value.
-+#
-+# Copyright (c) 2020 The strace developers.
-+# All rights reserved.
-+#
-+# SPDX-License-Identifier: LGPL-2.1-or-later
-+
-+. "${srcdir=.}/init.sh"
-+
-+run_prog
-+run_strace -a6 --pidns-translation -f -e trace=fork $args
-+match_awk
-Index: strace-5.7/tests-mx32/gen_tests.in
-===================================================================
---- strace-5.7.orig/tests-mx32/gen_tests.in	2020-09-09 19:52:30.625668700 +0200
-+++ strace-5.7/tests-mx32/gen_tests.in	2020-09-09 19:52:38.907673637 +0200
-@@ -88,7 +88,9 @@
- fchown32	-a18
- fchownat
- fcntl	-a8
-+fcntl--pidns-translation	test_pidns -a8 -e trace=fcntl
- fcntl64	-a8
-+fcntl64--pidns-translation	test_pidns -a8 -e trace=fcntl64
- fdatasync	-a14
- file_handle	-e trace=name_to_handle_at,open_by_handle_at
- file_ioctl	+ioctl.test
-@@ -142,7 +144,9 @@
- getgroups32	-a19
- getpeername	-a27
- getpgrp	-a10
-+getpgrp--pidns-translation	test_pidns -e trace=getpgrp -a10
- getpid	-a9
-+getpid--pidns-translation	test_pidns -e trace=getpid -a9
- getppid	-a10
- getrandom	-a32 -s3
- getresgid	-a25
-@@ -152,6 +156,7 @@
- getrlimit	-a27
- getrusage	-v
- getsid	-a10
-+getsid--pidns-translation	test_pidns -e trace=getsid -a10
- getsockname	-a27
- gettid	-a9
- getuid-creds	+getuid.test
-@@ -245,6 +250,7 @@
- ioperm	-a27
- iopl	-a8
- ioprio	-a18 -e trace=ioprio_get,ioprio_set
-+ioprio--pidns-translation	test_pidns -a18 -e trace=ioprio_get,ioprio_set
- ioprio-Xabbrev	-a18 -e trace=ioprio_get,ioprio_set -Xabbrev
- ioprio-Xraw	-a18 -e trace=ioprio_get,ioprio_set -Xraw
- ioprio-Xverbose	-a18 -e trace=ioprio_get,ioprio_set -Xverbose
-@@ -267,6 +273,7 @@
- ipc_shm-Xverbose	+ipc.sh -Xverbose -a34
- kcmp	-a22
- kcmp-y	-a22 -y -e trace=kcmp
-+kcmp-y--pidns-translation	test_pidns -a22 -y -e trace=kcmp
- kern_features -a16
- kernel_version	-a16 -v -e trace=bpf
- kernel_version-Xabbrev	-a16 -Xabbrev -v -e trace=bpf
-@@ -279,6 +286,7 @@
- keyctl-Xraw	-a13 -s10 -e trace=keyctl -Xraw
- keyctl-Xverbose	-a41 -s10 -e trace=keyctl -Xverbose
- kill	-a12 -esignal=none
-+kill--pidns-translation	test_pidns -a12 -e trace=kill -esignal=none
- ksysent	../$NAME
- lchown	-a30
- lchown32	-a32
-@@ -300,6 +308,7 @@
- memfd_create-Xraw	-a30 -Xraw -e trace=memfd_create
- memfd_create-Xverbose	-Xverbose -e trace=memfd_create
- migrate_pages	-a33
-+migrate_pages--pidns-translation	test_pidns -a33 -e trace=migrate_pages
- mincore	-a22
- mkdir	-a20
- mkdirat	-a28
-@@ -330,6 +339,7 @@
- move_pages-Xabbrev	-s3 -e trace=move_pages -Xabbrev
- move_pages-Xraw	-s3 -a36 -e trace=move_pages -Xraw
- move_pages-Xverbose	-s3 -e trace=move_pages -Xverbose
-+move_pages--pidns-translation	test_pidns -s3 -e trace=move_pages
- mq	-a32 -e trace=mq_getsetattr,mq_open,mq_unlink
- mq_sendrecv	-a14 -e trace=mq_open,mq_notify,mq_timedsend,mq_timedreceive,mq_unlink
- mq_sendrecv-read	-eread=0 -a14 -e trace=mq_open,mq_notify,mq_timedsend,mq_timedreceive,mq_unlink
-@@ -349,6 +359,7 @@
- net-packet_mreq-Xraw	-e trace=setsockopt -Xraw
- net-packet_mreq-Xverbose	-e trace=setsockopt -Xverbose
- net-sockaddr	-a24 -e trace=connect
-+net-sockaddr--pidns-translation	test_pidns -a24 -e trace=connect
- net-tpacket_req -e trace=setsockopt
- net-tpacket_stats -e trace=getsockopt
- net-yy-inet6	+net-yy-inet.test
-@@ -452,7 +463,9 @@
- pidfd_open-P	-a17 -P /dev/full -e trace=pidfd_open
- pidfd_open-y	-a17 -y -e trace=pidfd_open
- pidfd_open-yy	-a17 -yy -e trace=pidfd_open
-+pidfd_open--pidns-translation	test_pidns -a17 -e trace=pidfd_open
- pidfd_send_signal
-+pidfd_send_signal--pidns-translation test_pidns -e trace=pidfd_send_signal
- pipe2	-a15
- pkey_alloc	-a17
- pkey_free	-a13
-@@ -475,8 +488,11 @@
- printstrn-umoven-peekdata	-e signal=none -e trace=add_key
- printstrn-umoven-undumpable	-e signal=none -e trace=add_key
- prlimit64
-+prlimit64--pidns-translation     test_pidns -e trace=prlimit64
- process_vm_readv	-s5 -a37
-+process_vm_readv--pidns-translation	test_pidns -s5 -a37 -e trace=process_vm_readv
- process_vm_writev	-s5 -a38
-+process_vm_writev--pidns-translation	test_pidns -s5 -a38 -e trace=process_vm_writev
- pselect6
- ptrace	-a23 -e signal=none
- ptrace_syscall_info	-a35 -e signal=none -e trace=ptrace
-@@ -513,10 +529,12 @@
- rt_sigpending	-a20
- rt_sigprocmask
- rt_sigqueueinfo	-esignal=none
-+rt_sigqueueinfo--pidns-translation	test_pidns -esignal=none -e trace=rt_sigqueueinfo
- rt_sigreturn	-esignal='!USR1'
- rt_sigsuspend	-a20 -esignal=none
- rt_sigtimedwait	-a38
- rt_tgsigqueueinfo	-esignal=none
-+rt_tgsigqueueinfo--pidns-translation	test_pidns -esignal=none -e trace=rt_tgsigqueueinfo
- s390_guarded_storage	-a32
- s390_guarded_storage-v	-e trace=s390_guarded_storage -a32 -v
- s390_pci_mmio_read_write	-e trace=s390_pci_mmio_read,s390_pci_mmio_write -a30
-@@ -527,9 +545,13 @@
- sched_get_priority_mxx	-a33 -e trace=sched_get_priority_min,sched_get_priority_max
- sched_rr_get_interval	-a31
- sched_xetaffinity	-a28 -e trace=sched_getaffinity,sched_setaffinity
-+sched_xetaffinity--pidns-translation	test_pidns -a28 -e trace=sched_getaffinity,sched_setaffinity
- sched_xetattr	-a29 -e trace=sched_getattr,sched_setattr
-+sched_xetattr--pidns-translation	test_pidns -a29 -e trace=sched_getattr,sched_setattr
- sched_xetparam	-a23 -e trace=sched_getparam,sched_setparam
-+sched_xetparam--pidns-translation	test_pidns -a23 -e trace=sched_getparam,sched_setparam
- sched_xetscheduler	-a22 -e trace=sched_getscheduler,sched_setscheduler
-+sched_xetscheduler--pidns-translation	test_pidns -a22 -e trace=sched_getscheduler,sched_setscheduler
- sched_yield	-a14
- seccomp-filter	-e trace=seccomp
- seccomp-filter-v	-v -e trace=seccomp
-@@ -576,6 +598,7 @@
- siginfo	-e trace=none
- signal	-a25 -e signal=none -e trace='/^signal$'
- signal_receive	-a16 -e trace=kill
-+signal_receive--pidns-translation	test_pidns -a16 -e trace=kill
- signalfd4
- sigpending	-a15
- sigprocmask	-a34
-@@ -587,6 +610,7 @@
- so_peercred-Xabbrev	-e trace=getsockopt -Xabbrev
- so_peercred-Xraw	-e trace=getsockopt -Xraw -a39
- so_peercred-Xverbose	-e trace=getsockopt -Xverbose
-+so_peercred--pidns-translation	test_pidns -e trace=getsockopt
- sock_filter-v	-v -e trace=getsockopt,setsockopt
- sock_filter-v-Xabbrev	-v -e trace=getsockopt,setsockopt -X abbrev
- sock_filter-v-Xraw	-a 37 -v -e trace=getsockopt,setsockopt -X raw
-@@ -659,6 +683,7 @@
- syslog	-a35
- tee
- tgkill	-a15 --signal='!cont'
-+tgkill--pidns-translation       test_pidns -a15 --signal='!cont' -e trace=tgkill
- threads-execve--quiet-thread-execve +threads-execve.test -s40 --quiet=personality,thread-execve
- threads-execve-q +threads-execve.test -q
- threads-execve-qq +threads-execve.test -qq
-@@ -670,6 +695,7 @@
- times	-esignal=none
- times-fail	-a12 -e trace=times
- tkill	-a12 --signal='!cont'
-+tkill--pidns-translation       test_pidns --signal='!cont' -a12 -e trace=tkill
- trace_clock	test_trace_expr 'clock_nanosleep|times' -e%clock
- trace_creds	test_trace_expr '([gs]et[^p]*([gu]id|groups)|caps|prctl|[fl]?chown|print(path-umovestr|strn-umoven)-undumpable|ptrace|quotactl|rt_sigtimedwait|rt_(tg)?sigqueueinfo).*' -e%creds
- trace_fstat	test_trace_expr '' -e%fstat -v -P stat.sample -P /dev/full
-@@ -686,6 +712,7 @@
- trace_stat_like	test_trace_expr '' -e%%stat -v -P stat.sample -P /dev/full
- trace_statfs	test_trace_expr '' -e%statfs
- trace_statfs_like	test_trace_expr '' -e%%statfs
-+trie_test    run_prog
- truncate
- truncate64
- ugetrlimit	-a28
-@@ -716,7 +743,10 @@
- xattr	-a22 -e trace=getxattr,fgetxattr,lgetxattr,setxattr,fsetxattr,lsetxattr,listxattr,flistxattr,llistxattr,removexattr,fremovexattr,lremovexattr
- xattr-strings	-a22 -s 4 -e trace=fsetxattr
- xet_robust_list	-a24 -e trace=get_robust_list,set_robust_list
-+xet_robust_list--pidns-translation	test_pidns -a24 -e trace=get_robust_list,set_robust_list
- xetitimer	-a29 -e trace=setitimer,getitimer
- xetpgid	-a11 -e trace=getpgid,setpgid
--xetpriority	-a29 -e trace=getpriority,setpriority
-+xetpgid--pidns-translation	test_pidns -a11 -e trace=getpgid,setpgid
-+xetpriority	-a27 -e trace=getpriority,setpriority
-+xetpriority--pidns-translation	test_pidns -a27 -e trace=getpriority,setpriority
- xettimeofday	-a20 -e trace=gettimeofday,settimeofday
-Index: strace-5.7/tests-mx32/getpgrp--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-mx32/getpgrp--pidns-translation.c	2020-09-09 19:52:38.907673637 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "getpgrp.c"
-Index: strace-5.7/tests-mx32/getpgrp.c
-===================================================================
---- strace-5.7.orig/tests-mx32/getpgrp.c	2020-09-09 19:52:30.625668700 +0200
-+++ strace-5.7/tests-mx32/getpgrp.c	2020-09-09 19:52:38.907673637 +0200
-@@ -7,6 +7,7 @@
- 
- #include "tests.h"
- #include "scno.h"
-+#include "pidns.h"
- 
- #ifdef __NR_getpgrp
- 
-@@ -16,8 +17,13 @@
- int
- main(void)
- {
--	printf("getpgrp() = %ld\n", syscall(__NR_getpgrp));
-+	PIDNS_TEST_INIT;
- 
-+	pidns_print_leader();
-+	printf("getpgrp() = %d%s\n", (int) syscall(__NR_getpgrp),
-+		pidns_pid2str(PT_PGID));
-+
-+	pidns_print_leader();
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests-mx32/getpid--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-mx32/getpid--pidns-translation.c	2020-09-09 19:52:38.907673637 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "getpid.c"
-Index: strace-5.7/tests-mx32/getpid.c
-===================================================================
---- strace-5.7.orig/tests-mx32/getpid.c	2020-09-09 19:52:30.625668700 +0200
-+++ strace-5.7/tests-mx32/getpid.c	2020-09-09 19:52:38.907673637 +0200
-@@ -7,6 +7,7 @@
- 
- #include "tests.h"
- #include "scno.h"
-+#include "pidns.h"
- 
- #if defined __NR_getpid && (!defined __NR_getxpid || __NR_getxpid != __NR_getpid)
- 
-@@ -16,7 +17,12 @@
- int
- main(void)
- {
--	printf("getpid() = %ld\n", syscall(__NR_getpid));
-+	PIDNS_TEST_INIT;
-+
-+	pidns_print_leader();
-+	printf("getpid() = %d%s\n", (int) syscall(__NR_getpid),
-+		pidns_pid2str(PT_TGID));
-+	pidns_print_leader();
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests-mx32/getsid--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-mx32/getsid--pidns-translation.c	2020-09-09 19:52:38.907673637 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "getsid.c"
-Index: strace-5.7/tests-mx32/getsid.c
-===================================================================
---- strace-5.7.orig/tests-mx32/getsid.c	2020-09-09 19:52:30.625668700 +0200
-+++ strace-5.7/tests-mx32/getsid.c	2020-09-09 19:52:38.907673637 +0200
-@@ -6,15 +6,22 @@
-  */
- 
- #include "tests.h"
-+#include "pidns.h"
-+
- #include <stdio.h>
- #include <unistd.h>
- 
- int
- main(void)
- {
-+	PIDNS_TEST_INIT;
-+
- 	pid_t pid = getpid();
--	printf("getsid(%d) = %d\n", pid, getsid(pid));
-+	pidns_print_leader();
-+	printf("getsid(%d%s) = %d%s\n", pid, pidns_pid2str(PT_TGID),
-+		getsid(pid), pidns_pid2str(PT_SID));
- 
-+	pidns_print_leader();
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests-mx32/gettid--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-mx32/gettid--pidns-translation.c	2020-09-09 19:52:38.908673637 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "gettid.c"
-Index: strace-5.7/tests-mx32/gettid--pidns-translation.test
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-mx32/gettid--pidns-translation.test	2020-09-09 19:52:38.908673637 +0200
-@@ -0,0 +1,18 @@
-+#!/bin/sh
-+#
-+# Check pidns translation of gettid's return value.
-+#
-+# Copyright (c) 2020 The strace developers.
-+# All rights reserved.
-+#
-+# SPDX-License-Identifier: LGPL-2.1-or-later
-+
-+. "${srcdir=.}/init.sh"
-+
-+run_prog > /dev/null
-+run_strace -a9 --pidns-translation -f -e trace=gettid $args > "$EXP"
-+parent_pid="$(tail -n 2 $LOG | head -n 1 | cut -d' ' -f1)"
-+init_pid="$(tail -n 1 $LOG | cut -d' ' -f1)"
-+# uniq: filter out extra gettid calls made by musl libc
-+grep -E -v "^($parent_pid|$init_pid) |unfinished|resumed" "$LOG" | uniq > "$OUT"
-+match_diff "$OUT" "$EXP"
-Index: strace-5.7/tests-mx32/gettid.c
-===================================================================
---- strace-5.7.orig/tests-mx32/gettid.c	2020-09-09 19:52:30.626668701 +0200
-+++ strace-5.7/tests-mx32/gettid.c	2020-09-09 19:52:38.908673637 +0200
-@@ -9,11 +9,17 @@
- #include <stdio.h>
- #include <unistd.h>
- #include "scno.h"
-+#include "pidns.h"
- 
- int
- main(void)
- {
--	printf("gettid() = %ld\n", syscall(__NR_gettid));
-+	PIDNS_TEST_INIT;
-+
-+	pidns_print_leader();
-+	printf("gettid() = %d%s\n", (int) syscall(__NR_gettid),
-+		pidns_pid2str(PT_TID));
-+	pidns_print_leader();
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests-mx32/ioctl_block--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-mx32/ioctl_block--pidns-translation.c	2020-09-09 19:52:38.908673637 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "ioctl_block.c"
-Index: strace-5.7/tests-mx32/ioctl_block--pidns-translation.test
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-mx32/ioctl_block--pidns-translation.test	2020-09-09 19:52:38.908673637 +0200
-@@ -0,0 +1,22 @@
-+#!/bin/sh
-+#
-+# Check pidns translation of ioctl(BLK*) syscall decoding.
-+#
-+# Copyright (c) 2020 The strace developers.
-+# All rights reserved.
-+#
-+# SPDX-License-Identifier: LGPL-2.1-or-later
-+
-+. "${srcdir=.}/init.sh"
-+
-+check_prog head
-+check_prog tail
-+check_prog cut
-+check_prog grep
-+
-+run_prog > /dev/null
-+run_strace --pidns-translation -f -a16 -e trace=ioctl $@ $args > "$EXP"
-+parent_pid="$(tail -n 2 $LOG | head -n 1 | cut -d' ' -f1)"
-+init_pid="$(tail -n 1 $LOG | cut -d' ' -f1)"
-+grep -E -v "^($parent_pid|$init_pid) |ioctl\([0123][,<]" "$LOG" > "$OUT"
-+match_diff "$OUT" "$EXP"
-Index: strace-5.7/tests-mx32/ioctl_block.c
-===================================================================
---- strace-5.7.orig/tests-mx32/ioctl_block.c	2020-09-09 19:52:30.626668701 +0200
-+++ strace-5.7/tests-mx32/ioctl_block.c	2020-09-09 19:52:38.908673637 +0200
-@@ -9,7 +9,9 @@
-  */
- 
- #include "tests.h"
-+#include "pidns.h"
- #include <errno.h>
-+#include <unistd.h>
- #include <inttypes.h>
- #include <stdio.h>
- #include <string.h>
-@@ -41,12 +43,15 @@
- #define TEST_NULL_ARG(cmd)						\
- 	do {								\
- 		ioctl(-1, cmd, 0);					\
-+		pidns_print_leader();					\
- 		printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", #cmd);	\
- 	} while (0)
- 
- int
- main(void)
- {
-+	PIDNS_TEST_INIT;
-+
- 	TEST_NULL_ARG(BLKBSZGET);
- 	TEST_NULL_ARG(BLKBSZSET);
- 	TEST_NULL_ARG(BLKFRAGET);
-@@ -91,18 +96,22 @@
- #endif
- 
- 	ioctl(-1, BLKRASET, lmagic);
-+	pidns_print_leader();
- 	printf("ioctl(-1, BLKRASET, %lu) = -1 EBADF (%m)\n", lmagic);
- 
- 	ioctl(-1, BLKFRASET, lmagic);
-+	pidns_print_leader();
- 	printf("ioctl(-1, BLKFRASET, %lu) = -1 EBADF (%m)\n", lmagic);
- 
- 	TAIL_ALLOC_OBJECT_CONST_PTR(int, val_int);
- 	*val_int = magic;
- 
- 	ioctl(-1, BLKROSET, val_int);
-+	pidns_print_leader();
- 	printf("ioctl(-1, BLKROSET, [%d]) = -1 EBADF (%m)\n", *val_int);
- 
- 	ioctl(-1, BLKBSZSET, val_int);
-+	pidns_print_leader();
- 	printf("ioctl(-1, BLKBSZSET, [%d]) = -1 EBADF (%m)\n", *val_int);
- 
- 	uint64_t *pair_int64 = tail_alloc(sizeof(*pair_int64) * 2);
-@@ -111,18 +120,21 @@
- 
- #ifdef BLKDISCARD
- 	ioctl(-1, BLKDISCARD, pair_int64);
-+	pidns_print_leader();
- 	printf("ioctl(-1, BLKDISCARD, [%" PRIu64 ", %" PRIu64 "])"
- 	       " = -1 EBADF (%m)\n", pair_int64[0], pair_int64[1]);
- #endif
- 
- #ifdef BLKSECDISCARD
- 	ioctl(-1, BLKSECDISCARD, pair_int64);
-+	pidns_print_leader();
- 	printf("ioctl(-1, BLKSECDISCARD, [%" PRIu64 ", %" PRIu64 "])"
- 	       " = -1 EBADF (%m)\n", pair_int64[0], pair_int64[1]);
- #endif
- 
- #ifdef BLKZEROOUT
- 	ioctl(-1, BLKZEROOUT, pair_int64);
-+	pidns_print_leader();
- 	printf("ioctl(-1, BLKZEROOUT, [%" PRIu64 ", %" PRIu64 "])"
- 	       " = -1 EBADF (%m)\n", pair_int64[0], pair_int64[1]);
- #endif
-@@ -134,6 +146,7 @@
- 	blkpg->data = (void *) (unsigned long) 0xcafef00dfffffeedULL;
- 
- 	ioctl(-1, BLKPG, blkpg);
-+	pidns_print_leader();
- 	printf("ioctl(-1, BLKPG, {op=%s, flags=%d, datalen=%d"
- 	       ", data=%#lx}) = -1 EBADF (%m)\n",
- 	       "BLKPG_RESIZE_PARTITION", blkpg->flags, blkpg->datalen,
-@@ -149,6 +162,7 @@
- 	blkpg->data = bp;
- 
- 	ioctl(-1, BLKPG, blkpg);
-+	pidns_print_leader();
- 	printf("ioctl(-1, BLKPG, {op=%s, flags=%d, datalen=%d"
- 	       ", data={start=%lld, length=%lld, pno=%d"
- 	       ", devname=\"%.*s\"..., volname=\"%.*s\"...}})"
-@@ -162,25 +176,31 @@
- #if defined BLKTRACESETUP && defined HAVE_STRUCT_BLK_USER_TRACE_SETUP
- 	TAIL_ALLOC_OBJECT_CONST_PTR(struct blk_user_trace_setup, buts);
- 	fill_memory(buts, sizeof(*buts));
-+	buts->pid = getpid();
- 
- 	ioctl(-1, BLKTRACESETUP, buts);
-+	pidns_print_leader();
- 	printf("ioctl(-1, BLKTRACESETUP, {act_mask=%hu, buf_size=%u, buf_nr=%u"
--	       ", start_lba=%" PRI__u64 ", end_lba=%" PRI__u64 ", pid=%d})"
-+	       ", start_lba=%" PRI__u64 ", end_lba=%" PRI__u64 ", pid=%d%s})"
- 	       " = -1 EBADF (%m)\n",
- 	       buts->act_mask, buts->buf_size, buts->buf_nr,
--	       buts->start_lba, buts->end_lba, buts->pid);
-+	       buts->start_lba, buts->end_lba, buts->pid,
-+	       pidns_pid2str(PT_TGID));
- #endif
- 
- 	unsigned int i;
- 	for (i = 0; i < ARRAY_SIZE(block_argless); ++i) {
- 		ioctl(-1, (unsigned long) block_argless[i].val, lmagic);
-+		pidns_print_leader();
- 		printf("ioctl(-1, %s) = -1 EBADF (%m)\n", block_argless[i].str);
- 	}
- 
- 	ioctl(-1, _IOC(_IOC_READ, 0x12, 0xfe, 0xff), lmagic);
-+	pidns_print_leader();
- 	printf("ioctl(-1, %s, %#lx) = -1 EBADF (%m)\n",
- 	       "_IOC(_IOC_READ, 0x12, 0xfe, 0xff)", lmagic);
- 
-+	pidns_print_leader();
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests-mx32/ioprio--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-mx32/ioprio--pidns-translation.c	2020-09-09 19:52:38.908673637 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "ioprio.c"
-Index: strace-5.7/tests-mx32/ioprio.c
-===================================================================
---- strace-5.7.orig/tests-mx32/ioprio.c	2020-09-09 19:52:30.627668701 +0200
-+++ strace-5.7/tests-mx32/ioprio.c	2020-09-09 19:52:38.909673638 +0200
-@@ -9,8 +9,8 @@
-  */
- 
- #include "tests.h"
--
- #include "scno.h"
-+#include "pidns.h"
- 
- #if defined(__NR_ioprio_get) && defined(__NR_ioprio_set)
- 
-@@ -30,12 +30,18 @@
- int
- main(void)
- {
-+	PIDNS_TEST_INIT;
-+
- 	static const kernel_ulong_t bogus_which =
- 		(kernel_ulong_t) 0xdeadfacefa57beefULL;
- 	static const kernel_ulong_t bogus_who =
- 		(kernel_ulong_t) 0xbadc0dedda7a1057ULL;
- 	static const kernel_ulong_t bogus_ioprio =
- 		(kernel_ulong_t) 0xdec0ded1facefeedULL;
-+
-+	const int pid = getpid();
-+	const int pgid = getpgid(0);
-+
- # if !XLAT_RAW
- 	static const char * const bogus_ioprio_str =
- 		"IOPRIO_PRIO_VALUE(0x7d677 /* IOPRIO_CLASS_??? */, 7917)";
-@@ -46,6 +52,7 @@
- 
- 	rc = syscall(__NR_ioprio_get, bogus_which, bogus_who);
- 	errstr = sprintrc(rc);
-+	pidns_print_leader();
- # if XLAT_RAW
- 	printf("ioprio_get(%#x, %d) = %s\n",
- 	       (int) bogus_which, (int) bogus_who, errstr);
-@@ -54,42 +61,52 @@
- 	       (int) bogus_which, (int) bogus_who, errstr);
- # endif
- 
--	rc = syscall(__NR_ioprio_get, 1, 0);
-+	rc = syscall(__NR_ioprio_get, 1, pid);
- 	errstr = sprintrc(rc);
-+	pidns_print_leader();
-+	printf("ioprio_get(");
- # if XLAT_RAW
--	printf("ioprio_get(0x1, 0) = %s\n", errstr);
-+	printf("0x1, ");
-+# elif XLAT_VERBOSE
-+	printf("0x1 /* IOPRIO_WHO_PROCESS */, ");
- # else /* XLAT_ABBREV */
--#  if XLAT_VERBOSE
--	printf("ioprio_get(0x1 /* IOPRIO_WHO_PROCESS */, 0) = %s", errstr);
--#  else
--	printf("ioprio_get(IOPRIO_WHO_PROCESS, 0) = %s", errstr);
--#  endif
-+	printf("IOPRIO_WHO_PROCESS, ");
-+# endif
-+	printf("%d%s) = %s", pid, pidns_pid2str(PT_TGID), errstr);
-+# if !XLAT_RAW
- 	if (rc >= 0) {
- 		printf(" (IOPRIO_PRIO_VALUE(");
- 		printxval(ioprio_class, (unsigned int) rc >> 13,
- 			  "IOPRIO_CLASS_???");
- 		printf(", %u))", (unsigned int) rc & 0x1fff);
- 	}
--	puts("");
- # endif
-+	puts("");
- 
--	rc = syscall(__NR_ioprio_set, 2, 0, 8191);
-+	rc = syscall(__NR_ioprio_set, 2, pgid, 8191);
- 	errstr = sprintrc(rc);
-+	pidns_print_leader();
-+	printf("ioprio_set(");
- # if XLAT_RAW
--	printf("ioprio_set(%#x, 0, 8191) = %s\n", 2, errstr);
-+	printf("%#x", 2);
- # elif XLAT_VERBOSE
--	printf("ioprio_set(%#x /* IOPRIO_WHO_PGRP */, 0, 8191"
--	       " /* IOPRIO_PRIO_VALUE(0 /* IOPRIO_CLASS_NONE */, 8191) */)"
--	       " = %s\n",
--	       2, errstr);
-+	printf("%#x /* IOPRIO_WHO_PGRP */", 2);
- # else /* XLAT_ABBREV */
--	printf("ioprio_set(IOPRIO_WHO_PGRP, 0"
--	       ", IOPRIO_PRIO_VALUE(IOPRIO_CLASS_NONE, 8191)) = %s\n",
--	       errstr);
-+	printf("IOPRIO_WHO_PGRP");
-+# endif
-+	printf(", %d%s", pgid, pidns_pid2str(PT_PGID));
-+# if XLAT_RAW
-+	printf(", 8191)");
-+# elif XLAT_VERBOSE
-+	printf(", 8191 /* IOPRIO_PRIO_VALUE(0 /* IOPRIO_CLASS_NONE */, 8191) */)");
-+# else /* XLAT_ABBREV */
-+	printf(", IOPRIO_PRIO_VALUE(IOPRIO_CLASS_NONE, 8191))");
- # endif
-+	printf(" = %s\n", errstr);
- 
- 	rc = syscall(__NR_ioprio_set, bogus_which, bogus_who, bogus_ioprio);
- 	errstr = sprintrc(rc);
-+	pidns_print_leader();
- # if XLAT_RAW
- 	printf("ioprio_set(%#x, %d, %d) = %s\n",
- 	       (int) bogus_which, (int) bogus_who, (int) bogus_ioprio,
-@@ -104,6 +121,7 @@
- 	       errstr);
- # endif
- 
-+	pidns_print_leader();
- 	puts("+++ exited with 0 +++");
- 
- 	return 0;
-Index: strace-5.7/tests-mx32/kcmp-y--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-mx32/kcmp-y--pidns-translation.c	2020-09-09 19:52:38.909673638 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "kcmp-y.c"
-Index: strace-5.7/tests-mx32/kcmp.c
-===================================================================
---- strace-5.7.orig/tests-mx32/kcmp.c	2020-09-09 19:52:30.627668701 +0200
-+++ strace-5.7/tests-mx32/kcmp.c	2020-09-09 19:52:38.909673638 +0200
-@@ -9,8 +9,8 @@
-  */
- 
- #include "tests.h"
--
- #include "scno.h"
-+#include "pidns.h"
- 
- #ifdef __NR_kcmp
- 
-@@ -101,7 +101,11 @@
- 	rc = syscall(__NR_kcmp, pid1, pid2, type, idx1, idx2);
- 	errstr = sprintrc(rc);
- 
--	printf("kcmp(%d, %d, ", (int) pid1, (int) pid2);
-+	const char *pid_str = pidns_pid2str(PT_TGID);
-+	pidns_print_leader();
-+	printf("kcmp(%d%s, %d%s, ",
-+		(int) pid1, (int) pid1 == getpid() ? pid_str : "",
-+		(int) pid2, (int) pid2 == getpid() ? pid_str : "");
- 
- 	if (type_str)
- 		printf("%s", type_str);
-@@ -146,6 +150,8 @@
- int
- main(void)
- {
-+	PIDNS_TEST_INIT;
-+
- 	static const kernel_ulong_t bogus_pid1 =
- 		(kernel_ulong_t) 0xdeadca75face1057ULL;
- 	static const kernel_ulong_t bogus_pid2 =
-@@ -221,6 +227,7 @@
- 			(uintptr_t) slot, 1);
- 	}
- 
-+	pidns_print_leader();
- 	puts("+++ exited with 0 +++");
- 
- 	return 0;
-Index: strace-5.7/tests-mx32/kill--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-mx32/kill--pidns-translation.c	2020-09-09 19:52:38.909673638 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "kill.c"
-Index: strace-5.7/tests-mx32/kill.c
-===================================================================
---- strace-5.7.orig/tests-mx32/kill.c	2020-09-09 19:52:30.628668702 +0200
-+++ strace-5.7/tests-mx32/kill.c	2020-09-09 19:52:38.909673638 +0200
-@@ -11,6 +11,7 @@
- 
- #include "tests.h"
- #include "scno.h"
-+#include "pidns.h"
- 
- #ifdef __NR_kill
- 
-@@ -26,6 +27,8 @@
- int
- main(void)
- {
-+	PIDNS_TEST_INIT;
-+
- 	const struct sigaction act = { .sa_handler = handler };
- 	if (sigaction(SIGALRM, &act, NULL))
- 		perror_msg_and_fail("sigaction");
-@@ -37,18 +40,23 @@
- 		perror_msg_and_fail("sigprocmask");
- 
- 	const int pid = getpid();
-+	const char *pid_str = pidns_pid2str(PT_TGID);
- 	long rc = syscall(__NR_kill, pid, (long) 0xdefaced00000000ULL | SIGALRM);
--	printf("kill(%d, SIGALRM) = %ld\n", pid, rc);
-+	pidns_print_leader();
-+	printf("kill(%d%s, SIGALRM) = %ld\n", pid, pid_str, rc);
- 
- 	const long big_pid = (long) 0xfacefeedbadc0dedULL;
- 	const long big_sig = (long) 0xdeadbeefcafef00dULL;
- 	rc = syscall(__NR_kill, big_pid, big_sig);
-+	pidns_print_leader();
- 	printf("kill(%d, %d) = %ld %s (%m)\n",
- 	       (int) big_pid, (int) big_sig, rc, errno2name());
- 
- 	rc = syscall(__NR_kill, (long) 0xdefaced00000000ULL | pid, 0);
--	printf("kill(%d, 0) = %ld\n", pid, rc);
-+	pidns_print_leader();
-+	printf("kill(%d%s, 0) = %ld\n", pid, pid_str, rc);
- 
-+	pidns_print_leader();
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests-mx32/migrate_pages--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-mx32/migrate_pages--pidns-translation.c	2020-09-09 19:52:38.909673638 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "migrate_pages.c"
-Index: strace-5.7/tests-mx32/migrate_pages.c
-===================================================================
---- strace-5.7.orig/tests-mx32/migrate_pages.c	2020-09-09 19:52:30.628668702 +0200
-+++ strace-5.7/tests-mx32/migrate_pages.c	2020-09-09 19:52:38.909673638 +0200
-@@ -10,6 +10,7 @@
- 
- #include "tests.h"
- #include "scno.h"
-+#include "pidns.h"
- 
- #ifdef __NR_migrate_pages
- 
-@@ -19,11 +20,21 @@
- int
- main(void)
- {
--	const long pid = (long) 0xfacefeedffffffffULL;
-+	PIDNS_TEST_INIT;
-+
-+	const long pid = (long) 0xfacefeed00000000ULL | getpid();
- 	long rc = syscall(__NR_migrate_pages, pid, 0, 0, 0);
--	printf("migrate_pages(%d, 0, NULL, NULL) = %ld %s (%m)\n",
--	       (int) pid, rc, errno2name());
- 
-+	pidns_print_leader();
-+	printf("migrate_pages(%d%s, 0, NULL, NULL) = %ld",
-+		(int) pid, pidns_pid2str(PT_TGID), rc);
-+
-+	if (rc < 0)
-+		printf(" %s (%m)\n", errno2name());
-+	else
-+		printf("\n");
-+
-+	pidns_print_leader();
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests-mx32/move_pages--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-mx32/move_pages--pidns-translation.c	2020-09-09 19:52:38.910673638 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "move_pages.c"
-Index: strace-5.7/tests-mx32/move_pages.c
-===================================================================
---- strace-5.7.orig/tests-mx32/move_pages.c	2020-09-09 19:52:30.629668703 +0200
-+++ strace-5.7/tests-mx32/move_pages.c	2020-09-09 19:52:38.910673638 +0200
-@@ -10,6 +10,7 @@
- 
- #include "tests.h"
- #include "scno.h"
-+#include "pidns.h"
- 
- #ifdef __NR_move_pages
- 
-@@ -122,15 +123,20 @@
- }
- 
- static void
--print_stat_pages(const unsigned long pid, const unsigned long count,
--		 const void **const pages, int *const status)
-+print_stat_pages(const unsigned long pid,
-+		 const char *pid_str,
-+		 const unsigned long count,
-+		 const void **const pages,
-+		 int *const status)
- {
- 	const unsigned long flags = (unsigned long) 0xfacefeed00000002ULL;
- 
- 	long rc = syscall(__NR_move_pages,
- 			  pid, count, pages, NULL, status, flags);
- 	const char *errstr = sprintrc(rc);
--	printf("move_pages(%d, %lu, ", (int) pid, count);
-+	pidns_print_leader();
-+	printf("move_pages(%d%s, %lu, ", (int) pid, pid_str,
-+		count);
- 	print_page_array(pages, count, 0);
- 	printf(", NULL, ");
- 	if (rc) {
-@@ -152,6 +158,7 @@
- 
- static void
- print_move_pages(const unsigned long pid,
-+		 const char *pid_str,
- 		 unsigned long count,
- 		 const unsigned int offset,
- 		 const void **const pages,
-@@ -164,7 +171,9 @@
- 	long rc = syscall(__NR_move_pages,
- 			  pid, count, pages, nodes, status, flags);
- 	const char *errstr = sprintrc(rc);
--	printf("move_pages(%d, %lu, ", (int) pid, count);
-+	pidns_print_leader();
-+	printf("move_pages(%d%s, %lu, ", (int) pid, pid_str,
-+		count);
- 	print_page_array(pages, count, offset);
- 	printf(", ");
- 	print_node_array(nodes, count, offset);
-@@ -185,8 +194,11 @@
- int
- main(void)
- {
-+	PIDNS_TEST_INIT;
-+
- 	const unsigned long pid =
- 		(unsigned long) 0xfacefeed00000000ULL | getpid();
-+	const char *pid_str = pidns_pid2str(PT_TGID);
- 	unsigned long count = 1;
- 	const unsigned page_size = get_page_size();
- 	const void *const page = tail_alloc(page_size);
-@@ -195,40 +207,41 @@
- 	TAIL_ALLOC_OBJECT_VAR_PTR(int, nodes);
- 	TAIL_ALLOC_OBJECT_VAR_PTR(int, status);
- 
--	print_stat_pages(pid, 0, pages, status);
--	print_move_pages(pid, 0, 0, pages, nodes, status);
--	print_move_pages(pid, 0, 1, pages + 1, nodes + 1, status + 1);
-+	print_stat_pages(pid, pid_str, 0, pages, status);
-+	print_move_pages(pid, pid_str, 0, 0, pages, nodes, status);
-+	print_move_pages(pid, pid_str, 0, 1, pages + 1, nodes + 1, status + 1);
- 
- 	*pages = page;
--	print_stat_pages(pid, count, pages, status);
-+	print_stat_pages(pid, pid_str, count, pages, status);
- 	*nodes = 0xdeadbee1;
--	print_move_pages(pid, count, 0, pages, nodes, status);
--	print_move_pages(pid, count, 1, pages, nodes, status);
-+	print_move_pages(pid, pid_str, count, 0, pages, nodes, status);
-+	print_move_pages(pid, pid_str, count, 1, pages, nodes, status);
- 
- 	++count;
- 	--status;
- 	*(--pages) = efault;
--	print_stat_pages(pid, count, pages, status);
-+	print_stat_pages(pid, pid_str, count, pages, status);
- 	*(--nodes) = 0xdeadbee2;
--	print_move_pages(pid, count, 0, pages, nodes, status);
--	print_move_pages(pid, count, 1, pages, nodes, status);
-+	print_move_pages(pid, pid_str, count, 0, pages, nodes, status);
-+	print_move_pages(pid, pid_str, count, 1, pages, nodes, status);
- 
- 	++count;
- 	--status;
- 	*(--pages) = nodes;
--	print_stat_pages(pid, count, pages, status);
-+	print_stat_pages(pid, pid_str, count, pages, status);
- 	*(--nodes) = 0xdeadbee3;
--	print_move_pages(pid, count, 0, pages, nodes, status);
--	print_move_pages(pid, count, 1, pages, nodes, status);
-+	print_move_pages(pid, pid_str, count, 0, pages, nodes, status);
-+	print_move_pages(pid, pid_str, count, 1, pages, nodes, status);
- 
- 	++count;
- 	--status;
- 	*(--pages) = status;
--	print_stat_pages(pid, count, pages, status);
-+	print_stat_pages(pid, pid_str, count, pages, status);
- 	*(--nodes) = 0xdeadbee4;
--	print_move_pages(pid, count, 0, pages, nodes, status);
--	print_move_pages(pid, count, 1, pages, nodes, status);
-+	print_move_pages(pid, pid_str, count, 0, pages, nodes, status);
-+	print_move_pages(pid, pid_str, count, 1, pages, nodes, status);
- 
-+	pidns_print_leader();
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests-mx32/net-sockaddr--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-mx32/net-sockaddr--pidns-translation.c	2020-09-09 19:52:38.910673638 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "net-sockaddr.c"
-Index: strace-5.7/tests-mx32/net-sockaddr.c
-===================================================================
---- strace-5.7.orig/tests-mx32/net-sockaddr.c	2020-09-09 19:52:30.630668703 +0200
-+++ strace-5.7/tests-mx32/net-sockaddr.c	2020-09-09 19:52:38.910673638 +0200
-@@ -9,6 +9,7 @@
-  */
- 
- #include "tests.h"
-+#include "pidns.h"
- #include <stddef.h>
- #include <stdio.h>
- #include <string.h>
-@@ -40,18 +41,21 @@
- 	memset(un->sun_path, '0', sizeof(un->sun_path));
- 	unsigned int len = sizeof(*un);
- 	int ret = connect(-1, (void *) un, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_UNIX, sun_path=\"%.*u\"}"
- 	       ", %u) = %d EBADF (%m)\n",
- 	       (int) sizeof(un->sun_path), 0, len, ret);
- 
- 	un->sun_path[1] = 0;
- 	ret = connect(-1, (void *) un, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_UNIX, sun_path=\"%u\"}, %u)"
- 	       " = %d EBADF (%m)\n", 0, len, ret);
- 
- 	un->sun_path[0] = 0;
- 	un->sun_path[2] = 1;
- 	ret = connect(-1, (void *) un, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_UNIX, sun_path=@\"\\0\\001%.*u\"}"
- 	       ", %u) = %d EBADF (%m)\n",
- 	       (int) sizeof(un->sun_path) - 3, 0, len, ret);
-@@ -61,12 +65,14 @@
- 	memset(un->sun_path, '0', sizeof(un->sun_path));
- 	len = sizeof(*un) + 2;
- 	ret = connect(-1, (void *) un, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_UNIX, sun_path=\"%.*u\"}"
- 	       ", %u) = %d EBADF (%m)\n",
- 	       (int) sizeof(un->sun_path), 0, len, ret);
- 
- 	un->sun_path[0] = 0;
- 	ret = connect(-1, (void *) un, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_UNIX, sun_path=@\"%.*u\"}"
- 	       ", %u) = %d EBADF (%m)\n",
- 	       (int) sizeof(un->sun_path) - 1, 0, len, ret);
-@@ -75,18 +81,21 @@
- 	un->sun_family = AF_UNIX;
- 	len = sizeof(*un) - 2;
- 	ret = connect(-1, (void *) un, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_UNIX, sun_path=\"%.*u\"}"
- 	       ", %u) = %d EBADF (%m)\n",
- 	       (int) sizeof(un->sun_path) - 2, 0, len, ret);
- 
- 	un->sun_path[0] = 0;
- 	ret = connect(-1, (void *) un, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_UNIX, sun_path=@\"%.*u\"}"
- 	       ", %u) = %d EBADF (%m)\n",
- 	       (int) sizeof(un->sun_path) - 3, 0, len, ret);
- 
- 	len = sizeof(*un);
- 	ret = connect(-1, (void *) un, len);
-+	pidns_print_leader();
- 	printf("connect(-1, %p, %u) = %d EBADF (%m)\n", un, len, ret);
- 
- 	un = tail_alloc(sizeof(struct sockaddr_storage));
-@@ -94,12 +103,14 @@
- 	memset(un->sun_path, '0', sizeof(un->sun_path));
- 	len = sizeof(struct sockaddr_storage) + 1;
- 	ret = connect(-1, (void *) un, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_UNIX, sun_path=\"%.*u\"}"
- 	       ", %u) = %d EBADF (%m)\n",
- 	       (int) sizeof(un->sun_path), 0, len, ret);
- 
- 	un->sun_path[0] = 0;
- 	ret = connect(-1, (void *) un, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_UNIX, sun_path=@\"%.*u\"}"
- 	       ", %u) = %d EBADF (%m)\n",
- 	       (int) sizeof(un->sun_path) - 1, 0, len, ret);
-@@ -117,6 +128,7 @@
- 	in->sin_addr.s_addr = inet_addr(h_addr);
- 	unsigned int len = sizeof(*in);
- 	int ret = connect(-1, (void *) in, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_INET, sin_port=htons(%hu)"
- 	       ", sin_addr=inet_addr(\"%s\")}, %u) = %d EBADF (%m)\n",
- 	       h_port, h_addr, len, ret);
-@@ -127,6 +139,7 @@
- 	in->sin_addr.s_addr = inet_addr(h_addr);
- 	len = sizeof(*in) + 4;
- 	ret = connect(-1, (void *) in, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_INET, sin_port=htons(%hu)"
- 	       ", sin_addr=inet_addr(\"%s\")}, %u) = %d EBADF (%m)\n",
- 	       h_port, h_addr, len, ret);
-@@ -137,6 +150,7 @@
- 	in->sin_addr.s_addr = 0;
- 	len = sizeof(*in) - 4;
- 	ret = connect(-1, (void *) in, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_INET, sa_data=\"%s\"}, %u)"
- 	       " = %d EBADF (%m)\n",
- 	       "\\0\\0\\0\\0\\0\\0\\377\\377\\377\\377",
-@@ -144,6 +158,7 @@
- 
- 	len = sizeof(*in);
- 	ret = connect(-1, (void *) in, len);
-+	pidns_print_leader();
- 	printf("connect(-1, %p, %u) = %d EBADF (%m)\n", in, len, ret);
- }
- 
-@@ -155,6 +170,7 @@
- 	in6->sin6_scope_id = 0xfacefeed;
- 	unsigned int len = sizeof(*in6);
- 	int ret = connect(-1, (void *) in6, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_INET6, sin6_port=htons(%hu)"
- 	       ", sin6_flowinfo=htonl(%u)"
- 	       ", inet_pton(AF_INET6, \"%s\", &sin6_addr)"
-@@ -166,7 +182,8 @@
- 	in6->sin6_scope_id = ifindex_lo();
- 	if (in6->sin6_scope_id) {
- 		ret = connect(-1, (void *) in6, len);
--		printf("connect(-1, {sa_family=AF_INET6, sin6_port=htons(%hu)"
-+		pidns_print_leader();
-+	printf("connect(-1, {sa_family=AF_INET6, sin6_port=htons(%hu)"
- 		       ", sin6_flowinfo=htonl(%u)"
- 		       ", inet_pton(AF_INET6, \"%s\", &sin6_addr)"
- 		       ", sin6_scope_id=%s}, %u)"
-@@ -191,6 +208,7 @@
- 	in6->sin6_scope_id = 0xfacefeed;
- 	unsigned int len = sizeof(*in6);
- 	int ret = connect(-1, (void *) in6, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_INET6, sin6_port=htons(%hu)"
- 	       ", sin6_flowinfo=htonl(%u)"
- 	       ", inet_pton(AF_INET6, \"%s\", &sin6_addr)"
-@@ -209,6 +227,7 @@
- 	in6->sin6_scope_id = 0xfacefeed;
- 	len = sizeof(*in6) + 4;
- 	ret = connect(-1, (void *) in6, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_INET6, sin6_port=htons(%hu)"
- 	       ", sin6_flowinfo=htonl(%u)"
- 	       ", inet_pton(AF_INET6, \"%s\", &sin6_addr)"
-@@ -223,6 +242,7 @@
- 	inet_pton(AF_INET6, h_addr, &in6->sin6_addr);
- 	len = sizeof(*in6) - sizeof(in6->sin6_scope_id);
- 	ret = connect(-1, (void *) in6, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_INET6, sin6_port=htons(%hu)"
- 	       ", sin6_flowinfo=htonl(%u)"
- 	       ", inet_pton(AF_INET6, \"%s\", &sin6_addr)}, %u)"
-@@ -236,6 +256,7 @@
- 	memset(&in6->sin6_addr, '0', sizeof(in6->sin6_addr) - 4);
- 	len = sizeof(*in6) - sizeof(in6->sin6_scope_id) - 4;
- 	ret = connect(-1, (void *) in6, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_INET6"
- 	       ", sa_data=\"\\0\\0\\0\\0\\0\\000%.*u\"}, %u)"
- 	       " = %d EBADF (%m)\n",
-@@ -244,6 +265,7 @@
- 
- 	len = sizeof(*in6) - sizeof(in6->sin6_scope_id);
- 	ret = connect(-1, (void *) in6, len);
-+	pidns_print_leader();
- 	printf("connect(-1, %p, %u) = %d EBADF (%m)\n", in6, len, ret);
- }
- 
-@@ -262,6 +284,7 @@
- 	void *ipx = tail_memdup(&c_ipx, sizeof(c_ipx));
- 	unsigned int len = sizeof(c_ipx);
- 	int ret = connect(-1, ipx, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_IPX, sipx_port=htons(%u)"
- 	       ", sipx_network=htonl(%#x)"
- 	       ", sipx_node=[%#02x, %#02x, %#02x, %#02x, %#02x, %#02x]"
-@@ -316,18 +339,21 @@
- 	fill_memory(sax, size);
- 	sax->fsa_ax25.sax25_family = AF_AX25;
- 	rc = connect(-1, sax_void, sizeof(struct sockaddr_ax25) - 1);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_AX25, sa_data=\"\\202\\203\\204\\205"
- 	       "\\206\\207\\210\\211\\212\\213\\214\\215\\216\"}, %zu) = %s\n",
- 	       sizeof(struct sockaddr_ax25) - 1, sprintrc(rc));
- 
- 	memcpy(sax, &ax25, sizeof(ax25));
- 	rc = connect(-1, sax_void, sizeof(struct sockaddr_ax25));
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_AX25, fsa_ax25={sax25_call=VALID-13"
- 	       ", sax25_ndigis=8}, fsa_digipeater=[/* ??? */]}, %zu) = %s\n",
- 	       sizeof(struct sockaddr_ax25), sprintrc(rc));
- 
- 	sax->fsa_ax25.sax25_ndigis = 0;
- 	rc = connect(-1, sax_void, sizeof(struct sockaddr_ax25));
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_AX25, sax25_call=VALID-13"
- 	       ", sax25_ndigis=0}, %zu) = %s\n",
- 	       sizeof(struct sockaddr_ax25), sprintrc(rc));
-@@ -335,6 +361,7 @@
- 	sax->fsa_ax25.sax25_ndigis = 8;
- 	size = sizeof(struct sockaddr_ax25) + sizeof(ax25_address) * 3 + 1;
- 	rc = connect(-1, sax_void, size);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_AX25, fsa_ax25={sax25_call=VALID-13"
- 	       ", sax25_ndigis=8}, fsa_digipeater"
- 	       "=[{ax25_call=\"\\xa6\\xa0\\x82\\x40\\x86\\x8a\\x00\""
-@@ -348,6 +375,7 @@
- 	sax->fsa_digipeater[2].ax25_call[6] = 0x4;
- 	size = sizeof(struct sockaddr_ax25) + sizeof(ax25_address) * 4;
- 	rc = connect(-1, sax_void, size);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_AX25, fsa_ax25={sax25_call=VALID-13"
- 	       ", sax25_ndigis=8}, fsa_digipeater"
- 	       "=[{ax25_call=\"\\xa6\\xa0\\x82\\x40\\x86\\x8a\\x00\""
-@@ -365,6 +393,7 @@
- 	for (size_t i = 0; i < 3; i++) {
- 		size = sizeof(ax25) + sizeof(ax25_address) * (i / 2);
- 		rc = connect(-1, sax_void, size);
-+		pidns_print_leader();
- 		printf("connect(-1, {sa_family=AF_AX25"
- 		       ", fsa_ax25={sax25_call=VALID-13, sax25_ndigis=%d}"
- 		       ", fsa_digipeater=[VALID2-7, OK-15, %s /* FINE-2 */"
-@@ -427,12 +456,14 @@
- 	long rc;
- 
- 	rc = connect(-1, x25_void, sizeof(c_x25) - 1);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_X25"
- 	       ", sa_data=\"0123456789abcde\"}, %zu) = %s\n",
- 	       sizeof(c_x25) - 1, sprintrc(rc));
- 
- 	for (size_t i = 0; i < 2; i++) {
- 		rc = connect(-1, x25_void, sizeof(c_x25) + i);
-+		pidns_print_leader();
- 		printf("connect(-1, {sa_family=AF_X25"
- 		       ", sx25_addr={x25_addr=\"0123456789abcde\"...}"
- 		       "}, %zu) = %s\n",
-@@ -442,6 +473,7 @@
- 	struct sockaddr_x25 *const x25 = x25_void;
- 	x25->sx25_addr.x25_addr[10] = '\0';
- 	rc = connect(-1, x25_void, sizeof(c_x25));
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_X25"
- 	       ", sx25_addr={x25_addr=\"0123456789\"}"
- 	       "}, %zu) = %s\n",
-@@ -457,19 +489,21 @@
- 	nl->nl_groups = 0xfacefeed;
- 	unsigned int len = sizeof(*nl);
- 	int ret = connect(-1, (void *) nl, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_NETLINK, nl_pid=%d"
- 	       ", nl_groups=%#08x}, %u) = %d EBADF (%m)\n",
- 	       nl->nl_pid, nl->nl_groups, len, ret);
- 
- 	nl = ((void *) nl) - 4;
- 	nl->nl_family = AF_NETLINK;
--	nl->nl_pid = 1234567890;
-+	nl->nl_pid = getpid();
- 	nl->nl_groups = 0xfacefeed;
- 	len = sizeof(*nl) + 4;
- 	ret = connect(-1, (void *) nl, len);
--	printf("connect(-1, {sa_family=AF_NETLINK, nl_pid=%d"
-+	pidns_print_leader();
-+	printf("connect(-1, {sa_family=AF_NETLINK, nl_pid=%d%s"
- 	       ", nl_groups=%#08x}, %u) = %d EBADF (%m)\n",
--	       nl->nl_pid, nl->nl_groups, len, ret);
-+	       nl->nl_pid, pidns_pid2str(PT_TGID), nl->nl_groups, len, ret);
- }
- 
- static void
-@@ -487,6 +521,7 @@
- 	void *ll = tail_memdup(&c_ll, sizeof(c_ll));
- 	unsigned int len = sizeof(c_ll);
- 	int ret = connect(-1, ll, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_PACKET"
- 	       ", sll_protocol=htons(ETH_P_ALL)"
- 	       ", sll_ifindex=%u, sll_hatype=ARPHRD_ETHER"
-@@ -502,6 +537,7 @@
- 
- 	((struct sockaddr_ll *) ll)->sll_halen++;
- 	ret = connect(-1, ll, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_PACKET"
- 	       ", sll_protocol=htons(ETH_P_ALL)"
- 	       ", sll_ifindex=%u, sll_hatype=ARPHRD_ETHER"
-@@ -517,6 +553,7 @@
- 
- 	((struct sockaddr_ll *) ll)->sll_halen = 0;
- 	ret = connect(-1, ll, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_PACKET"
- 	       ", sll_protocol=htons(ETH_P_ALL)"
- 	       ", sll_ifindex=%u, sll_hatype=ARPHRD_ETHER"
-@@ -526,6 +563,7 @@
- 	((struct sockaddr_ll *) ll)->sll_ifindex = ifindex_lo();
- 	if (((struct sockaddr_ll *) ll)->sll_ifindex) {
- 		ret = connect(-1, ll, len);
-+	pidns_print_leader();
- 		printf("connect(-1, {sa_family=AF_PACKET"
- 		       ", sll_protocol=htons(ETH_P_ALL)"
- 		       ", sll_ifindex=%s"
-@@ -549,11 +587,13 @@
- 	unsigned int len = sizeof(*hci);
- 
- 	int ret = connect(-1, (void *) hci, 4);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_BLUETOOTH, hci_dev=htobs(%hu)"
- 	       "}, 4) = %d EBADF (%m)\n",
- 	       h_port, ret);
- 
- 	ret = connect(-1, (void *) hci, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_BLUETOOTH, hci_dev=htobs(%hu)"
- # ifdef HAVE_STRUCT_SOCKADDR_HCI_HCI_CHANNEL
- 	       ", hci_channel=HCI_CHANNEL_RAW"
-@@ -572,6 +612,7 @@
- 	void *sco = tail_memdup(&c_sco, sizeof(c_sco));
- 	unsigned int len = sizeof(c_sco);
- 	int ret = connect(-1, sco, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_BLUETOOTH"
- 	       ", sco_bdaddr=%02x:%02x:%02x:%02x:%02x:%02x"
- 	       "}, %u) = %d EBADF (%m)\n",
-@@ -592,6 +633,7 @@
- 	void *rc = tail_memdup(&c_rc, sizeof(c_rc));
- 	unsigned int len = sizeof(c_rc);
- 	int ret = connect(-1, rc, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_BLUETOOTH"
- 	       ", rc_bdaddr=%02x:%02x:%02x:%02x:%02x:%02x"
- 	       ", rc_channel=%u}, %u) = %d EBADF (%m)\n",
-@@ -619,6 +661,7 @@
- 	unsigned int len = sizeof(c_l2);
- 
- 	int ret = connect(-1, l2, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_BLUETOOTH"
- 	       ", l2_psm=htobs(L2CAP_PSM_DYN_START + %hu)"
- 	       ", l2_bdaddr=%02x:%02x:%02x:%02x:%02x:%02x"
-@@ -640,6 +683,7 @@
- # endif
- 	memcpy(l2, &c_l2, sizeof(c_l2));
- 	ret = connect(-1, l2, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_BLUETOOTH"
- 	       ", l2_psm=htobs(L2CAP_PSM_SDP)"
- 	       ", l2_bdaddr=%02x:%02x:%02x:%02x:%02x:%02x"
-@@ -660,6 +704,7 @@
- # endif
- 	memcpy(l2, &c_l2, sizeof(c_l2));
- 	ret = connect(-1, l2, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_BLUETOOTH"
- 	       ", l2_psm=htobs(0xbad /* L2CAP_PSM_??? */)"
- 	       ", l2_bdaddr=%02x:%02x:%02x:%02x:%02x:%02x"
-@@ -677,6 +722,7 @@
- 	c_l2.l2_cid = htobs(0xffff);
- 	memcpy(l2, &c_l2, 12);
- 	ret = connect(-1, l2, 12);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_BLUETOOTH"
- 	       ", l2_psm=htobs(L2CAP_PSM_AUTO_END)"
- 	       ", l2_bdaddr=%02x:%02x:%02x:%02x:%02x:%02x"
-@@ -700,6 +746,7 @@
- 	u.sa->sa_family = 0xff;
- 	unsigned int len = sizeof(*u.st) + 8;
- 	int ret = connect(-1, (void *) u.st, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=%#x /* AF_??? */, sa_data=\"%.*u\"}"
- 	       ", %u) = %d EBADF (%m)\n", u.sa->sa_family,
- 	       (int) (sizeof(*u.st) - sizeof(u.sa->sa_family)), 0, len, ret);
-@@ -707,11 +754,13 @@
- 	u.sa->sa_family = 0;
- 	len = sizeof(u.sa->sa_family) + 1;
- 	ret = connect(-1, (void *) u.st, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_UNSPEC, sa_data=\"0\"}, %u)"
- 	       " = %d EBADF (%m)\n", len, ret);
- 
- 	u.sa->sa_family = AF_BLUETOOTH;
- 	ret = connect(-1, (void *) u.st, len);
-+	pidns_print_leader();
- 	printf("connect(-1, {sa_family=AF_BLUETOOTH, sa_data=\"0\"}, %u)"
- 	       " = %d EBADF (%m)\n", len, ret);
- }
-@@ -719,6 +768,8 @@
- int
- main(void)
- {
-+	PIDNS_TEST_INIT;
-+
- 	check_un();
- 	check_in();
- 	check_in6();
-@@ -735,6 +786,7 @@
- #endif
- 	check_raw();
- 
-+	pidns_print_leader();
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests-mx32/netlink_audit--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-mx32/netlink_audit--pidns-translation.c	2020-09-09 19:52:38.910673638 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "netlink_audit.c"
-Index: strace-5.7/tests-mx32/netlink_audit--pidns-translation.test
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-mx32/netlink_audit--pidns-translation.test	2020-09-09 19:52:38.911673639 +0200
-@@ -0,0 +1,13 @@
-+#!/bin/sh
-+#
-+# Check pidns translation of NETLINK_SOCK_DIAG protocol decoding
-+#
-+# Copyright (c) 2020 The strace developers.
-+# All rights reserved.
-+#
-+# SPDX-License-Identifier: LGPL-2.1-or-later
-+
-+. "${srcdir=.}/init.sh"
-+
-+run_prog ../netlink_netlink_diag
-+test_pidns -e trace=sendto "$@"
-Index: strace-5.7/tests-mx32/netlink_audit.c
-===================================================================
---- strace-5.7.orig/tests-mx32/netlink_audit.c	2020-09-09 19:52:30.630668703 +0200
-+++ strace-5.7/tests-mx32/netlink_audit.c	2020-09-09 19:52:38.911673639 +0200
-@@ -7,6 +7,7 @@
-  */
- 
- #include "tests.h"
-+#include "pidns.h"
- #include <stdio.h>
- #include <string.h>
- #include <unistd.h>
-@@ -17,18 +18,23 @@
- static void
- test_nlmsg_type(const int fd)
- {
-+	PIDNS_TEST_INIT;
-+
- 	long rc;
- 	struct nlmsghdr nlh = {
- 		.nlmsg_len = sizeof(nlh),
- 		.nlmsg_type = AUDIT_GET,
- 		.nlmsg_flags = NLM_F_REQUEST,
-+		.nlmsg_pid = getpid(),
- 	};
- 
- 	rc = sendto(fd, &nlh, sizeof(nlh), MSG_DONTWAIT, NULL, 0);
-+	pidns_print_leader();
- 	printf("sendto(%d, {len=%u, type=AUDIT_GET"
--	       ", flags=NLM_F_REQUEST, seq=0, pid=0}"
-+	       ", flags=NLM_F_REQUEST, seq=0, pid=%d%s}"
- 	       ", %u, MSG_DONTWAIT, NULL, 0) = %s\n",
--	       fd, nlh.nlmsg_len, (unsigned) sizeof(nlh), sprintrc(rc));
-+	       fd, nlh.nlmsg_len, nlh.nlmsg_pid, pidns_pid2str(PT_TGID),
-+	       (unsigned) sizeof(nlh), sprintrc(rc));
- }
- 
- int main(void)
-@@ -39,6 +45,7 @@
- 
- 	test_nlmsg_type(fd);
- 
-+	pidns_print_leader();
- 	printf("+++ exited with 0 +++\n");
- 
- 	return 0;
-Index: strace-5.7/tests-mx32/pidfd_open--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-mx32/pidfd_open--pidns-translation.c	2020-09-09 19:52:38.911673639 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "pidfd_open.c"
-Index: strace-5.7/tests-mx32/pidfd_open.c
-===================================================================
---- strace-5.7.orig/tests-mx32/pidfd_open.c	2020-09-09 19:52:30.631668704 +0200
-+++ strace-5.7/tests-mx32/pidfd_open.c	2020-09-09 19:52:38.911673639 +0200
-@@ -10,6 +10,7 @@
- 
- #include "tests.h"
- #include "scno.h"
-+#include "pidns.h"
- 
- #ifdef __NR_pidfd_open
- 
-@@ -37,6 +38,8 @@
- int
- main(void)
- {
-+	PIDNS_TEST_INIT;
-+
- # if defined PATH_TRACING || defined PRINT_PATHS
- 	skip_if_unavailable("/proc/self/fd/");
- # endif
-@@ -50,16 +53,19 @@
- 
- 	k_pidfd_open(0, 0);
- # ifndef PATH_TRACING
-+	pidns_print_leader();
- 	printf("pidfd_open(0, 0) = %s\n", errstr);
- # endif
- 
- 	k_pidfd_open(-1U, 0);
- # ifndef PATH_TRACING
-+	pidns_print_leader();
- 	printf("pidfd_open(-1, 0) = %s\n", errstr);
- # endif
- 
- 	k_pidfd_open(0, -1U);
- # ifndef PATH_TRACING
-+	pidns_print_leader();
- 	printf("pidfd_open(0, %#x) = %s\n", -1U, errstr);
- # endif
- 
-@@ -68,7 +74,10 @@
- 
- 	k_pidfd_open(pid, flags);
- # ifndef PATH_TRACING
--	printf("pidfd_open(%d, %#x) = %s\n", pid, flags, errstr);
-+	const char *pid_str = pidns_pid2str(PT_TGID);
-+	pidns_print_leader();
-+	printf("pidfd_open(%d%s, %#x) = %s\n",
-+		pid, pid_str, flags, errstr);
- # endif
- 
- # ifdef PRINT_PATHS
-@@ -80,17 +89,19 @@
- # endif
- 
- # ifndef PATH_TRACING
--	printf("pidfd_open(%d, 0) = "
-+	pidns_print_leader();
-+	printf("pidfd_open(%d%s, 0) = "
- #  if defined PRINT_PIDFD
--	       "%ld<pid:%d>\n", pid, rc, pid
-+	       "%ld<pid:%d>\n", pid, pid_str, rc, pid
- #  elif defined PRINT_PATHS
--	       "%ld<anon_inode:[pidfd]>\n", pid, rc
-+	       "%ld<anon_inode:[pidfd]>\n", pid, pid_str, rc
- #  else
--	       "%s\n", pid, errstr
-+	       "%s\n", pid, pid_str, errstr
- #  endif
- 	       );
- # endif
- 
-+	pidns_print_leader();
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests-mx32/pidfd_send_signal--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-mx32/pidfd_send_signal--pidns-translation.c	2020-09-09 19:52:38.911673639 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "pidfd_send_signal.c"
-Index: strace-5.7/tests-mx32/pidfd_send_signal.c
-===================================================================
---- strace-5.7.orig/tests-mx32/pidfd_send_signal.c	2020-09-09 19:52:30.631668704 +0200
-+++ strace-5.7/tests-mx32/pidfd_send_signal.c	2020-09-09 19:52:38.911673639 +0200
-@@ -10,6 +10,7 @@
- #include "tests.h"
- #include <unistd.h>
- #include "scno.h"
-+#include "pidns.h"
- 
- #ifdef __NR_pidfd_send_signal
- 
-@@ -36,6 +37,8 @@
- int
- main(void)
- {
-+	PIDNS_TEST_INIT;
-+
- 	static const char null_path[] = "/dev/null";
- 
- 	int fd = open(null_path, O_RDONLY);
-@@ -46,19 +49,23 @@
- 	const void *esi = (const void *) si + 1;
- 
- 	sys_pidfd_send_signal(fd, SIGUSR1, esi, 0);
-+	pidns_print_leader();
- 	printf("pidfd_send_signal(%d, SIGUSR1, %p, 0) = %s\n",
- 	       fd, esi, errstr);
- 
- 	si->si_signo = SIGUSR1;
- 	si->si_code = SI_QUEUE;
-+	si->si_pid = getpid();
- 
- 	sys_pidfd_send_signal(fd, SIGUSR2, si, -1);
-+	pidns_print_leader();
- 	printf("pidfd_send_signal(%d, SIGUSR2, {si_signo=SIGUSR1"
--	       ", si_code=SI_QUEUE, si_errno=%u, si_pid=%d, si_uid=%d"
-+	       ", si_code=SI_QUEUE, si_errno=%u, si_pid=%d%s, si_uid=%d"
- 	       ", si_value={int=%d, ptr=%p}}, %#x) = %s\n",
--	       fd, si->si_errno, si->si_pid, si->si_uid, si->si_int, si->si_ptr,
--	       -1U, errstr);
-+	       fd, si->si_errno, si->si_pid, pidns_pid2str(PT_TGID), si->si_uid,
-+	       si->si_int, si->si_ptr, -1U, errstr);
- 
-+	pidns_print_leader();
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests-mx32/pidns-cache.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-mx32/pidns-cache.c	2020-09-09 19:52:38.912673640 +0200
-@@ -0,0 +1,62 @@
-+/*
-+ * Copyright (c) 2020 The strace developers.
-+ * All rights reserved.
-+ *
-+ * SPDX-License-Identifier: GPL-2.0-or-later
-+ */
-+
-+#include "tests.h"
-+#include "scno.h"
-+#include "pidns.h"
-+
-+#if defined __NR_getpid && (!defined __NR_getxpid || __NR_getxpid != __NR_getpid)
-+
-+# include <stdio.h>
-+# include <unistd.h>
-+# include <sys/time.h>
-+
-+# define SYSCALL_COUNT 1000
-+
-+/**
-+ * Max ratio of the execution time with and without pidns translation.
-+ */
-+# define MAX_TIME_RATIO 20
-+
-+static long
-+execute_syscalls(void)
-+{
-+	/* Load our PID in the cache */
-+	syscall(__NR_getpid);
-+
-+	struct timeval stop, start;
-+	gettimeofday(&start, NULL);
-+
-+	for (int i = 0; i < SYSCALL_COUNT; i++)
-+	       syscall(__NR_getpid);
-+
-+	gettimeofday(&stop, NULL);
-+
-+	return (stop.tv_usec - start.tv_usec) +
-+		(stop.tv_sec - start.tv_sec) * 1000000;
-+}
-+
-+int
-+main(void)
-+{
-+	long max_us = execute_syscalls() * MAX_TIME_RATIO;
-+
-+	pidns_test_init();
-+
-+	long us = execute_syscalls();
-+	if (us > max_us)
-+		error_msg_and_fail("pidns translation took too long: %ld us "
-+		                   "(max: %ld us)", us, max_us);
-+
-+	return 0;
-+}
-+
-+#else
-+
-+SKIP_MAIN_UNDEFINED("__NR_getpid")
-+
-+#endif
-Index: strace-5.7/tests-mx32/pidns-cache.test
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-mx32/pidns-cache.test	2020-09-09 19:52:38.912673640 +0200
-@@ -0,0 +1,15 @@
-+#!/bin/sh
-+#
-+# Test pidns translation cache.
-+#
-+# Copyright (c) 2020 The strace developers.
-+# All rights reserved.
-+#
-+# SPDX-License-Identifier: GPL-2.0-or-later
-+
-+. "${srcdir=.}/init.sh"
-+
-+check_prog timeout
-+
-+run_prog > /dev/null
-+run_strace --pidns-translation -f -e trace=getpid $args
-Index: strace-5.7/tests-mx32/prlimit64--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-mx32/prlimit64--pidns-translation.c	2020-09-09 19:52:38.912673640 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "prlimit64.c"
-Index: strace-5.7/tests-mx32/prlimit64.c
-===================================================================
---- strace-5.7.orig/tests-mx32/prlimit64.c	2020-09-09 19:52:30.632668704 +0200
-+++ strace-5.7/tests-mx32/prlimit64.c	2020-09-09 19:52:38.912673640 +0200
-@@ -19,6 +19,7 @@
- # include <sys/resource.h>
- # include <unistd.h>
- 
-+# include "pidns.h"
- # include "xlat.h"
- # include "xlat/resources.h"
- 
-@@ -42,8 +43,11 @@
- int
- main(void)
- {
-+	PIDNS_TEST_INIT;
-+
- 	unsigned long pid =
- 		(unsigned long) 0xdefaced00000000ULL | (unsigned) getpid();
-+	const char *pid_str = pidns_pid2str(PT_TGID);
- 	uint64_t *const rlimit = tail_alloc(sizeof(*rlimit) * 2);
- 	const struct xlat_data *xlat;
- 	size_t i = 0;
-@@ -54,18 +58,23 @@
- 
- 		unsigned long res = 0xfacefeed00000000ULL | xlat->val;
- 		long rc = syscall(__NR_prlimit64, pid, res, 0, rlimit);
-+		pidns_print_leader();
- 		if (rc)
--			printf("prlimit64(%d, %s, NULL, %p) = %ld %s (%m)\n",
--			       (unsigned) pid, xlat->str, rlimit,
-+			printf("prlimit64(%d%s, %s, NULL, %p) ="
-+				     " %ld %s (%m)\n",
-+			       (unsigned) pid, pid_str,
-+			       xlat->str, rlimit,
- 			       rc, errno2name());
- 		else
--			printf("prlimit64(%d, %s, NULL"
-+			printf("prlimit64(%d%s, %s, NULL"
- 			       ", {rlim_cur=%s, rlim_max=%s}) = 0\n",
--			       (unsigned) pid, xlat->str,
-+			       (unsigned) pid, pid_str,
-+			       xlat->str,
- 			       sprint_rlim(rlimit[0]),
- 			       sprint_rlim(rlimit[1]));
- 	}
- 
-+	pidns_print_leader();
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests-mx32/process_vm_readv--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-mx32/process_vm_readv--pidns-translation.c	2020-09-09 19:52:38.912673640 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "process_vm_readv.c"
-Index: strace-5.7/tests-mx32/process_vm_readv_writev.c
-===================================================================
---- strace-5.7.orig/tests-mx32/process_vm_readv_writev.c	2020-09-09 19:52:30.632668704 +0200
-+++ strace-5.7/tests-mx32/process_vm_readv_writev.c	2020-09-09 19:52:38.913673640 +0200
-@@ -12,6 +12,7 @@
- #include <stdio.h>
- #include <unistd.h>
- #include <sys/uio.h>
-+#include "pidns.h"
- 
- #if OP_WR
- # define in_iovec  rmt_iovec
-@@ -121,7 +122,7 @@
- }
- 
- static void
--do_call(kernel_ulong_t pid,
-+do_call(kernel_ulong_t pid, enum pid_type pid_type,
- 	kernel_ulong_t local_iov, const char *local_arg,
- 	kernel_ulong_t liovcnt,
- 	kernel_ulong_t remote_iov, const char *remote_arg,
-@@ -135,7 +136,8 @@
- 		flags);
- 	errstr = sprintrc(rc);
- 
--	printf("%s(%d, ", OP_STR, (int) pid);
-+	pidns_print_leader();
-+	printf("%s(%d%s, ", OP_STR, (int) pid, pidns_pid2str(pid_type));
- 
- 	if (pr_iov)
- 		pr_iov((const struct iovec *) (uintptr_t) local_iov, local_arg,
-@@ -164,6 +166,8 @@
- int
- main(void)
- {
-+	PIDNS_TEST_INIT;
-+
- 	enum {
- 		SIZE_11 = 2,
- 		SIZE_12 = 3,
-@@ -243,18 +247,18 @@
- 	fill_memory_ex(data2_out, SIZE_2, SEGM2_BASE, SIZE_2);
- 
- 
--	do_call(bogus_pid, (kernel_ulong_t) (uintptr_t) ARG_STR(NULL),
-+	do_call(bogus_pid, PT_NONE, (kernel_ulong_t) (uintptr_t) ARG_STR(NULL),
- 		bogus_iovcnt1, (kernel_ulong_t) (uintptr_t) ARG_STR(NULL),
- 		bogus_iovcnt2, bogus_flags, NULL);
- 
--	do_call(my_pid, ptr_cast(bogus_iov + ARRAY_SIZE(bogus_iovec)),
-+	do_call(my_pid, PT_TGID, ptr_cast(bogus_iov + ARRAY_SIZE(bogus_iovec)),
- 		"[]", 0, ptr_cast(in_iov + ARRAY_SIZE(in_iovec)), "[]",
- 		0, 0, NULL);
--	do_call(my_pid, ptr_cast(bogus_iov + ARRAY_SIZE(bogus_iovec)), NULL,
--		bogus_iovcnt1, ptr_cast(in_iov + ARRAY_SIZE(in_iovec)), NULL,
--		bogus_iovcnt2, 0, print_iov);
-+	do_call(my_pid, PT_TGID, ptr_cast(bogus_iov + ARRAY_SIZE(bogus_iovec)),
-+		NULL, bogus_iovcnt1, ptr_cast(in_iov + ARRAY_SIZE(in_iovec)),
-+		NULL, bogus_iovcnt2, 0, print_iov);
- 
--	do_call(my_pid, ptr_cast(bogus_iov), (char *) &bogus_arg,
-+	do_call(my_pid, PT_TGID, ptr_cast(bogus_iov), (char *) &bogus_arg,
- 		ARRAY_SIZE(bogus_iovec), ptr_cast(rmt_iov + 2),
- 		(char *) &rmt_arg_cut, ARRAY_SIZE(rmt_iovec) - 2, 0, print_iov);
- 
-@@ -263,7 +267,7 @@
- 	lcl_arg_cut.check_rc = 1;
- #endif
- 
--	do_call(my_pid, ptr_cast(lcl_iov + 2), (char *) &lcl_arg_cut,
-+	do_call(my_pid, PT_TGID, ptr_cast(lcl_iov + 2), (char *) &lcl_arg_cut,
- 		ARRAY_SIZE(lcl_iovec) - 1, ptr_cast(bogus_iov + 2),
- 		(char *) &bogus_arg_cut, ARRAY_SIZE(bogus_iovec) - 1, 0,
- 		print_iov);
-@@ -273,15 +277,16 @@
- 	rmt_arg_cut.addr_term = 1;
- 	rmt_arg_cut.count = 5;
- 
--	do_call(my_pid, ptr_cast(lcl_iov + 2), (char *) &lcl_arg_cut,
-+	do_call(my_pid, PT_TGID, ptr_cast(lcl_iov + 2), (char *) &lcl_arg_cut,
- 		ARRAY_SIZE(lcl_iovec) - 2, ptr_cast(rmt_iov + 1),
- 		(char *) &rmt_arg_cut, ARRAY_SIZE(rmt_iovec), 0, print_iov);
- 
- 	/* Correct call */
--	do_call(my_pid, ptr_cast(lcl_iov), (char *) &lcl_arg,
-+	do_call(my_pid, PT_TGID, ptr_cast(lcl_iov), (char *) &lcl_arg,
- 		ARRAY_SIZE(lcl_iovec), ptr_cast(rmt_iov), (char *) &rmt_arg,
- 		ARRAY_SIZE(rmt_iovec), 0, print_iov);
- 
-+	pidns_print_leader();
- 	puts("+++ exited with 0 +++");
- 
- 	return 0;
-Index: strace-5.7/tests-mx32/process_vm_writev--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-mx32/process_vm_writev--pidns-translation.c	2020-09-09 19:52:38.913673640 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "process_vm_writev.c"
-Index: strace-5.7/tests-mx32/rt_sigqueueinfo--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-mx32/rt_sigqueueinfo--pidns-translation.c	2020-09-09 19:52:38.913673640 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "rt_sigqueueinfo.c"
-Index: strace-5.7/tests-mx32/rt_sigqueueinfo.c
-===================================================================
---- strace-5.7.orig/tests-mx32/rt_sigqueueinfo.c	2020-09-09 19:52:30.633668705 +0200
-+++ strace-5.7/tests-mx32/rt_sigqueueinfo.c	2020-09-09 19:52:38.913673640 +0200
-@@ -7,6 +7,7 @@
-  */
- 
- #include "tests.h"
-+#include "pidns.h"
- #include <assert.h>
- #include <stdio.h>
- #include <signal.h>
-@@ -15,6 +16,8 @@
- int
- main(void)
- {
-+	PIDNS_TEST_INIT;
-+
- 	struct sigaction sa = {
- 		.sa_handler = SIG_IGN
- 	};
-@@ -22,15 +25,19 @@
- 		.sival_ptr = (void *) (unsigned long) 0xdeadbeefbadc0dedULL
- 	};
- 	pid_t pid = getpid();
-+	const char *pid_str = pidns_pid2str(PT_TGID);
- 
- 	assert(sigaction(SIGUSR1, &sa, NULL) == 0);
- 	if (sigqueue(pid, SIGUSR1, value))
- 		perror_msg_and_skip("sigqueue");
--	printf("rt_sigqueueinfo(%u, SIGUSR1, {si_signo=SIGUSR1, "
--		"si_code=SI_QUEUE, si_pid=%d, si_uid=%d, "
-+	pidns_print_leader();
-+	printf("rt_sigqueueinfo(%d%s, SIGUSR1, {si_signo=SIGUSR1, "
-+		"si_code=SI_QUEUE, si_pid=%d%s, si_uid=%u, "
- 		"si_value={int=%d, ptr=%p}}) = 0\n",
--		pid, pid, getuid(), value.sival_int, value.sival_ptr);
--	printf("+++ exited with 0 +++\n");
-+		pid, pid_str, pid, pid_str,
-+		getuid(), value.sival_int, value.sival_ptr);
-+	pidns_print_leader();
-+	puts("+++ exited with 0 +++");
- 
- 	return 0;
- }
-Index: strace-5.7/tests-mx32/rt_tgsigqueueinfo--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-mx32/rt_tgsigqueueinfo--pidns-translation.c	2020-09-09 19:52:38.913673640 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "rt_tgsigqueueinfo.c"
-Index: strace-5.7/tests-mx32/rt_tgsigqueueinfo.c
-===================================================================
---- strace-5.7.orig/tests-mx32/rt_tgsigqueueinfo.c	2020-09-09 19:52:30.633668705 +0200
-+++ strace-5.7/tests-mx32/rt_tgsigqueueinfo.c	2020-09-09 19:52:38.913673640 +0200
-@@ -10,8 +10,9 @@
- 
- #include "tests.h"
- #include "scno.h"
-+#include "pidns.h"
- 
--#ifdef __NR_rt_tgsigqueueinfo
-+#if defined __NR_rt_tgsigqueueinfo && defined __NR_gettid
- 
- # include <errno.h>
- # include <signal.h>
-@@ -20,11 +21,11 @@
- # include <unistd.h>
- 
- static long
--k_tgsigqueueinfo(const pid_t pid, const int sig, const void *const info)
-+k_tgsigqueueinfo(const pid_t tgid, const int tid, const int sig, const void *const info)
- {
- 	return syscall(__NR_rt_tgsigqueueinfo,
--		       F8ILL_KULONG_MASK | pid,
--		       F8ILL_KULONG_MASK | pid,
-+		       F8ILL_KULONG_MASK | tgid,
-+		       F8ILL_KULONG_MASK | tid,
- 		       F8ILL_KULONG_MASK | sig,
- 		       info);
- }
-@@ -32,6 +33,8 @@
- int
- main(void)
- {
-+	PIDNS_TEST_INIT;
-+
- 	const struct sigaction sa = {
- 		.sa_handler = SIG_IGN
- 	};
-@@ -48,17 +51,22 @@
- 	info->si_value.sival_ptr =
- 		(void *) (unsigned long) 0xdeadbeeffacefeedULL;
- 
--	if (k_tgsigqueueinfo(info->si_pid, SIGUSR1, info))
-+	if (k_tgsigqueueinfo(getpid(), syscall(__NR_gettid), SIGUSR1, info))
- 		(errno == ENOSYS ? perror_msg_and_skip : perror_msg_and_fail)(
- 			"rt_tgsigqueueinfo");
- 
--	printf("rt_tgsigqueueinfo(%u, %u, %s, {si_signo=%s"
--		", si_code=SI_QUEUE, si_errno=ENOENT, si_pid=%d"
-+	pidns_print_leader();
-+	printf("rt_tgsigqueueinfo(%d%s, %d%s, %s, {si_signo=%s"
-+		", si_code=SI_QUEUE, si_errno=ENOENT, si_pid=%d%s"
- 		", si_uid=%d, si_value={int=%d, ptr=%p}}) = 0\n",
--		info->si_pid, info->si_pid, "SIGUSR1", "SIGUSR1",
--		info->si_pid, info->si_uid, info->si_value.sival_int,
-+		info->si_pid, pidns_pid2str(PT_TGID),
-+		info->si_pid, pidns_pid2str(PT_TID),
-+		"SIGUSR1", "SIGUSR1",
-+		info->si_pid, pidns_pid2str(PT_TGID),
-+		info->si_uid, info->si_value.sival_int,
- 		info->si_value.sival_ptr);
- 
-+	pidns_print_leader();
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests-mx32/sched_xetaffinity--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-mx32/sched_xetaffinity--pidns-translation.c	2020-09-09 19:52:38.914673641 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "sched_xetaffinity.c"
-Index: strace-5.7/tests-mx32/sched_xetaffinity.c
-===================================================================
---- strace-5.7.orig/tests-mx32/sched_xetaffinity.c	2020-09-09 19:52:30.633668705 +0200
-+++ strace-5.7/tests-mx32/sched_xetaffinity.c	2020-09-09 19:52:38.914673641 +0200
-@@ -10,6 +10,7 @@
- 
- #include "tests.h"
- #include "scno.h"
-+#include "pidns.h"
- #include <sched.h>
- 
- #if defined __NR_sched_getaffinity && defined __NR_sched_setaffinity \
-@@ -41,8 +42,11 @@
- int
- main(void)
- {
-+	PIDNS_TEST_INIT;
-+
- 	unsigned int cpuset_size = 1;
- 	const pid_t pid = getpid();
-+	const char *pid_str = pidns_pid2str(PT_TGID);
- 
- 	while (cpuset_size) {
- 		assert(getaffinity(pid, cpuset_size, NULL) == -1);
-@@ -50,18 +54,21 @@
- 			break;
- 		if (EINVAL != errno)
- 			perror_msg_and_skip("sched_getaffinity");
--		printf("sched_getaffinity(%d, %u, NULL) = %s\n",
--		       pid, cpuset_size, errstr);
-+		pidns_print_leader();
-+		printf("sched_getaffinity(%d%s, %u, NULL) = %s\n",
-+		       pid, pid_str, cpuset_size, errstr);
- 		cpuset_size <<= 1;
- 	}
- 	assert(cpuset_size);
--	printf("sched_getaffinity(%d, %u, NULL) = %s\n",
--	       pid, cpuset_size, errstr);
-+	pidns_print_leader();
-+	printf("sched_getaffinity(%d%s, %u, NULL) = %s\n",
-+	       pid, pid_str, cpuset_size, errstr);
- 
- 	cpu_set_t *cpuset = tail_alloc(cpuset_size);
- 	getaffinity(pid, cpuset_size, cpuset + 1);
--	printf("sched_getaffinity(%d, %u, %p) = %s\n",
--	       pid, cpuset_size, cpuset + 1, errstr);
-+	pidns_print_leader();
-+	printf("sched_getaffinity(%d%s, %u, %p) = %s\n",
-+	       pid, pid_str, cpuset_size, cpuset + 1, errstr);
- 
- 	int ret_size = getaffinity(pid, cpuset_size, cpuset);
- 	if (ret_size < 0)
-@@ -69,7 +76,8 @@
- 				    pid, (unsigned) cpuset_size, cpuset, errstr);
- 	assert(ret_size <= (int) cpuset_size);
- 
--	printf("sched_getaffinity(%d, %u, [", pid, cpuset_size);
-+	pidns_print_leader();
-+	printf("sched_getaffinity(%d%s, %u, [", pid, pid_str, cpuset_size);
- 	const char *sep;
- 	unsigned int i, cpu;
- 	for (i = 0, cpu = 0, sep = ""; i < (unsigned) ret_size * 8; ++i) {
-@@ -85,8 +93,9 @@
- 	CPU_SET_S(cpu, cpuset_size, cpuset);
- 	if (setaffinity(pid, cpuset_size, cpuset))
- 		perror_msg_and_skip("sched_setaffinity");
--	printf("sched_setaffinity(%d, %u, [%u]) = 0\n",
--	       pid, cpuset_size, cpu);
-+	pidns_print_leader();
-+	printf("sched_setaffinity(%d%s, %u, [%u]) = 0\n",
-+	       pid, pid_str, cpuset_size, cpu);
- 
- 	const unsigned int big_size = cpuset_size < 128 ? 128 : cpuset_size * 2;
- 	cpuset = tail_alloc(big_size);
-@@ -95,7 +104,8 @@
- 		perror_msg_and_fail("sched_getaffinity(%d, %u, %p) = %s\n",
- 				    pid, big_size, cpuset, errstr);
- 	assert(ret_size <= (int) big_size);
--	printf("sched_getaffinity(%d, %u, [", pid, big_size);
-+	pidns_print_leader();
-+	printf("sched_getaffinity(%d%s, %u, [", pid, pid_str, big_size);
- 	for (i = 0, sep = ""; i < (unsigned) ret_size * 8; ++i) {
- 		if (CPU_ISSET_S(i, (unsigned) ret_size, cpuset)) {
- 			printf("%s%u", sep, i);
-@@ -104,6 +114,7 @@
- 	}
- 	printf("]) = %s\n", errstr);
- 
-+	pidns_print_leader();
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests-mx32/sched_xetattr--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-mx32/sched_xetattr--pidns-translation.c	2020-09-09 19:52:38.914673641 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "sched_xetattr.c"
-Index: strace-5.7/tests-mx32/sched_xetattr.c
-===================================================================
---- strace-5.7.orig/tests-mx32/sched_xetattr.c	2020-09-09 19:52:30.634668706 +0200
-+++ strace-5.7/tests-mx32/sched_xetattr.c	2020-09-09 19:52:38.914673641 +0200
-@@ -15,6 +15,7 @@
- # include <stdio.h>
- # include <sched.h>
- # include <unistd.h>
-+# include "pidns.h"
- # include "sched_attr.h"
- # include "xlat.h"
- # include "xlat/schedulers.h"
-@@ -41,6 +42,8 @@
- int
- main(void)
- {
-+	PIDNS_TEST_INIT;
-+
- 	static const kernel_ulong_t bogus_pid =
- 		(kernel_ulong_t) 0xdefacedfacefeedULL;
- 	static const kernel_ulong_t bogus_size =
-@@ -48,20 +51,28 @@
- 	static const kernel_ulong_t bogus_flags =
- 		(kernel_ulong_t) 0xdefaceddeadc0deULL;
- 
-+	const int pid = getpid();
-+	const char *pid_str = pidns_pid2str(PT_TGID);
-+
- 	TAIL_ALLOC_OBJECT_CONST_PTR(struct sched_attr, attr);
- 	TAIL_ALLOC_OBJECT_CONST_PTR(unsigned int, psize);
- 	void *const efault = attr + 1;
- 
--	sys_sched_getattr(0, 0, 0, 0);
--	printf("sched_getattr(0, NULL, 0, 0) = %s\n", errstr);
-+	sys_sched_getattr(pid, 0, 0, 0);
-+	pidns_print_leader();
-+	printf("sched_getattr(%d%s, NULL, 0, 0) = %s\n",
-+		pid, pid_str, errstr);
- 
- 	sys_sched_getattr(0, (unsigned long) attr, 0, 0);
-+	pidns_print_leader();
- 	printf("sched_getattr(0, %p, 0, 0) = %s\n", attr, errstr);
- 
- 	sys_sched_getattr(bogus_pid, 0, 0, 0);
-+	pidns_print_leader();
- 	printf("sched_getattr(%d, NULL, 0, 0) = %s\n", (int) bogus_pid, errstr);
- 
- 	sys_sched_getattr(-1U, (unsigned long) attr, bogus_size, bogus_flags);
-+	pidns_print_leader();
- 	printf("sched_getattr(-1, %p, %s%u, %u) = %s\n",
- 	       attr,
- # if defined __arm64__ || defined __aarch64__
-@@ -72,11 +83,13 @@
- 	       (unsigned) bogus_size, (unsigned) bogus_flags, errstr);
- 
- 	sys_sched_getattr(0, (unsigned long) efault, SCHED_ATTR_MIN_SIZE, 0);
-+	pidns_print_leader();
- 	printf("sched_getattr(0, %p, %u, 0) = %s\n",
- 	       efault, (unsigned) SCHED_ATTR_MIN_SIZE, errstr);
- 
- 	if (sys_sched_getattr(0, (unsigned long) attr, SCHED_ATTR_MIN_SIZE, 0))
- 		perror_msg_and_skip("sched_getattr");
-+	pidns_print_leader();
- 	printf("sched_getattr(0, {size=%u, sched_policy=", attr->size);
- 	printxval(schedulers, attr->sched_policy, NULL);
- 	printf(", sched_flags=%s, sched_nice=%d, sched_priority=%u"
-@@ -91,11 +104,13 @@
- 	       (unsigned) SCHED_ATTR_MIN_SIZE);
- 
- 	sys_sched_getattr(0, (unsigned long) efault, sizeof(*attr), 0);
-+	pidns_print_leader();
- 	printf("sched_getattr(0, %p, %u, 0) = %s\n",
- 	       efault, (unsigned) sizeof(*attr), errstr);
- 
- 	if (sys_sched_getattr(0, (unsigned long) attr, sizeof(*attr), 0))
- 		perror_msg_and_skip("sched_getattr");
-+	pidns_print_leader();
- 	printf("sched_getattr(0, {size=%u, sched_policy=", attr->size);
- 	printxval(schedulers, attr->sched_policy, NULL);
- 	printf(", sched_flags=%s, sched_nice=%d, sched_priority=%u"
-@@ -121,11 +136,13 @@
- 			  F8ILL_KULONG_MASK | sizeof(*attr), F8ILL_KULONG_MASK);
- # if defined __arm64__ || defined __aarch64__
- 	if (rc) {
-+		pidns_print_leader();
- 		printf("sched_getattr(0, %p, 0xffffffff<<32|%u, 0) = %s\n",
- 		       attr, (unsigned) sizeof(*attr), errstr);
- 	} else
- # endif
- 	{
-+		pidns_print_leader();
- 		printf("sched_getattr(0, {size=%u, sched_policy=", attr->size);
- 		printxval(schedulers, attr->sched_policy, NULL);
- 		printf(", sched_flags=%s, sched_nice=%d, sched_priority=%u"
-@@ -146,13 +163,16 @@
- 	}
- 
- 	sys_sched_setattr(bogus_pid, 0, 0);
-+	pidns_print_leader();
- 	printf("sched_setattr(%d, NULL, 0) = %s\n", (int) bogus_pid, errstr);
- 
- 	attr->sched_flags |= 1;
- 
--	if (sys_sched_setattr(0, (unsigned long) attr, 0))
-+	if (sys_sched_setattr(pid, (unsigned long) attr, 0))
- 		perror_msg_and_skip("sched_setattr");
--	printf("sched_setattr(0, {size=%u, sched_policy=", attr->size);
-+	pidns_print_leader();
-+	printf("sched_setattr(%d%s, {size=%u, sched_policy=",
-+		pid, pid_str, attr->size);
- 	printxval(schedulers, attr->sched_policy, NULL);
- 	printf(", sched_flags=%s, sched_nice=%d, sched_priority=%u"
- 	       ", sched_runtime=%" PRIu64 ", sched_deadline=%" PRIu64
-@@ -172,6 +192,7 @@
- 
- 	sys_sched_setattr(F8ILL_KULONG_MASK, (unsigned long) attr,
- 			  F8ILL_KULONG_MASK);
-+	pidns_print_leader();
- 	printf("sched_setattr(0, {size=%u, sched_policy=", attr->size);
- 	printxval(schedulers, attr->sched_policy, NULL);
- 	printf(", sched_flags=%s, sched_nice=%d, sched_priority=%u"
-@@ -193,11 +214,13 @@
- 	*psize = attr->size;
- 
- 	sys_sched_setattr(0, (unsigned long) psize, 0);
-+	pidns_print_leader();
- 	printf("sched_setattr(0, %p, 0) = %s\n", psize, errstr);
- 
- 	attr->size = 0;
- 
- 	sys_sched_setattr(0, (unsigned long) attr, 0);
-+	pidns_print_leader();
- 	printf("sched_setattr(0, {size=%u, sched_policy=", attr->size);
- 	printxval(schedulers, attr->sched_policy, NULL);
- 	printf(", sched_flags=%s, sched_nice=%d, sched_priority=%u"
-@@ -213,12 +236,14 @@
- 	attr->size = 1;
- 
- 	sys_sched_setattr(0, (unsigned long) attr, 0);
-+	pidns_print_leader();
- 	printf("sched_setattr(0, {size=%u} => {size=%u}, 0) = %s\n",
- 	       1, attr->size, errstr);
- 
- 	attr->size = SCHED_ATTR_MIN_SIZE - 1;
- 
- 	sys_sched_setattr(0, (unsigned long) attr, 0);
-+	pidns_print_leader();
- 	printf("sched_setattr(0, {size=%u} => {size=%u}, 0) = %s\n",
- 	       SCHED_ATTR_MIN_SIZE - 1, attr->size, errstr);
- 
-@@ -232,6 +257,7 @@
- 	attr->sched_period = 0xded1ca7edda7aca7ULL;
- 
- 	sys_sched_setattr(bogus_pid, (unsigned long) attr, bogus_flags);
-+	pidns_print_leader();
- 	printf("sched_setattr(%d, {size=%u, sched_policy=%#x /* SCHED_??? */, "
- 	       "sched_flags=%#" PRIx64 " /* SCHED_FLAG_??? */, "
- 	       "sched_nice=%d, sched_priority=%u, sched_runtime=%" PRIu64 ", "
-@@ -274,6 +300,7 @@
- 	attr->sched_period = 0xded1ca7edda7aca7ULL;
- 
- 	sys_sched_setattr(bogus_pid, (unsigned long) attr, bogus_flags);
-+	pidns_print_leader();
- 	printf("sched_setattr(%d, {size=%u, sched_policy=%#x /* SCHED_??? */, "
- 	       "sched_flags=SCHED_FLAG_RESET_ON_FORK|SCHED_FLAG_RECLAIM|"
- 	       "SCHED_FLAG_DL_OVERRUN|0x80, "
-@@ -296,11 +323,13 @@
- 		const kernel_ulong_t ill = f8ill_ptr_to_kulong(attr);
- 
- 		sys_sched_getattr(0, ill, sizeof(*attr), 0);
-+		pidns_print_leader();
- 		printf("sched_getattr(0, %#llx, %u, 0) = %s\n",
- 		       (unsigned long long) ill, (unsigned) sizeof(*attr),
- 		       errstr);
- 
- 		sys_sched_setattr(0, ill, 0);
-+		pidns_print_leader();
- 		printf("sched_setattr(0, %#llx, 0) = %s\n",
- 		       (unsigned long long) ill, errstr);
- 	}
-@@ -310,6 +339,7 @@
- 	attr->sched_flags = 0x8fULL;
- 
- 	sys_sched_setattr(bogus_pid, (unsigned long) attr, bogus_flags);
-+	pidns_print_leader();
- 	printf("sched_setattr(%d, {size=%u, "
- 	       "sched_flags=SCHED_FLAG_RESET_ON_FORK|SCHED_FLAG_RECLAIM|"
- 	       "SCHED_FLAG_DL_OVERRUN|SCHED_FLAG_KEEP_POLICY|0x80, "
-@@ -329,11 +359,13 @@
- 		const kernel_ulong_t ill = f8ill_ptr_to_kulong(attr);
- 
- 		sys_sched_getattr(0, ill, sizeof(*attr), 0);
-+		pidns_print_leader();
- 		printf("sched_getattr(0, %#llx, %u, 0) = %s\n",
- 		       (unsigned long long) ill, (unsigned) sizeof(*attr),
- 		       errstr);
- 
- 		sys_sched_setattr(0, ill, 0);
-+		pidns_print_leader();
- 		printf("sched_setattr(0, %#llx, 0) = %s\n",
- 		       (unsigned long long) ill, errstr);
- 	}
-@@ -342,6 +374,7 @@
- 	attr->sched_flags = 0xe7ULL;
- 
- 	sys_sched_setattr(bogus_pid, (unsigned long) attr, bogus_flags);
-+	pidns_print_leader();
- 	printf("sched_setattr(%d, {size=%u, sched_policy=%#x /* SCHED_??? */, "
- 	       "sched_flags=SCHED_FLAG_RESET_ON_FORK|SCHED_FLAG_RECLAIM|"
- 	       "SCHED_FLAG_DL_OVERRUN|SCHED_FLAG_UTIL_CLAMP_MIN"
-@@ -365,11 +398,13 @@
- 		const kernel_ulong_t ill = f8ill_ptr_to_kulong(attr);
- 
- 		sys_sched_getattr(0, ill, sizeof(*attr), 0);
-+		pidns_print_leader();
- 		printf("sched_getattr(0, %#llx, %u, 0) = %s\n",
- 		       (unsigned long long) ill, (unsigned) sizeof(*attr),
- 		       errstr);
- 
- 		sys_sched_setattr(0, ill, 0);
-+		pidns_print_leader();
- 		printf("sched_setattr(0, %#llx, 0) = %s\n",
- 		       (unsigned long long) ill, errstr);
- 	}
-@@ -377,6 +412,7 @@
- 	attr->sched_flags = 0xcaffee90LL;
- 
- 	sys_sched_setattr(bogus_pid, (unsigned long) attr, bogus_flags);
-+	pidns_print_leader();
- 	printf("sched_setattr(%d, {size=%u, sched_flags=SCHED_FLAG_KEEP_PARAMS"
- 	       "|0xcaffee80, sched_util_min=%u, sched_util_max=%u}, %u) = %s\n",
- 	       (int) bogus_pid,
-@@ -389,15 +425,18 @@
- 		const kernel_ulong_t ill = f8ill_ptr_to_kulong(attr);
- 
- 		sys_sched_getattr(0, ill, sizeof(*attr), 0);
-+		pidns_print_leader();
- 		printf("sched_getattr(0, %#llx, %u, 0) = %s\n",
- 		       (unsigned long long) ill, (unsigned) sizeof(*attr),
- 		       errstr);
- 
- 		sys_sched_setattr(0, ill, 0);
-+		pidns_print_leader();
- 		printf("sched_setattr(0, %#llx, 0) = %s\n",
- 		       (unsigned long long) ill, errstr);
- 	}
- 
-+	pidns_print_leader();
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests-mx32/sched_xetparam--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-mx32/sched_xetparam--pidns-translation.c	2020-09-09 19:52:38.914673641 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "sched_xetparam.c"
-Index: strace-5.7/tests-mx32/sched_xetparam.c
-===================================================================
---- strace-5.7.orig/tests-mx32/sched_xetparam.c	2020-09-09 19:52:30.635668706 +0200
-+++ strace-5.7/tests-mx32/sched_xetparam.c	2020-09-09 19:52:38.914673641 +0200
-@@ -7,6 +7,7 @@
- 
- #include "tests.h"
- #include "scno.h"
-+# include "pidns.h"
- 
- #if defined __NR_sched_getparam && defined __NR_sched_setparam
- 
-@@ -17,18 +18,27 @@
- int
- main(void)
- {
-+	PIDNS_TEST_INIT;
-+
- 	struct sched_param *const param =
- 		tail_alloc(sizeof(struct sched_param));
- 
--	long rc = syscall(__NR_sched_getparam, 0, param);
--	printf("sched_getparam(0, [%d]) = %ld\n",
--	       param->sched_priority, rc);
-+	const int pid = getpid();
-+	const char *pid_str = pidns_pid2str(PT_TGID);
-+
-+	long rc = syscall(__NR_sched_getparam, pid, param);
-+	pidns_print_leader();
-+	printf("sched_getparam(%d%s, [%d]) = %ld\n",
-+	       pid, pid_str, param->sched_priority, rc);
- 
- 	param->sched_priority = -1;
--	rc = syscall(__NR_sched_setparam, 0, param);
--	printf("sched_setparam(0, [%d]) = %ld %s (%m)\n",
-+	rc = syscall(__NR_sched_setparam, pid, param);
-+	pidns_print_leader();
-+	printf("sched_setparam(%d%s, [%d]) = %ld %s (%m)\n",
-+	       pid, pid_str,
- 	       param->sched_priority, rc, errno2name());
- 
-+	pidns_print_leader();
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests-mx32/sched_xetscheduler--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-mx32/sched_xetscheduler--pidns-translation.c	2020-09-09 19:52:38.915673641 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "sched_xetscheduler.c"
-Index: strace-5.7/tests-mx32/sched_xetscheduler.c
-===================================================================
---- strace-5.7.orig/tests-mx32/sched_xetscheduler.c	2020-09-09 19:52:30.635668706 +0200
-+++ strace-5.7/tests-mx32/sched_xetscheduler.c	2020-09-09 19:52:38.915673641 +0200
-@@ -7,6 +7,7 @@
- 
- #include "tests.h"
- #include "scno.h"
-+#include "pidns.h"
- 
- #if defined __NR_sched_getscheduler && defined __NR_sched_setscheduler
- 
-@@ -17,8 +18,13 @@
- int
- main(void)
- {
-+	PIDNS_TEST_INIT;
-+
- 	TAIL_ALLOC_OBJECT_CONST_PTR(struct sched_param, param);
--	long rc = syscall(__NR_sched_getscheduler, 0);
-+	const int pid = getpid();
-+	const char *pid_str = pidns_pid2str(PT_TGID);
-+
-+	long rc = syscall(__NR_sched_getscheduler, pid);
- 	const char *scheduler;
- 	switch (rc) {
- 		case SCHED_FIFO:
-@@ -50,33 +56,43 @@
- 		default:
- 			scheduler = "SCHED_OTHER";
- 	}
--	printf("sched_getscheduler(0) = %ld (%s)\n",
--	       rc, scheduler);
-+	pidns_print_leader();
-+	printf("sched_getscheduler(%d%s) = %ld (%s)\n",
-+	       pid, pid_str, rc, scheduler);
- 
- 	rc = syscall(__NR_sched_getscheduler, -1);
-+	pidns_print_leader();
- 	printf("sched_getscheduler(-1) = %s\n", sprintrc(rc));
- 
- 	param->sched_priority = -1;
- 
--	rc = syscall(__NR_sched_setscheduler, 0, SCHED_FIFO, NULL);
--	printf("sched_setscheduler(0, SCHED_FIFO, NULL) = %s\n", sprintrc(rc));
--
--	rc = syscall(__NR_sched_setscheduler, 0, SCHED_FIFO, param + 1);
--	printf("sched_setscheduler(0, SCHED_FIFO, %p) = %s\n", param + 1,
--	       sprintrc(rc));
--
--	rc = syscall(__NR_sched_setscheduler, 0, 0xfaceda7a, param);
--	printf("sched_setscheduler(0, %#x /* SCHED_??? */, [%d]) = %s\n",
--	       0xfaceda7a, param->sched_priority, sprintrc(rc));
-+	rc = syscall(__NR_sched_setscheduler, pid, SCHED_FIFO, NULL);
-+	pidns_print_leader();
-+	printf("sched_setscheduler(%d%s, SCHED_FIFO, NULL) = %s\n",
-+	       pid, pid_str, sprintrc(rc));
-+
-+	rc = syscall(__NR_sched_setscheduler, pid, SCHED_FIFO, param + 1);
-+	pidns_print_leader();
-+	printf("sched_setscheduler(%d%s, SCHED_FIFO, %p) = %s\n",
-+	       pid, pid_str, param + 1, sprintrc(rc));
-+
-+	rc = syscall(__NR_sched_setscheduler, pid, 0xfaceda7a, param);
-+	pidns_print_leader();
-+	printf("sched_setscheduler(%d%s, %#x /* SCHED_??? */, [%d]) = %s\n",
-+	       pid, pid_str, 0xfaceda7a,
-+	       param->sched_priority, sprintrc(rc));
- 
- 	rc = syscall(__NR_sched_setscheduler, -1, SCHED_FIFO, param);
-+	pidns_print_leader();
- 	printf("sched_setscheduler(-1, SCHED_FIFO, [%d]) = %s\n",
- 	       param->sched_priority, sprintrc(rc));
- 
--	rc = syscall(__NR_sched_setscheduler, 0, SCHED_FIFO, param);
--	printf("sched_setscheduler(0, SCHED_FIFO, [%d]) = %s\n",
--	       param->sched_priority, sprintrc(rc));
-+	rc = syscall(__NR_sched_setscheduler, pid, SCHED_FIFO, param);
-+	pidns_print_leader();
-+	printf("sched_setscheduler(%d%s, SCHED_FIFO, [%d]) = %s\n",
-+	       pid, pid_str, param->sched_priority, sprintrc(rc));
- 
-+	pidns_print_leader();
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests-mx32/signal_receive--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-mx32/signal_receive--pidns-translation.c	2020-09-09 19:52:38.915673641 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "signal_receive.c"
-Index: strace-5.7/tests-mx32/signal_receive.c
-===================================================================
---- strace-5.7.orig/tests-mx32/signal_receive.c	2020-09-09 19:52:30.635668706 +0200
-+++ strace-5.7/tests-mx32/signal_receive.c	2020-09-09 19:52:38.915673641 +0200
-@@ -8,6 +8,7 @@
-  */
- 
- #include "tests.h"
-+#include "pidns.h"
- #include <signal.h>
- #include <stdio.h>
- #include <unistd.h>
-@@ -26,10 +27,13 @@
- int
- main(void)
- {
-+	PIDNS_TEST_INIT;
-+
- 	static const char prefix[] = "KERNEL BUG";
- 	int printed = 0;
- 
- 	const int pid = getpid();
-+	const char *pid_str = pidns_pid2str(PT_TGID);
- 	const int uid = geteuid();
- 
- 	for (int sig = 1; sig <= 31; ++sig) {
-@@ -73,10 +77,13 @@
- 		const int e_pid = s_pid;
- 		const int e_uid = s_uid;
- #endif
--		printf("kill(%d, %s) = 0\n", pid, signal2name(sig));
--		printf("--- %s {si_signo=%s, si_code=SI_USER, si_pid=%d"
-+		pidns_print_leader();
-+		printf("kill(%d%s, %s) = 0\n", pid, pid_str, signal2name(sig));
-+		pidns_print_leader();
-+		printf("--- %s {si_signo=%s, si_code=SI_USER, si_pid=%d%s"
- 		       ", si_uid=%d} ---\n",
--		       signal2name(sig), signal2name(e_sig), e_pid, e_uid);
-+		       signal2name(sig), signal2name(e_sig),
-+		       e_pid, pid_str, e_uid);
- 
- 		if (s_code || sig != s_sig || pid != s_pid || uid != s_uid) {
- 			/*
-@@ -91,11 +98,11 @@
- 			}
- 			fprintf(stderr,
- 				"%s: expected: si_signo=%d, si_code=%d"
--				", si_pid=%d, si_uid=%d\n"
-+				", si_pid=%d%s, si_uid=%d\n"
- 				"%s: received: si_signo=%d, si_code=%d"
--				", si_pid=%d, si_uid=%d\n",
--				prefix, sig, SI_USER, pid, uid,
--				prefix, sig, s_code, s_pid, s_uid);
-+				", si_pid=%d%s, si_uid=%d\n",
-+				prefix, sig, SI_USER, pid, pid_str, uid,
-+				prefix, sig, s_code, s_pid, pid_str, s_uid);
- 		}
- 	}
- 
-@@ -104,6 +111,7 @@
- 			"*** PLEASE FIX THE KERNEL ***\n", prefix);
- 	}
- 
-+	pidns_print_leader();
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests-mx32/so_peercred--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-mx32/so_peercred--pidns-translation.c	2020-09-09 19:52:38.915673641 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "so_peercred.c"
-Index: strace-5.7/tests-mx32/so_peercred.c
-===================================================================
---- strace-5.7.orig/tests-mx32/so_peercred.c	2020-09-09 19:52:30.636668707 +0200
-+++ strace-5.7/tests-mx32/so_peercred.c	2020-09-09 19:52:38.915673641 +0200
-@@ -9,6 +9,7 @@
-  */
- 
- #include "tests.h"
-+#include "pidns.h"
- 
- #include <stddef.h>
- #include <stdio.h>
-@@ -53,6 +54,8 @@
- int
- main(void)
- {
-+	PIDNS_TEST_INIT;
-+
- 	TAIL_ALLOC_OBJECT_CONST_PTR(struct ucred, peercred);
- 	TAIL_ALLOC_OBJECT_CONST_PTR(socklen_t, len);
- 
-@@ -75,6 +78,8 @@
- 	struct ucred *const gid_truncated =
- 		tail_alloc(sizeof_gid_truncated);
- 
-+	const char *pid_str = pidns_pid2str(PT_TGID);
-+
- 	int sv[2];
- 	if (socketpair(AF_UNIX, SOCK_STREAM, 0, sv))
-                 perror_msg_and_skip("socketpair AF_UNIX SOCK_STREAM");
-@@ -82,8 +87,10 @@
- 	/* classic getsockopt */
- 	*len = sizeof(*peercred);
- 	get_peercred(sv[0], peercred, len);
-+	pidns_print_leader();
- 	printf("getsockopt(%d, %s", sv[0], so_str());
- 	PRINT_FIELD_D(", {", *peercred, pid);
-+	printf("%s", pid_str);
- 	PRINT_FIELD_UID(", ", *peercred, uid);
- 	PRINT_FIELD_UID(", ", *peercred, gid);
- 	printf("}, [%d]) = %s\n", *len, errstr);
-@@ -91,14 +98,17 @@
- 	/* getsockopt with zero optlen */
- 	*len = 0;
- 	get_peercred(sv[0], peercred, len);
-+	pidns_print_leader();
- 	printf("getsockopt(%d, %s, %p, [0]) = %s\n",
- 	       sv[0], so_str(), peercred, errstr);
- 
- 	/* getsockopt with optlen larger than necessary - shortened */
- 	*len = sizeof(*peercred) + 1;
- 	get_peercred(sv[0], peercred, len);
-+	pidns_print_leader();
- 	printf("getsockopt(%d, %s", sv[0], so_str());
- 	PRINT_FIELD_D(", {", *peercred, pid);
-+	printf("%s", pid_str);
- 	PRINT_FIELD_UID(", ", *peercred, uid);
- 	PRINT_FIELD_UID(", ", *peercred, gid);
- 	printf("}, [%u->%d]) = %s\n",
-@@ -110,6 +120,7 @@
- 	 */
- 	*len = sizeof_pid_truncated;
- 	get_peercred(sv[0], pid_truncated, len);
-+	pidns_print_leader();
- 	printf("getsockopt(%d, %s, {pid=", sv[0], so_str());
- 	print_quoted_hex(pid_truncated, *len);
- 	printf("}, [%d]) = %s\n", *len, errstr);
-@@ -120,8 +131,10 @@
- 	 */
- 	*len = sizeof_pid;
- 	get_peercred(sv[0], pid, len);
-+	pidns_print_leader();
- 	printf("getsockopt(%d, %s", sv[0], so_str());
- 	PRINT_FIELD_D(", {", *pid, pid);
-+	printf("%s", pid_str);
- 	printf("}, [%d]) = %s\n", *len, errstr);
- 
- 	/*
-@@ -136,8 +149,10 @@
- 	 * to struct ucred.pid field.
- 	 */
- 	memcpy(uid, uid_truncated, sizeof_uid_truncated);
-+	pidns_print_leader();
- 	printf("getsockopt(%d, %s", sv[0], so_str());
- 	PRINT_FIELD_D(", {", *uid, pid);
-+	printf("%s", pid_str);
- 	printf(", uid=");
- 	print_quoted_hex(&uid->uid, sizeof_uid_truncated -
- 				    offsetof(struct ucred, uid));
-@@ -149,8 +164,10 @@
- 	 */
- 	*len = sizeof_uid;
- 	get_peercred(sv[0], uid, len);
-+	pidns_print_leader();
- 	printf("getsockopt(%d, %s", sv[0], so_str());
- 	PRINT_FIELD_D(", {", *uid, pid);
-+	printf("%s", pid_str);
- 	PRINT_FIELD_UID(", ", *uid, uid);
- 	printf("}, [%d]) = %s\n", *len, errstr);
- 
-@@ -166,8 +183,10 @@
- 	 * to struct ucred.pid and struct ucred.uid fields.
- 	 */
- 	memcpy(peercred, gid_truncated, sizeof_gid_truncated);
-+	pidns_print_leader();
- 	printf("getsockopt(%d, %s", sv[0], so_str());
- 	PRINT_FIELD_D(", {", *peercred, pid);
-+	printf("%s", pid_str);
- 	PRINT_FIELD_UID(", ", *peercred, uid);
- 	printf(", gid=");
- 	print_quoted_hex(&peercred->gid, sizeof_gid_truncated -
-@@ -177,14 +196,17 @@
- 	/* getsockopt optval EFAULT */
- 	*len = sizeof(*peercred);
- 	get_peercred(sv[0], &peercred->uid, len);
-+	pidns_print_leader();
- 	printf("getsockopt(%d, %s, %p, [%d]) = %s\n",
- 	       sv[0], so_str(), &peercred->uid, *len, errstr);
- 
- 	/* getsockopt optlen EFAULT */
- 	get_peercred(sv[0], peercred, len + 1);
-+	pidns_print_leader();
- 	printf("getsockopt(%d, %s, %p, %p) = %s\n",
- 	       sv[0], so_str(), peercred, len + 1, errstr);
- 
-+	pidns_print_leader();
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests-mx32/tgkill--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-mx32/tgkill--pidns-translation.c	2020-09-09 19:52:38.916673642 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "tgkill.c"
-Index: strace-5.7/tests-mx32/tgkill.c
-===================================================================
---- strace-5.7.orig/tests-mx32/tgkill.c	2020-09-09 19:52:30.636668707 +0200
-+++ strace-5.7/tests-mx32/tgkill.c	2020-09-09 19:52:38.916673642 +0200
-@@ -9,6 +9,7 @@
- 
- #include "tests.h"
- #include "scno.h"
-+#include "pidns.h"
- 
- #ifdef __NR_tgkill
- 
-@@ -36,28 +37,46 @@
- int
- main(void)
- {
-+	PIDNS_TEST_INIT;
-+
- 	const int pid = getpid();
-+	const char *pid_str = pidns_pid2str(PT_TGID);
-+	const int tid = syscall(__NR_gettid);
-+	const char *tid_str = pidns_pid2str(PT_TID);
- 	const int bad_pid = -1;
- 	const int bad_sig = 0xface;
- 
--	k_tgkill(pid, pid, 0);
--	printf("tgkill(%d, %d, 0) = %s\n", pid, pid, errstr);
-+	k_tgkill(pid, tid, 0);
-+	pidns_print_leader();
-+	printf("tgkill(%d%s, %d%s, 0) = %s\n",
-+		pid, pid_str, tid, tid_str, errstr);
- 
- 	k_tgkill(pid, bad_pid, 0);
--	printf("tgkill(%d, %d, 0) = %s\n", pid, bad_pid, errstr);
--
--	k_tgkill(bad_pid, pid, 0);
--	printf("tgkill(%d, %d, 0) = %s\n", bad_pid, pid, errstr);
--
--	k_tgkill(pid, pid, SIGCONT);
--	printf("tgkill(%d, %d, SIGCONT) = %s\n", pid, pid, errstr);
--
--	k_tgkill(pid, pid, bad_sig);
--	printf("tgkill(%d, %d, %d) = %s\n", pid, pid, bad_sig, errstr);
--
--	k_tgkill(pid, pid, -bad_sig);
--	printf("tgkill(%d, %d, %d) = %s\n", pid, pid, -bad_sig, errstr);
-+	pidns_print_leader();
-+	printf("tgkill(%d%s, %d, 0) = %s\n",
-+		pid, pid_str, bad_pid, errstr);
-+
-+	k_tgkill(bad_pid, tid, 0);
-+	pidns_print_leader();
-+	printf("tgkill(%d, %d%s, 0) = %s\n",
-+		bad_pid, tid, tid_str, errstr);
-+
-+	k_tgkill(pid, tid, SIGCONT);
-+	pidns_print_leader();
-+	printf("tgkill(%d%s, %d%s, SIGCONT) = %s\n",
-+		pid, pid_str, tid, tid_str, errstr);
-+
-+	k_tgkill(pid, tid, bad_sig);
-+	pidns_print_leader();
-+	printf("tgkill(%d%s, %d%s, %d) = %s\n",
-+		pid, pid_str, tid, tid_str, bad_sig, errstr);
-+
-+	k_tgkill(pid, tid, -bad_sig);
-+	pidns_print_leader();
-+	printf("tgkill(%d%s, %d%s, %d) = %s\n",
-+		pid, pid_str, tid, tid_str, -bad_sig, errstr);
- 
-+	pidns_print_leader();
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests-mx32/tkill--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-mx32/tkill--pidns-translation.c	2020-09-09 19:52:38.916673642 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "tkill.c"
-Index: strace-5.7/tests-mx32/tkill.c
-===================================================================
---- strace-5.7.orig/tests-mx32/tkill.c	2020-09-09 19:52:30.636668707 +0200
-+++ strace-5.7/tests-mx32/tkill.c	2020-09-09 19:52:38.916673642 +0200
-@@ -9,6 +9,7 @@
- 
- #include "tests.h"
- #include "scno.h"
-+#include "pidns.h"
- 
- #ifdef __NR_tkill
- 
-@@ -33,22 +34,30 @@
- int
- main(void)
- {
--	const int pid = getpid();
-+	PIDNS_TEST_INIT;
-+
-+	const int tid = syscall(__NR_gettid);
-+	const char *tid_str = pidns_pid2str(PT_TID);
- 	const int bad_pid = -1;
- 	const int bad_sig = 0xface;
- 
--	k_tkill(pid, 0);
--	printf("tkill(%d, 0) = %s\n", pid, errstr);
--
--	k_tkill(pid, SIGCONT);
--	printf("tkill(%d, SIGCONT) = %s\n", pid, errstr);
-+	k_tkill(tid, 0);
-+	pidns_print_leader();
-+	printf("tkill(%d%s, 0) = %s\n", tid, tid_str, errstr);
-+
-+	k_tkill(tid, SIGCONT);
-+	pidns_print_leader();
-+	printf("tkill(%d%s, SIGCONT) = %s\n", tid, tid_str, errstr);
- 
- 	k_tkill(bad_pid, bad_sig);
-+	pidns_print_leader();
- 	printf("tkill(%d, %d) = %s\n", bad_pid, bad_sig, errstr);
- 
- 	k_tkill(bad_pid, -bad_sig);
-+	pidns_print_leader();
- 	printf("tkill(%d, %d) = %s\n", bad_pid, -bad_sig, errstr);
- 
-+	pidns_print_leader();
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests-mx32/trie_for_tests.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-mx32/trie_for_tests.c	2020-09-09 19:52:38.916673642 +0200
-@@ -0,0 +1 @@
-+#include "trie.c"
-Index: strace-5.7/tests-mx32/trie_test.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-mx32/trie_test.c	2020-09-09 19:52:38.916673642 +0200
-@@ -0,0 +1,121 @@
-+/*
-+ * Copyright (c) 2017-2019 The strace developers.
-+ * All rights reserved.
-+ *
-+ * SPDX-License-Identifier: GPL-2.0-or-later
-+ */
-+
-+#include "tests.h"
-+#include "trie.h"
-+
-+#include <stdio.h>
-+#include <inttypes.h>
-+
-+static void
-+assert_equals(const char *msg, uint64_t expected, uint64_t actual) {
-+	if (actual != expected)
-+		error_msg_and_fail("%s: expected: %" PRIu64
-+		                   ", actual: %" PRIu64, msg, expected, actual);
-+}
-+
-+static void
-+iterate_fn(void *data, uint64_t key, uint64_t value)
-+{
-+	uint64_t expected = key < 256 && key % 10 == 0 ? key + 42 : -1ULL;
-+	assert_equals("iterate_fn", expected, value);
-+
-+	int *count = (int *) data;
-+	if (value != -1ULL)
-+		(*count)++;
-+}
-+
-+static void
-+test_trie_iterate_fn(void)
-+{
-+	struct trie *t = trie_create(8, 6, 3, 3, -1);
-+	for (int i = 0; i < 26; i++)
-+		trie_set(t, i * 10, i * 10 + 42);
-+
-+	static const struct {
-+		uint64_t start;
-+		uint64_t end;
-+		int expected_count;
-+	} iterate_params[] = {
-+		{0, 256, 26},
-+		{0, UINT64_MAX, 26},
-+		{20, 90, 8},
-+		{99, 999, 16},
-+		{10000, 100000, 0},
-+		{200, 100, 0},
-+	};
-+
-+	for (size_t i = 0; i < ARRAY_SIZE(iterate_params); i++) {
-+		int count = 0;
-+		trie_iterate_keys(t, iterate_params[i].start, iterate_params[i].end, iterate_fn, &count);
-+		assert_equals("iteration count", iterate_params[i].expected_count, count);
-+	}
-+}
-+
-+struct key_value_pair {
-+	uint64_t key, value;
-+};
-+
-+static void
-+test_trie_get(void)
-+{
-+	static const struct {
-+		uint8_t key_size;
-+		uint8_t item_size_lg;
-+		uint8_t node_key_bits;
-+		uint8_t data_block_key_bits;
-+		uint64_t empty_value;
-+
-+		struct key_value_pair set_values[3], get_values[3];
-+	} params[] = {
-+		{64, 6, 10, 10, 0,
-+			{{300, 1}, {0xfacefeed, 0xabcdef123456}, {-1ULL, -1ULL}},
-+			{{301, 0}, {0xfacefeed, 0xabcdef123456}, {-1ULL, -1ULL}}},
-+		{8, 2, 4, 4, 10,
-+			{{0xab, 0xcd}, {0xface, 2}, {0, 3}},
-+			{{0xab, 0xd}, {0xface, 10}, {0, 3}}},
-+		{30, 0, 6, 3, -1,
-+			{{0xaaaa, 127}, {0xface, 0}, {0, 0}},
-+			{{0xaaaa, 1}, {0xface, 0}, {1, 1}}},
-+		{16, 4, 5, 11, 0xffffff,
-+			{{0xabcdef, 42}, {0xabcd, 42}, {0xffff, 0}},
-+			{{0xabcdef, 0xffff}, {0xabcd, 42}, {0xffff, 0}}},
-+		{41, 5, 1, 1, -1,
-+			{{0xabcdef01, 0x22222222}, {-1, 0x33333333}, {10, 10}},
-+			{{0xabcdef01, 0x22222222}, {-1, 0xffffffff}, {10, 10}}},
-+	};
-+
-+	for (size_t i = 0; i < ARRAY_SIZE(params); i++) {
-+		struct trie *t = trie_create(params[i].key_size,
-+		                             params[i].item_size_lg,
-+					     params[i].node_key_bits,
-+					     params[i].data_block_key_bits,
-+					     params[i].empty_value);
-+
-+		if (!t)
-+			error_msg_and_fail("trie creation failed");
-+
-+		for (size_t j = 0; j < ARRAY_SIZE(params[i].set_values); j++) {
-+			struct key_value_pair kv = params[i].set_values[j];
-+			trie_set(t, kv.key, kv.value);
-+		}
-+		for (size_t j = 0; j < ARRAY_SIZE(params[i].get_values); j++) {
-+			struct key_value_pair kv = params[i].get_values[j];
-+			assert_equals("trie_get", kv.value, trie_get(t, kv.key));
-+		}
-+
-+		trie_free(t);
-+	}
-+}
-+
-+int
-+main(void)
-+{
-+	test_trie_get();
-+	test_trie_iterate_fn();
-+	return 0;
-+}
-Index: strace-5.7/tests-mx32/xet_robust_list--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-mx32/xet_robust_list--pidns-translation.c	2020-09-09 19:52:38.916673642 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "xet_robust_list.c"
-Index: strace-5.7/tests-mx32/xet_robust_list.c
-===================================================================
---- strace-5.7.orig/tests-mx32/xet_robust_list.c	2020-09-09 19:52:30.637668707 +0200
-+++ strace-5.7/tests-mx32/xet_robust_list.c	2020-09-09 19:52:38.917673643 +0200
-@@ -8,6 +8,7 @@
- 
- #include "tests.h"
- #include "scno.h"
-+#include "pidns.h"
- 
- #if defined __NR_get_robust_list && defined __NR_set_robust_list
- 
-@@ -30,27 +31,36 @@
- int
- main(void)
- {
-+	PIDNS_TEST_INIT;
-+
- 	const pid_t pid = getpid();
-+	const char *pid_str = pidns_pid2str(PT_TGID);
- 	const long long_pid = (unsigned long) (0xdeadbeef00000000LL | pid);
- 	TAIL_ALLOC_OBJECT_CONST_PTR(void *, p_head);
- 	TAIL_ALLOC_OBJECT_CONST_PTR(size_t, p_len);
- 
- 	if (syscall(__NR_get_robust_list, long_pid, p_head, p_len))
- 		perror_msg_and_skip("get_robust_list");
--	printf("get_robust_list(%d, [%s], [%lu]) = 0\n",
--	       (int) pid, sprintaddr(*p_head), (unsigned long) *p_len);
-+	pidns_print_leader();
-+	printf("get_robust_list(%d%s, [%s], [%lu]) = 0\n",
-+	       pid, pid_str, sprintaddr(*p_head),
-+	       (unsigned long) *p_len);
- 
- 	void *head = tail_alloc(*p_len);
- 	if (syscall(__NR_set_robust_list, head, *p_len))
- 		perror_msg_and_skip("set_robust_list");
-+	pidns_print_leader();
- 	printf("set_robust_list(%p, %lu) = 0\n",
- 	       head, (unsigned long) *p_len);
- 
- 	if (syscall(__NR_get_robust_list, long_pid, p_head, p_len))
- 		perror_msg_and_skip("get_robust_list");
--	printf("get_robust_list(%d, [%s], [%lu]) = 0\n",
--	       (int) pid, sprintaddr(*p_head), (unsigned long) *p_len);
-+	pidns_print_leader();
-+	printf("get_robust_list(%d%s, [%s], [%lu]) = 0\n",
-+	       pid, pid_str, sprintaddr(*p_head),
-+	       (unsigned long) *p_len);
- 
-+	pidns_print_leader();
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests-mx32/xetpgid--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-mx32/xetpgid--pidns-translation.c	2020-09-09 19:52:38.917673643 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "xetpgid.c"
-Index: strace-5.7/tests-mx32/xetpgid.c
-===================================================================
---- strace-5.7.orig/tests-mx32/xetpgid.c	2020-09-09 19:52:30.637668707 +0200
-+++ strace-5.7/tests-mx32/xetpgid.c	2020-09-09 19:52:38.917673643 +0200
-@@ -10,6 +10,7 @@
- 
- #include "tests.h"
- #include "scno.h"
-+#include "pidns.h"
- 
- #if defined __NR_getpgid && defined __NR_setpgid
- 
-@@ -19,13 +20,21 @@
- int
- main(void)
- {
--	const int pid = getpid();
--	long rc = syscall(__NR_getpgid, F8ILL_KULONG_MASK | pid);
--	printf("getpgid(%d) = %ld\n", pid, rc);
-+	PIDNS_TEST_INIT;
- 
--	rc = syscall(__NR_setpgid, F8ILL_KULONG_MASK, F8ILL_KULONG_MASK | pid);
--	printf("setpgid(0, %d) = %ld\n", pid, rc);
-+	const int pid = getpid();
-+	long pgid = syscall(__NR_getpgid, F8ILL_KULONG_MASK | pid);
-+	pidns_print_leader();
-+	printf("getpgid(%d%s) = %ld%s\n", pid, pidns_pid2str(PT_TGID),
-+		pgid, pidns_pid2str(PT_PGID));
-+
-+	long rc = syscall(__NR_setpgid, F8ILL_KULONG_MASK,
-+		F8ILL_KULONG_MASK | pgid);
-+	pidns_print_leader();
-+	printf("setpgid(0, %ld%s) = %s\n", pgid, pidns_pid2str(PT_PGID),
-+		sprintrc(rc));
- 
-+	pidns_print_leader();
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests-mx32/xetpriority--pidns-translation.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-mx32/xetpriority--pidns-translation.c	2020-09-09 19:52:38.917673643 +0200
-@@ -0,0 +1,2 @@
-+#define PIDNS_TRANSLATION
-+#include "xetpriority.c"
-Index: strace-5.7/tests-mx32/xetpriority.c
-===================================================================
---- strace-5.7.orig/tests-mx32/xetpriority.c	2020-09-09 19:52:30.638668708 +0200
-+++ strace-5.7/tests-mx32/xetpriority.c	2020-09-09 19:52:38.917673643 +0200
-@@ -7,6 +7,7 @@
- 
- #include "tests.h"
- #include "scno.h"
-+#include "pidns.h"
- 
- #if defined __NR_getpriority && defined __NR_setpriority
- 
-@@ -17,15 +18,30 @@
- int
- main(void)
- {
-+	PIDNS_TEST_INIT;
-+
- 	const int pid = getpid();
-+	const int pgid = getpgid(0);
-+
- 	long rc = syscall(__NR_getpriority, PRIO_PROCESS,
- 			  F8ILL_KULONG_MASK | pid);
--	printf("getpriority(PRIO_PROCESS, %d) = %ld\n", pid, rc);
-+	pidns_print_leader();
-+	printf("getpriority(PRIO_PROCESS, %d%s) = %ld\n",
-+		pid, pidns_pid2str(PT_TGID), rc);
- 
- 	rc = syscall(__NR_setpriority, PRIO_PROCESS,
- 		     F8ILL_KULONG_MASK | pid, F8ILL_KULONG_MASK);
--	printf("setpriority(PRIO_PROCESS, %d, 0) = %s\n", pid, sprintrc(rc));
-+	pidns_print_leader();
-+	printf("setpriority(PRIO_PROCESS, %d%s, 0) = %s\n",
-+		pid, pidns_pid2str(PT_TGID), sprintrc(rc));
-+
-+	rc = syscall(__NR_getpriority, PRIO_PGRP,
-+			  F8ILL_KULONG_MASK | pgid);
-+	pidns_print_leader();
-+	printf("getpriority(PRIO_PGRP, %d%s) = %ld\n",
-+		pgid, pidns_pid2str(PT_PGID), rc);
- 
-+	pidns_print_leader();
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests-mx32/xmalloc_for_tests.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-mx32/xmalloc_for_tests.c	2020-09-09 19:52:38.917673643 +0200
-@@ -0,0 +1,2 @@
-+#define error_msg_and_die error_msg_and_fail
-+#include "xmalloc.c"
-Index: strace-5.7/Makefile.in
-===================================================================
---- strace-5.7.orig/Makefile.in	2020-09-09 19:52:30.641668710 +0200
-+++ strace-5.7/Makefile.in	2020-09-09 19:52:38.920673644 +0200
-@@ -1870,7 +1870,7 @@
- CODE_COVERAGE_GENHTML_OPTIONS = $(CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT) \
- 	--prefix $(shell cd $(abs_top_srcdir)/.. && pwd || echo .)
- 
--CODE_COVERAGE_IGNORE_PATTERN = '/usr/include/*'
-+CODE_COVERAGE_IGNORE_PATTERN = '/usr/include/*' '*/tests/*' '*/tests-m32/*' '*/tests-mx32/*'
- 
- # Enable this to get link map generated
- #strace_LDFLAGS += -Wl,-Map=strace.mapfile
-Index: strace-5.7/tests/Makefile.in
-===================================================================
---- strace-5.7.orig/tests/Makefile.in	2020-09-09 19:52:30.693668741 +0200
-+++ strace-5.7/tests/Makefile.in	2020-09-09 20:23:40.076946659 +0200
-@@ -121,10 +121,17 @@
- 	clone3-success-Xabbrev$(EXEEXT) clone3-success-Xraw$(EXEEXT) \
- 	clone3-success-Xverbose$(EXEEXT) count-f$(EXEEXT) \
- 	delay$(EXEEXT) execve-v$(EXEEXT) execveat-v$(EXEEXT) \
-+	fcntl--pidns-translation$(EXEEXT) \
-+	fcntl64--pidns-translation$(EXEEXT) \
- 	filter_seccomp-flag$(EXEEXT) filter_seccomp-perf$(EXEEXT) \
--	filter-unavailable$(EXEEXT) fork-f$(EXEEXT) fsync-y$(EXEEXT) \
--	get_process_reaper$(EXEEXT) getpid$(EXEEXT) getppid$(EXEEXT) \
--	gettid$(EXEEXT) inject-nf$(EXEEXT) int_0x80$(EXEEXT) \
-+	filter-unavailable$(EXEEXT) fork-f$(EXEEXT) \
-+	fork--pidns-translation$(EXEEXT) fsync-y$(EXEEXT) \
-+	get_process_reaper$(EXEEXT) \
-+	getpgrp--pidns-translation$(EXEEXT) getpid$(EXEEXT) \
-+	getpid--pidns-translation$(EXEEXT) getppid$(EXEEXT) \
-+	getsid--pidns-translation$(EXEEXT) gettid$(EXEEXT) \
-+	gettid--pidns-translation$(EXEEXT) inject-nf$(EXEEXT) \
-+	int_0x80$(EXEEXT) ioctl_block--pidns-translation$(EXEEXT) \
- 	ioctl_dm-v$(EXEEXT) ioctl_evdev-success$(EXEEXT) \
- 	ioctl_evdev-success-Xabbrev$(EXEEXT) \
- 	ioctl_evdev-success-Xraw$(EXEEXT) \
-@@ -151,43 +158,68 @@
- 	ioctl_v4l2-success-v-Xabbrev$(EXEEXT) \
- 	ioctl_v4l2-success-v-Xraw$(EXEEXT) \
- 	ioctl_v4l2-success-v-Xverbose$(EXEEXT) \
--	is_linux_mips_n64$(EXEEXT) kill_child$(EXEEXT) \
--	ksysent$(EXEEXT) list_sigaction_signum$(EXEEXT) \
--	localtime$(EXEEXT) looping_threads$(EXEEXT) \
--	mmsg-silent$(EXEEXT) mmsg_name-v$(EXEEXT) \
-+	ioprio--pidns-translation$(EXEEXT) is_linux_mips_n64$(EXEEXT) \
-+	kcmp-y--pidns-translation$(EXEEXT) kill_child$(EXEEXT) \
-+	kill--pidns-translation$(EXEEXT) ksysent$(EXEEXT) \
-+	list_sigaction_signum$(EXEEXT) localtime$(EXEEXT) \
-+	looping_threads$(EXEEXT) \
-+	migrate_pages--pidns-translation$(EXEEXT) mmsg-silent$(EXEEXT) \
-+	mmsg_name-v$(EXEEXT) move_pages--pidns-translation$(EXEEXT) \
- 	msg_control-v$(EXEEXT) net-accept-connect$(EXEEXT) \
-+	net-sockaddr--pidns-translation$(EXEEXT) \
- 	net-tpacket_stats-success$(EXEEXT) nlattr_ifla_xdp-y$(EXEEXT) \
-+	netlink_audit--pidns-translation$(EXEEXT) \
- 	netlink_inet_diag$(EXEEXT) netlink_netlink_diag$(EXEEXT) \
- 	netlink_unix_diag$(EXEEXT) nsyscalls$(EXEEXT) \
- 	nsyscalls-d$(EXEEXT) oldselect-P$(EXEEXT) \
- 	oldselect-efault-P$(EXEEXT) orphaned_process_group$(EXEEXT) \
- 	pc$(EXEEXT) perf_event_open_nonverbose$(EXEEXT) \
--	perf_event_open_unabbrev$(EXEEXT) poll-P$(EXEEXT) \
--	ppoll-P$(EXEEXT) ppoll-v$(EXEEXT) \
-+	perf_event_open_unabbrev$(EXEEXT) \
-+	pidfd_open--pidns-translation$(EXEEXT) \
-+	pidfd_send_signal--pidns-translation$(EXEEXT) \
-+	pidns-cache$(EXEEXT) poll-P$(EXEEXT) ppoll-P$(EXEEXT) \
-+	ppoll-v$(EXEEXT) prlimit64--pidns-translation$(EXEEXT) \
- 	prctl-seccomp-filter-v$(EXEEXT) prctl-seccomp-strict$(EXEEXT) \
- 	prctl-spec-inject$(EXEEXT) print_maxfd$(EXEEXT) \
--	print_ppid_tracerpid$(EXEEXT) qual_fault$(EXEEXT) \
--	qual_inject-error-signal$(EXEEXT) qual_inject-retval$(EXEEXT) \
--	qual_inject-signal$(EXEEXT) qual_signal$(EXEEXT) \
--	quotactl-success$(EXEEXT) quotactl-success-v$(EXEEXT) \
--	quotactl-v$(EXEEXT) quotactl-xfs-success$(EXEEXT) \
--	quotactl-xfs-success-v$(EXEEXT) quotactl-xfs-v$(EXEEXT) \
--	redirect-fds$(EXEEXT) restart_syscall$(EXEEXT) \
--	run_expect_termsig$(EXEEXT) scm_rights$(EXEEXT) \
--	seccomp-filter-v$(EXEEXT) seccomp-strict$(EXEEXT) \
--	select-P$(EXEEXT) set_ptracer_any$(EXEEXT) \
--	set_sigblock$(EXEEXT) set_sigign$(EXEEXT) \
--	setpgrp-exec$(EXEEXT) signal_receive$(EXEEXT) sleep$(EXEEXT) \
-+	print_ppid_tracerpid$(EXEEXT) \
-+	process_vm_readv--pidns-translation$(EXEEXT) \
-+	process_vm_writev--pidns-translation$(EXEEXT) \
-+	qual_fault$(EXEEXT) qual_inject-error-signal$(EXEEXT) \
-+	qual_inject-retval$(EXEEXT) qual_inject-signal$(EXEEXT) \
-+	qual_signal$(EXEEXT) quotactl-success$(EXEEXT) \
-+	quotactl-success-v$(EXEEXT) quotactl-v$(EXEEXT) \
-+	quotactl-xfs-success$(EXEEXT) quotactl-xfs-success-v$(EXEEXT) \
-+	quotactl-xfs-v$(EXEEXT) redirect-fds$(EXEEXT) \
-+	restart_syscall$(EXEEXT) \
-+	rt_sigqueueinfo--pidns-translation$(EXEEXT) \
-+	rt_tgsigqueueinfo--pidns-translation$(EXEEXT) \
-+	run_expect_termsig$(EXEEXT) \
-+	sched_xetaffinity--pidns-translation$(EXEEXT) \
-+	sched_xetattr--pidns-translation$(EXEEXT) \
-+	sched_xetparam--pidns-translation$(EXEEXT) \
-+	sched_xetscheduler--pidns-translation$(EXEEXT) \
-+	scm_rights$(EXEEXT) seccomp-filter-v$(EXEEXT) \
-+	seccomp-strict$(EXEEXT) select-P$(EXEEXT) \
-+	set_ptracer_any$(EXEEXT) set_sigblock$(EXEEXT) \
-+	set_sigign$(EXEEXT) setpgrp-exec$(EXEEXT) \
-+	signal_receive$(EXEEXT) \
-+	signal_receive--pidns-translation$(EXEEXT) sleep$(EXEEXT) \
- 	stack-fcall$(EXEEXT) stack-fcall-attach$(EXEEXT) \
- 	stack-fcall-mangled$(EXEEXT) status-none-threads$(EXEEXT) \
--	status-unfinished-threads$(EXEEXT) syslog-success$(EXEEXT) \
-+	status-unfinished-threads$(EXEEXT) \
-+	so_peercred--pidns-translation$(EXEEXT) \
-+	syslog-success$(EXEEXT) tgkill--pidns-translation$(EXEEXT) \
- 	threads-execve$(EXEEXT) \
- 	threads-execve--quiet-thread-execve$(EXEEXT) \
- 	threads-execve-q$(EXEEXT) threads-execve-qq$(EXEEXT) \
--	threads-execve-qqq$(EXEEXT) tracer_ppid_pgid_sid$(EXEEXT) \
-+	threads-execve-qqq$(EXEEXT) tkill--pidns-translation$(EXEEXT) \
-+	tracer_ppid_pgid_sid$(EXEEXT) trie_test$(EXEEXT) \
- 	unblock_reset_raise$(EXEEXT) unix-pair-send-recv$(EXEEXT) \
- 	unix-pair-sendto-recvfrom$(EXEEXT) vfork-f$(EXEEXT) \
--	wait4-v$(EXEEXT) waitid-v$(EXEEXT) zeroargc$(EXEEXT)
-+	wait4-v$(EXEEXT) waitid-v$(EXEEXT) \
-+	xetpgid--pidns-translation$(EXEEXT) \
-+	xetpriority--pidns-translation$(EXEEXT) \
-+	xet_robust_list--pidns-translation$(EXEEXT) zeroargc$(EXEEXT)
- @ENABLE_STACKTRACE_TRUE@@USE_DEMANGLE_TRUE@am__append_1 = strace-k-demangle.test
- TESTS = $(GEN_TESTS) $(DECODER_TESTS) $(MISC_TESTS) $(am__EXEEXT_2)
- subdir = tests
-@@ -545,7 +577,8 @@
- 	libtests_a-tail_alloc.$(OBJEXT) \
- 	libtests_a-test_printpath.$(OBJEXT) \
- 	libtests_a-test_printstrn.$(OBJEXT) \
--	libtests_a-test_ucopy.$(OBJEXT) libtests_a-tprintf.$(OBJEXT)
-+	libtests_a-test_ucopy.$(OBJEXT) libtests_a-tprintf.$(OBJEXT) \
-+	libtests_a-xmalloc_for_tests.$(OBJEXT)
- libtests_a_OBJECTS = $(am_libtests_a_OBJECTS)
- _newselect_SOURCES = _newselect.c
- _newselect_OBJECTS = _newselect.$(OBJEXT)
-@@ -973,10 +1006,19 @@
- fcntl_OBJECTS = fcntl.$(OBJEXT)
- fcntl_LDADD = $(LDADD)
- fcntl_DEPENDENCIES = libtests.a
-+fcntl__pidns_translation_SOURCES = fcntl--pidns-translation.c
-+fcntl__pidns_translation_OBJECTS = fcntl--pidns-translation.$(OBJEXT)
-+fcntl__pidns_translation_LDADD = $(LDADD)
-+fcntl__pidns_translation_DEPENDENCIES = libtests.a
- fcntl64_SOURCES = fcntl64.c
- fcntl64_OBJECTS = fcntl64.$(OBJEXT)
- fcntl64_LDADD = $(LDADD)
- fcntl64_DEPENDENCIES = libtests.a
-+fcntl64__pidns_translation_SOURCES = fcntl64--pidns-translation.c
-+fcntl64__pidns_translation_OBJECTS =  \
-+	fcntl64--pidns-translation.$(OBJEXT)
-+fcntl64__pidns_translation_LDADD = $(LDADD)
-+fcntl64__pidns_translation_DEPENDENCIES = libtests.a
- fdatasync_SOURCES = fdatasync.c
- fdatasync_OBJECTS = fdatasync.$(OBJEXT)
- fdatasync_LDADD = $(LDADD)
-@@ -1012,6 +1054,10 @@
- flock_OBJECTS = flock.$(OBJEXT)
- flock_LDADD = $(LDADD)
- flock_DEPENDENCIES = libtests.a
-+fork__pidns_translation_SOURCES = fork--pidns-translation.c
-+fork__pidns_translation_OBJECTS = fork--pidns-translation.$(OBJEXT)
-+fork__pidns_translation_LDADD = $(LDADD)
-+fork__pidns_translation_DEPENDENCIES = libtests.a
- fork_f_SOURCES = fork-f.c
- fork_f_OBJECTS = fork-f.$(OBJEXT)
- fork_f_LDADD = $(LDADD)
-@@ -1180,10 +1226,20 @@
- getpgrp_OBJECTS = getpgrp.$(OBJEXT)
- getpgrp_LDADD = $(LDADD)
- getpgrp_DEPENDENCIES = libtests.a
-+getpgrp__pidns_translation_SOURCES = getpgrp--pidns-translation.c
-+getpgrp__pidns_translation_OBJECTS =  \
-+	getpgrp--pidns-translation.$(OBJEXT)
-+getpgrp__pidns_translation_LDADD = $(LDADD)
-+getpgrp__pidns_translation_DEPENDENCIES = libtests.a
- getpid_SOURCES = getpid.c
- getpid_OBJECTS = getpid.$(OBJEXT)
- getpid_LDADD = $(LDADD)
- getpid_DEPENDENCIES = libtests.a
-+getpid__pidns_translation_SOURCES = getpid--pidns-translation.c
-+getpid__pidns_translation_OBJECTS =  \
-+	getpid--pidns-translation.$(OBJEXT)
-+getpid__pidns_translation_LDADD = $(LDADD)
-+getpid__pidns_translation_DEPENDENCIES = libtests.a
- getppid_SOURCES = getppid.c
- getppid_OBJECTS = getppid.$(OBJEXT)
- getppid_LDADD = $(LDADD)
-@@ -1220,6 +1276,11 @@
- getsid_OBJECTS = getsid.$(OBJEXT)
- getsid_LDADD = $(LDADD)
- getsid_DEPENDENCIES = libtests.a
-+getsid__pidns_translation_SOURCES = getsid--pidns-translation.c
-+getsid__pidns_translation_OBJECTS =  \
-+	getsid--pidns-translation.$(OBJEXT)
-+getsid__pidns_translation_LDADD = $(LDADD)
-+getsid__pidns_translation_DEPENDENCIES = libtests.a
- getsockname_SOURCES = getsockname.c
- getsockname_OBJECTS = getsockname.$(OBJEXT)
- getsockname_LDADD = $(LDADD)
-@@ -1228,6 +1289,11 @@
- gettid_OBJECTS = gettid.$(OBJEXT)
- gettid_LDADD = $(LDADD)
- gettid_DEPENDENCIES = libtests.a
-+gettid__pidns_translation_SOURCES = gettid--pidns-translation.c
-+gettid__pidns_translation_OBJECTS =  \
-+	gettid--pidns-translation.$(OBJEXT)
-+gettid__pidns_translation_LDADD = $(LDADD)
-+gettid__pidns_translation_DEPENDENCIES = libtests.a
- getuid_SOURCES = getuid.c
- getuid_OBJECTS = getuid.$(OBJEXT)
- getuid_LDADD = $(LDADD)
-@@ -1308,6 +1374,12 @@
- ioctl_block_OBJECTS = ioctl_block.$(OBJEXT)
- ioctl_block_LDADD = $(LDADD)
- ioctl_block_DEPENDENCIES = libtests.a
-+ioctl_block__pidns_translation_SOURCES =  \
-+	ioctl_block--pidns-translation.c
-+ioctl_block__pidns_translation_OBJECTS =  \
-+	ioctl_block--pidns-translation.$(OBJEXT)
-+ioctl_block__pidns_translation_LDADD = $(LDADD)
-+ioctl_block__pidns_translation_DEPENDENCIES = libtests.a
- ioctl_dm_SOURCES = ioctl_dm.c
- ioctl_dm_OBJECTS = ioctl_dm.$(OBJEXT)
- ioctl_dm_LDADD = $(LDADD)
-@@ -1628,6 +1700,11 @@
- ioprio_OBJECTS = ioprio.$(OBJEXT)
- ioprio_LDADD = $(LDADD)
- ioprio_DEPENDENCIES = libtests.a
-+ioprio__pidns_translation_SOURCES = ioprio--pidns-translation.c
-+ioprio__pidns_translation_OBJECTS =  \
-+	ioprio--pidns-translation.$(OBJEXT)
-+ioprio__pidns_translation_LDADD = $(LDADD)
-+ioprio__pidns_translation_DEPENDENCIES = libtests.a
- ioprio_Xabbrev_SOURCES = ioprio-Xabbrev.c
- ioprio_Xabbrev_OBJECTS = ioprio-Xabbrev.$(OBJEXT)
- ioprio_Xabbrev_LDADD = $(LDADD)
-@@ -1724,6 +1801,11 @@
- kcmp_y_OBJECTS = kcmp-y.$(OBJEXT)
- kcmp_y_LDADD = $(LDADD)
- kcmp_y_DEPENDENCIES = libtests.a
-+kcmp_y__pidns_translation_SOURCES = kcmp-y--pidns-translation.c
-+kcmp_y__pidns_translation_OBJECTS =  \
-+	kcmp-y--pidns-translation.$(OBJEXT)
-+kcmp_y__pidns_translation_LDADD = $(LDADD)
-+kcmp_y__pidns_translation_DEPENDENCIES = libtests.a
- kern_features_SOURCES = kern_features.c
- kern_features_OBJECTS = kern_features.$(OBJEXT)
- kern_features_LDADD = $(LDADD)
-@@ -1772,6 +1854,10 @@
- kill_OBJECTS = kill.$(OBJEXT)
- kill_LDADD = $(LDADD)
- kill_DEPENDENCIES = libtests.a
-+kill__pidns_translation_SOURCES = kill--pidns-translation.c
-+kill__pidns_translation_OBJECTS = kill--pidns-translation.$(OBJEXT)
-+kill__pidns_translation_LDADD = $(LDADD)
-+kill__pidns_translation_DEPENDENCIES = libtests.a
- kill_child_SOURCES = kill_child.c
- kill_child_OBJECTS = kill_child.$(OBJEXT)
- kill_child_LDADD = $(LDADD)
-@@ -1878,6 +1964,12 @@
- migrate_pages_OBJECTS = migrate_pages.$(OBJEXT)
- migrate_pages_LDADD = $(LDADD)
- migrate_pages_DEPENDENCIES = libtests.a
-+migrate_pages__pidns_translation_SOURCES =  \
-+	migrate_pages--pidns-translation.c
-+migrate_pages__pidns_translation_OBJECTS =  \
-+	migrate_pages--pidns-translation.$(OBJEXT)
-+migrate_pages__pidns_translation_LDADD = $(LDADD)
-+migrate_pages__pidns_translation_DEPENDENCIES = libtests.a
- mincore_SOURCES = mincore.c
- mincore_OBJECTS = mincore.$(OBJEXT)
- mincore_LDADD = $(LDADD)
-@@ -1990,6 +2082,12 @@
- move_pages_OBJECTS = move_pages.$(OBJEXT)
- move_pages_LDADD = $(LDADD)
- move_pages_DEPENDENCIES = libtests.a
-+move_pages__pidns_translation_SOURCES =  \
-+	move_pages--pidns-translation.c
-+move_pages__pidns_translation_OBJECTS =  \
-+	move_pages--pidns-translation.$(OBJEXT)
-+move_pages__pidns_translation_LDADD = $(LDADD)
-+move_pages__pidns_translation_DEPENDENCIES = libtests.a
- move_pages_Xabbrev_SOURCES = move_pages-Xabbrev.c
- move_pages_Xabbrev_OBJECTS = move_pages-Xabbrev.$(OBJEXT)
- move_pages_Xabbrev_LDADD = $(LDADD)
-@@ -2086,6 +2184,12 @@
- net_sockaddr_OBJECTS = net-sockaddr.$(OBJEXT)
- net_sockaddr_LDADD = $(LDADD)
- net_sockaddr_DEPENDENCIES = libtests.a
-+net_sockaddr__pidns_translation_SOURCES =  \
-+	net-sockaddr--pidns-translation.c
-+net_sockaddr__pidns_translation_OBJECTS =  \
-+	net-sockaddr--pidns-translation.$(OBJEXT)
-+net_sockaddr__pidns_translation_LDADD = $(LDADD)
-+net_sockaddr__pidns_translation_DEPENDENCIES = libtests.a
- net_tpacket_req_SOURCES = net-tpacket_req.c
- net_tpacket_req_OBJECTS = net-tpacket_req.$(OBJEXT)
- net_tpacket_req_LDADD = $(LDADD)
-@@ -2123,6 +2227,12 @@
- netlink_audit_OBJECTS = netlink_audit.$(OBJEXT)
- netlink_audit_LDADD = $(LDADD)
- netlink_audit_DEPENDENCIES = libtests.a
-+netlink_audit__pidns_translation_SOURCES =  \
-+	netlink_audit--pidns-translation.c
-+netlink_audit__pidns_translation_OBJECTS =  \
-+	netlink_audit--pidns-translation.$(OBJEXT)
-+netlink_audit__pidns_translation_LDADD = $(LDADD)
-+netlink_audit__pidns_translation_DEPENDENCIES = libtests.a
- netlink_crypto_SOURCES = netlink_crypto.c
- netlink_crypto_OBJECTS = netlink_crypto.$(OBJEXT)
- netlink_crypto_LDADD = $(LDADD)
-@@ -2543,6 +2653,12 @@
- 	pidfd_open--decode-fd-socket.$(OBJEXT)
- pidfd_open__decode_fd_socket_LDADD = $(LDADD)
- pidfd_open__decode_fd_socket_DEPENDENCIES = libtests.a
-+pidfd_open__pidns_translation_SOURCES =  \
-+	pidfd_open--pidns-translation.c
-+pidfd_open__pidns_translation_OBJECTS =  \
-+	pidfd_open--pidns-translation.$(OBJEXT)
-+pidfd_open__pidns_translation_LDADD = $(LDADD)
-+pidfd_open__pidns_translation_DEPENDENCIES = libtests.a
- pidfd_open_P_SOURCES = pidfd_open-P.c
- pidfd_open_P_OBJECTS = pidfd_open-P.$(OBJEXT)
- pidfd_open_P_LDADD = $(LDADD)
-@@ -2559,6 +2675,16 @@
- pidfd_send_signal_OBJECTS = pidfd_send_signal.$(OBJEXT)
- pidfd_send_signal_LDADD = $(LDADD)
- pidfd_send_signal_DEPENDENCIES = libtests.a
-+pidfd_send_signal__pidns_translation_SOURCES =  \
-+	pidfd_send_signal--pidns-translation.c
-+pidfd_send_signal__pidns_translation_OBJECTS =  \
-+	pidfd_send_signal--pidns-translation.$(OBJEXT)
-+pidfd_send_signal__pidns_translation_LDADD = $(LDADD)
-+pidfd_send_signal__pidns_translation_DEPENDENCIES = libtests.a
-+pidns_cache_SOURCES = pidns-cache.c
-+pidns_cache_OBJECTS = pidns-cache.$(OBJEXT)
-+pidns_cache_LDADD = $(LDADD)
-+pidns_cache_DEPENDENCIES = libtests.a
- pipe_SOURCES = pipe.c
- pipe_OBJECTS = pipe.$(OBJEXT)
- pipe_LDADD = $(LDADD)
-@@ -2717,14 +2843,31 @@
- prlimit64_OBJECTS = prlimit64.$(OBJEXT)
- prlimit64_LDADD = $(LDADD)
- prlimit64_DEPENDENCIES = libtests.a
-+prlimit64__pidns_translation_SOURCES = prlimit64--pidns-translation.c
-+prlimit64__pidns_translation_OBJECTS =  \
-+	prlimit64--pidns-translation.$(OBJEXT)
-+prlimit64__pidns_translation_LDADD = $(LDADD)
-+prlimit64__pidns_translation_DEPENDENCIES = libtests.a
- process_vm_readv_SOURCES = process_vm_readv.c
- process_vm_readv_OBJECTS = process_vm_readv.$(OBJEXT)
- process_vm_readv_LDADD = $(LDADD)
- process_vm_readv_DEPENDENCIES = libtests.a
-+process_vm_readv__pidns_translation_SOURCES =  \
-+	process_vm_readv--pidns-translation.c
-+process_vm_readv__pidns_translation_OBJECTS =  \
-+	process_vm_readv--pidns-translation.$(OBJEXT)
-+process_vm_readv__pidns_translation_LDADD = $(LDADD)
-+process_vm_readv__pidns_translation_DEPENDENCIES = libtests.a
- process_vm_writev_SOURCES = process_vm_writev.c
- process_vm_writev_OBJECTS = process_vm_writev.$(OBJEXT)
- process_vm_writev_LDADD = $(LDADD)
- process_vm_writev_DEPENDENCIES = libtests.a
-+process_vm_writev__pidns_translation_SOURCES =  \
-+	process_vm_writev--pidns-translation.c
-+process_vm_writev__pidns_translation_OBJECTS =  \
-+	process_vm_writev--pidns-translation.$(OBJEXT)
-+process_vm_writev__pidns_translation_LDADD = $(LDADD)
-+process_vm_writev__pidns_translation_DEPENDENCIES = libtests.a
- pselect6_SOURCES = pselect6.c
- pselect6_OBJECTS = pselect6.$(OBJEXT)
- pselect6_LDADD = $(LDADD)
-@@ -2918,6 +3061,12 @@
- rt_sigqueueinfo_OBJECTS = rt_sigqueueinfo.$(OBJEXT)
- rt_sigqueueinfo_LDADD = $(LDADD)
- rt_sigqueueinfo_DEPENDENCIES = libtests.a
-+rt_sigqueueinfo__pidns_translation_SOURCES =  \
-+	rt_sigqueueinfo--pidns-translation.c
-+rt_sigqueueinfo__pidns_translation_OBJECTS =  \
-+	rt_sigqueueinfo--pidns-translation.$(OBJEXT)
-+rt_sigqueueinfo__pidns_translation_LDADD = $(LDADD)
-+rt_sigqueueinfo__pidns_translation_DEPENDENCIES = libtests.a
- rt_sigreturn_SOURCES = rt_sigreturn.c
- rt_sigreturn_OBJECTS = rt_sigreturn.$(OBJEXT)
- rt_sigreturn_LDADD = $(LDADD)
-@@ -2934,6 +3083,12 @@
- rt_tgsigqueueinfo_OBJECTS = rt_tgsigqueueinfo.$(OBJEXT)
- rt_tgsigqueueinfo_LDADD = $(LDADD)
- rt_tgsigqueueinfo_DEPENDENCIES = libtests.a
-+rt_tgsigqueueinfo__pidns_translation_SOURCES =  \
-+	rt_tgsigqueueinfo--pidns-translation.c
-+rt_tgsigqueueinfo__pidns_translation_OBJECTS =  \
-+	rt_tgsigqueueinfo--pidns-translation.$(OBJEXT)
-+rt_tgsigqueueinfo__pidns_translation_LDADD = $(LDADD)
-+rt_tgsigqueueinfo__pidns_translation_DEPENDENCIES = libtests.a
- run_expect_termsig_SOURCES = run_expect_termsig.c
- run_expect_termsig_OBJECTS = run_expect_termsig.$(OBJEXT)
- run_expect_termsig_LDADD = $(LDADD)
-@@ -2974,18 +3129,42 @@
- sched_xetaffinity_OBJECTS = sched_xetaffinity.$(OBJEXT)
- sched_xetaffinity_LDADD = $(LDADD)
- sched_xetaffinity_DEPENDENCIES = libtests.a
-+sched_xetaffinity__pidns_translation_SOURCES =  \
-+	sched_xetaffinity--pidns-translation.c
-+sched_xetaffinity__pidns_translation_OBJECTS =  \
-+	sched_xetaffinity--pidns-translation.$(OBJEXT)
-+sched_xetaffinity__pidns_translation_LDADD = $(LDADD)
-+sched_xetaffinity__pidns_translation_DEPENDENCIES = libtests.a
- sched_xetattr_SOURCES = sched_xetattr.c
- sched_xetattr_OBJECTS = sched_xetattr.$(OBJEXT)
- sched_xetattr_LDADD = $(LDADD)
- sched_xetattr_DEPENDENCIES = libtests.a
-+sched_xetattr__pidns_translation_SOURCES =  \
-+	sched_xetattr--pidns-translation.c
-+sched_xetattr__pidns_translation_OBJECTS =  \
-+	sched_xetattr--pidns-translation.$(OBJEXT)
-+sched_xetattr__pidns_translation_LDADD = $(LDADD)
-+sched_xetattr__pidns_translation_DEPENDENCIES = libtests.a
- sched_xetparam_SOURCES = sched_xetparam.c
- sched_xetparam_OBJECTS = sched_xetparam.$(OBJEXT)
- sched_xetparam_LDADD = $(LDADD)
- sched_xetparam_DEPENDENCIES = libtests.a
-+sched_xetparam__pidns_translation_SOURCES =  \
-+	sched_xetparam--pidns-translation.c
-+sched_xetparam__pidns_translation_OBJECTS =  \
-+	sched_xetparam--pidns-translation.$(OBJEXT)
-+sched_xetparam__pidns_translation_LDADD = $(LDADD)
-+sched_xetparam__pidns_translation_DEPENDENCIES = libtests.a
- sched_xetscheduler_SOURCES = sched_xetscheduler.c
- sched_xetscheduler_OBJECTS = sched_xetscheduler.$(OBJEXT)
- sched_xetscheduler_LDADD = $(LDADD)
- sched_xetscheduler_DEPENDENCIES = libtests.a
-+sched_xetscheduler__pidns_translation_SOURCES =  \
-+	sched_xetscheduler--pidns-translation.c
-+sched_xetscheduler__pidns_translation_OBJECTS =  \
-+	sched_xetscheduler--pidns-translation.$(OBJEXT)
-+sched_xetscheduler__pidns_translation_LDADD = $(LDADD)
-+sched_xetscheduler__pidns_translation_DEPENDENCIES = libtests.a
- sched_yield_SOURCES = sched_yield.c
- sched_yield_OBJECTS = sched_yield.$(OBJEXT)
- sched_yield_LDADD = $(LDADD)
-@@ -3198,6 +3377,12 @@
- signal_receive_OBJECTS = signal_receive.$(OBJEXT)
- signal_receive_LDADD = $(LDADD)
- signal_receive_DEPENDENCIES = libtests.a
-+signal_receive__pidns_translation_SOURCES =  \
-+	signal_receive--pidns-translation.c
-+signal_receive__pidns_translation_OBJECTS =  \
-+	signal_receive--pidns-translation.$(OBJEXT)
-+signal_receive__pidns_translation_LDADD = $(LDADD)
-+signal_receive__pidns_translation_DEPENDENCIES = libtests.a
- signalfd4_SOURCES = signalfd4.c
- signalfd4_OBJECTS = signalfd4.$(OBJEXT)
- signalfd4_LDADD = $(LDADD)
-@@ -3234,6 +3419,12 @@
- so_peercred_OBJECTS = so_peercred.$(OBJEXT)
- so_peercred_LDADD = $(LDADD)
- so_peercred_DEPENDENCIES = libtests.a
-+so_peercred__pidns_translation_SOURCES =  \
-+	so_peercred--pidns-translation.c
-+so_peercred__pidns_translation_OBJECTS =  \
-+	so_peercred--pidns-translation.$(OBJEXT)
-+so_peercred__pidns_translation_LDADD = $(LDADD)
-+so_peercred__pidns_translation_DEPENDENCIES = libtests.a
- so_peercred_Xabbrev_SOURCES = so_peercred-Xabbrev.c
- so_peercred_Xabbrev_OBJECTS = so_peercred-Xabbrev.$(OBJEXT)
- so_peercred_Xabbrev_LDADD = $(LDADD)
-@@ -3448,6 +3639,11 @@
- tgkill_OBJECTS = tgkill.$(OBJEXT)
- tgkill_LDADD = $(LDADD)
- tgkill_DEPENDENCIES = libtests.a
-+tgkill__pidns_translation_SOURCES = tgkill--pidns-translation.c
-+tgkill__pidns_translation_OBJECTS =  \
-+	tgkill--pidns-translation.$(OBJEXT)
-+tgkill__pidns_translation_LDADD = $(LDADD)
-+tgkill__pidns_translation_DEPENDENCIES = libtests.a
- threads_execve_SOURCES = threads-execve.c
- threads_execve_OBJECTS = threads-execve.$(OBJEXT)
- threads_execve_DEPENDENCIES = $(am__DEPENDENCIES_1) $(LDADD)
-@@ -3493,10 +3689,20 @@
- tkill_OBJECTS = tkill.$(OBJEXT)
- tkill_LDADD = $(LDADD)
- tkill_DEPENDENCIES = libtests.a
-+tkill__pidns_translation_SOURCES = tkill--pidns-translation.c
-+tkill__pidns_translation_OBJECTS = tkill--pidns-translation.$(OBJEXT)
-+tkill__pidns_translation_LDADD = $(LDADD)
-+tkill__pidns_translation_DEPENDENCIES = libtests.a
- tracer_ppid_pgid_sid_SOURCES = tracer_ppid_pgid_sid.c
- tracer_ppid_pgid_sid_OBJECTS = tracer_ppid_pgid_sid.$(OBJEXT)
- tracer_ppid_pgid_sid_LDADD = $(LDADD)
- tracer_ppid_pgid_sid_DEPENDENCIES = libtests.a
-+am_trie_test_OBJECTS = trie_test-trie_test.$(OBJEXT) \
-+	trie_test-trie_for_tests.$(OBJEXT)
-+trie_test_OBJECTS = $(am_trie_test_OBJECTS)
-+trie_test_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_1)
-+trie_test_LINK = $(CCLD) $(trie_test_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
-+	$(LDFLAGS) -o $@
- truncate_SOURCES = truncate.c
- truncate_OBJECTS = truncate.$(OBJEXT)
- truncate_LDADD = $(LDADD)
-@@ -3658,6 +3864,12 @@
- xet_robust_list_OBJECTS = xet_robust_list.$(OBJEXT)
- xet_robust_list_LDADD = $(LDADD)
- xet_robust_list_DEPENDENCIES = libtests.a
-+xet_robust_list__pidns_translation_SOURCES =  \
-+	xet_robust_list--pidns-translation.c
-+xet_robust_list__pidns_translation_OBJECTS =  \
-+	xet_robust_list--pidns-translation.$(OBJEXT)
-+xet_robust_list__pidns_translation_LDADD = $(LDADD)
-+xet_robust_list__pidns_translation_DEPENDENCIES = libtests.a
- xet_thread_area_x86_SOURCES = xet_thread_area_x86.c
- xet_thread_area_x86_OBJECTS = xet_thread_area_x86.$(OBJEXT)
- xet_thread_area_x86_LDADD = $(LDADD)
-@@ -3670,10 +3882,21 @@
- xetpgid_OBJECTS = xetpgid.$(OBJEXT)
- xetpgid_LDADD = $(LDADD)
- xetpgid_DEPENDENCIES = libtests.a
-+xetpgid__pidns_translation_SOURCES = xetpgid--pidns-translation.c
-+xetpgid__pidns_translation_OBJECTS =  \
-+	xetpgid--pidns-translation.$(OBJEXT)
-+xetpgid__pidns_translation_LDADD = $(LDADD)
-+xetpgid__pidns_translation_DEPENDENCIES = libtests.a
- xetpriority_SOURCES = xetpriority.c
- xetpriority_OBJECTS = xetpriority.$(OBJEXT)
- xetpriority_LDADD = $(LDADD)
- xetpriority_DEPENDENCIES = libtests.a
-+xetpriority__pidns_translation_SOURCES =  \
-+	xetpriority--pidns-translation.c
-+xetpriority__pidns_translation_OBJECTS =  \
-+	xetpriority--pidns-translation.$(OBJEXT)
-+xetpriority__pidns_translation_LDADD = $(LDADD)
-+xetpriority__pidns_translation_DEPENDENCIES = libtests.a
- xettimeofday_SOURCES = xettimeofday.c
- xettimeofday_OBJECTS = xettimeofday.$(OBJEXT)
- xettimeofday_LDADD = $(LDADD)
-@@ -3759,13 +3982,15 @@
- 	./$(DEPDIR)/fanotify_mark.Po ./$(DEPDIR)/fchdir.Po \
- 	./$(DEPDIR)/fchmod.Po ./$(DEPDIR)/fchmodat.Po \
- 	./$(DEPDIR)/fchown.Po ./$(DEPDIR)/fchown32.Po \
--	./$(DEPDIR)/fchownat.Po ./$(DEPDIR)/fcntl.Po \
--	./$(DEPDIR)/fcntl64.Po ./$(DEPDIR)/fdatasync.Po \
-+	./$(DEPDIR)/fchownat.Po \
-+	./$(DEPDIR)/fcntl--pidns-translation.Po ./$(DEPDIR)/fcntl.Po \
-+	./$(DEPDIR)/fcntl64--pidns-translation.Po ./$(DEPDIR)/fcntl64.Po \
-+	./$(DEPDIR)/fdatasync.Po \
- 	./$(DEPDIR)/fflush.Po ./$(DEPDIR)/file_handle.Po \
- 	./$(DEPDIR)/file_ioctl.Po ./$(DEPDIR)/filter-unavailable.Po \
- 	./$(DEPDIR)/filter_seccomp-flag.Po \
- 	./$(DEPDIR)/filter_seccomp-perf.Po ./$(DEPDIR)/finit_module.Po \
--	./$(DEPDIR)/flock.Po ./$(DEPDIR)/fork-f.Po \
-+	./$(DEPDIR)/flock.Po ./$(DEPDIR)/fork--pidns-translation.Po ./$(DEPDIR)/fork-f.Po \
- 	./$(DEPDIR)/fsconfig-P.Po ./$(DEPDIR)/fsconfig.Po \
- 	./$(DEPDIR)/fsmount.Po ./$(DEPDIR)/fsopen.Po \
- 	./$(DEPDIR)/fspick-P.Po ./$(DEPDIR)/fspick.Po \
-@@ -3786,13 +4011,14 @@
- 	./$(DEPDIR)/geteuid32.Po ./$(DEPDIR)/getgid.Po \
- 	./$(DEPDIR)/getgid32.Po ./$(DEPDIR)/getgroups.Po \
- 	./$(DEPDIR)/getgroups32.Po ./$(DEPDIR)/getpeername.Po \
--	./$(DEPDIR)/getpgrp.Po ./$(DEPDIR)/getpid.Po \
-+	./$(DEPDIR)/getpgrp--pidns-translation.Po ./$(DEPDIR)/getpgrp.Po \
-+	./$(DEPDIR)/getpid--pidns-translation.Po ./$(DEPDIR)/getpid.Po \
- 	./$(DEPDIR)/getppid.Po ./$(DEPDIR)/getrandom.Po \
- 	./$(DEPDIR)/getresgid.Po ./$(DEPDIR)/getresgid32.Po \
- 	./$(DEPDIR)/getresuid.Po ./$(DEPDIR)/getresuid32.Po \
- 	./$(DEPDIR)/getrlimit.Po ./$(DEPDIR)/getrusage.Po \
--	./$(DEPDIR)/getsid.Po ./$(DEPDIR)/getsockname.Po \
--	./$(DEPDIR)/gettid.Po ./$(DEPDIR)/getuid.Po \
-+	./$(DEPDIR)/getsid--pidns-translation.Po ./$(DEPDIR)/getsid.Po ./$(DEPDIR)/getsockname.Po \
-+	./$(DEPDIR)/gettid--pidns-translation.Po ./$(DEPDIR)/gettid.Po ./$(DEPDIR)/getuid.Po \
- 	./$(DEPDIR)/getuid32.Po ./$(DEPDIR)/getxgid.Po \
- 	./$(DEPDIR)/getxpid.Po ./$(DEPDIR)/getxuid.Po \
- 	./$(DEPDIR)/group_req.Po ./$(DEPDIR)/inet-cmsg.Po \
-@@ -3802,7 +4028,7 @@
- 	./$(DEPDIR)/inotify_init1.Po ./$(DEPDIR)/int_0x80.Po \
- 	./$(DEPDIR)/io_uring_enter.Po ./$(DEPDIR)/io_uring_register.Po \
- 	./$(DEPDIR)/io_uring_setup.Po ./$(DEPDIR)/ioctl.Po \
--	./$(DEPDIR)/ioctl_block.Po ./$(DEPDIR)/ioctl_dm-v.Po \
-+	./$(DEPDIR)/ioctl_block--pidns-translation.Po ./$(DEPDIR)/ioctl_block.Po ./$(DEPDIR)/ioctl_dm-v.Po \
- 	./$(DEPDIR)/ioctl_dm.Po ./$(DEPDIR)/ioctl_evdev-Xabbrev.Po \
- 	./$(DEPDIR)/ioctl_evdev-Xraw.Po \
- 	./$(DEPDIR)/ioctl_evdev-Xverbose.Po \
-@@ -3861,7 +4087,7 @@
- 	./$(DEPDIR)/ioctl_v4l2-v-Xverbose.Po \
- 	./$(DEPDIR)/ioctl_v4l2-v.Po ./$(DEPDIR)/ioctl_v4l2.Po \
- 	./$(DEPDIR)/ioctl_watchdog.Po ./$(DEPDIR)/ioperm.Po \
--	./$(DEPDIR)/iopl.Po ./$(DEPDIR)/ioprio-Xabbrev.Po \
-+	./$(DEPDIR)/iopl.Po ./$(DEPDIR)/ioprio--pidns-translation.Po ./$(DEPDIR)/ioprio-Xabbrev.Po \
- 	./$(DEPDIR)/ioprio-Xraw.Po ./$(DEPDIR)/ioprio-Xverbose.Po \
- 	./$(DEPDIR)/ioprio.Po ./$(DEPDIR)/ip_mreq.Po \
- 	./$(DEPDIR)/ipc.Po ./$(DEPDIR)/ipc_msg-Xabbrev.Po \
-@@ -3873,15 +4099,15 @@
- 	./$(DEPDIR)/ipc_sem-Xverbose.Po ./$(DEPDIR)/ipc_sem.Po \
- 	./$(DEPDIR)/ipc_shm-Xabbrev.Po ./$(DEPDIR)/ipc_shm-Xraw.Po \
- 	./$(DEPDIR)/ipc_shm-Xverbose.Po ./$(DEPDIR)/ipc_shm.Po \
--	./$(DEPDIR)/is_linux_mips_n64.Po ./$(DEPDIR)/kcmp-y.Po \
--	./$(DEPDIR)/kcmp.Po ./$(DEPDIR)/kern_features.Po \
-+	./$(DEPDIR)/is_linux_mips_n64.Po ./$(DEPDIR)/kcmp-y--pidns-translation.Po \
-+	./$(DEPDIR)/kcmp-y.Po ./$(DEPDIR)/kcmp.Po ./$(DEPDIR)/kern_features.Po \
- 	./$(DEPDIR)/kernel_version-Xabbrev.Po \
- 	./$(DEPDIR)/kernel_version-Xraw.Po \
- 	./$(DEPDIR)/kernel_version-Xverbose.Po \
- 	./$(DEPDIR)/kernel_version.Po ./$(DEPDIR)/kexec_file_load.Po \
- 	./$(DEPDIR)/kexec_load.Po ./$(DEPDIR)/keyctl-Xabbrev.Po \
- 	./$(DEPDIR)/keyctl-Xraw.Po ./$(DEPDIR)/keyctl-Xverbose.Po \
--	./$(DEPDIR)/keyctl.Po ./$(DEPDIR)/kill.Po \
-+	./$(DEPDIR)/keyctl.Po ./$(DEPDIR)/kill--pidns-translation.Po ./$(DEPDIR)/kill.Po \
- 	./$(DEPDIR)/kill_child.Po ./$(DEPDIR)/ksysent.Po \
- 	./$(DEPDIR)/lchown.Po ./$(DEPDIR)/lchown32.Po \
- 	./$(DEPDIR)/libtests_a-create_nl_socket.Po \
-@@ -3915,7 +4141,8 @@
- 	./$(DEPDIR)/libtests_a-test_printpath.Po \
- 	./$(DEPDIR)/libtests_a-test_printstrn.Po \
- 	./$(DEPDIR)/libtests_a-test_ucopy.Po \
--	./$(DEPDIR)/libtests_a-tprintf.Po ./$(DEPDIR)/link.Po \
-+	./$(DEPDIR)/libtests_a-tprintf.Po \
-+	./$(DEPDIR)/libtests_a-xmalloc_for_tests.Po ./$(DEPDIR)/link.Po \
- 	./$(DEPDIR)/linkat.Po ./$(DEPDIR)/list_sigaction_signum.Po \
- 	./$(DEPDIR)/llseek.Po ./$(DEPDIR)/localtime.Po \
- 	./$(DEPDIR)/lookup_dcookie.Po ./$(DEPDIR)/looping_threads.Po \
-@@ -3928,7 +4155,9 @@
- 	./$(DEPDIR)/membarrier.Po ./$(DEPDIR)/memfd_create-Xabbrev.Po \
- 	./$(DEPDIR)/memfd_create-Xraw.Po \
- 	./$(DEPDIR)/memfd_create-Xverbose.Po \
--	./$(DEPDIR)/memfd_create.Po ./$(DEPDIR)/migrate_pages.Po \
-+	./$(DEPDIR)/memfd_create.Po \
-+	./$(DEPDIR)/migrate_pages--pidns-translation.Po \
-+	./$(DEPDIR)/migrate_pages.Po \
- 	./$(DEPDIR)/mincore.Po ./$(DEPDIR)/mkdir.Po \
- 	./$(DEPDIR)/mkdirat.Po ./$(DEPDIR)/mknod.Po \
- 	./$(DEPDIR)/mknodat.Po ./$(DEPDIR)/mlock.Po \
-@@ -3944,7 +4173,7 @@
- 	./$(DEPDIR)/modify_ldt.Po ./$(DEPDIR)/mount-Xabbrev.Po \
- 	./$(DEPDIR)/mount-Xraw.Po ./$(DEPDIR)/mount-Xverbose.Po \
- 	./$(DEPDIR)/mount.Po ./$(DEPDIR)/move_mount-P.Po \
--	./$(DEPDIR)/move_mount.Po ./$(DEPDIR)/move_pages-Xabbrev.Po \
-+	./$(DEPDIR)/move_mount.Po ./$(DEPDIR)/move_pages--pidns-translation.Po ./$(DEPDIR)/move_pages-Xabbrev.Po \
- 	./$(DEPDIR)/move_pages-Xraw.Po \
- 	./$(DEPDIR)/move_pages-Xverbose.Po ./$(DEPDIR)/move_pages.Po \
- 	./$(DEPDIR)/mq.Po ./$(DEPDIR)/mq_sendrecv-read.Po \
-@@ -3961,12 +4190,13 @@
- 	./$(DEPDIR)/net-packet_mreq-Xabbrev.Po \
- 	./$(DEPDIR)/net-packet_mreq-Xraw.Po \
- 	./$(DEPDIR)/net-packet_mreq-Xverbose.Po \
--	./$(DEPDIR)/net-packet_mreq.Po ./$(DEPDIR)/net-sockaddr.Po \
-+	./$(DEPDIR)/net-packet_mreq.Po ./$(DEPDIR)/net-sockaddr--pidns-translation.Po ./$(DEPDIR)/net-sockaddr.Po \
- 	./$(DEPDIR)/net-tpacket_req.Po \
- 	./$(DEPDIR)/net-tpacket_stats-success.Po \
- 	./$(DEPDIR)/net-tpacket_stats.Po ./$(DEPDIR)/net-y-unix.Po \
- 	./$(DEPDIR)/net-yy-inet.Po ./$(DEPDIR)/net-yy-inet6.Po \
- 	./$(DEPDIR)/net-yy-netlink.Po ./$(DEPDIR)/net-yy-unix.Po \
-+	./$(DEPDIR)/netlink_audit--pidns-translation.Po \
- 	./$(DEPDIR)/netlink_audit.Po ./$(DEPDIR)/netlink_crypto.Po \
- 	./$(DEPDIR)/netlink_generic.Po \
- 	./$(DEPDIR)/netlink_inet_diag.Po \
-@@ -4043,9 +4273,11 @@
- 	./$(DEPDIR)/pidfd_open--decode-fd-path.Po \
- 	./$(DEPDIR)/pidfd_open--decode-fd-pidfd.Po \
- 	./$(DEPDIR)/pidfd_open--decode-fd-socket.Po \
-+	./$(DEPDIR)/pidfd_open--pidns-translation.Po \
- 	./$(DEPDIR)/pidfd_open-P.Po ./$(DEPDIR)/pidfd_open-y.Po \
- 	./$(DEPDIR)/pidfd_open-yy.Po ./$(DEPDIR)/pidfd_open.Po \
--	./$(DEPDIR)/pidfd_send_signal.Po ./$(DEPDIR)/pipe.Po \
-+	./$(DEPDIR)/pidfd_send_signal--pidns-translation.Po \
-+	./$(DEPDIR)/pidfd_send_signal.Po ./$(DEPDIR)/pidns-cache.Po ./$(DEPDIR)/pipe.Po \
- 	./$(DEPDIR)/pipe2.Po ./$(DEPDIR)/pkey_alloc.Po \
- 	./$(DEPDIR)/pkey_free.Po ./$(DEPDIR)/pkey_mprotect.Po \
- 	./$(DEPDIR)/poll-P.Po ./$(DEPDIR)/poll.Po \
-@@ -4070,8 +4302,10 @@
- 	./$(DEPDIR)/printsignal-Xverbose.Po ./$(DEPDIR)/printstr.Po \
- 	./$(DEPDIR)/printstrn-umoven-peekdata.Po \
- 	./$(DEPDIR)/printstrn-umoven-undumpable.Po \
--	./$(DEPDIR)/printstrn-umoven.Po ./$(DEPDIR)/prlimit64.Po \
-+	./$(DEPDIR)/printstrn-umoven.Po ./$(DEPDIR)/prlimit64--pidns-translation.Po ./$(DEPDIR)/prlimit64.Po \
-+	./$(DEPDIR)/process_vm_readv--pidns-translation.Po \
- 	./$(DEPDIR)/process_vm_readv.Po \
-+	./$(DEPDIR)/process_vm_writev--pidns-translation.Po \
- 	./$(DEPDIR)/process_vm_writev.Po ./$(DEPDIR)/pselect6.Po \
- 	./$(DEPDIR)/ptrace.Po ./$(DEPDIR)/ptrace_syscall_info.Po \
- 	./$(DEPDIR)/pwritev-pwritev.Po ./$(DEPDIR)/qual_fault.Po \
-@@ -4101,9 +4335,10 @@
- 	./$(DEPDIR)/request_key.Po ./$(DEPDIR)/restart_syscall.Po \
- 	./$(DEPDIR)/riscv_flush_icache.Po ./$(DEPDIR)/rmdir.Po \
- 	./$(DEPDIR)/rt_sigaction.Po ./$(DEPDIR)/rt_sigpending.Po \
--	./$(DEPDIR)/rt_sigprocmask.Po ./$(DEPDIR)/rt_sigqueueinfo.Po \
-+	./$(DEPDIR)/rt_sigprocmask.Po ./$(DEPDIR)/rt_sigqueueinfo--pidns-translation.Po ./$(DEPDIR)/rt_sigqueueinfo.Po \
- 	./$(DEPDIR)/rt_sigreturn.Po ./$(DEPDIR)/rt_sigsuspend.Po \
- 	./$(DEPDIR)/rt_sigtimedwait.Po \
-+	./$(DEPDIR)/rt_tgsigqueueinfo--pidns-translation.Po \
- 	./$(DEPDIR)/rt_tgsigqueueinfo.Po \
- 	./$(DEPDIR)/run_expect_termsig.Po \
- 	./$(DEPDIR)/s390_guarded_storage-v.Po \
-@@ -4113,9 +4348,15 @@
- 	./$(DEPDIR)/s390_sthyi.Po \
- 	./$(DEPDIR)/sched_get_priority_mxx.Po \
- 	./$(DEPDIR)/sched_rr_get_interval.Po \
--	./$(DEPDIR)/sched_xetaffinity.Po ./$(DEPDIR)/sched_xetattr.Po \
-+	./$(DEPDIR)/sched_xetaffinity--pidns-translation.Po \
-+	./$(DEPDIR)/sched_xetaffinity.Po \
-+	./$(DEPDIR)/sched_xetattr--pidns-translation.Po \
-+	./$(DEPDIR)/sched_xetattr.Po \
-+	./$(DEPDIR)/sched_xetparam--pidns-translation.Po \
- 	./$(DEPDIR)/sched_xetparam.Po \
--	./$(DEPDIR)/sched_xetscheduler.Po ./$(DEPDIR)/sched_yield.Po \
-+	./$(DEPDIR)/sched_xetscheduler--pidns-translation.Po \
-+	./$(DEPDIR)/sched_xetscheduler.Po \
-+	./$(DEPDIR)/sched_yield.Po \
- 	./$(DEPDIR)/scm_rights.Po ./$(DEPDIR)/seccomp-filter-v.Po \
- 	./$(DEPDIR)/seccomp-filter.Po ./$(DEPDIR)/seccomp-strict.Po \
- 	./$(DEPDIR)/seccomp_get_action_avail.Po \
-@@ -4143,11 +4384,12 @@
- 	./$(DEPDIR)/shmxt.Po ./$(DEPDIR)/shutdown.Po \
- 	./$(DEPDIR)/sigaction.Po ./$(DEPDIR)/sigaltstack.Po \
- 	./$(DEPDIR)/siginfo.Po ./$(DEPDIR)/signal.Po \
--	./$(DEPDIR)/signal_receive.Po ./$(DEPDIR)/signalfd4.Po \
-+	./$(DEPDIR)/signal_receive--pidns-translation.Po ./$(DEPDIR)/signal_receive.Po ./$(DEPDIR)/signalfd4.Po \
- 	./$(DEPDIR)/sigpending.Po ./$(DEPDIR)/sigprocmask.Po \
- 	./$(DEPDIR)/sigreturn.Po ./$(DEPDIR)/sigsuspend.Po \
- 	./$(DEPDIR)/sleep.Po ./$(DEPDIR)/so_error.Po \
--	./$(DEPDIR)/so_linger.Po ./$(DEPDIR)/so_peercred-Xabbrev.Po \
-+	./$(DEPDIR)/so_linger.Po ./$(DEPDIR)/so_peercred--pidns-translation.Po \
-+	./$(DEPDIR)/so_peercred-Xabbrev.Po \
- 	./$(DEPDIR)/so_peercred-Xraw.Po \
- 	./$(DEPDIR)/so_peercred-Xverbose.Po ./$(DEPDIR)/so_peercred.Po \
- 	./$(DEPDIR)/sock_filter-v-Xabbrev.Po \
-@@ -4186,7 +4428,7 @@
- 	./$(DEPDIR)/symlinkat.Po ./$(DEPDIR)/sync.Po \
- 	./$(DEPDIR)/sync_file_range.Po ./$(DEPDIR)/sync_file_range2.Po \
- 	./$(DEPDIR)/sysinfo.Po ./$(DEPDIR)/syslog-success.Po \
--	./$(DEPDIR)/syslog.Po ./$(DEPDIR)/tee.Po ./$(DEPDIR)/tgkill.Po \
-+	./$(DEPDIR)/syslog.Po ./$(DEPDIR)/tee.Po ./$(DEPDIR)/tgkill--pidns-translation.Po ./$(DEPDIR)/tgkill.Po \
- 	./$(DEPDIR)/threads-execve--quiet-thread-execve.Po \
- 	./$(DEPDIR)/threads-execve-q.Po \
- 	./$(DEPDIR)/threads-execve-qq.Po \
-@@ -4194,7 +4436,8 @@
- 	./$(DEPDIR)/threads-execve.Po ./$(DEPDIR)/time.Po \
- 	./$(DEPDIR)/timer_create.Po ./$(DEPDIR)/timer_xettime.Po \
- 	./$(DEPDIR)/timerfd_xettime.Po ./$(DEPDIR)/times-fail.Po \
--	./$(DEPDIR)/times.Po ./$(DEPDIR)/tkill.Po ./$(DEPDIR)/tracer_ppid_pgid_sid.Po \
-+	./$(DEPDIR)/times.Po ./$(DEPDIR)/tkill--pidns-translation.Po \
-+	./$(DEPDIR)/tkill.Po ./$(DEPDIR)/tracer_ppid_pgid_sid.Po \
- 	./$(DEPDIR)/truncate.Po ./$(DEPDIR)/truncate64-truncate64.Po \
- 	./$(DEPDIR)/ugetrlimit.Po ./$(DEPDIR)/uio-uio.Po \
- 	./$(DEPDIR)/umask.Po ./$(DEPDIR)/umount.Po \
-@@ -4216,9 +4459,11 @@
- 	./$(DEPDIR)/wait4-v.Po ./$(DEPDIR)/wait4.Po \
- 	./$(DEPDIR)/waitid-v.Po ./$(DEPDIR)/waitid.Po \
- 	./$(DEPDIR)/waitpid.Po ./$(DEPDIR)/xattr-strings.Po \
--	./$(DEPDIR)/xattr.Po ./$(DEPDIR)/xet_robust_list.Po \
-+	./$(DEPDIR)/xattr.Po ./$(DEPDIR)/xet_robust_list--pidns-translation.Po \
-+	./$(DEPDIR)/xet_robust_list.Po \
- 	./$(DEPDIR)/xet_thread_area_x86.Po ./$(DEPDIR)/xetitimer.Po \
--	./$(DEPDIR)/xetpgid.Po ./$(DEPDIR)/xetpriority.Po \
-+	./$(DEPDIR)/xetpgid--pidns-translation.Po ./$(DEPDIR)/xetpgid.Po \
-+	./$(DEPDIR)/xetpriority--pidns-translation.Po ./$(DEPDIR)/xetpriority.Po \
- 	./$(DEPDIR)/xettimeofday.Po ./$(DEPDIR)/zeroargc.Po
- am__mv = mv -f
- AM_V_lt = $(am__v_lt_@AM_V@)
-@@ -4264,26 +4509,30 @@
- 	fadvise64_64.c fallocate.c fanotify_init.c fanotify_mark.c \
- 	fanotify_mark-Xabbrev.c fanotify_mark-Xraw.c \
- 	fanotify_mark-Xverbose.c fchdir.c fchmod.c fchmodat.c fchown.c \
--	fchown32.c fchownat.c fcntl.c fcntl64.c fdatasync.c fflush.c \
-+	fchown32.c fchownat.c fcntl.c fcntl--pidns-translation.c \
-+	fcntl64.c fcntl64--pidns-translation.c fdatasync.c fflush.c \
- 	file_handle.c file_ioctl.c filter-unavailable.c \
- 	filter_seccomp-flag.c filter_seccomp-perf.c finit_module.c \
--	flock.c fork-f.c fsconfig.c fsconfig-P.c fsmount.c fsopen.c \
--	fspick.c fspick-P.c fstat.c fstat-Xabbrev.c fstat-Xraw.c \
--	fstat-Xverbose.c fstat64.c fstat64-Xabbrev.c fstat64-Xraw.c \
--	fstat64-Xverbose.c fstatat64.c fstatfs.c fstatfs64.c fsync.c \
--	fsync-y.c ftruncate.c ftruncate64.c futex.c futimesat.c \
--	get_mempolicy.c get_process_reaper.c getcpu.c getcwd.c \
--	getdents.c getdents-v.c getdents64.c getdents64-v.c getegid.c \
--	getegid32.c geteuid.c geteuid32.c getgid.c getgid32.c \
--	getgroups.c getgroups32.c getpeername.c getpgrp.c getpid.c \
--	getppid.c getrandom.c getresgid.c getresgid32.c getresuid.c \
--	getresuid32.c getrlimit.c getrusage.c getsid.c getsockname.c \
--	gettid.c getuid.c getuid32.c getxgid.c getxpid.c getxuid.c \
--	group_req.c inet-cmsg.c init_module.c inject-nf.c inotify.c \
--	inotify_init.c inotify_init-y.c inotify_init1.c \
--	inotify_init1-y.c int_0x80.c io_uring_enter.c \
--	io_uring_register.c io_uring_setup.c ioctl.c ioctl_block.c \
--	ioctl_dm.c ioctl_dm-v.c ioctl_evdev.c ioctl_evdev-Xabbrev.c \
-+	flock.c fork--pidns-translation.c fork-f.c fsconfig.c \
-+	fsconfig-P.c fsmount.c fsopen.c fspick.c fspick-P.c fstat.c \
-+	fstat-Xabbrev.c fstat-Xraw.c fstat-Xverbose.c fstat64.c \
-+	fstat64-Xabbrev.c fstat64-Xraw.c fstat64-Xverbose.c \
-+	fstatat64.c fstatfs.c fstatfs64.c fsync.c fsync-y.c \
-+	ftruncate.c ftruncate64.c futex.c futimesat.c get_mempolicy.c \
-+	get_process_reaper.c getcpu.c getcwd.c getdents.c getdents-v.c \
-+	getdents64.c getdents64-v.c getegid.c getegid32.c geteuid.c \
-+	geteuid32.c getgid.c getgid32.c getgroups.c getgroups32.c \
-+	getpeername.c getpgrp.c getpgrp--pidns-translation.c getpid.c \
-+	getpid--pidns-translation.c getppid.c getrandom.c getresgid.c \
-+	getresgid32.c getresuid.c getresuid32.c getrlimit.c \
-+	getrusage.c getsid.c getsid--pidns-translation.c getsockname.c \
-+	gettid.c gettid--pidns-translation.c getuid.c getuid32.c \
-+	getxgid.c getxpid.c getxuid.c group_req.c inet-cmsg.c \
-+	init_module.c inject-nf.c inotify.c inotify_init.c \
-+	inotify_init-y.c inotify_init1.c inotify_init1-y.c int_0x80.c \
-+	io_uring_enter.c io_uring_register.c io_uring_setup.c ioctl.c \
-+	ioctl_block.c ioctl_block--pidns-translation.c ioctl_dm.c \
-+	ioctl_dm-v.c ioctl_evdev.c ioctl_evdev-Xabbrev.c \
- 	ioctl_evdev-Xraw.c ioctl_evdev-Xverbose.c \
- 	ioctl_evdev-success.c ioctl_evdev-success-Xabbrev.c \
- 	ioctl_evdev-success-Xraw.c ioctl_evdev-success-Xverbose.c \
-@@ -4311,47 +4560,51 @@
- 	ioctl_v4l2-success-v-Xverbose.c ioctl_v4l2-v.c \
- 	ioctl_v4l2-v-Xabbrev.c ioctl_v4l2-v-Xraw.c \
- 	ioctl_v4l2-v-Xverbose.c ioctl_watchdog.c ioperm.c iopl.c \
--	ioprio.c ioprio-Xabbrev.c ioprio-Xraw.c ioprio-Xverbose.c \
--	ip_mreq.c ipc.c ipc_msg.c ipc_msg-Xabbrev.c ipc_msg-Xraw.c \
--	ipc_msg-Xverbose.c ipc_msgbuf.c ipc_msgbuf-Xabbrev.c \
--	ipc_msgbuf-Xraw.c ipc_msgbuf-Xverbose.c ipc_sem.c \
--	ipc_sem-Xabbrev.c ipc_sem-Xraw.c ipc_sem-Xverbose.c ipc_shm.c \
--	ipc_shm-Xabbrev.c ipc_shm-Xraw.c ipc_shm-Xverbose.c \
--	is_linux_mips_n64.c kcmp.c kcmp-y.c kern_features.c \
-+	ioprio.c ioprio--pidns-translation.c ioprio-Xabbrev.c \
-+	ioprio-Xraw.c ioprio-Xverbose.c ip_mreq.c ipc.c ipc_msg.c \
-+	ipc_msg-Xabbrev.c ipc_msg-Xraw.c ipc_msg-Xverbose.c \
-+	ipc_msgbuf.c ipc_msgbuf-Xabbrev.c ipc_msgbuf-Xraw.c \
-+	ipc_msgbuf-Xverbose.c ipc_sem.c ipc_sem-Xabbrev.c \
-+	ipc_sem-Xraw.c ipc_sem-Xverbose.c ipc_shm.c ipc_shm-Xabbrev.c \
-+	ipc_shm-Xraw.c ipc_shm-Xverbose.c is_linux_mips_n64.c kcmp.c \
-+	kcmp-y.c kcmp-y--pidns-translation.c kern_features.c \
- 	kernel_version.c kernel_version-Xabbrev.c \
- 	kernel_version-Xraw.c kernel_version-Xverbose.c \
- 	kexec_file_load.c kexec_load.c keyctl.c keyctl-Xabbrev.c \
--	keyctl-Xraw.c keyctl-Xverbose.c kill.c kill_child.c ksysent.c \
--	lchown.c lchown32.c link.c linkat.c list_sigaction_signum.c \
--	llseek.c localtime.c lookup_dcookie.c looping_threads.c \
--	lseek.c lstat.c lstat64.c madvise.c maybe_switch_current_tcp.c \
-+	keyctl-Xraw.c keyctl-Xverbose.c kill.c \
-+	kill--pidns-translation.c kill_child.c ksysent.c lchown.c \
-+	lchown32.c link.c linkat.c list_sigaction_signum.c llseek.c \
-+	localtime.c lookup_dcookie.c looping_threads.c lseek.c lstat.c \
-+	lstat64.c madvise.c maybe_switch_current_tcp.c \
- 	maybe_switch_current_tcp--quiet-thread-execve.c mbind.c \
- 	mbind-Xabbrev.c mbind-Xraw.c mbind-Xverbose.c membarrier.c \
- 	memfd_create.c memfd_create-Xabbrev.c memfd_create-Xraw.c \
--	memfd_create-Xverbose.c migrate_pages.c mincore.c mkdir.c \
--	mkdirat.c mknod.c mknodat.c mlock.c mlock2.c mlockall.c mmap.c \
-+	memfd_create-Xverbose.c migrate_pages.c \
-+	migrate_pages--pidns-translation.c mincore.c mkdir.c mkdirat.c \
-+	mknod.c mknodat.c mlock.c mlock2.c mlockall.c mmap.c \
- 	mmap-Xabbrev.c mmap-Xraw.c mmap-Xverbose.c mmap64.c \
- 	mmap64-Xabbrev.c mmap64-Xraw.c mmap64-Xverbose.c mmsg.c \
- 	mmsg-silent.c mmsg_name.c mmsg_name-v.c modify_ldt.c mount.c \
- 	mount-Xabbrev.c mount-Xraw.c mount-Xverbose.c move_mount.c \
--	move_mount-P.c move_pages.c move_pages-Xabbrev.c \
--	move_pages-Xraw.c move_pages-Xverbose.c mq.c mq_sendrecv.c \
--	mq_sendrecv-read.c mq_sendrecv-write.c msg_control.c \
--	msg_control-v.c msg_name.c munlockall.c nanosleep.c \
--	net--decode-fds-dev-netlink.c net--decode-fds-none-netlink.c \
--	net--decode-fds-path-netlink.c \
-+	move_mount-P.c move_pages.c move_pages--pidns-translation.c \
-+	move_pages-Xabbrev.c move_pages-Xraw.c move_pages-Xverbose.c \
-+	mq.c mq_sendrecv.c mq_sendrecv-read.c mq_sendrecv-write.c \
-+	msg_control.c msg_control-v.c msg_name.c munlockall.c \
-+	nanosleep.c net--decode-fds-dev-netlink.c \
-+	net--decode-fds-none-netlink.c net--decode-fds-path-netlink.c \
- 	net--decode-fds-socket-netlink.c net-accept-connect.c \
- 	net-icmp_filter.c net-packet_mreq.c net-packet_mreq-Xabbrev.c \
- 	net-packet_mreq-Xraw.c net-packet_mreq-Xverbose.c \
--	net-sockaddr.c net-tpacket_req.c net-tpacket_stats.c \
-+	net-sockaddr.c net-sockaddr--pidns-translation.c \
-+	net-tpacket_req.c net-tpacket_stats.c \
- 	net-tpacket_stats-success.c net-y-unix.c net-yy-inet.c \
- 	net-yy-inet6.c net-yy-netlink.c net-yy-unix.c netlink_audit.c \
--	netlink_crypto.c netlink_generic.c netlink_inet_diag.c \
--	netlink_kobject_uevent.c netlink_netfilter.c \
--	netlink_netlink_diag.c netlink_protocol.c netlink_route.c \
--	netlink_selinux.c netlink_sock_diag.c netlink_unix_diag.c \
--	netlink_xfrm.c newfstatat.c nfnetlink_acct.c \
--	nfnetlink_cthelper.c nfnetlink_ctnetlink.c \
-+	netlink_audit--pidns-translation.c netlink_crypto.c \
-+	netlink_generic.c netlink_inet_diag.c netlink_kobject_uevent.c \
-+	netlink_netfilter.c netlink_netlink_diag.c netlink_protocol.c \
-+	netlink_route.c netlink_selinux.c netlink_sock_diag.c \
-+	netlink_unix_diag.c netlink_xfrm.c newfstatat.c \
-+	nfnetlink_acct.c nfnetlink_cthelper.c nfnetlink_ctnetlink.c \
- 	nfnetlink_ctnetlink_exp.c nfnetlink_cttimeout.c \
- 	nfnetlink_ipset.c nfnetlink_nft_compat.c nfnetlink_nftables.c \
- 	nfnetlink_osf.c nfnetlink_queue.c nfnetlink_ulog.c nlattr.c \
-@@ -4381,12 +4634,13 @@
- 	personality-Xraw.c personality-Xverbose.c pidfd_getfd.c \
- 	pidfd_getfd-y.c pidfd_getfd-yy.c pidfd_open.c \
- 	pidfd_open--decode-fd-path.c pidfd_open--decode-fd-pidfd.c \
--	pidfd_open--decode-fd-socket.c pidfd_open-P.c pidfd_open-y.c \
--	pidfd_open-yy.c pidfd_send_signal.c pipe.c pipe2.c \
--	pkey_alloc.c pkey_free.c pkey_mprotect.c poll.c poll-P.c \
--	ppoll.c ppoll-P.c ppoll-v.c prctl-arg2-intptr.c \
--	prctl-dumpable.c prctl-name.c prctl-no-args.c \
--	prctl-pdeathsig.c prctl-seccomp-filter-v.c \
-+	pidfd_open--decode-fd-socket.c pidfd_open--pidns-translation.c \
-+	pidfd_open-P.c pidfd_open-y.c pidfd_open-yy.c \
-+	pidfd_send_signal.c pidfd_send_signal--pidns-translation.c \
-+	pidns-cache.c pipe.c pipe2.c pkey_alloc.c pkey_free.c \
-+	pkey_mprotect.c poll.c poll-P.c ppoll.c ppoll-P.c ppoll-v.c \
-+	prctl-arg2-intptr.c prctl-dumpable.c prctl-name.c \
-+	prctl-no-args.c prctl-pdeathsig.c prctl-seccomp-filter-v.c \
- 	prctl-seccomp-strict.c prctl-securebits.c prctl-spec-inject.c \
- 	prctl-tid_address.c prctl-tsc.c pread64-pwrite64.c preadv.c \
- 	preadv-pwritev.c preadv2-pwritev2.c print_maxfd.c \
-@@ -4395,8 +4649,10 @@
- 	printsignal-Xabbrev.c printsignal-Xraw.c \
- 	printsignal-Xverbose.c printstr.c printstrn-umoven.c \
- 	printstrn-umoven-peekdata.c printstrn-umoven-undumpable.c \
--	prlimit64.c process_vm_readv.c process_vm_writev.c pselect6.c \
--	ptrace.c ptrace_syscall_info.c pwritev.c qual_fault.c \
-+	prlimit64.c prlimit64--pidns-translation.c process_vm_readv.c \
-+	process_vm_readv--pidns-translation.c process_vm_writev.c \
-+	process_vm_writev--pidns-translation.c pselect6.c ptrace.c \
-+	ptrace_syscall_info.c pwritev.c qual_fault.c \
- 	qual_inject-error-signal.c qual_inject-retval.c \
- 	qual_inject-signal.c qual_signal.c quotactl.c \
- 	quotactl-Xabbrev.c quotactl-Xraw.c quotactl-Xverbose.c \
-@@ -4409,60 +4665,70 @@
- 	remap_file_pages-Xraw.c remap_file_pages-Xverbose.c rename.c \
- 	renameat.c renameat2.c request_key.c restart_syscall.c \
- 	riscv_flush_icache.c rmdir.c rt_sigaction.c rt_sigpending.c \
--	rt_sigprocmask.c rt_sigqueueinfo.c rt_sigreturn.c \
-+	rt_sigprocmask.c rt_sigqueueinfo.c \
-+	rt_sigqueueinfo--pidns-translation.c rt_sigreturn.c \
- 	rt_sigsuspend.c rt_sigtimedwait.c rt_tgsigqueueinfo.c \
--	run_expect_termsig.c s390_guarded_storage.c \
--	s390_guarded_storage-v.c s390_pci_mmio_read_write.c \
--	s390_runtime_instr.c s390_sthyi.c s390_sthyi-v.c \
--	sched_get_priority_mxx.c sched_rr_get_interval.c \
--	sched_xetaffinity.c sched_xetattr.c sched_xetparam.c \
--	sched_xetscheduler.c sched_yield.c scm_rights.c \
--	seccomp-filter.c seccomp-filter-v.c seccomp-strict.c \
--	seccomp_get_action_avail.c select.c select-P.c semop.c \
--	semop-indirect.c semtimedop.c sendfile.c sendfile64.c \
--	set_mempolicy.c set_mempolicy-Xabbrev.c set_mempolicy-Xraw.c \
--	set_mempolicy-Xverbose.c set_ptracer_any.c set_sigblock.c \
--	set_sigign.c setdomainname.c setfsgid.c setfsgid32.c \
--	setfsuid.c setfsuid32.c setgid.c setgid32.c setgroups.c \
--	setgroups32.c sethostname.c setns.c setpgrp-exec.c setregid.c \
--	setregid32.c setresgid.c setresgid32.c setresuid.c \
--	setresuid32.c setreuid.c setreuid32.c setrlimit.c \
--	setrlimit-Xabbrev.c setrlimit-Xraw.c setrlimit-Xverbose.c \
--	setuid.c setuid32.c shmxt.c shutdown.c sigaction.c \
--	sigaltstack.c siginfo.c signal.c signal_receive.c signalfd4.c \
--	sigpending.c sigprocmask.c sigreturn.c sigsuspend.c sleep.c \
--	so_error.c so_linger.c so_peercred.c so_peercred-Xabbrev.c \
--	so_peercred-Xraw.c so_peercred-Xverbose.c sock_filter-v.c \
--	sock_filter-v-Xabbrev.c sock_filter-v-Xraw.c \
--	sock_filter-v-Xverbose.c sockaddr_xlat-Xabbrev.c \
--	sockaddr_xlat-Xraw.c sockaddr_xlat-Xverbose.c socketcall.c \
--	sockopt-sol_netlink.c sockopt-timestamp.c splice.c \
--	$(stack_fcall_SOURCES) $(stack_fcall_attach_SOURCES) \
--	$(stack_fcall_mangled_SOURCES) stat.c stat64.c statfs.c \
--	statfs64.c status-all.c status-failed.c status-failed-long.c \
--	status-failed-status.c status-none.c status-none-f.c \
--	status-none-threads.c status-successful.c \
--	status-successful-long.c status-successful-status.c \
--	status-unfinished.c status-unfinished-threads.c statx.c \
--	strace--strings-in-hex.c strace--strings-in-hex-all.c \
-+	rt_tgsigqueueinfo--pidns-translation.c run_expect_termsig.c \
-+	s390_guarded_storage.c s390_guarded_storage-v.c \
-+	s390_pci_mmio_read_write.c s390_runtime_instr.c s390_sthyi.c \
-+	s390_sthyi-v.c sched_get_priority_mxx.c \
-+	sched_rr_get_interval.c sched_xetaffinity.c \
-+	sched_xetaffinity--pidns-translation.c sched_xetattr.c \
-+	sched_xetattr--pidns-translation.c sched_xetparam.c \
-+	sched_xetparam--pidns-translation.c sched_xetscheduler.c \
-+	sched_xetscheduler--pidns-translation.c sched_yield.c \
-+	scm_rights.c seccomp-filter.c seccomp-filter-v.c \
-+	seccomp-strict.c seccomp_get_action_avail.c select.c \
-+	select-P.c semop.c semop-indirect.c semtimedop.c sendfile.c \
-+	sendfile64.c set_mempolicy.c set_mempolicy-Xabbrev.c \
-+	set_mempolicy-Xraw.c set_mempolicy-Xverbose.c \
-+	set_ptracer_any.c set_sigblock.c set_sigign.c setdomainname.c \
-+	setfsgid.c setfsgid32.c setfsuid.c setfsuid32.c setgid.c \
-+	setgid32.c setgroups.c setgroups32.c sethostname.c setns.c \
-+	setpgrp-exec.c setregid.c setregid32.c setresgid.c \
-+	setresgid32.c setresuid.c setresuid32.c setreuid.c \
-+	setreuid32.c setrlimit.c setrlimit-Xabbrev.c setrlimit-Xraw.c \
-+	setrlimit-Xverbose.c setuid.c setuid32.c shmxt.c shutdown.c \
-+	sigaction.c sigaltstack.c siginfo.c signal.c signal_receive.c \
-+	signal_receive--pidns-translation.c signalfd4.c sigpending.c \
-+	sigprocmask.c sigreturn.c sigsuspend.c sleep.c so_error.c \
-+	so_linger.c so_peercred.c so_peercred--pidns-translation.c \
-+	so_peercred-Xabbrev.c so_peercred-Xraw.c \
-+	so_peercred-Xverbose.c sock_filter-v.c sock_filter-v-Xabbrev.c \
-+	sock_filter-v-Xraw.c sock_filter-v-Xverbose.c \
-+	sockaddr_xlat-Xabbrev.c sockaddr_xlat-Xraw.c \
-+	sockaddr_xlat-Xverbose.c socketcall.c sockopt-sol_netlink.c \
-+	sockopt-timestamp.c splice.c $(stack_fcall_SOURCES) \
-+	$(stack_fcall_attach_SOURCES) $(stack_fcall_mangled_SOURCES) \
-+	stat.c stat64.c statfs.c statfs64.c status-all.c \
-+	status-failed.c status-failed-long.c status-failed-status.c \
-+	status-none.c status-none-f.c status-none-threads.c \
-+	status-successful.c status-successful-long.c \
-+	status-successful-status.c status-unfinished.c \
-+	status-unfinished-threads.c statx.c strace--strings-in-hex.c \
-+	strace--strings-in-hex-all.c \
- 	strace--strings-in-hex-non-ascii.c strace-x.c strace-xx.c \
- 	swap.c sxetmask.c symlink.c symlinkat.c sync.c \
- 	sync_file_range.c sync_file_range2.c sysinfo.c syslog.c \
--	syslog-success.c tee.c tgkill.c threads-execve.c \
--	threads-execve--quiet-thread-execve.c threads-execve-q.c \
--	threads-execve-qq.c threads-execve-qqq.c time.c timer_create.c \
--	timer_xettime.c timerfd_xettime.c times.c times-fail.c tkill.c \
--	tracer_ppid_pgid_sid.c truncate.c truncate64.c ugetrlimit.c \
--	uio.c umask.c umount.c umount2.c umoven-illptr.c umovestr.c \
--	umovestr-illptr.c umovestr2.c umovestr3.c umovestr_cached.c \
--	umovestr_cached_adjacent.c uname.c unblock_reset_raise.c \
--	unix-pair-send-recv.c unix-pair-sendto-recvfrom.c unlink.c \
--	unlinkat.c unshare.c userfaultfd.c ustat.c utime.c utimensat.c \
--	utimensat-Xabbrev.c utimensat-Xraw.c utimensat-Xverbose.c \
--	utimes.c vfork-f.c vhangup.c vmsplice.c wait4.c wait4-v.c \
--	waitid.c waitid-v.c waitpid.c xattr.c xattr-strings.c \
--	xet_robust_list.c xet_thread_area_x86.c xetitimer.c xetpgid.c \
--	xetpriority.c xettimeofday.c zeroargc.c
-+	syslog-success.c tee.c tgkill.c tgkill--pidns-translation.c \
-+	threads-execve.c threads-execve--quiet-thread-execve.c \
-+	threads-execve-q.c threads-execve-qq.c threads-execve-qqq.c \
-+	time.c timer_create.c timer_xettime.c timerfd_xettime.c \
-+	times.c times-fail.c tkill.c tkill--pidns-translation.c \
-+	tracer_ppid_pgid_sid.c $(trie_test_SOURCES) truncate.c \
-+	truncate64.c ugetrlimit.c uio.c umask.c umount.c umount2.c \
-+	umoven-illptr.c umovestr.c umovestr-illptr.c umovestr2.c \
-+	umovestr3.c umovestr_cached.c umovestr_cached_adjacent.c \
-+	uname.c unblock_reset_raise.c unix-pair-send-recv.c \
-+	unix-pair-sendto-recvfrom.c unlink.c unlinkat.c unshare.c \
-+	userfaultfd.c ustat.c utime.c utimensat.c utimensat-Xabbrev.c \
-+	utimensat-Xraw.c utimensat-Xverbose.c utimes.c vfork-f.c \
-+	vhangup.c vmsplice.c wait4.c wait4-v.c waitid.c waitid-v.c \
-+	waitpid.c xattr.c xattr-strings.c xet_robust_list.c \
-+	xet_robust_list--pidns-translation.c xet_thread_area_x86.c \
-+	xetitimer.c xetpgid.c xetpgid--pidns-translation.c \
-+	xetpriority.c xetpriority--pidns-translation.c xettimeofday.c \
-+	zeroargc.c
- DIST_SOURCES = $(libtests_a_SOURCES) _newselect.c _newselect-P.c \
- 	accept.c accept4.c access.c acct.c add_key.c adjtimex.c aio.c \
- 	aio_pgetevents.c alarm.c answer.c attach-f-p.c \
-@@ -4490,26 +4756,30 @@
- 	fadvise64_64.c fallocate.c fanotify_init.c fanotify_mark.c \
- 	fanotify_mark-Xabbrev.c fanotify_mark-Xraw.c \
- 	fanotify_mark-Xverbose.c fchdir.c fchmod.c fchmodat.c fchown.c \
--	fchown32.c fchownat.c fcntl.c fcntl64.c fdatasync.c fflush.c \
-+	fchown32.c fchownat.c fcntl.c fcntl--pidns-translation.c \
-+	fcntl64.c fcntl64--pidns-translation.c fdatasync.c fflush.c \
- 	file_handle.c file_ioctl.c filter-unavailable.c \
- 	filter_seccomp-flag.c filter_seccomp-perf.c finit_module.c \
--	flock.c fork-f.c fsconfig.c fsconfig-P.c fsmount.c fsopen.c \
--	fspick.c fspick-P.c fstat.c fstat-Xabbrev.c fstat-Xraw.c \
--	fstat-Xverbose.c fstat64.c fstat64-Xabbrev.c fstat64-Xraw.c \
--	fstat64-Xverbose.c fstatat64.c fstatfs.c fstatfs64.c fsync.c \
--	fsync-y.c ftruncate.c ftruncate64.c futex.c futimesat.c \
--	get_mempolicy.c get_process_reaper.c getcpu.c getcwd.c \
--	getdents.c getdents-v.c getdents64.c getdents64-v.c getegid.c \
--	getegid32.c geteuid.c geteuid32.c getgid.c getgid32.c \
--	getgroups.c getgroups32.c getpeername.c getpgrp.c getpid.c \
--	getppid.c getrandom.c getresgid.c getresgid32.c getresuid.c \
--	getresuid32.c getrlimit.c getrusage.c getsid.c getsockname.c \
--	gettid.c getuid.c getuid32.c getxgid.c getxpid.c getxuid.c \
--	group_req.c inet-cmsg.c init_module.c inject-nf.c inotify.c \
--	inotify_init.c inotify_init-y.c inotify_init1.c \
--	inotify_init1-y.c int_0x80.c io_uring_enter.c \
--	io_uring_register.c io_uring_setup.c ioctl.c ioctl_block.c \
--	ioctl_dm.c ioctl_dm-v.c ioctl_evdev.c ioctl_evdev-Xabbrev.c \
-+	flock.c fork--pidns-translation.c fork-f.c fsconfig.c \
-+	fsconfig-P.c fsmount.c fsopen.c fspick.c fspick-P.c fstat.c \
-+	fstat-Xabbrev.c fstat-Xraw.c fstat-Xverbose.c fstat64.c \
-+	fstat64-Xabbrev.c fstat64-Xraw.c fstat64-Xverbose.c \
-+	fstatat64.c fstatfs.c fstatfs64.c fsync.c fsync-y.c \
-+	ftruncate.c ftruncate64.c futex.c futimesat.c get_mempolicy.c \
-+	get_process_reaper.c getcpu.c getcwd.c getdents.c getdents-v.c \
-+	getdents64.c getdents64-v.c getegid.c getegid32.c geteuid.c \
-+	geteuid32.c getgid.c getgid32.c getgroups.c getgroups32.c \
-+	getpeername.c getpgrp.c getpgrp--pidns-translation.c getpid.c \
-+	getpid--pidns-translation.c getppid.c getrandom.c getresgid.c \
-+	getresgid32.c getresuid.c getresuid32.c getrlimit.c \
-+	getrusage.c getsid.c getsid--pidns-translation.c getsockname.c \
-+	gettid.c gettid--pidns-translation.c getuid.c getuid32.c \
-+	getxgid.c getxpid.c getxuid.c group_req.c inet-cmsg.c \
-+	init_module.c inject-nf.c inotify.c inotify_init.c \
-+	inotify_init-y.c inotify_init1.c inotify_init1-y.c int_0x80.c \
-+	io_uring_enter.c io_uring_register.c io_uring_setup.c ioctl.c \
-+	ioctl_block.c ioctl_block--pidns-translation.c ioctl_dm.c \
-+	ioctl_dm-v.c ioctl_evdev.c ioctl_evdev-Xabbrev.c \
- 	ioctl_evdev-Xraw.c ioctl_evdev-Xverbose.c \
- 	ioctl_evdev-success.c ioctl_evdev-success-Xabbrev.c \
- 	ioctl_evdev-success-Xraw.c ioctl_evdev-success-Xverbose.c \
-@@ -4537,47 +4807,51 @@
- 	ioctl_v4l2-success-v-Xverbose.c ioctl_v4l2-v.c \
- 	ioctl_v4l2-v-Xabbrev.c ioctl_v4l2-v-Xraw.c \
- 	ioctl_v4l2-v-Xverbose.c ioctl_watchdog.c ioperm.c iopl.c \
--	ioprio.c ioprio-Xabbrev.c ioprio-Xraw.c ioprio-Xverbose.c \
--	ip_mreq.c ipc.c ipc_msg.c ipc_msg-Xabbrev.c ipc_msg-Xraw.c \
--	ipc_msg-Xverbose.c ipc_msgbuf.c ipc_msgbuf-Xabbrev.c \
--	ipc_msgbuf-Xraw.c ipc_msgbuf-Xverbose.c ipc_sem.c \
--	ipc_sem-Xabbrev.c ipc_sem-Xraw.c ipc_sem-Xverbose.c ipc_shm.c \
--	ipc_shm-Xabbrev.c ipc_shm-Xraw.c ipc_shm-Xverbose.c \
--	is_linux_mips_n64.c kcmp.c kcmp-y.c kern_features.c \
-+	ioprio.c ioprio--pidns-translation.c ioprio-Xabbrev.c \
-+	ioprio-Xraw.c ioprio-Xverbose.c ip_mreq.c ipc.c ipc_msg.c \
-+	ipc_msg-Xabbrev.c ipc_msg-Xraw.c ipc_msg-Xverbose.c \
-+	ipc_msgbuf.c ipc_msgbuf-Xabbrev.c ipc_msgbuf-Xraw.c \
-+	ipc_msgbuf-Xverbose.c ipc_sem.c ipc_sem-Xabbrev.c \
-+	ipc_sem-Xraw.c ipc_sem-Xverbose.c ipc_shm.c ipc_shm-Xabbrev.c \
-+	ipc_shm-Xraw.c ipc_shm-Xverbose.c is_linux_mips_n64.c kcmp.c \
-+	kcmp-y.c kcmp-y--pidns-translation.c kern_features.c \
- 	kernel_version.c kernel_version-Xabbrev.c \
- 	kernel_version-Xraw.c kernel_version-Xverbose.c \
- 	kexec_file_load.c kexec_load.c keyctl.c keyctl-Xabbrev.c \
--	keyctl-Xraw.c keyctl-Xverbose.c kill.c kill_child.c ksysent.c \
--	lchown.c lchown32.c link.c linkat.c list_sigaction_signum.c \
--	llseek.c localtime.c lookup_dcookie.c looping_threads.c \
--	lseek.c lstat.c lstat64.c madvise.c maybe_switch_current_tcp.c \
-+	keyctl-Xraw.c keyctl-Xverbose.c kill.c \
-+	kill--pidns-translation.c kill_child.c ksysent.c lchown.c \
-+	lchown32.c link.c linkat.c list_sigaction_signum.c llseek.c \
-+	localtime.c lookup_dcookie.c looping_threads.c lseek.c lstat.c \
-+	lstat64.c madvise.c maybe_switch_current_tcp.c \
- 	maybe_switch_current_tcp--quiet-thread-execve.c mbind.c \
- 	mbind-Xabbrev.c mbind-Xraw.c mbind-Xverbose.c membarrier.c \
- 	memfd_create.c memfd_create-Xabbrev.c memfd_create-Xraw.c \
--	memfd_create-Xverbose.c migrate_pages.c mincore.c mkdir.c \
--	mkdirat.c mknod.c mknodat.c mlock.c mlock2.c mlockall.c mmap.c \
-+	memfd_create-Xverbose.c migrate_pages.c \
-+	migrate_pages--pidns-translation.c mincore.c mkdir.c mkdirat.c \
-+	mknod.c mknodat.c mlock.c mlock2.c mlockall.c mmap.c \
- 	mmap-Xabbrev.c mmap-Xraw.c mmap-Xverbose.c mmap64.c \
- 	mmap64-Xabbrev.c mmap64-Xraw.c mmap64-Xverbose.c mmsg.c \
- 	mmsg-silent.c mmsg_name.c mmsg_name-v.c modify_ldt.c mount.c \
- 	mount-Xabbrev.c mount-Xraw.c mount-Xverbose.c move_mount.c \
--	move_mount-P.c move_pages.c move_pages-Xabbrev.c \
--	move_pages-Xraw.c move_pages-Xverbose.c mq.c mq_sendrecv.c \
--	mq_sendrecv-read.c mq_sendrecv-write.c msg_control.c \
--	msg_control-v.c msg_name.c munlockall.c nanosleep.c \
--	net--decode-fds-dev-netlink.c net--decode-fds-none-netlink.c \
--	net--decode-fds-path-netlink.c \
-+	move_mount-P.c move_pages.c move_pages--pidns-translation.c \
-+	move_pages-Xabbrev.c move_pages-Xraw.c move_pages-Xverbose.c \
-+	mq.c mq_sendrecv.c mq_sendrecv-read.c mq_sendrecv-write.c \
-+	msg_control.c msg_control-v.c msg_name.c munlockall.c \
-+	nanosleep.c net--decode-fds-dev-netlink.c \
-+	net--decode-fds-none-netlink.c net--decode-fds-path-netlink.c \
- 	net--decode-fds-socket-netlink.c net-accept-connect.c \
- 	net-icmp_filter.c net-packet_mreq.c net-packet_mreq-Xabbrev.c \
- 	net-packet_mreq-Xraw.c net-packet_mreq-Xverbose.c \
--	net-sockaddr.c net-tpacket_req.c net-tpacket_stats.c \
-+	net-sockaddr.c net-sockaddr--pidns-translation.c \
-+	net-tpacket_req.c net-tpacket_stats.c \
- 	net-tpacket_stats-success.c net-y-unix.c net-yy-inet.c \
- 	net-yy-inet6.c net-yy-netlink.c net-yy-unix.c netlink_audit.c \
--	netlink_crypto.c netlink_generic.c netlink_inet_diag.c \
--	netlink_kobject_uevent.c netlink_netfilter.c \
--	netlink_netlink_diag.c netlink_protocol.c netlink_route.c \
--	netlink_selinux.c netlink_sock_diag.c netlink_unix_diag.c \
--	netlink_xfrm.c newfstatat.c nfnetlink_acct.c \
--	nfnetlink_cthelper.c nfnetlink_ctnetlink.c \
-+	netlink_audit--pidns-translation.c netlink_crypto.c \
-+	netlink_generic.c netlink_inet_diag.c netlink_kobject_uevent.c \
-+	netlink_netfilter.c netlink_netlink_diag.c netlink_protocol.c \
-+	netlink_route.c netlink_selinux.c netlink_sock_diag.c \
-+	netlink_unix_diag.c netlink_xfrm.c newfstatat.c \
-+	nfnetlink_acct.c nfnetlink_cthelper.c nfnetlink_ctnetlink.c \
- 	nfnetlink_ctnetlink_exp.c nfnetlink_cttimeout.c \
- 	nfnetlink_ipset.c nfnetlink_nft_compat.c nfnetlink_nftables.c \
- 	nfnetlink_osf.c nfnetlink_queue.c nfnetlink_ulog.c nlattr.c \
-@@ -4607,12 +4881,13 @@
- 	personality-Xraw.c personality-Xverbose.c pidfd_getfd.c \
- 	pidfd_getfd-y.c pidfd_getfd-yy.c pidfd_open.c \
- 	pidfd_open--decode-fd-path.c pidfd_open--decode-fd-pidfd.c \
--	pidfd_open--decode-fd-socket.c pidfd_open-P.c pidfd_open-y.c \
--	pidfd_open-yy.c pidfd_send_signal.c pipe.c pipe2.c \
--	pkey_alloc.c pkey_free.c pkey_mprotect.c poll.c poll-P.c \
--	ppoll.c ppoll-P.c ppoll-v.c prctl-arg2-intptr.c \
--	prctl-dumpable.c prctl-name.c prctl-no-args.c \
--	prctl-pdeathsig.c prctl-seccomp-filter-v.c \
-+	pidfd_open--decode-fd-socket.c pidfd_open--pidns-translation.c \
-+	pidfd_open-P.c pidfd_open-y.c pidfd_open-yy.c \
-+	pidfd_send_signal.c pidfd_send_signal--pidns-translation.c \
-+	pidns-cache.c pipe.c pipe2.c pkey_alloc.c pkey_free.c \
-+	pkey_mprotect.c poll.c poll-P.c ppoll.c ppoll-P.c ppoll-v.c \
-+	prctl-arg2-intptr.c prctl-dumpable.c prctl-name.c \
-+	prctl-no-args.c prctl-pdeathsig.c prctl-seccomp-filter-v.c \
- 	prctl-seccomp-strict.c prctl-securebits.c prctl-spec-inject.c \
- 	prctl-tid_address.c prctl-tsc.c pread64-pwrite64.c preadv.c \
- 	preadv-pwritev.c preadv2-pwritev2.c print_maxfd.c \
-@@ -4621,8 +4896,10 @@
- 	printsignal-Xabbrev.c printsignal-Xraw.c \
- 	printsignal-Xverbose.c printstr.c printstrn-umoven.c \
- 	printstrn-umoven-peekdata.c printstrn-umoven-undumpable.c \
--	prlimit64.c process_vm_readv.c process_vm_writev.c pselect6.c \
--	ptrace.c ptrace_syscall_info.c pwritev.c qual_fault.c \
-+	prlimit64.c prlimit64--pidns-translation.c process_vm_readv.c \
-+	process_vm_readv--pidns-translation.c process_vm_writev.c \
-+	process_vm_writev--pidns-translation.c pselect6.c ptrace.c \
-+	ptrace_syscall_info.c pwritev.c qual_fault.c \
- 	qual_inject-error-signal.c qual_inject-retval.c \
- 	qual_inject-signal.c qual_signal.c quotactl.c \
- 	quotactl-Xabbrev.c quotactl-Xraw.c quotactl-Xverbose.c \
-@@ -4635,60 +4912,70 @@
- 	remap_file_pages-Xraw.c remap_file_pages-Xverbose.c rename.c \
- 	renameat.c renameat2.c request_key.c restart_syscall.c \
- 	riscv_flush_icache.c rmdir.c rt_sigaction.c rt_sigpending.c \
--	rt_sigprocmask.c rt_sigqueueinfo.c rt_sigreturn.c \
-+	rt_sigprocmask.c rt_sigqueueinfo.c \
-+	rt_sigqueueinfo--pidns-translation.c rt_sigreturn.c \
- 	rt_sigsuspend.c rt_sigtimedwait.c rt_tgsigqueueinfo.c \
--	run_expect_termsig.c s390_guarded_storage.c \
--	s390_guarded_storage-v.c s390_pci_mmio_read_write.c \
--	s390_runtime_instr.c s390_sthyi.c s390_sthyi-v.c \
--	sched_get_priority_mxx.c sched_rr_get_interval.c \
--	sched_xetaffinity.c sched_xetattr.c sched_xetparam.c \
--	sched_xetscheduler.c sched_yield.c scm_rights.c \
--	seccomp-filter.c seccomp-filter-v.c seccomp-strict.c \
--	seccomp_get_action_avail.c select.c select-P.c semop.c \
--	semop-indirect.c semtimedop.c sendfile.c sendfile64.c \
--	set_mempolicy.c set_mempolicy-Xabbrev.c set_mempolicy-Xraw.c \
--	set_mempolicy-Xverbose.c set_ptracer_any.c set_sigblock.c \
--	set_sigign.c setdomainname.c setfsgid.c setfsgid32.c \
--	setfsuid.c setfsuid32.c setgid.c setgid32.c setgroups.c \
--	setgroups32.c sethostname.c setns.c setpgrp-exec.c setregid.c \
--	setregid32.c setresgid.c setresgid32.c setresuid.c \
--	setresuid32.c setreuid.c setreuid32.c setrlimit.c \
--	setrlimit-Xabbrev.c setrlimit-Xraw.c setrlimit-Xverbose.c \
--	setuid.c setuid32.c shmxt.c shutdown.c sigaction.c \
--	sigaltstack.c siginfo.c signal.c signal_receive.c signalfd4.c \
--	sigpending.c sigprocmask.c sigreturn.c sigsuspend.c sleep.c \
--	so_error.c so_linger.c so_peercred.c so_peercred-Xabbrev.c \
--	so_peercred-Xraw.c so_peercred-Xverbose.c sock_filter-v.c \
--	sock_filter-v-Xabbrev.c sock_filter-v-Xraw.c \
--	sock_filter-v-Xverbose.c sockaddr_xlat-Xabbrev.c \
--	sockaddr_xlat-Xraw.c sockaddr_xlat-Xverbose.c socketcall.c \
--	sockopt-sol_netlink.c sockopt-timestamp.c splice.c \
--	$(stack_fcall_SOURCES) $(stack_fcall_attach_SOURCES) \
--	$(stack_fcall_mangled_SOURCES) stat.c stat64.c statfs.c \
--	statfs64.c status-all.c status-failed.c status-failed-long.c \
--	status-failed-status.c status-none.c status-none-f.c \
--	status-none-threads.c status-successful.c \
--	status-successful-long.c status-successful-status.c \
--	status-unfinished.c status-unfinished-threads.c statx.c \
--	strace--strings-in-hex.c strace--strings-in-hex-all.c \
-+	rt_tgsigqueueinfo--pidns-translation.c run_expect_termsig.c \
-+	s390_guarded_storage.c s390_guarded_storage-v.c \
-+	s390_pci_mmio_read_write.c s390_runtime_instr.c s390_sthyi.c \
-+	s390_sthyi-v.c sched_get_priority_mxx.c \
-+	sched_rr_get_interval.c sched_xetaffinity.c \
-+	sched_xetaffinity--pidns-translation.c sched_xetattr.c \
-+	sched_xetattr--pidns-translation.c sched_xetparam.c \
-+	sched_xetparam--pidns-translation.c sched_xetscheduler.c \
-+	sched_xetscheduler--pidns-translation.c sched_yield.c \
-+	scm_rights.c seccomp-filter.c seccomp-filter-v.c \
-+	seccomp-strict.c seccomp_get_action_avail.c select.c \
-+	select-P.c semop.c semop-indirect.c semtimedop.c sendfile.c \
-+	sendfile64.c set_mempolicy.c set_mempolicy-Xabbrev.c \
-+	set_mempolicy-Xraw.c set_mempolicy-Xverbose.c \
-+	set_ptracer_any.c set_sigblock.c set_sigign.c setdomainname.c \
-+	setfsgid.c setfsgid32.c setfsuid.c setfsuid32.c setgid.c \
-+	setgid32.c setgroups.c setgroups32.c sethostname.c setns.c \
-+	setpgrp-exec.c setregid.c setregid32.c setresgid.c \
-+	setresgid32.c setresuid.c setresuid32.c setreuid.c \
-+	setreuid32.c setrlimit.c setrlimit-Xabbrev.c setrlimit-Xraw.c \
-+	setrlimit-Xverbose.c setuid.c setuid32.c shmxt.c shutdown.c \
-+	sigaction.c sigaltstack.c siginfo.c signal.c signal_receive.c \
-+	signal_receive--pidns-translation.c signalfd4.c sigpending.c \
-+	sigprocmask.c sigreturn.c sigsuspend.c sleep.c so_error.c \
-+	so_linger.c so_peercred.c so_peercred--pidns-translation.c \
-+	so_peercred-Xabbrev.c so_peercred-Xraw.c \
-+	so_peercred-Xverbose.c sock_filter-v.c sock_filter-v-Xabbrev.c \
-+	sock_filter-v-Xraw.c sock_filter-v-Xverbose.c \
-+	sockaddr_xlat-Xabbrev.c sockaddr_xlat-Xraw.c \
-+	sockaddr_xlat-Xverbose.c socketcall.c sockopt-sol_netlink.c \
-+	sockopt-timestamp.c splice.c $(stack_fcall_SOURCES) \
-+	$(stack_fcall_attach_SOURCES) $(stack_fcall_mangled_SOURCES) \
-+	stat.c stat64.c statfs.c statfs64.c status-all.c \
-+	status-failed.c status-failed-long.c status-failed-status.c \
-+	status-none.c status-none-f.c status-none-threads.c \
-+	status-successful.c status-successful-long.c \
-+	status-successful-status.c status-unfinished.c \
-+	status-unfinished-threads.c statx.c strace--strings-in-hex.c \
-+	strace--strings-in-hex-all.c \
- 	strace--strings-in-hex-non-ascii.c strace-x.c strace-xx.c \
- 	swap.c sxetmask.c symlink.c symlinkat.c sync.c \
- 	sync_file_range.c sync_file_range2.c sysinfo.c syslog.c \
--	syslog-success.c tee.c tgkill.c threads-execve.c \
--	threads-execve--quiet-thread-execve.c threads-execve-q.c \
--	threads-execve-qq.c threads-execve-qqq.c time.c timer_create.c \
--	timer_xettime.c timerfd_xettime.c times.c times-fail.c tkill.c \
--	tracer_ppid_pgid_sid.c truncate.c truncate64.c ugetrlimit.c \
--	uio.c umask.c umount.c umount2.c umoven-illptr.c umovestr.c \
--	umovestr-illptr.c umovestr2.c umovestr3.c umovestr_cached.c \
--	umovestr_cached_adjacent.c uname.c unblock_reset_raise.c \
--	unix-pair-send-recv.c unix-pair-sendto-recvfrom.c unlink.c \
--	unlinkat.c unshare.c userfaultfd.c ustat.c utime.c utimensat.c \
--	utimensat-Xabbrev.c utimensat-Xraw.c utimensat-Xverbose.c \
--	utimes.c vfork-f.c vhangup.c vmsplice.c wait4.c wait4-v.c \
--	waitid.c waitid-v.c waitpid.c xattr.c xattr-strings.c \
--	xet_robust_list.c xet_thread_area_x86.c xetitimer.c xetpgid.c \
--	xetpriority.c xettimeofday.c zeroargc.c
-+	syslog-success.c tee.c tgkill.c tgkill--pidns-translation.c \
-+	threads-execve.c threads-execve--quiet-thread-execve.c \
-+	threads-execve-q.c threads-execve-qq.c threads-execve-qqq.c \
-+	time.c timer_create.c timer_xettime.c timerfd_xettime.c \
-+	times.c times-fail.c tkill.c tkill--pidns-translation.c \
-+	tracer_ppid_pgid_sid.c $(trie_test_SOURCES) truncate.c \
-+	truncate64.c ugetrlimit.c uio.c umask.c umount.c umount2.c \
-+	umoven-illptr.c umovestr.c umovestr-illptr.c umovestr2.c \
-+	umovestr3.c umovestr_cached.c umovestr_cached_adjacent.c \
-+	uname.c unblock_reset_raise.c unix-pair-send-recv.c \
-+	unix-pair-sendto-recvfrom.c unlink.c unlinkat.c unshare.c \
-+	userfaultfd.c ustat.c utime.c utimensat.c utimensat-Xabbrev.c \
-+	utimensat-Xraw.c utimensat-Xverbose.c utimes.c vfork-f.c \
-+	vhangup.c vmsplice.c wait4.c wait4-v.c waitid.c waitid-v.c \
-+	waitpid.c xattr.c xattr-strings.c xet_robust_list.c \
-+	xet_robust_list--pidns-translation.c xet_thread_area_x86.c \
-+	xetitimer.c xetpgid.c xetpgid--pidns-translation.c \
-+	xetpriority.c xetpriority--pidns-translation.c xettimeofday.c \
-+	zeroargc.c
- am__can_run_installinfo = \
-   case $$AM_UPDATE_INFO_DIR in \
-     n|no|NO) false;; \
-@@ -5145,6 +5432,7 @@
- 	test_ucopy.h \
- 	tests.h \
- 	tprintf.c \
-+	xmalloc_for_tests.c \
- 	# end of libtests_a_SOURCES
- 
- libtests_a_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
-@@ -5825,6 +6113,10 @@
- 	stack-fcall-mangled-0.c stack-fcall-mangled-1.c \
- 	stack-fcall-mangled-2.c stack-fcall-mangled-3.c
- 
-+trie_test_SOURCES = trie_test.c trie_for_tests.c
-+trie_test_CPPFLAGS = $(AM_CPPFLAGS) $(CODE_COVERAGE_CPPFLAGS)
-+trie_test_CFLAGS = $(AM_CFLAGS) $(CODE_COVERAGE_CFLAGS)
-+trie_test_LDADD = $(LDADD) $(CODE_COVERAGE_LIBS)
- 
- # Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in; do not edit.
- GEN_TESTS = _newselect.gen.test _newselect-P.gen.test accept.gen.test \
-@@ -5861,13 +6153,14 @@
- 	fanotify_mark-Xverbose.gen.test fchdir.gen.test \
- 	fchmod.gen.test fchmodat.gen.test fchown.gen.test \
- 	fchown32.gen.test fchownat.gen.test fcntl.gen.test \
--	fcntl64.gen.test fdatasync.gen.test file_handle.gen.test \
--	file_ioctl.gen.test filter_seccomp.gen.test \
--	filter_seccomp-flag.gen.test finit_module.gen.test \
--	flock.gen.test fork-f.gen.test fsconfig.gen.test \
--	fsconfig-P.gen.test fsmount.gen.test fsopen.gen.test \
--	fspick.gen.test fspick-P.gen.test fstat.gen.test \
--	fstat-Xabbrev.gen.test fstat-Xraw.gen.test \
-+	fcntl--pidns-translation.gen.test fcntl64.gen.test \
-+	fcntl64--pidns-translation.gen.test fdatasync.gen.test \
-+	file_handle.gen.test file_ioctl.gen.test \
-+	filter_seccomp.gen.test filter_seccomp-flag.gen.test \
-+	finit_module.gen.test flock.gen.test fork-f.gen.test \
-+	fsconfig.gen.test fsconfig-P.gen.test fsmount.gen.test \
-+	fsopen.gen.test fspick.gen.test fspick-P.gen.test \
-+	fstat.gen.test fstat-Xabbrev.gen.test fstat-Xraw.gen.test \
- 	fstat-Xverbose.gen.test fstat64.gen.test \
- 	fstat64-Xabbrev.gen.test fstat64-Xraw.gen.test \
- 	fstat64-Xverbose.gen.test fstatat64.gen.test fstatfs.gen.test \
-@@ -5881,11 +6174,13 @@
- 	geteuid32-creds.gen.test getgid.gen.test getgid-creds.gen.test \
- 	getgid32.gen.test getgid32-creds.gen.test getgroups.gen.test \
- 	getgroups32.gen.test getpeername.gen.test getpgrp.gen.test \
--	getpid.gen.test getppid.gen.test getrandom.gen.test \
--	getresgid.gen.test getresgid32.gen.test getresuid.gen.test \
--	getresuid32.gen.test getrlimit.gen.test getrusage.gen.test \
--	getsid.gen.test getsockname.gen.test gettid.gen.test \
--	getuid-creds.gen.test getuid32.gen.test \
-+	getpgrp--pidns-translation.gen.test getpid.gen.test \
-+	getpid--pidns-translation.gen.test getppid.gen.test \
-+	getrandom.gen.test getresgid.gen.test getresgid32.gen.test \
-+	getresuid.gen.test getresuid32.gen.test getrlimit.gen.test \
-+	getrusage.gen.test getsid.gen.test \
-+	getsid--pidns-translation.gen.test getsockname.gen.test \
-+	gettid.gen.test getuid-creds.gen.test getuid32.gen.test \
- 	getuid32-creds.gen.test getxgid.gen.test getxpid.gen.test \
- 	getxuid.gen.test group_req.gen.test inet-cmsg.gen.test \
- 	init_module.gen.test inotify.gen.test inotify_init.gen.test \
-@@ -5937,9 +6232,9 @@
- 	ioctl_v4l2-success-v-Xraw.gen.test \
- 	ioctl_v4l2-success-v-Xverbose.gen.test ioctl_watchdog.gen.test \
- 	ioperm.gen.test iopl.gen.test ioprio.gen.test \
--	ioprio-Xabbrev.gen.test ioprio-Xraw.gen.test \
--	ioprio-Xverbose.gen.test ip_mreq.gen.test ipc.gen.test \
--	ipc_msg.gen.test ipc_msg-Xabbrev.gen.test \
-+	ioprio--pidns-translation.gen.test ioprio-Xabbrev.gen.test \
-+	ioprio-Xraw.gen.test ioprio-Xverbose.gen.test ip_mreq.gen.test \
-+	ipc.gen.test ipc_msg.gen.test ipc_msg-Xabbrev.gen.test \
- 	ipc_msg-Xraw.gen.test ipc_msg-Xverbose.gen.test \
- 	ipc_msgbuf-Xabbrev.gen.test ipc_msgbuf-Xraw.gen.test \
- 	ipc_msgbuf-Xverbose.gen.test ipc_sem.gen.test \
-@@ -5947,24 +6242,27 @@
- 	ipc_sem-Xverbose.gen.test ipc_shm.gen.test \
- 	ipc_shm-Xabbrev.gen.test ipc_shm-Xraw.gen.test \
- 	ipc_shm-Xverbose.gen.test kcmp.gen.test kcmp-y.gen.test \
--	kern_features.gen.test kernel_version.gen.test \
--	kernel_version-Xabbrev.gen.test kernel_version-Xraw.gen.test \
--	kernel_version-Xverbose.gen.test kexec_file_load.gen.test \
--	kexec_load.gen.test keyctl.gen.test keyctl-Xabbrev.gen.test \
--	keyctl-Xraw.gen.test keyctl-Xverbose.gen.test kill.gen.test \
--	ksysent.gen.test lchown.gen.test lchown32.gen.test \
--	link.gen.test linkat.gen.test lookup_dcookie.gen.test \
--	lstat.gen.test lstat64.gen.test madvise.gen.test \
-+	kcmp-y--pidns-translation.gen.test kern_features.gen.test \
-+	kernel_version.gen.test kernel_version-Xabbrev.gen.test \
-+	kernel_version-Xraw.gen.test kernel_version-Xverbose.gen.test \
-+	kexec_file_load.gen.test kexec_load.gen.test keyctl.gen.test \
-+	keyctl-Xabbrev.gen.test keyctl-Xraw.gen.test \
-+	keyctl-Xverbose.gen.test kill.gen.test \
-+	kill--pidns-translation.gen.test ksysent.gen.test \
-+	lchown.gen.test lchown32.gen.test link.gen.test \
-+	linkat.gen.test lookup_dcookie.gen.test lstat.gen.test \
-+	lstat64.gen.test madvise.gen.test \
- 	maybe_switch_current_tcp.gen.test \
- 	maybe_switch_current_tcp--quiet-thread-execve.gen.test \
- 	mbind.gen.test mbind-Xabbrev.gen.test mbind-Xraw.gen.test \
- 	mbind-Xverbose.gen.test membarrier.gen.test \
- 	memfd_create.gen.test memfd_create-Xabbrev.gen.test \
- 	memfd_create-Xraw.gen.test memfd_create-Xverbose.gen.test \
--	migrate_pages.gen.test mincore.gen.test mkdir.gen.test \
--	mkdirat.gen.test mknod.gen.test mknodat.gen.test \
--	mlock.gen.test mlock2.gen.test mlockall.gen.test \
--	mmap-Xabbrev.gen.test mmap-Xraw.gen.test \
-+	migrate_pages.gen.test \
-+	migrate_pages--pidns-translation.gen.test mincore.gen.test \
-+	mkdir.gen.test mkdirat.gen.test mknod.gen.test \
-+	mknodat.gen.test mlock.gen.test mlock2.gen.test \
-+	mlockall.gen.test mmap-Xabbrev.gen.test mmap-Xraw.gen.test \
- 	mmap-Xverbose.gen.test mmap64.gen.test mmap64-Xabbrev.gen.test \
- 	mmap64-Xraw.gen.test mmap64-Xverbose.gen.test mmsg.gen.test \
- 	mmsg-silent.gen.test mmsg_name.gen.test mmsg_name-v.gen.test \
-@@ -5972,17 +6270,19 @@
- 	mount-Xraw.gen.test mount-Xverbose.gen.test \
- 	move_mount.gen.test move_mount-P.gen.test move_pages.gen.test \
- 	move_pages-Xabbrev.gen.test move_pages-Xraw.gen.test \
--	move_pages-Xverbose.gen.test mq.gen.test mq_sendrecv.gen.test \
--	mq_sendrecv-read.gen.test mq_sendrecv-write.gen.test \
--	msg_control.gen.test msg_control-v.gen.test msg_name.gen.test \
--	munlockall.gen.test nanosleep.gen.test \
--	net--decode-fds-dev-netlink.gen.test \
-+	move_pages-Xverbose.gen.test \
-+	move_pages--pidns-translation.gen.test mq.gen.test \
-+	mq_sendrecv.gen.test mq_sendrecv-read.gen.test \
-+	mq_sendrecv-write.gen.test msg_control.gen.test \
-+	msg_control-v.gen.test msg_name.gen.test munlockall.gen.test \
-+	nanosleep.gen.test net--decode-fds-dev-netlink.gen.test \
- 	net--decode-fds-none-netlink.gen.test \
- 	net--decode-fds-path-netlink.gen.test \
- 	net--decode-fds-socket-netlink.gen.test \
- 	net-icmp_filter.gen.test net-packet_mreq.gen.test \
- 	net-packet_mreq-Xabbrev.gen.test net-packet_mreq-Xraw.gen.test \
- 	net-packet_mreq-Xverbose.gen.test net-sockaddr.gen.test \
-+	net-sockaddr--pidns-translation.gen.test \
- 	net-tpacket_req.gen.test net-tpacket_stats.gen.test \
- 	net-yy-inet6.gen.test netlink_audit.gen.test \
- 	netlink_crypto.gen.test netlink_generic.gen.test \
-@@ -6036,18 +6336,25 @@
- 	pidfd_open--decode-fd-pidfd.gen.test \
- 	pidfd_open--decode-fd-socket.gen.test pidfd_open-P.gen.test \
- 	pidfd_open-y.gen.test pidfd_open-yy.gen.test \
--	pidfd_send_signal.gen.test pipe2.gen.test pkey_alloc.gen.test \
--	pkey_free.gen.test pkey_mprotect.gen.test ppoll.gen.test \
--	ppoll-P.gen.test ppoll-v.gen.test pread64-pwrite64.gen.test \
--	preadv.gen.test preadv-pwritev.gen.test \
--	preadv2-pwritev2.gen.test printpath-umovestr.gen.test \
-+	pidfd_open--pidns-translation.gen.test \
-+	pidfd_send_signal.gen.test \
-+	pidfd_send_signal--pidns-translation.gen.test pipe2.gen.test \
-+	pkey_alloc.gen.test pkey_free.gen.test pkey_mprotect.gen.test \
-+	ppoll.gen.test ppoll-P.gen.test ppoll-v.gen.test \
-+	pread64-pwrite64.gen.test preadv.gen.test \
-+	preadv-pwritev.gen.test preadv2-pwritev2.gen.test \
-+	printpath-umovestr.gen.test \
- 	printpath-umovestr-peekdata.gen.test \
- 	printpath-umovestr-undumpable.gen.test \
- 	printsignal-Xabbrev.gen.test printsignal-Xraw.gen.test \
- 	printsignal-Xverbose.gen.test printstr.gen.test \
- 	printstrn-umoven.gen.test printstrn-umoven-peekdata.gen.test \
- 	printstrn-umoven-undumpable.gen.test prlimit64.gen.test \
--	process_vm_readv.gen.test process_vm_writev.gen.test \
-+	prlimit64--pidns-translation.gen.test \
-+	process_vm_readv.gen.test \
-+	process_vm_readv--pidns-translation.gen.test \
-+	process_vm_writev.gen.test \
-+	process_vm_writev--pidns-translation.gen.test \
- 	pselect6.gen.test ptrace.gen.test ptrace_syscall_info.gen.test \
- 	pwritev.gen.test quotactl.gen.test quotactl-Xabbrev.gen.test \
- 	quotactl-Xraw.gen.test quotactl-Xverbose.gen.test \
-@@ -6063,15 +6370,23 @@
- 	renameat.gen.test renameat2.gen.test request_key.gen.test \
- 	riscv_flush_icache.gen.test rmdir.gen.test \
- 	rt_sigpending.gen.test rt_sigprocmask.gen.test \
--	rt_sigqueueinfo.gen.test rt_sigreturn.gen.test \
--	rt_sigsuspend.gen.test rt_sigtimedwait.gen.test \
--	rt_tgsigqueueinfo.gen.test s390_guarded_storage.gen.test \
--	s390_guarded_storage-v.gen.test \
-+	rt_sigqueueinfo.gen.test \
-+	rt_sigqueueinfo--pidns-translation.gen.test \
-+	rt_sigreturn.gen.test rt_sigsuspend.gen.test \
-+	rt_sigtimedwait.gen.test rt_tgsigqueueinfo.gen.test \
-+	rt_tgsigqueueinfo--pidns-translation.gen.test \
-+	s390_guarded_storage.gen.test s390_guarded_storage-v.gen.test \
- 	s390_pci_mmio_read_write.gen.test s390_runtime_instr.gen.test \
- 	s390_sthyi.gen.test s390_sthyi-v.gen.test sched.gen.test \
- 	sched_get_priority_mxx.gen.test sched_rr_get_interval.gen.test \
--	sched_xetaffinity.gen.test sched_xetattr.gen.test \
--	sched_xetparam.gen.test sched_xetscheduler.gen.test \
-+	sched_xetaffinity.gen.test \
-+	sched_xetaffinity--pidns-translation.gen.test \
-+	sched_xetattr.gen.test \
-+	sched_xetattr--pidns-translation.gen.test \
-+	sched_xetparam.gen.test \
-+	sched_xetparam--pidns-translation.gen.test \
-+	sched_xetscheduler.gen.test \
-+	sched_xetscheduler--pidns-translation.gen.test \
- 	sched_yield.gen.test seccomp-filter.gen.test \
- 	seccomp-filter-v.gen.test seccomp_get_action_avail.gen.test \
- 	select.gen.test select-P.gen.test semop.gen.test \
-@@ -6089,18 +6404,20 @@
- 	setrlimit-Xraw.gen.test setrlimit-Xverbose.gen.test \
- 	setuid.gen.test setuid32.gen.test shmxt.gen.test \
- 	shutdown.gen.test sigaction.gen.test siginfo.gen.test \
--	signal.gen.test signal_receive.gen.test signalfd4.gen.test \
-+	signal.gen.test signal_receive.gen.test \
-+	signal_receive--pidns-translation.gen.test signalfd4.gen.test \
- 	sigpending.gen.test sigprocmask.gen.test sigreturn.gen.test \
- 	sigsuspend.gen.test so_error.gen.test so_linger.gen.test \
- 	so_peercred.gen.test so_peercred-Xabbrev.gen.test \
- 	so_peercred-Xraw.gen.test so_peercred-Xverbose.gen.test \
--	sock_filter-v.gen.test sock_filter-v-Xabbrev.gen.test \
--	sock_filter-v-Xraw.gen.test sock_filter-v-Xverbose.gen.test \
--	sockaddr_xlat-Xabbrev.gen.test sockaddr_xlat-Xraw.gen.test \
--	sockaddr_xlat-Xverbose.gen.test socketcall.gen.test \
--	sockopt-sol_netlink.gen.test sockopt-timestamp.gen.test \
--	splice.gen.test stat.gen.test stat64.gen.test statfs.gen.test \
--	statfs64.gen.test status-all.gen.test status-failed.gen.test \
-+	so_peercred--pidns-translation.gen.test sock_filter-v.gen.test \
-+	sock_filter-v-Xabbrev.gen.test sock_filter-v-Xraw.gen.test \
-+	sock_filter-v-Xverbose.gen.test sockaddr_xlat-Xabbrev.gen.test \
-+	sockaddr_xlat-Xraw.gen.test sockaddr_xlat-Xverbose.gen.test \
-+	socketcall.gen.test sockopt-sol_netlink.gen.test \
-+	sockopt-timestamp.gen.test splice.gen.test stat.gen.test \
-+	stat64.gen.test statfs.gen.test statfs64.gen.test \
-+	status-all.gen.test status-failed.gen.test \
- 	status-failed-long.gen.test status-failed-status.gen.test \
- 	status-none.gen.test status-successful.gen.test \
- 	status-successful-long.gen.test \
-@@ -6142,33 +6459,37 @@
- 	symlink.gen.test symlinkat.gen.test sync.gen.test \
- 	sync_file_range.gen.test sync_file_range2.gen.test \
- 	sysinfo.gen.test syslog.gen.test tee.gen.test tgkill.gen.test \
-+	tgkill--pidns-translation.gen.test \
- 	threads-execve--quiet-thread-execve.gen.test \
- 	threads-execve-q.gen.test threads-execve-qq.gen.test \
- 	threads-execve-qqq.gen.test time.gen.test \
- 	timer_create.gen.test timer_xettime.gen.test \
- 	timerfd_xettime.gen.test times.gen.test times-fail.gen.test \
--	tkill.gen.test trace_clock.gen.test trace_creds.gen.test \
--	trace_fstat.gen.test trace_fstatfs.gen.test \
--	trace_lstat.gen.test trace_personality_32.gen.test \
--	trace_personality_64.gen.test \
-+	tkill.gen.test tkill--pidns-translation.gen.test \
-+	trace_clock.gen.test trace_creds.gen.test trace_fstat.gen.test \
-+	trace_fstatfs.gen.test trace_lstat.gen.test \
-+	trace_personality_32.gen.test trace_personality_64.gen.test \
- 	trace_personality_regex_32.gen.test \
- 	trace_personality_regex_64.gen.test \
- 	trace_personality_regex_x32.gen.test \
- 	trace_personality_x32.gen.test trace_question.gen.test \
- 	trace_stat.gen.test trace_stat_like.gen.test \
- 	trace_statfs.gen.test trace_statfs_like.gen.test \
--	truncate.gen.test truncate64.gen.test ugetrlimit.gen.test \
--	umask.gen.test umoven-illptr.gen.test umovestr-illptr.gen.test \
--	umovestr3.gen.test umovestr_cached_adjacent.gen.test \
--	unlink.gen.test unlinkat.gen.test unshare.gen.test \
--	userfaultfd.gen.test ustat.gen.test utime.gen.test \
--	utimensat.gen.test utimensat-Xabbrev.gen.test \
--	utimensat-Xraw.gen.test utimensat-Xverbose.gen.test \
--	utimes.gen.test vfork-f.gen.test vhangup.gen.test \
--	vmsplice.gen.test wait4.gen.test wait4-v.gen.test \
--	waitid.gen.test waitid-v.gen.test waitpid.gen.test \
--	xattr.gen.test xattr-strings.gen.test xet_robust_list.gen.test \
--	xetitimer.gen.test xetpgid.gen.test xetpriority.gen.test \
-+	trie_test.gen.test truncate.gen.test truncate64.gen.test \
-+	ugetrlimit.gen.test umask.gen.test umoven-illptr.gen.test \
-+	umovestr-illptr.gen.test umovestr3.gen.test \
-+	umovestr_cached_adjacent.gen.test unlink.gen.test \
-+	unlinkat.gen.test unshare.gen.test userfaultfd.gen.test \
-+	ustat.gen.test utime.gen.test utimensat.gen.test \
-+	utimensat-Xabbrev.gen.test utimensat-Xraw.gen.test \
-+	utimensat-Xverbose.gen.test utimes.gen.test vfork-f.gen.test \
-+	vhangup.gen.test vmsplice.gen.test wait4.gen.test \
-+	wait4-v.gen.test waitid.gen.test waitid-v.gen.test \
-+	waitpid.gen.test xattr.gen.test xattr-strings.gen.test \
-+	xet_robust_list.gen.test \
-+	xet_robust_list--pidns-translation.gen.test xetitimer.gen.test \
-+	xetpgid.gen.test xetpgid--pidns-translation.gen.test \
-+	xetpriority.gen.test xetpriority--pidns-translation.gen.test \
- 	xettimeofday.gen.test
- @ENABLE_STACKTRACE_FALSE@STACKTRACE_TESTS = 
- @ENABLE_STACKTRACE_TRUE@STACKTRACE_TESTS = strace-k.test \
-@@ -6198,6 +6519,7 @@
- 	int_0x80.test \
- 	inotify_init-y.test \
- 	ioctl.test \
-+	ioctl_block--pidns-translation.test \
- 	ioctl_evdev-success.test \
- 	ipc_msgbuf.test \
- 	kern_features-fault.test \
-@@ -6269,15 +6591,19 @@
- 	filtering_fd-syntax.test \
- 	filtering_syscall-syntax.test \
- 	first_exec_failure.test \
-+	fork--pidns-translation.test \
- 	get_regs.test \
-+	gettid--pidns-translation.test \
- 	inject-nf.test \
- 	interactive_block.test \
- 	kill_child.test \
- 	localtime.test \
- 	looping_threads.test \
-+	netlink_audit--pidns-translation.test \
- 	opipe.test \
- 	options-syntax.test \
- 	pc.test \
-+	pidns-cache.test \
- 	printpath-umovestr-legacy.test \
- 	printstrn-umoven-legacy.test \
- 	qual_fault-syntax.test \
-@@ -6350,6 +6676,7 @@
- 	filter_seccomp.in \
- 	filter_seccomp.sh \
- 	filter-unavailable.expected \
-+	fork--pidns-translation.awk \
- 	fstatat.c \
- 	fstatx.c \
- 	gen_pure_executables.sh \
-@@ -6935,10 +7262,18 @@
- 	@rm -f fcntl$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(fcntl_OBJECTS) $(fcntl_LDADD) $(LIBS)
- 
-+fcntl--pidns-translation$(EXEEXT): $(fcntl__pidns_translation_OBJECTS) $(fcntl__pidns_translation_DEPENDENCIES) $(EXTRA_fcntl__pidns_translation_DEPENDENCIES) 
-+	@rm -f fcntl--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(fcntl__pidns_translation_OBJECTS) $(fcntl__pidns_translation_LDADD) $(LIBS)
-+
- fcntl64$(EXEEXT): $(fcntl64_OBJECTS) $(fcntl64_DEPENDENCIES) $(EXTRA_fcntl64_DEPENDENCIES) 
- 	@rm -f fcntl64$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(fcntl64_OBJECTS) $(fcntl64_LDADD) $(LIBS)
- 
-+fcntl64--pidns-translation$(EXEEXT): $(fcntl64__pidns_translation_OBJECTS) $(fcntl64__pidns_translation_DEPENDENCIES) $(EXTRA_fcntl64__pidns_translation_DEPENDENCIES) 
-+	@rm -f fcntl64--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(fcntl64__pidns_translation_OBJECTS) $(fcntl64__pidns_translation_LDADD) $(LIBS)
-+
- fdatasync$(EXEEXT): $(fdatasync_OBJECTS) $(fdatasync_DEPENDENCIES) $(EXTRA_fdatasync_DEPENDENCIES) 
- 	@rm -f fdatasync$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(fdatasync_OBJECTS) $(fdatasync_LDADD) $(LIBS)
-@@ -6975,6 +7310,10 @@
- 	@rm -f flock$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(flock_OBJECTS) $(flock_LDADD) $(LIBS)
- 
-+fork--pidns-translation$(EXEEXT): $(fork__pidns_translation_OBJECTS) $(fork__pidns_translation_DEPENDENCIES) $(EXTRA_fork__pidns_translation_DEPENDENCIES) 
-+	@rm -f fork--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(fork__pidns_translation_OBJECTS) $(fork__pidns_translation_LDADD) $(LIBS)
-+
- fork-f$(EXEEXT): $(fork_f_OBJECTS) $(fork_f_DEPENDENCIES) $(EXTRA_fork_f_DEPENDENCIES) 
- 	@rm -f fork-f$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(fork_f_OBJECTS) $(fork_f_LDADD) $(LIBS)
-@@ -7143,10 +7482,18 @@
- 	@rm -f getpgrp$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(getpgrp_OBJECTS) $(getpgrp_LDADD) $(LIBS)
- 
-+getpgrp--pidns-translation$(EXEEXT): $(getpgrp__pidns_translation_OBJECTS) $(getpgrp__pidns_translation_DEPENDENCIES) $(EXTRA_getpgrp__pidns_translation_DEPENDENCIES) 
-+	@rm -f getpgrp--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(getpgrp__pidns_translation_OBJECTS) $(getpgrp__pidns_translation_LDADD) $(LIBS)
-+
- getpid$(EXEEXT): $(getpid_OBJECTS) $(getpid_DEPENDENCIES) $(EXTRA_getpid_DEPENDENCIES) 
- 	@rm -f getpid$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(getpid_OBJECTS) $(getpid_LDADD) $(LIBS)
- 
-+getpid--pidns-translation$(EXEEXT): $(getpid__pidns_translation_OBJECTS) $(getpid__pidns_translation_DEPENDENCIES) $(EXTRA_getpid__pidns_translation_DEPENDENCIES) 
-+	@rm -f getpid--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(getpid__pidns_translation_OBJECTS) $(getpid__pidns_translation_LDADD) $(LIBS)
-+
- getppid$(EXEEXT): $(getppid_OBJECTS) $(getppid_DEPENDENCIES) $(EXTRA_getppid_DEPENDENCIES) 
- 	@rm -f getppid$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(getppid_OBJECTS) $(getppid_LDADD) $(LIBS)
-@@ -7183,6 +7530,10 @@
- 	@rm -f getsid$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(getsid_OBJECTS) $(getsid_LDADD) $(LIBS)
- 
-+getsid--pidns-translation$(EXEEXT): $(getsid__pidns_translation_OBJECTS) $(getsid__pidns_translation_DEPENDENCIES) $(EXTRA_getsid__pidns_translation_DEPENDENCIES) 
-+	@rm -f getsid--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(getsid__pidns_translation_OBJECTS) $(getsid__pidns_translation_LDADD) $(LIBS)
-+
- getsockname$(EXEEXT): $(getsockname_OBJECTS) $(getsockname_DEPENDENCIES) $(EXTRA_getsockname_DEPENDENCIES) 
- 	@rm -f getsockname$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(getsockname_OBJECTS) $(getsockname_LDADD) $(LIBS)
-@@ -7191,6 +7542,10 @@
- 	@rm -f gettid$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(gettid_OBJECTS) $(gettid_LDADD) $(LIBS)
- 
-+gettid--pidns-translation$(EXEEXT): $(gettid__pidns_translation_OBJECTS) $(gettid__pidns_translation_DEPENDENCIES) $(EXTRA_gettid__pidns_translation_DEPENDENCIES) 
-+	@rm -f gettid--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(gettid__pidns_translation_OBJECTS) $(gettid__pidns_translation_LDADD) $(LIBS)
-+
- getuid$(EXEEXT): $(getuid_OBJECTS) $(getuid_DEPENDENCIES) $(EXTRA_getuid_DEPENDENCIES) 
- 	@rm -f getuid$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(getuid_OBJECTS) $(getuid_LDADD) $(LIBS)
-@@ -7271,6 +7626,10 @@
- 	@rm -f ioctl_block$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(ioctl_block_OBJECTS) $(ioctl_block_LDADD) $(LIBS)
- 
-+ioctl_block--pidns-translation$(EXEEXT): $(ioctl_block__pidns_translation_OBJECTS) $(ioctl_block__pidns_translation_DEPENDENCIES) $(EXTRA_ioctl_block__pidns_translation_DEPENDENCIES) 
-+	@rm -f ioctl_block--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(ioctl_block__pidns_translation_OBJECTS) $(ioctl_block__pidns_translation_LDADD) $(LIBS)
-+
- ioctl_dm$(EXEEXT): $(ioctl_dm_OBJECTS) $(ioctl_dm_DEPENDENCIES) $(EXTRA_ioctl_dm_DEPENDENCIES) 
- 	@rm -f ioctl_dm$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(ioctl_dm_OBJECTS) $(ioctl_dm_LDADD) $(LIBS)
-@@ -7571,6 +7930,10 @@
- 	@rm -f ioprio$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(ioprio_OBJECTS) $(ioprio_LDADD) $(LIBS)
- 
-+ioprio--pidns-translation$(EXEEXT): $(ioprio__pidns_translation_OBJECTS) $(ioprio__pidns_translation_DEPENDENCIES) $(EXTRA_ioprio__pidns_translation_DEPENDENCIES) 
-+	@rm -f ioprio--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(ioprio__pidns_translation_OBJECTS) $(ioprio__pidns_translation_LDADD) $(LIBS)
-+
- ioprio-Xabbrev$(EXEEXT): $(ioprio_Xabbrev_OBJECTS) $(ioprio_Xabbrev_DEPENDENCIES) $(EXTRA_ioprio_Xabbrev_DEPENDENCIES) 
- 	@rm -f ioprio-Xabbrev$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(ioprio_Xabbrev_OBJECTS) $(ioprio_Xabbrev_LDADD) $(LIBS)
-@@ -7667,6 +8030,10 @@
- 	@rm -f kcmp-y$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(kcmp_y_OBJECTS) $(kcmp_y_LDADD) $(LIBS)
- 
-+kcmp-y--pidns-translation$(EXEEXT): $(kcmp_y__pidns_translation_OBJECTS) $(kcmp_y__pidns_translation_DEPENDENCIES) $(EXTRA_kcmp_y__pidns_translation_DEPENDENCIES) 
-+	@rm -f kcmp-y--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(kcmp_y__pidns_translation_OBJECTS) $(kcmp_y__pidns_translation_LDADD) $(LIBS)
-+
- kern_features$(EXEEXT): $(kern_features_OBJECTS) $(kern_features_DEPENDENCIES) $(EXTRA_kern_features_DEPENDENCIES) 
- 	@rm -f kern_features$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(kern_features_OBJECTS) $(kern_features_LDADD) $(LIBS)
-@@ -7715,6 +8082,10 @@
- 	@rm -f kill$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(kill_OBJECTS) $(kill_LDADD) $(LIBS)
- 
-+kill--pidns-translation$(EXEEXT): $(kill__pidns_translation_OBJECTS) $(kill__pidns_translation_DEPENDENCIES) $(EXTRA_kill__pidns_translation_DEPENDENCIES) 
-+	@rm -f kill--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(kill__pidns_translation_OBJECTS) $(kill__pidns_translation_LDADD) $(LIBS)
-+
- kill_child$(EXEEXT): $(kill_child_OBJECTS) $(kill_child_DEPENDENCIES) $(EXTRA_kill_child_DEPENDENCIES) 
- 	@rm -f kill_child$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(kill_child_OBJECTS) $(kill_child_LDADD) $(LIBS)
-@@ -7823,6 +8194,10 @@
- 	@rm -f migrate_pages$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(migrate_pages_OBJECTS) $(migrate_pages_LDADD) $(LIBS)
- 
-+migrate_pages--pidns-translation$(EXEEXT): $(migrate_pages__pidns_translation_OBJECTS) $(migrate_pages__pidns_translation_DEPENDENCIES) $(EXTRA_migrate_pages__pidns_translation_DEPENDENCIES) 
-+	@rm -f migrate_pages--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(migrate_pages__pidns_translation_OBJECTS) $(migrate_pages__pidns_translation_LDADD) $(LIBS)
-+
- mincore$(EXEEXT): $(mincore_OBJECTS) $(mincore_DEPENDENCIES) $(EXTRA_mincore_DEPENDENCIES) 
- 	@rm -f mincore$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(mincore_OBJECTS) $(mincore_LDADD) $(LIBS)
-@@ -7935,6 +8310,10 @@
- 	@rm -f move_pages$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(move_pages_OBJECTS) $(move_pages_LDADD) $(LIBS)
- 
-+move_pages--pidns-translation$(EXEEXT): $(move_pages__pidns_translation_OBJECTS) $(move_pages__pidns_translation_DEPENDENCIES) $(EXTRA_move_pages__pidns_translation_DEPENDENCIES) 
-+	@rm -f move_pages--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(move_pages__pidns_translation_OBJECTS) $(move_pages__pidns_translation_LDADD) $(LIBS)
-+
- move_pages-Xabbrev$(EXEEXT): $(move_pages_Xabbrev_OBJECTS) $(move_pages_Xabbrev_DEPENDENCIES) $(EXTRA_move_pages_Xabbrev_DEPENDENCIES) 
- 	@rm -f move_pages-Xabbrev$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(move_pages_Xabbrev_OBJECTS) $(move_pages_Xabbrev_LDADD) $(LIBS)
-@@ -8027,6 +8406,10 @@
- 	@rm -f net-sockaddr$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(net_sockaddr_OBJECTS) $(net_sockaddr_LDADD) $(LIBS)
- 
-+net-sockaddr--pidns-translation$(EXEEXT): $(net_sockaddr__pidns_translation_OBJECTS) $(net_sockaddr__pidns_translation_DEPENDENCIES) $(EXTRA_net_sockaddr__pidns_translation_DEPENDENCIES) 
-+	@rm -f net-sockaddr--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(net_sockaddr__pidns_translation_OBJECTS) $(net_sockaddr__pidns_translation_LDADD) $(LIBS)
-+
- net-tpacket_req$(EXEEXT): $(net_tpacket_req_OBJECTS) $(net_tpacket_req_DEPENDENCIES) $(EXTRA_net_tpacket_req_DEPENDENCIES) 
- 	@rm -f net-tpacket_req$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(net_tpacket_req_OBJECTS) $(net_tpacket_req_LDADD) $(LIBS)
-@@ -8063,6 +8446,10 @@
- 	@rm -f netlink_audit$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(netlink_audit_OBJECTS) $(netlink_audit_LDADD) $(LIBS)
- 
-+netlink_audit--pidns-translation$(EXEEXT): $(netlink_audit__pidns_translation_OBJECTS) $(netlink_audit__pidns_translation_DEPENDENCIES) $(EXTRA_netlink_audit__pidns_translation_DEPENDENCIES) 
-+	@rm -f netlink_audit--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(netlink_audit__pidns_translation_OBJECTS) $(netlink_audit__pidns_translation_LDADD) $(LIBS)
-+
- netlink_crypto$(EXEEXT): $(netlink_crypto_OBJECTS) $(netlink_crypto_DEPENDENCIES) $(EXTRA_netlink_crypto_DEPENDENCIES) 
- 	@rm -f netlink_crypto$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(netlink_crypto_OBJECTS) $(netlink_crypto_LDADD) $(LIBS)
-@@ -8479,6 +8866,10 @@
- 	@rm -f pidfd_open--decode-fd-socket$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(pidfd_open__decode_fd_socket_OBJECTS) $(pidfd_open__decode_fd_socket_LDADD) $(LIBS)
- 
-+pidfd_open--pidns-translation$(EXEEXT): $(pidfd_open__pidns_translation_OBJECTS) $(pidfd_open__pidns_translation_DEPENDENCIES) $(EXTRA_pidfd_open__pidns_translation_DEPENDENCIES) 
-+	@rm -f pidfd_open--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(pidfd_open__pidns_translation_OBJECTS) $(pidfd_open__pidns_translation_LDADD) $(LIBS)
-+
- pidfd_open-P$(EXEEXT): $(pidfd_open_P_OBJECTS) $(pidfd_open_P_DEPENDENCIES) $(EXTRA_pidfd_open_P_DEPENDENCIES) 
- 	@rm -f pidfd_open-P$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(pidfd_open_P_OBJECTS) $(pidfd_open_P_LDADD) $(LIBS)
-@@ -8495,6 +8886,14 @@
- 	@rm -f pidfd_send_signal$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(pidfd_send_signal_OBJECTS) $(pidfd_send_signal_LDADD) $(LIBS)
- 
-+pidfd_send_signal--pidns-translation$(EXEEXT): $(pidfd_send_signal__pidns_translation_OBJECTS) $(pidfd_send_signal__pidns_translation_DEPENDENCIES) $(EXTRA_pidfd_send_signal__pidns_translation_DEPENDENCIES) 
-+	@rm -f pidfd_send_signal--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(pidfd_send_signal__pidns_translation_OBJECTS) $(pidfd_send_signal__pidns_translation_LDADD) $(LIBS)
-+
-+pidns-cache$(EXEEXT): $(pidns_cache_OBJECTS) $(pidns_cache_DEPENDENCIES) $(EXTRA_pidns_cache_DEPENDENCIES) 
-+	@rm -f pidns-cache$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(pidns_cache_OBJECTS) $(pidns_cache_LDADD) $(LIBS)
-+
- pipe$(EXEEXT): $(pipe_OBJECTS) $(pipe_DEPENDENCIES) $(EXTRA_pipe_DEPENDENCIES) 
- 	@rm -f pipe$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(pipe_OBJECTS) $(pipe_LDADD) $(LIBS)
-@@ -8647,14 +9046,26 @@
- 	@rm -f prlimit64$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(prlimit64_OBJECTS) $(prlimit64_LDADD) $(LIBS)
- 
-+prlimit64--pidns-translation$(EXEEXT): $(prlimit64__pidns_translation_OBJECTS) $(prlimit64__pidns_translation_DEPENDENCIES) $(EXTRA_prlimit64__pidns_translation_DEPENDENCIES) 
-+	@rm -f prlimit64--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(prlimit64__pidns_translation_OBJECTS) $(prlimit64__pidns_translation_LDADD) $(LIBS)
-+
- process_vm_readv$(EXEEXT): $(process_vm_readv_OBJECTS) $(process_vm_readv_DEPENDENCIES) $(EXTRA_process_vm_readv_DEPENDENCIES) 
- 	@rm -f process_vm_readv$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(process_vm_readv_OBJECTS) $(process_vm_readv_LDADD) $(LIBS)
- 
-+process_vm_readv--pidns-translation$(EXEEXT): $(process_vm_readv__pidns_translation_OBJECTS) $(process_vm_readv__pidns_translation_DEPENDENCIES) $(EXTRA_process_vm_readv__pidns_translation_DEPENDENCIES) 
-+	@rm -f process_vm_readv--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(process_vm_readv__pidns_translation_OBJECTS) $(process_vm_readv__pidns_translation_LDADD) $(LIBS)
-+
- process_vm_writev$(EXEEXT): $(process_vm_writev_OBJECTS) $(process_vm_writev_DEPENDENCIES) $(EXTRA_process_vm_writev_DEPENDENCIES) 
- 	@rm -f process_vm_writev$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(process_vm_writev_OBJECTS) $(process_vm_writev_LDADD) $(LIBS)
- 
-+process_vm_writev--pidns-translation$(EXEEXT): $(process_vm_writev__pidns_translation_OBJECTS) $(process_vm_writev__pidns_translation_DEPENDENCIES) $(EXTRA_process_vm_writev__pidns_translation_DEPENDENCIES) 
-+	@rm -f process_vm_writev--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(process_vm_writev__pidns_translation_OBJECTS) $(process_vm_writev__pidns_translation_LDADD) $(LIBS)
-+
- pselect6$(EXEEXT): $(pselect6_OBJECTS) $(pselect6_DEPENDENCIES) $(EXTRA_pselect6_DEPENDENCIES) 
- 	@rm -f pselect6$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(pselect6_OBJECTS) $(pselect6_LDADD) $(LIBS)
-@@ -8847,6 +9258,10 @@
- 	@rm -f rt_sigqueueinfo$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(rt_sigqueueinfo_OBJECTS) $(rt_sigqueueinfo_LDADD) $(LIBS)
- 
-+rt_sigqueueinfo--pidns-translation$(EXEEXT): $(rt_sigqueueinfo__pidns_translation_OBJECTS) $(rt_sigqueueinfo__pidns_translation_DEPENDENCIES) $(EXTRA_rt_sigqueueinfo__pidns_translation_DEPENDENCIES) 
-+	@rm -f rt_sigqueueinfo--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(rt_sigqueueinfo__pidns_translation_OBJECTS) $(rt_sigqueueinfo__pidns_translation_LDADD) $(LIBS)
-+
- rt_sigreturn$(EXEEXT): $(rt_sigreturn_OBJECTS) $(rt_sigreturn_DEPENDENCIES) $(EXTRA_rt_sigreturn_DEPENDENCIES) 
- 	@rm -f rt_sigreturn$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(rt_sigreturn_OBJECTS) $(rt_sigreturn_LDADD) $(LIBS)
-@@ -8863,6 +9278,10 @@
- 	@rm -f rt_tgsigqueueinfo$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(rt_tgsigqueueinfo_OBJECTS) $(rt_tgsigqueueinfo_LDADD) $(LIBS)
- 
-+rt_tgsigqueueinfo--pidns-translation$(EXEEXT): $(rt_tgsigqueueinfo__pidns_translation_OBJECTS) $(rt_tgsigqueueinfo__pidns_translation_DEPENDENCIES) $(EXTRA_rt_tgsigqueueinfo__pidns_translation_DEPENDENCIES) 
-+	@rm -f rt_tgsigqueueinfo--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(rt_tgsigqueueinfo__pidns_translation_OBJECTS) $(rt_tgsigqueueinfo__pidns_translation_LDADD) $(LIBS)
-+
- run_expect_termsig$(EXEEXT): $(run_expect_termsig_OBJECTS) $(run_expect_termsig_DEPENDENCIES) $(EXTRA_run_expect_termsig_DEPENDENCIES) 
- 	@rm -f run_expect_termsig$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(run_expect_termsig_OBJECTS) $(run_expect_termsig_LDADD) $(LIBS)
-@@ -8903,18 +9322,34 @@
- 	@rm -f sched_xetaffinity$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(sched_xetaffinity_OBJECTS) $(sched_xetaffinity_LDADD) $(LIBS)
- 
-+sched_xetaffinity--pidns-translation$(EXEEXT): $(sched_xetaffinity__pidns_translation_OBJECTS) $(sched_xetaffinity__pidns_translation_DEPENDENCIES) $(EXTRA_sched_xetaffinity__pidns_translation_DEPENDENCIES) 
-+	@rm -f sched_xetaffinity--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(sched_xetaffinity__pidns_translation_OBJECTS) $(sched_xetaffinity__pidns_translation_LDADD) $(LIBS)
-+
- sched_xetattr$(EXEEXT): $(sched_xetattr_OBJECTS) $(sched_xetattr_DEPENDENCIES) $(EXTRA_sched_xetattr_DEPENDENCIES) 
- 	@rm -f sched_xetattr$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(sched_xetattr_OBJECTS) $(sched_xetattr_LDADD) $(LIBS)
- 
-+sched_xetattr--pidns-translation$(EXEEXT): $(sched_xetattr__pidns_translation_OBJECTS) $(sched_xetattr__pidns_translation_DEPENDENCIES) $(EXTRA_sched_xetattr__pidns_translation_DEPENDENCIES) 
-+	@rm -f sched_xetattr--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(sched_xetattr__pidns_translation_OBJECTS) $(sched_xetattr__pidns_translation_LDADD) $(LIBS)
-+
- sched_xetparam$(EXEEXT): $(sched_xetparam_OBJECTS) $(sched_xetparam_DEPENDENCIES) $(EXTRA_sched_xetparam_DEPENDENCIES) 
- 	@rm -f sched_xetparam$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(sched_xetparam_OBJECTS) $(sched_xetparam_LDADD) $(LIBS)
- 
-+sched_xetparam--pidns-translation$(EXEEXT): $(sched_xetparam__pidns_translation_OBJECTS) $(sched_xetparam__pidns_translation_DEPENDENCIES) $(EXTRA_sched_xetparam__pidns_translation_DEPENDENCIES) 
-+	@rm -f sched_xetparam--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(sched_xetparam__pidns_translation_OBJECTS) $(sched_xetparam__pidns_translation_LDADD) $(LIBS)
-+
- sched_xetscheduler$(EXEEXT): $(sched_xetscheduler_OBJECTS) $(sched_xetscheduler_DEPENDENCIES) $(EXTRA_sched_xetscheduler_DEPENDENCIES) 
- 	@rm -f sched_xetscheduler$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(sched_xetscheduler_OBJECTS) $(sched_xetscheduler_LDADD) $(LIBS)
- 
-+sched_xetscheduler--pidns-translation$(EXEEXT): $(sched_xetscheduler__pidns_translation_OBJECTS) $(sched_xetscheduler__pidns_translation_DEPENDENCIES) $(EXTRA_sched_xetscheduler__pidns_translation_DEPENDENCIES) 
-+	@rm -f sched_xetscheduler--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(sched_xetscheduler__pidns_translation_OBJECTS) $(sched_xetscheduler__pidns_translation_LDADD) $(LIBS)
-+
- sched_yield$(EXEEXT): $(sched_yield_OBJECTS) $(sched_yield_DEPENDENCIES) $(EXTRA_sched_yield_DEPENDENCIES) 
- 	@rm -f sched_yield$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(sched_yield_OBJECTS) $(sched_yield_LDADD) $(LIBS)
-@@ -9127,6 +9562,10 @@
- 	@rm -f signal_receive$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(signal_receive_OBJECTS) $(signal_receive_LDADD) $(LIBS)
- 
-+signal_receive--pidns-translation$(EXEEXT): $(signal_receive__pidns_translation_OBJECTS) $(signal_receive__pidns_translation_DEPENDENCIES) $(EXTRA_signal_receive__pidns_translation_DEPENDENCIES) 
-+	@rm -f signal_receive--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(signal_receive__pidns_translation_OBJECTS) $(signal_receive__pidns_translation_LDADD) $(LIBS)
-+
- signalfd4$(EXEEXT): $(signalfd4_OBJECTS) $(signalfd4_DEPENDENCIES) $(EXTRA_signalfd4_DEPENDENCIES) 
- 	@rm -f signalfd4$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(signalfd4_OBJECTS) $(signalfd4_LDADD) $(LIBS)
-@@ -9163,6 +9602,10 @@
- 	@rm -f so_peercred$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(so_peercred_OBJECTS) $(so_peercred_LDADD) $(LIBS)
- 
-+so_peercred--pidns-translation$(EXEEXT): $(so_peercred__pidns_translation_OBJECTS) $(so_peercred__pidns_translation_DEPENDENCIES) $(EXTRA_so_peercred__pidns_translation_DEPENDENCIES) 
-+	@rm -f so_peercred--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(so_peercred__pidns_translation_OBJECTS) $(so_peercred__pidns_translation_LDADD) $(LIBS)
-+
- so_peercred-Xabbrev$(EXEEXT): $(so_peercred_Xabbrev_OBJECTS) $(so_peercred_Xabbrev_DEPENDENCIES) $(EXTRA_so_peercred_Xabbrev_DEPENDENCIES) 
- 	@rm -f so_peercred-Xabbrev$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(so_peercred_Xabbrev_OBJECTS) $(so_peercred_Xabbrev_LDADD) $(LIBS)
-@@ -9367,6 +9810,10 @@
- 	@rm -f tgkill$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(tgkill_OBJECTS) $(tgkill_LDADD) $(LIBS)
- 
-+tgkill--pidns-translation$(EXEEXT): $(tgkill__pidns_translation_OBJECTS) $(tgkill__pidns_translation_DEPENDENCIES) $(EXTRA_tgkill__pidns_translation_DEPENDENCIES) 
-+	@rm -f tgkill--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(tgkill__pidns_translation_OBJECTS) $(tgkill__pidns_translation_LDADD) $(LIBS)
-+
- threads-execve$(EXEEXT): $(threads_execve_OBJECTS) $(threads_execve_DEPENDENCIES) $(EXTRA_threads_execve_DEPENDENCIES) 
- 	@rm -f threads-execve$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(threads_execve_OBJECTS) $(threads_execve_LDADD) $(LIBS)
-@@ -9415,10 +9862,18 @@
- 	@rm -f tkill$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(tkill_OBJECTS) $(tkill_LDADD) $(LIBS)
- 
-+tkill--pidns-translation$(EXEEXT): $(tkill__pidns_translation_OBJECTS) $(tkill__pidns_translation_DEPENDENCIES) $(EXTRA_tkill__pidns_translation_DEPENDENCIES) 
-+	@rm -f tkill--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(tkill__pidns_translation_OBJECTS) $(tkill__pidns_translation_LDADD) $(LIBS)
-+
- tracer_ppid_pgid_sid$(EXEEXT): $(tracer_ppid_pgid_sid_OBJECTS) $(tracer_ppid_pgid_sid_DEPENDENCIES) $(EXTRA_tracer_ppid_pgid_sid_DEPENDENCIES) 
- 	@rm -f tracer_ppid_pgid_sid$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(tracer_ppid_pgid_sid_OBJECTS) $(tracer_ppid_pgid_sid_LDADD) $(LIBS)
- 
-+trie_test$(EXEEXT): $(trie_test_OBJECTS) $(trie_test_DEPENDENCIES) $(EXTRA_trie_test_DEPENDENCIES) 
-+	@rm -f trie_test$(EXEEXT)
-+	$(AM_V_CCLD)$(trie_test_LINK) $(trie_test_OBJECTS) $(trie_test_LDADD) $(LIBS)
-+
- truncate$(EXEEXT): $(truncate_OBJECTS) $(truncate_DEPENDENCIES) $(EXTRA_truncate_DEPENDENCIES) 
- 	@rm -f truncate$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(truncate_OBJECTS) $(truncate_LDADD) $(LIBS)
-@@ -9579,6 +10034,10 @@
- 	@rm -f xet_robust_list$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(xet_robust_list_OBJECTS) $(xet_robust_list_LDADD) $(LIBS)
- 
-+xet_robust_list--pidns-translation$(EXEEXT): $(xet_robust_list__pidns_translation_OBJECTS) $(xet_robust_list__pidns_translation_DEPENDENCIES) $(EXTRA_xet_robust_list__pidns_translation_DEPENDENCIES) 
-+	@rm -f xet_robust_list--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(xet_robust_list__pidns_translation_OBJECTS) $(xet_robust_list__pidns_translation_LDADD) $(LIBS)
-+
- xet_thread_area_x86$(EXEEXT): $(xet_thread_area_x86_OBJECTS) $(xet_thread_area_x86_DEPENDENCIES) $(EXTRA_xet_thread_area_x86_DEPENDENCIES) 
- 	@rm -f xet_thread_area_x86$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(xet_thread_area_x86_OBJECTS) $(xet_thread_area_x86_LDADD) $(LIBS)
-@@ -9591,10 +10050,18 @@
- 	@rm -f xetpgid$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(xetpgid_OBJECTS) $(xetpgid_LDADD) $(LIBS)
- 
-+xetpgid--pidns-translation$(EXEEXT): $(xetpgid__pidns_translation_OBJECTS) $(xetpgid__pidns_translation_DEPENDENCIES) $(EXTRA_xetpgid__pidns_translation_DEPENDENCIES) 
-+	@rm -f xetpgid--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(xetpgid__pidns_translation_OBJECTS) $(xetpgid__pidns_translation_LDADD) $(LIBS)
-+
- xetpriority$(EXEEXT): $(xetpriority_OBJECTS) $(xetpriority_DEPENDENCIES) $(EXTRA_xetpriority_DEPENDENCIES) 
- 	@rm -f xetpriority$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(xetpriority_OBJECTS) $(xetpriority_LDADD) $(LIBS)
- 
-+xetpriority--pidns-translation$(EXEEXT): $(xetpriority__pidns_translation_OBJECTS) $(xetpriority__pidns_translation_DEPENDENCIES) $(EXTRA_xetpriority__pidns_translation_DEPENDENCIES) 
-+	@rm -f xetpriority--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(xetpriority__pidns_translation_OBJECTS) $(xetpriority__pidns_translation_LDADD) $(LIBS)
-+
- xettimeofday$(EXEEXT): $(xettimeofday_OBJECTS) $(xettimeofday_DEPENDENCIES) $(EXTRA_xettimeofday_DEPENDENCIES) 
- 	@rm -f xettimeofday$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(xettimeofday_OBJECTS) $(xettimeofday_LDADD) $(LIBS)
-@@ -9714,7 +10181,9 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchown.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchown32.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchownat.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcntl--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcntl.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcntl64--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcntl64.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fdatasync.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fflush.Po@am__quote@ # am--include-marker
-@@ -9725,6 +10194,7 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/filter_seccomp-perf.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/finit_module.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/flock.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fork--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fork-f.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fsconfig-P.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fsconfig.Po@am__quote@ # am--include-marker
-@@ -9766,7 +10236,9 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getgroups.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getgroups32.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getpeername.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getpgrp--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getpgrp.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getpid--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getpid.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getppid.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getrandom.Po@am__quote@ # am--include-marker
-@@ -9776,8 +10248,10 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getresuid32.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getrlimit.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getrusage.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getsid--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getsid.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getsockname.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gettid--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gettid.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getuid.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getuid32.Po@am__quote@ # am--include-marker
-@@ -9798,6 +10272,7 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/io_uring_register.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/io_uring_setup.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_block--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_block.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_dm-v.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_dm.Po@am__quote@ # am--include-marker
-@@ -9873,6 +10348,7 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_watchdog.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioperm.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iopl.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioprio--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioprio-Xabbrev.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioprio-Xraw.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioprio-Xverbose.Po@am__quote@ # am--include-marker
-@@ -9896,6 +10372,7 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ipc_shm-Xverbose.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ipc_shm.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/is_linux_mips_n64.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kcmp-y--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kcmp-y.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kcmp.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kern_features.Po@am__quote@ # am--include-marker
-@@ -9909,6 +10386,7 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/keyctl-Xraw.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/keyctl-Xverbose.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/keyctl.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kill--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kill.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kill_child.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ksysent.Po@am__quote@ # am--include-marker
-@@ -9946,6 +10424,7 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-test_printstrn.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-test_ucopy.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-tprintf.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-xmalloc_for_tests.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/link.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linkat.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/list_sigaction_signum.Po@am__quote@ # am--include-marker
-@@ -9968,6 +10447,7 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/memfd_create-Xraw.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/memfd_create-Xverbose.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/memfd_create.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/migrate_pages--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/migrate_pages.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mincore.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mkdir.Po@am__quote@ # am--include-marker
-@@ -9996,6 +10476,7 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mount.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/move_mount-P.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/move_mount.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/move_pages--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/move_pages-Xabbrev.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/move_pages-Xraw.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/move_pages-Xverbose.Po@am__quote@ # am--include-marker
-@@ -10019,6 +10500,7 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-packet_mreq-Xraw.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-packet_mreq-Xverbose.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-packet_mreq.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-sockaddr--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-sockaddr.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-tpacket_req.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-tpacket_stats-success.Po@am__quote@ # am--include-marker
-@@ -10028,6 +10510,7 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-yy-inet6.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-yy-netlink.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-yy-unix.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/netlink_audit--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/netlink_audit.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/netlink_crypto.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/netlink_generic.Po@am__quote@ # am--include-marker
-@@ -10132,11 +10615,14 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pidfd_open--decode-fd-path.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pidfd_open--decode-fd-pidfd.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pidfd_open--decode-fd-socket.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pidfd_open--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pidfd_open-P.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pidfd_open-y.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pidfd_open-yy.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pidfd_open.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pidfd_send_signal--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pidfd_send_signal.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pidns-cache.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pipe.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pipe2.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pkey_alloc.Po@am__quote@ # am--include-marker
-@@ -10174,8 +10660,11 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/printstrn-umoven-peekdata.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/printstrn-umoven-undumpable.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/printstrn-umoven.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/prlimit64--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/prlimit64.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/process_vm_readv--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/process_vm_readv.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/process_vm_writev--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/process_vm_writev.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pselect6.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ptrace.Po@am__quote@ # am--include-marker
-@@ -10224,10 +10713,12 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rt_sigaction.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rt_sigpending.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rt_sigprocmask.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rt_sigqueueinfo--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rt_sigqueueinfo.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rt_sigreturn.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rt_sigsuspend.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rt_sigtimedwait.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rt_tgsigqueueinfo--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rt_tgsigqueueinfo.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/run_expect_termsig.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/s390_guarded_storage-v.Po@am__quote@ # am--include-marker
-@@ -10238,9 +10729,13 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/s390_sthyi.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sched_get_priority_mxx.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sched_rr_get_interval.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sched_xetaffinity--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sched_xetaffinity.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sched_xetattr--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sched_xetattr.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sched_xetparam--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sched_xetparam.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sched_xetscheduler--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sched_xetscheduler.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sched_yield.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scm_rights.Po@am__quote@ # am--include-marker
-@@ -10294,6 +10789,7 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sigaltstack.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/siginfo.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/signal.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/signal_receive--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/signal_receive.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/signalfd4.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sigpending.Po@am__quote@ # am--include-marker
-@@ -10303,6 +10799,7 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sleep.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/so_error.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/so_linger.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/so_peercred--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/so_peercred-Xabbrev.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/so_peercred-Xraw.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/so_peercred-Xverbose.Po@am__quote@ # am--include-marker
-@@ -10362,6 +10859,7 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/syslog-success.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/syslog.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tee.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tgkill--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tgkill.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/threads-execve--quiet-thread-execve.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/threads-execve-q.Po@am__quote@ # am--include-marker
-@@ -10374,6 +10872,7 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/timerfd_xettime.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/times-fail.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/times.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tkill--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tkill.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tracer_ppid_pgid_sid.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/truncate.Po@am__quote@ # am--include-marker
-@@ -10415,10 +10914,13 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/waitpid.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xattr-strings.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xattr.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xet_robust_list--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xet_robust_list.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xet_thread_area_x86.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xetitimer.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xetpgid--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xetpgid.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xetpriority--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xetpriority.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xettimeofday.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/zeroargc.Po@am__quote@ # am--include-marker
-@@ -10893,6 +11395,20 @@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-tprintf.obj `if test -f 'tprintf.c'; then $(CYGPATH_W) 'tprintf.c'; else $(CYGPATH_W) '$(srcdir)/tprintf.c'; fi`
- 
-+libtests_a-xmalloc_for_tests.o: xmalloc_for_tests.c
-+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-xmalloc_for_tests.o -MD -MP -MF $(DEPDIR)/libtests_a-xmalloc_for_tests.Tpo -c -o libtests_a-xmalloc_for_tests.o `test -f 'xmalloc_for_tests.c' || echo '$(srcdir)/'`xmalloc_for_tests.c
-+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-xmalloc_for_tests.Tpo $(DEPDIR)/libtests_a-xmalloc_for_tests.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='xmalloc_for_tests.c' object='libtests_a-xmalloc_for_tests.o' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-xmalloc_for_tests.o `test -f 'xmalloc_for_tests.c' || echo '$(srcdir)/'`xmalloc_for_tests.c
-+
-+libtests_a-xmalloc_for_tests.obj: xmalloc_for_tests.c
-+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-xmalloc_for_tests.obj -MD -MP -MF $(DEPDIR)/libtests_a-xmalloc_for_tests.Tpo -c -o libtests_a-xmalloc_for_tests.obj `if test -f 'xmalloc_for_tests.c'; then $(CYGPATH_W) 'xmalloc_for_tests.c'; else $(CYGPATH_W) '$(srcdir)/xmalloc_for_tests.c'; fi`
-+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-xmalloc_for_tests.Tpo $(DEPDIR)/libtests_a-xmalloc_for_tests.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='xmalloc_for_tests.c' object='libtests_a-xmalloc_for_tests.obj' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-xmalloc_for_tests.obj `if test -f 'xmalloc_for_tests.c'; then $(CYGPATH_W) 'xmalloc_for_tests.c'; else $(CYGPATH_W) '$(srcdir)/xmalloc_for_tests.c'; fi`
-+
- fstat64-fstat64.o: fstat64.c
- @am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(fstat64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT fstat64-fstat64.o -MD -MP -MF $(DEPDIR)/fstat64-fstat64.Tpo -c -o fstat64-fstat64.o `test -f 'fstat64.c' || echo '$(srcdir)/'`fstat64.c
- @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/fstat64-fstat64.Tpo $(DEPDIR)/fstat64-fstat64.Po
-@@ -11103,6 +11619,34 @@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(statfs_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o statfs-statfs.obj `if test -f 'statfs.c'; then $(CYGPATH_W) 'statfs.c'; else $(CYGPATH_W) '$(srcdir)/statfs.c'; fi`
- 
-+trie_test-trie_test.o: trie_test.c
-+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(trie_test_CPPFLAGS) $(CPPFLAGS) $(trie_test_CFLAGS) $(CFLAGS) -MT trie_test-trie_test.o -MD -MP -MF $(DEPDIR)/trie_test-trie_test.Tpo -c -o trie_test-trie_test.o `test -f 'trie_test.c' || echo '$(srcdir)/'`trie_test.c
-+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/trie_test-trie_test.Tpo $(DEPDIR)/trie_test-trie_test.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='trie_test.c' object='trie_test-trie_test.o' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(trie_test_CPPFLAGS) $(CPPFLAGS) $(trie_test_CFLAGS) $(CFLAGS) -c -o trie_test-trie_test.o `test -f 'trie_test.c' || echo '$(srcdir)/'`trie_test.c
-+
-+trie_test-trie_test.obj: trie_test.c
-+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(trie_test_CPPFLAGS) $(CPPFLAGS) $(trie_test_CFLAGS) $(CFLAGS) -MT trie_test-trie_test.obj -MD -MP -MF $(DEPDIR)/trie_test-trie_test.Tpo -c -o trie_test-trie_test.obj `if test -f 'trie_test.c'; then $(CYGPATH_W) 'trie_test.c'; else $(CYGPATH_W) '$(srcdir)/trie_test.c'; fi`
-+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/trie_test-trie_test.Tpo $(DEPDIR)/trie_test-trie_test.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='trie_test.c' object='trie_test-trie_test.obj' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(trie_test_CPPFLAGS) $(CPPFLAGS) $(trie_test_CFLAGS) $(CFLAGS) -c -o trie_test-trie_test.obj `if test -f 'trie_test.c'; then $(CYGPATH_W) 'trie_test.c'; else $(CYGPATH_W) '$(srcdir)/trie_test.c'; fi`
-+
-+trie_test-trie_for_tests.o: trie_for_tests.c
-+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(trie_test_CPPFLAGS) $(CPPFLAGS) $(trie_test_CFLAGS) $(CFLAGS) -MT trie_test-trie_for_tests.o -MD -MP -MF $(DEPDIR)/trie_test-trie_for_tests.Tpo -c -o trie_test-trie_for_tests.o `test -f 'trie_for_tests.c' || echo '$(srcdir)/'`trie_for_tests.c
-+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/trie_test-trie_for_tests.Tpo $(DEPDIR)/trie_test-trie_for_tests.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='trie_for_tests.c' object='trie_test-trie_for_tests.o' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(trie_test_CPPFLAGS) $(CPPFLAGS) $(trie_test_CFLAGS) $(CFLAGS) -c -o trie_test-trie_for_tests.o `test -f 'trie_for_tests.c' || echo '$(srcdir)/'`trie_for_tests.c
-+
-+trie_test-trie_for_tests.obj: trie_for_tests.c
-+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(trie_test_CPPFLAGS) $(CPPFLAGS) $(trie_test_CFLAGS) $(CFLAGS) -MT trie_test-trie_for_tests.obj -MD -MP -MF $(DEPDIR)/trie_test-trie_for_tests.Tpo -c -o trie_test-trie_for_tests.obj `if test -f 'trie_for_tests.c'; then $(CYGPATH_W) 'trie_for_tests.c'; else $(CYGPATH_W) '$(srcdir)/trie_for_tests.c'; fi`
-+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/trie_test-trie_for_tests.Tpo $(DEPDIR)/trie_test-trie_for_tests.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='trie_for_tests.c' object='trie_test-trie_for_tests.obj' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(trie_test_CPPFLAGS) $(CPPFLAGS) $(trie_test_CFLAGS) $(CFLAGS) -c -o trie_test-trie_for_tests.obj `if test -f 'trie_for_tests.c'; then $(CYGPATH_W) 'trie_for_tests.c'; else $(CYGPATH_W) '$(srcdir)/trie_for_tests.c'; fi`
-+
- truncate64-truncate64.o: truncate64.c
- @am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(truncate64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT truncate64-truncate64.o -MD -MP -MF $(DEPDIR)/truncate64-truncate64.Tpo -c -o truncate64-truncate64.o `test -f 'truncate64.c' || echo '$(srcdir)/'`truncate64.c
- @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/truncate64-truncate64.Tpo $(DEPDIR)/truncate64-truncate64.Po
-@@ -11551,7 +12095,9 @@
- 	-rm -f ./$(DEPDIR)/fchown.Po
- 	-rm -f ./$(DEPDIR)/fchown32.Po
- 	-rm -f ./$(DEPDIR)/fchownat.Po
-+	-rm -f ./$(DEPDIR)/fcntl--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/fcntl.Po
-+	-rm -f ./$(DEPDIR)/fcntl64--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/fcntl64.Po
- 	-rm -f ./$(DEPDIR)/fdatasync.Po
- 	-rm -f ./$(DEPDIR)/fflush.Po
-@@ -11562,6 +12108,7 @@
- 	-rm -f ./$(DEPDIR)/filter_seccomp-perf.Po
- 	-rm -f ./$(DEPDIR)/finit_module.Po
- 	-rm -f ./$(DEPDIR)/flock.Po
-+	-rm -f ./$(DEPDIR)/fork--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/fork-f.Po
- 	-rm -f ./$(DEPDIR)/fsconfig-P.Po
- 	-rm -f ./$(DEPDIR)/fsconfig.Po
-@@ -11603,7 +12150,9 @@
- 	-rm -f ./$(DEPDIR)/getgroups.Po
- 	-rm -f ./$(DEPDIR)/getgroups32.Po
- 	-rm -f ./$(DEPDIR)/getpeername.Po
-+	-rm -f ./$(DEPDIR)/getpgrp--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/getpgrp.Po
-+	-rm -f ./$(DEPDIR)/getpid--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/getpid.Po
- 	-rm -f ./$(DEPDIR)/getppid.Po
- 	-rm -f ./$(DEPDIR)/getrandom.Po
-@@ -11613,8 +12162,10 @@
- 	-rm -f ./$(DEPDIR)/getresuid32.Po
- 	-rm -f ./$(DEPDIR)/getrlimit.Po
- 	-rm -f ./$(DEPDIR)/getrusage.Po
-+	-rm -f ./$(DEPDIR)/getsid--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/getsid.Po
- 	-rm -f ./$(DEPDIR)/getsockname.Po
-+	-rm -f ./$(DEPDIR)/gettid--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/gettid.Po
- 	-rm -f ./$(DEPDIR)/getuid.Po
- 	-rm -f ./$(DEPDIR)/getuid32.Po
-@@ -11635,6 +12186,7 @@
- 	-rm -f ./$(DEPDIR)/io_uring_register.Po
- 	-rm -f ./$(DEPDIR)/io_uring_setup.Po
- 	-rm -f ./$(DEPDIR)/ioctl.Po
-+	-rm -f ./$(DEPDIR)/ioctl_block--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/ioctl_block.Po
- 	-rm -f ./$(DEPDIR)/ioctl_dm-v.Po
- 	-rm -f ./$(DEPDIR)/ioctl_dm.Po
-@@ -11710,6 +12262,7 @@
- 	-rm -f ./$(DEPDIR)/ioctl_watchdog.Po
- 	-rm -f ./$(DEPDIR)/ioperm.Po
- 	-rm -f ./$(DEPDIR)/iopl.Po
-+	-rm -f ./$(DEPDIR)/ioprio--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/ioprio-Xabbrev.Po
- 	-rm -f ./$(DEPDIR)/ioprio-Xraw.Po
- 	-rm -f ./$(DEPDIR)/ioprio-Xverbose.Po
-@@ -11733,6 +12286,7 @@
- 	-rm -f ./$(DEPDIR)/ipc_shm-Xverbose.Po
- 	-rm -f ./$(DEPDIR)/ipc_shm.Po
- 	-rm -f ./$(DEPDIR)/is_linux_mips_n64.Po
-+	-rm -f ./$(DEPDIR)/kcmp-y--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/kcmp-y.Po
- 	-rm -f ./$(DEPDIR)/kcmp.Po
- 	-rm -f ./$(DEPDIR)/kern_features.Po
-@@ -11746,6 +12300,7 @@
- 	-rm -f ./$(DEPDIR)/keyctl-Xraw.Po
- 	-rm -f ./$(DEPDIR)/keyctl-Xverbose.Po
- 	-rm -f ./$(DEPDIR)/keyctl.Po
-+	-rm -f ./$(DEPDIR)/kill--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/kill.Po
- 	-rm -f ./$(DEPDIR)/kill_child.Po
- 	-rm -f ./$(DEPDIR)/ksysent.Po
-@@ -11783,6 +12338,7 @@
- 	-rm -f ./$(DEPDIR)/libtests_a-test_printstrn.Po
- 	-rm -f ./$(DEPDIR)/libtests_a-test_ucopy.Po
- 	-rm -f ./$(DEPDIR)/libtests_a-tprintf.Po
-+	-rm -f ./$(DEPDIR)/libtests_a-xmalloc_for_tests.Po
- 	-rm -f ./$(DEPDIR)/link.Po
- 	-rm -f ./$(DEPDIR)/linkat.Po
- 	-rm -f ./$(DEPDIR)/list_sigaction_signum.Po
-@@ -11805,6 +12361,7 @@
- 	-rm -f ./$(DEPDIR)/memfd_create-Xraw.Po
- 	-rm -f ./$(DEPDIR)/memfd_create-Xverbose.Po
- 	-rm -f ./$(DEPDIR)/memfd_create.Po
-+	-rm -f ./$(DEPDIR)/migrate_pages--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/migrate_pages.Po
- 	-rm -f ./$(DEPDIR)/mincore.Po
- 	-rm -f ./$(DEPDIR)/mkdir.Po
-@@ -11833,6 +12390,7 @@
- 	-rm -f ./$(DEPDIR)/mount.Po
- 	-rm -f ./$(DEPDIR)/move_mount-P.Po
- 	-rm -f ./$(DEPDIR)/move_mount.Po
-+	-rm -f ./$(DEPDIR)/move_pages--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/move_pages-Xabbrev.Po
- 	-rm -f ./$(DEPDIR)/move_pages-Xraw.Po
- 	-rm -f ./$(DEPDIR)/move_pages-Xverbose.Po
-@@ -11856,6 +12414,7 @@
- 	-rm -f ./$(DEPDIR)/net-packet_mreq-Xraw.Po
- 	-rm -f ./$(DEPDIR)/net-packet_mreq-Xverbose.Po
- 	-rm -f ./$(DEPDIR)/net-packet_mreq.Po
-+	-rm -f ./$(DEPDIR)/net-sockaddr--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/net-sockaddr.Po
- 	-rm -f ./$(DEPDIR)/net-tpacket_req.Po
- 	-rm -f ./$(DEPDIR)/net-tpacket_stats-success.Po
-@@ -11865,6 +12424,7 @@
- 	-rm -f ./$(DEPDIR)/net-yy-inet6.Po
- 	-rm -f ./$(DEPDIR)/net-yy-netlink.Po
- 	-rm -f ./$(DEPDIR)/net-yy-unix.Po
-+	-rm -f ./$(DEPDIR)/netlink_audit--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/netlink_audit.Po
- 	-rm -f ./$(DEPDIR)/netlink_crypto.Po
- 	-rm -f ./$(DEPDIR)/netlink_generic.Po
-@@ -11969,11 +12529,14 @@
- 	-rm -f ./$(DEPDIR)/pidfd_open--decode-fd-path.Po
- 	-rm -f ./$(DEPDIR)/pidfd_open--decode-fd-pidfd.Po
- 	-rm -f ./$(DEPDIR)/pidfd_open--decode-fd-socket.Po
-+	-rm -f ./$(DEPDIR)/pidfd_open--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/pidfd_open-P.Po
- 	-rm -f ./$(DEPDIR)/pidfd_open-y.Po
- 	-rm -f ./$(DEPDIR)/pidfd_open-yy.Po
- 	-rm -f ./$(DEPDIR)/pidfd_open.Po
-+	-rm -f ./$(DEPDIR)/pidfd_send_signal--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/pidfd_send_signal.Po
-+	-rm -f ./$(DEPDIR)/pidns-cache.Po
- 	-rm -f ./$(DEPDIR)/pipe.Po
- 	-rm -f ./$(DEPDIR)/pipe2.Po
- 	-rm -f ./$(DEPDIR)/pkey_alloc.Po
-@@ -12011,8 +12574,11 @@
- 	-rm -f ./$(DEPDIR)/printstrn-umoven-peekdata.Po
- 	-rm -f ./$(DEPDIR)/printstrn-umoven-undumpable.Po
- 	-rm -f ./$(DEPDIR)/printstrn-umoven.Po
-+	-rm -f ./$(DEPDIR)/prlimit64--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/prlimit64.Po
-+	-rm -f ./$(DEPDIR)/process_vm_readv--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/process_vm_readv.Po
-+	-rm -f ./$(DEPDIR)/process_vm_writev--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/process_vm_writev.Po
- 	-rm -f ./$(DEPDIR)/pselect6.Po
- 	-rm -f ./$(DEPDIR)/ptrace.Po
-@@ -12061,10 +12627,12 @@
- 	-rm -f ./$(DEPDIR)/rt_sigaction.Po
- 	-rm -f ./$(DEPDIR)/rt_sigpending.Po
- 	-rm -f ./$(DEPDIR)/rt_sigprocmask.Po
-+	-rm -f ./$(DEPDIR)/rt_sigqueueinfo--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/rt_sigqueueinfo.Po
- 	-rm -f ./$(DEPDIR)/rt_sigreturn.Po
- 	-rm -f ./$(DEPDIR)/rt_sigsuspend.Po
- 	-rm -f ./$(DEPDIR)/rt_sigtimedwait.Po
-+	-rm -f ./$(DEPDIR)/rt_tgsigqueueinfo--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/rt_tgsigqueueinfo.Po
- 	-rm -f ./$(DEPDIR)/run_expect_termsig.Po
- 	-rm -f ./$(DEPDIR)/s390_guarded_storage-v.Po
-@@ -12075,9 +12643,13 @@
- 	-rm -f ./$(DEPDIR)/s390_sthyi.Po
- 	-rm -f ./$(DEPDIR)/sched_get_priority_mxx.Po
- 	-rm -f ./$(DEPDIR)/sched_rr_get_interval.Po
-+	-rm -f ./$(DEPDIR)/sched_xetaffinity--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/sched_xetaffinity.Po
-+	-rm -f ./$(DEPDIR)/sched_xetattr--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/sched_xetattr.Po
-+	-rm -f ./$(DEPDIR)/sched_xetparam--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/sched_xetparam.Po
-+	-rm -f ./$(DEPDIR)/sched_xetscheduler--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/sched_xetscheduler.Po
- 	-rm -f ./$(DEPDIR)/sched_yield.Po
- 	-rm -f ./$(DEPDIR)/scm_rights.Po
-@@ -12131,6 +12703,7 @@
- 	-rm -f ./$(DEPDIR)/sigaltstack.Po
- 	-rm -f ./$(DEPDIR)/siginfo.Po
- 	-rm -f ./$(DEPDIR)/signal.Po
-+	-rm -f ./$(DEPDIR)/signal_receive--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/signal_receive.Po
- 	-rm -f ./$(DEPDIR)/signalfd4.Po
- 	-rm -f ./$(DEPDIR)/sigpending.Po
-@@ -12140,6 +12713,7 @@
- 	-rm -f ./$(DEPDIR)/sleep.Po
- 	-rm -f ./$(DEPDIR)/so_error.Po
- 	-rm -f ./$(DEPDIR)/so_linger.Po
-+	-rm -f ./$(DEPDIR)/so_peercred--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/so_peercred-Xabbrev.Po
- 	-rm -f ./$(DEPDIR)/so_peercred-Xraw.Po
- 	-rm -f ./$(DEPDIR)/so_peercred-Xverbose.Po
-@@ -12199,6 +12773,7 @@
- 	-rm -f ./$(DEPDIR)/syslog-success.Po
- 	-rm -f ./$(DEPDIR)/syslog.Po
- 	-rm -f ./$(DEPDIR)/tee.Po
-+	-rm -f ./$(DEPDIR)/tgkill--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/tgkill.Po
- 	-rm -f ./$(DEPDIR)/threads-execve--quiet-thread-execve.Po
- 	-rm -f ./$(DEPDIR)/threads-execve-q.Po
-@@ -12211,6 +12786,7 @@
- 	-rm -f ./$(DEPDIR)/timerfd_xettime.Po
- 	-rm -f ./$(DEPDIR)/times-fail.Po
- 	-rm -f ./$(DEPDIR)/times.Po
-+	-rm -f ./$(DEPDIR)/tkill--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/tkill.Po
- 	-rm -f ./$(DEPDIR)/tracer_ppid_pgid_sid.Po
- 	-rm -f ./$(DEPDIR)/truncate.Po
-@@ -12252,10 +12828,13 @@
- 	-rm -f ./$(DEPDIR)/waitpid.Po
- 	-rm -f ./$(DEPDIR)/xattr-strings.Po
- 	-rm -f ./$(DEPDIR)/xattr.Po
-+	-rm -f ./$(DEPDIR)/xet_robust_list--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/xet_robust_list.Po
- 	-rm -f ./$(DEPDIR)/xet_thread_area_x86.Po
- 	-rm -f ./$(DEPDIR)/xetitimer.Po
-+	-rm -f ./$(DEPDIR)/xetpgid--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/xetpgid.Po
-+	-rm -f ./$(DEPDIR)/xetpriority--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/xetpriority.Po
- 	-rm -f ./$(DEPDIR)/xettimeofday.Po
- 	-rm -f ./$(DEPDIR)/zeroargc.Po
-@@ -12409,7 +12988,9 @@
- 	-rm -f ./$(DEPDIR)/fchown.Po
- 	-rm -f ./$(DEPDIR)/fchown32.Po
- 	-rm -f ./$(DEPDIR)/fchownat.Po
-+	-rm -f ./$(DEPDIR)/fcntl--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/fcntl.Po
-+	-rm -f ./$(DEPDIR)/fcntl64--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/fcntl64.Po
- 	-rm -f ./$(DEPDIR)/fdatasync.Po
- 	-rm -f ./$(DEPDIR)/fflush.Po
-@@ -12420,6 +13001,7 @@
- 	-rm -f ./$(DEPDIR)/filter_seccomp-perf.Po
- 	-rm -f ./$(DEPDIR)/finit_module.Po
- 	-rm -f ./$(DEPDIR)/flock.Po
-+	-rm -f ./$(DEPDIR)/fork--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/fork-f.Po
- 	-rm -f ./$(DEPDIR)/fsconfig-P.Po
- 	-rm -f ./$(DEPDIR)/fsconfig.Po
-@@ -12461,7 +13043,9 @@
- 	-rm -f ./$(DEPDIR)/getgroups.Po
- 	-rm -f ./$(DEPDIR)/getgroups32.Po
- 	-rm -f ./$(DEPDIR)/getpeername.Po
-+	-rm -f ./$(DEPDIR)/getpgrp--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/getpgrp.Po
-+	-rm -f ./$(DEPDIR)/getpid--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/getpid.Po
- 	-rm -f ./$(DEPDIR)/getppid.Po
- 	-rm -f ./$(DEPDIR)/getrandom.Po
-@@ -12471,8 +13055,10 @@
- 	-rm -f ./$(DEPDIR)/getresuid32.Po
- 	-rm -f ./$(DEPDIR)/getrlimit.Po
- 	-rm -f ./$(DEPDIR)/getrusage.Po
-+	-rm -f ./$(DEPDIR)/getsid--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/getsid.Po
- 	-rm -f ./$(DEPDIR)/getsockname.Po
-+	-rm -f ./$(DEPDIR)/gettid--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/gettid.Po
- 	-rm -f ./$(DEPDIR)/getuid.Po
- 	-rm -f ./$(DEPDIR)/getuid32.Po
-@@ -12493,6 +13079,7 @@
- 	-rm -f ./$(DEPDIR)/io_uring_register.Po
- 	-rm -f ./$(DEPDIR)/io_uring_setup.Po
- 	-rm -f ./$(DEPDIR)/ioctl.Po
-+	-rm -f ./$(DEPDIR)/ioctl_block--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/ioctl_block.Po
- 	-rm -f ./$(DEPDIR)/ioctl_dm-v.Po
- 	-rm -f ./$(DEPDIR)/ioctl_dm.Po
-@@ -12568,6 +13155,7 @@
- 	-rm -f ./$(DEPDIR)/ioctl_watchdog.Po
- 	-rm -f ./$(DEPDIR)/ioperm.Po
- 	-rm -f ./$(DEPDIR)/iopl.Po
-+	-rm -f ./$(DEPDIR)/ioprio--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/ioprio-Xabbrev.Po
- 	-rm -f ./$(DEPDIR)/ioprio-Xraw.Po
- 	-rm -f ./$(DEPDIR)/ioprio-Xverbose.Po
-@@ -12591,6 +13179,7 @@
- 	-rm -f ./$(DEPDIR)/ipc_shm-Xverbose.Po
- 	-rm -f ./$(DEPDIR)/ipc_shm.Po
- 	-rm -f ./$(DEPDIR)/is_linux_mips_n64.Po
-+	-rm -f ./$(DEPDIR)/kcmp-y--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/kcmp-y.Po
- 	-rm -f ./$(DEPDIR)/kcmp.Po
- 	-rm -f ./$(DEPDIR)/kern_features.Po
-@@ -12604,6 +13193,7 @@
- 	-rm -f ./$(DEPDIR)/keyctl-Xraw.Po
- 	-rm -f ./$(DEPDIR)/keyctl-Xverbose.Po
- 	-rm -f ./$(DEPDIR)/keyctl.Po
-+	-rm -f ./$(DEPDIR)/kill--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/kill.Po
- 	-rm -f ./$(DEPDIR)/kill_child.Po
- 	-rm -f ./$(DEPDIR)/ksysent.Po
-@@ -12641,6 +13231,7 @@
- 	-rm -f ./$(DEPDIR)/libtests_a-test_printstrn.Po
- 	-rm -f ./$(DEPDIR)/libtests_a-test_ucopy.Po
- 	-rm -f ./$(DEPDIR)/libtests_a-tprintf.Po
-+	-rm -f ./$(DEPDIR)/libtests_a-xmalloc_for_tests.Po
- 	-rm -f ./$(DEPDIR)/link.Po
- 	-rm -f ./$(DEPDIR)/linkat.Po
- 	-rm -f ./$(DEPDIR)/list_sigaction_signum.Po
-@@ -12663,6 +13254,7 @@
- 	-rm -f ./$(DEPDIR)/memfd_create-Xraw.Po
- 	-rm -f ./$(DEPDIR)/memfd_create-Xverbose.Po
- 	-rm -f ./$(DEPDIR)/memfd_create.Po
-+	-rm -f ./$(DEPDIR)/migrate_pages--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/migrate_pages.Po
- 	-rm -f ./$(DEPDIR)/mincore.Po
- 	-rm -f ./$(DEPDIR)/mkdir.Po
-@@ -12691,6 +13283,7 @@
- 	-rm -f ./$(DEPDIR)/mount.Po
- 	-rm -f ./$(DEPDIR)/move_mount-P.Po
- 	-rm -f ./$(DEPDIR)/move_mount.Po
-+	-rm -f ./$(DEPDIR)/move_pages--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/move_pages-Xabbrev.Po
- 	-rm -f ./$(DEPDIR)/move_pages-Xraw.Po
- 	-rm -f ./$(DEPDIR)/move_pages-Xverbose.Po
-@@ -12714,6 +13307,7 @@
- 	-rm -f ./$(DEPDIR)/net-packet_mreq-Xraw.Po
- 	-rm -f ./$(DEPDIR)/net-packet_mreq-Xverbose.Po
- 	-rm -f ./$(DEPDIR)/net-packet_mreq.Po
-+	-rm -f ./$(DEPDIR)/net-sockaddr--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/net-sockaddr.Po
- 	-rm -f ./$(DEPDIR)/net-tpacket_req.Po
- 	-rm -f ./$(DEPDIR)/net-tpacket_stats-success.Po
-@@ -12723,6 +13317,7 @@
- 	-rm -f ./$(DEPDIR)/net-yy-inet6.Po
- 	-rm -f ./$(DEPDIR)/net-yy-netlink.Po
- 	-rm -f ./$(DEPDIR)/net-yy-unix.Po
-+	-rm -f ./$(DEPDIR)/netlink_audit--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/netlink_audit.Po
- 	-rm -f ./$(DEPDIR)/netlink_crypto.Po
- 	-rm -f ./$(DEPDIR)/netlink_generic.Po
-@@ -12827,11 +13422,14 @@
- 	-rm -f ./$(DEPDIR)/pidfd_open--decode-fd-path.Po
- 	-rm -f ./$(DEPDIR)/pidfd_open--decode-fd-pidfd.Po
- 	-rm -f ./$(DEPDIR)/pidfd_open--decode-fd-socket.Po
-+	-rm -f ./$(DEPDIR)/pidfd_open--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/pidfd_open-P.Po
- 	-rm -f ./$(DEPDIR)/pidfd_open-y.Po
- 	-rm -f ./$(DEPDIR)/pidfd_open-yy.Po
- 	-rm -f ./$(DEPDIR)/pidfd_open.Po
-+	-rm -f ./$(DEPDIR)/pidfd_send_signal--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/pidfd_send_signal.Po
-+	-rm -f ./$(DEPDIR)/pidns-cache.Po
- 	-rm -f ./$(DEPDIR)/pipe.Po
- 	-rm -f ./$(DEPDIR)/pipe2.Po
- 	-rm -f ./$(DEPDIR)/pkey_alloc.Po
-@@ -12869,8 +13467,11 @@
- 	-rm -f ./$(DEPDIR)/printstrn-umoven-peekdata.Po
- 	-rm -f ./$(DEPDIR)/printstrn-umoven-undumpable.Po
- 	-rm -f ./$(DEPDIR)/printstrn-umoven.Po
-+	-rm -f ./$(DEPDIR)/prlimit64--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/prlimit64.Po
-+	-rm -f ./$(DEPDIR)/process_vm_readv--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/process_vm_readv.Po
-+	-rm -f ./$(DEPDIR)/process_vm_writev--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/process_vm_writev.Po
- 	-rm -f ./$(DEPDIR)/pselect6.Po
- 	-rm -f ./$(DEPDIR)/ptrace.Po
-@@ -12919,10 +13520,12 @@
- 	-rm -f ./$(DEPDIR)/rt_sigaction.Po
- 	-rm -f ./$(DEPDIR)/rt_sigpending.Po
- 	-rm -f ./$(DEPDIR)/rt_sigprocmask.Po
-+	-rm -f ./$(DEPDIR)/rt_sigqueueinfo--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/rt_sigqueueinfo.Po
- 	-rm -f ./$(DEPDIR)/rt_sigreturn.Po
- 	-rm -f ./$(DEPDIR)/rt_sigsuspend.Po
- 	-rm -f ./$(DEPDIR)/rt_sigtimedwait.Po
-+	-rm -f ./$(DEPDIR)/rt_tgsigqueueinfo--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/rt_tgsigqueueinfo.Po
- 	-rm -f ./$(DEPDIR)/run_expect_termsig.Po
- 	-rm -f ./$(DEPDIR)/s390_guarded_storage-v.Po
-@@ -12933,9 +13536,13 @@
- 	-rm -f ./$(DEPDIR)/s390_sthyi.Po
- 	-rm -f ./$(DEPDIR)/sched_get_priority_mxx.Po
- 	-rm -f ./$(DEPDIR)/sched_rr_get_interval.Po
-+	-rm -f ./$(DEPDIR)/sched_xetaffinity--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/sched_xetaffinity.Po
-+	-rm -f ./$(DEPDIR)/sched_xetattr--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/sched_xetattr.Po
-+	-rm -f ./$(DEPDIR)/sched_xetparam--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/sched_xetparam.Po
-+	-rm -f ./$(DEPDIR)/sched_xetscheduler--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/sched_xetscheduler.Po
- 	-rm -f ./$(DEPDIR)/sched_yield.Po
- 	-rm -f ./$(DEPDIR)/scm_rights.Po
-@@ -12989,6 +13596,7 @@
- 	-rm -f ./$(DEPDIR)/sigaltstack.Po
- 	-rm -f ./$(DEPDIR)/siginfo.Po
- 	-rm -f ./$(DEPDIR)/signal.Po
-+	-rm -f ./$(DEPDIR)/signal_receive--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/signal_receive.Po
- 	-rm -f ./$(DEPDIR)/signalfd4.Po
- 	-rm -f ./$(DEPDIR)/sigpending.Po
-@@ -12998,6 +13606,7 @@
- 	-rm -f ./$(DEPDIR)/sleep.Po
- 	-rm -f ./$(DEPDIR)/so_error.Po
- 	-rm -f ./$(DEPDIR)/so_linger.Po
-+	-rm -f ./$(DEPDIR)/so_peercred--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/so_peercred-Xabbrev.Po
- 	-rm -f ./$(DEPDIR)/so_peercred-Xraw.Po
- 	-rm -f ./$(DEPDIR)/so_peercred-Xverbose.Po
-@@ -13057,6 +13666,7 @@
- 	-rm -f ./$(DEPDIR)/syslog-success.Po
- 	-rm -f ./$(DEPDIR)/syslog.Po
- 	-rm -f ./$(DEPDIR)/tee.Po
-+	-rm -f ./$(DEPDIR)/tgkill--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/tgkill.Po
- 	-rm -f ./$(DEPDIR)/threads-execve--quiet-thread-execve.Po
- 	-rm -f ./$(DEPDIR)/threads-execve-q.Po
-@@ -13069,6 +13679,7 @@
- 	-rm -f ./$(DEPDIR)/timerfd_xettime.Po
- 	-rm -f ./$(DEPDIR)/times-fail.Po
- 	-rm -f ./$(DEPDIR)/times.Po
-+	-rm -f ./$(DEPDIR)/tkill--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/tkill.Po
- 	-rm -f ./$(DEPDIR)/tracer_ppid_pgid_sid.Po
- 	-rm -f ./$(DEPDIR)/truncate.Po
-@@ -13110,14 +13721,26 @@
- 	-rm -f ./$(DEPDIR)/waitpid.Po
- 	-rm -f ./$(DEPDIR)/xattr-strings.Po
- 	-rm -f ./$(DEPDIR)/xattr.Po
-+	-rm -f ./$(DEPDIR)/xet_robust_list--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/xet_robust_list.Po
- 	-rm -f ./$(DEPDIR)/xet_thread_area_x86.Po
- 	-rm -f ./$(DEPDIR)/xetitimer.Po
-+	-rm -f ./$(DEPDIR)/xetpgid--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/xetpgid.Po
-+	-rm -f ./$(DEPDIR)/xetpriority--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/xetpriority.Po
- 	-rm -f ./$(DEPDIR)/xettimeofday.Po
- 	-rm -f ./$(DEPDIR)/zeroargc.Po
- 	-rm -f Makefile
-+distclean-am: clean-am distclean-compile distclean-generic \
-+	distclean-tags
-+
-+dvi: dvi-am
-+
-+dvi-am:
-+
-+html: html-am
-+	-rm -f Makefile
- maintainer-clean-am: distclean-am maintainer-clean-generic
- 
- mostlyclean: mostlyclean-am
-@@ -13407,9 +14030,15 @@
- $(srcdir)/fcntl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/fcntl--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/fcntl64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/fcntl64--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/fdatasync.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-@@ -13569,9 +14198,15 @@
- $(srcdir)/getpgrp.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/getpgrp--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/getpid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/getpid--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/getppid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-@@ -13599,6 +14234,9 @@
- $(srcdir)/getsid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/getsid--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/getsockname.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-@@ -13878,6 +14516,9 @@
- $(srcdir)/ioprio.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/ioprio--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/ioprio-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-@@ -13944,6 +14585,9 @@
- $(srcdir)/kcmp-y.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/kcmp-y--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/kern_features.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-@@ -13980,6 +14624,9 @@
- $(srcdir)/kill.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/kill--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/ksysent.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-@@ -14043,6 +14690,9 @@
- $(srcdir)/migrate_pages.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/migrate_pages--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/mincore.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-@@ -14133,6 +14783,9 @@
- $(srcdir)/move_pages-Xverbose.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/move_pages--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/mq.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-@@ -14190,6 +14843,9 @@
- $(srcdir)/net-sockaddr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/net-sockaddr--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/net-tpacket_req.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-@@ -14499,9 +15155,15 @@
- $(srcdir)/pidfd_open-yy.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/pidfd_open--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/pidfd_send_signal.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/pidfd_send_signal--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/pipe2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-@@ -14568,12 +15230,21 @@
- $(srcdir)/prlimit64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/prlimit64--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/process_vm_readv.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/process_vm_readv--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/process_vm_writev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/process_vm_writev--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/pselect6.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-@@ -14682,6 +15353,9 @@
- $(srcdir)/rt_sigqueueinfo.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/rt_sigqueueinfo--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/rt_sigreturn.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-@@ -14694,6 +15368,9 @@
- $(srcdir)/rt_tgsigqueueinfo.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/rt_tgsigqueueinfo--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/s390_guarded_storage.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-@@ -14724,15 +15401,27 @@
- $(srcdir)/sched_xetaffinity.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/sched_xetaffinity--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/sched_xetattr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/sched_xetattr--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/sched_xetparam.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/sched_xetparam--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/sched_xetscheduler.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/sched_xetscheduler--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/sched_yield.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-@@ -14871,6 +15560,9 @@
- $(srcdir)/signal_receive.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/signal_receive--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/signalfd4.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-@@ -14904,6 +15596,9 @@
- $(srcdir)/so_peercred-Xverbose.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/so_peercred--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/sock_filter-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-@@ -15120,6 +15815,9 @@
- $(srcdir)/tgkill.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/tgkill--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/threads-execve--quiet-thread-execve.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-@@ -15153,6 +15851,9 @@
- $(srcdir)/tkill.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/tkill--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/trace_clock.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-@@ -15201,6 +15902,9 @@
- $(srcdir)/trace_statfs_like.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/trie_test.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/truncate.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-@@ -15291,15 +15995,24 @@
- $(srcdir)/xet_robust_list.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/xet_robust_list--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/xetitimer.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
- $(srcdir)/xetpgid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/xetpgid--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/xetpriority.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/xetpriority--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/xettimeofday.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-Index: strace-5.7/tests-m32/Makefile.in
-===================================================================
---- strace-5.7.orig/tests-m32/Makefile.in	2020-09-09 19:52:30.741668769 +0200
-+++ strace-5.7/tests-m32/Makefile.in	2020-09-09 20:23:32.889940661 +0200
-@@ -121,10 +121,17 @@
- 	clone3-success-Xabbrev$(EXEEXT) clone3-success-Xraw$(EXEEXT) \
- 	clone3-success-Xverbose$(EXEEXT) count-f$(EXEEXT) \
- 	delay$(EXEEXT) execve-v$(EXEEXT) execveat-v$(EXEEXT) \
-+	fcntl--pidns-translation$(EXEEXT) \
-+	fcntl64--pidns-translation$(EXEEXT) \
- 	filter_seccomp-flag$(EXEEXT) filter_seccomp-perf$(EXEEXT) \
--	filter-unavailable$(EXEEXT) fork-f$(EXEEXT) fsync-y$(EXEEXT) \
--	get_process_reaper$(EXEEXT) getpid$(EXEEXT) getppid$(EXEEXT) \
--	gettid$(EXEEXT) inject-nf$(EXEEXT) int_0x80$(EXEEXT) \
-+	filter-unavailable$(EXEEXT) fork-f$(EXEEXT) \
-+	fork--pidns-translation$(EXEEXT) fsync-y$(EXEEXT) \
-+	get_process_reaper$(EXEEXT) \
-+	getpgrp--pidns-translation$(EXEEXT) getpid$(EXEEXT) \
-+	getpid--pidns-translation$(EXEEXT) getppid$(EXEEXT) \
-+	getsid--pidns-translation$(EXEEXT) gettid$(EXEEXT) \
-+	gettid--pidns-translation$(EXEEXT) inject-nf$(EXEEXT) \
-+	int_0x80$(EXEEXT) ioctl_block--pidns-translation$(EXEEXT) \
- 	ioctl_dm-v$(EXEEXT) ioctl_evdev-success$(EXEEXT) \
- 	ioctl_evdev-success-Xabbrev$(EXEEXT) \
- 	ioctl_evdev-success-Xraw$(EXEEXT) \
-@@ -151,43 +158,68 @@
- 	ioctl_v4l2-success-v-Xabbrev$(EXEEXT) \
- 	ioctl_v4l2-success-v-Xraw$(EXEEXT) \
- 	ioctl_v4l2-success-v-Xverbose$(EXEEXT) \
--	is_linux_mips_n64$(EXEEXT) kill_child$(EXEEXT) \
--	ksysent$(EXEEXT) list_sigaction_signum$(EXEEXT) \
--	localtime$(EXEEXT) looping_threads$(EXEEXT) \
--	mmsg-silent$(EXEEXT) mmsg_name-v$(EXEEXT) \
-+	ioprio--pidns-translation$(EXEEXT) is_linux_mips_n64$(EXEEXT) \
-+	kcmp-y--pidns-translation$(EXEEXT) kill_child$(EXEEXT) \
-+	kill--pidns-translation$(EXEEXT) ksysent$(EXEEXT) \
-+	list_sigaction_signum$(EXEEXT) localtime$(EXEEXT) \
-+	looping_threads$(EXEEXT) \
-+	migrate_pages--pidns-translation$(EXEEXT) mmsg-silent$(EXEEXT) \
-+	mmsg_name-v$(EXEEXT) move_pages--pidns-translation$(EXEEXT) \
- 	msg_control-v$(EXEEXT) net-accept-connect$(EXEEXT) \
-+	net-sockaddr--pidns-translation$(EXEEXT) \
- 	net-tpacket_stats-success$(EXEEXT) nlattr_ifla_xdp-y$(EXEEXT) \
-+	netlink_audit--pidns-translation$(EXEEXT) \
- 	netlink_inet_diag$(EXEEXT) netlink_netlink_diag$(EXEEXT) \
- 	netlink_unix_diag$(EXEEXT) nsyscalls$(EXEEXT) \
- 	nsyscalls-d$(EXEEXT) oldselect-P$(EXEEXT) \
- 	oldselect-efault-P$(EXEEXT) orphaned_process_group$(EXEEXT) \
- 	pc$(EXEEXT) perf_event_open_nonverbose$(EXEEXT) \
--	perf_event_open_unabbrev$(EXEEXT) poll-P$(EXEEXT) \
--	ppoll-P$(EXEEXT) ppoll-v$(EXEEXT) \
-+	perf_event_open_unabbrev$(EXEEXT) \
-+	pidfd_open--pidns-translation$(EXEEXT) \
-+	pidfd_send_signal--pidns-translation$(EXEEXT) \
-+	pidns-cache$(EXEEXT) poll-P$(EXEEXT) ppoll-P$(EXEEXT) \
-+	ppoll-v$(EXEEXT) prlimit64--pidns-translation$(EXEEXT) \
- 	prctl-seccomp-filter-v$(EXEEXT) prctl-seccomp-strict$(EXEEXT) \
- 	prctl-spec-inject$(EXEEXT) print_maxfd$(EXEEXT) \
--	print_ppid_tracerpid$(EXEEXT) qual_fault$(EXEEXT) \
--	qual_inject-error-signal$(EXEEXT) qual_inject-retval$(EXEEXT) \
--	qual_inject-signal$(EXEEXT) qual_signal$(EXEEXT) \
--	quotactl-success$(EXEEXT) quotactl-success-v$(EXEEXT) \
--	quotactl-v$(EXEEXT) quotactl-xfs-success$(EXEEXT) \
--	quotactl-xfs-success-v$(EXEEXT) quotactl-xfs-v$(EXEEXT) \
--	redirect-fds$(EXEEXT) restart_syscall$(EXEEXT) \
--	run_expect_termsig$(EXEEXT) scm_rights$(EXEEXT) \
--	seccomp-filter-v$(EXEEXT) seccomp-strict$(EXEEXT) \
--	select-P$(EXEEXT) set_ptracer_any$(EXEEXT) \
--	set_sigblock$(EXEEXT) set_sigign$(EXEEXT) \
--	setpgrp-exec$(EXEEXT) signal_receive$(EXEEXT) sleep$(EXEEXT) \
-+	print_ppid_tracerpid$(EXEEXT) \
-+	process_vm_readv--pidns-translation$(EXEEXT) \
-+	process_vm_writev--pidns-translation$(EXEEXT) \
-+	qual_fault$(EXEEXT) qual_inject-error-signal$(EXEEXT) \
-+	qual_inject-retval$(EXEEXT) qual_inject-signal$(EXEEXT) \
-+	qual_signal$(EXEEXT) quotactl-success$(EXEEXT) \
-+	quotactl-success-v$(EXEEXT) quotactl-v$(EXEEXT) \
-+	quotactl-xfs-success$(EXEEXT) quotactl-xfs-success-v$(EXEEXT) \
-+	quotactl-xfs-v$(EXEEXT) redirect-fds$(EXEEXT) \
-+	restart_syscall$(EXEEXT) \
-+	rt_sigqueueinfo--pidns-translation$(EXEEXT) \
-+	rt_tgsigqueueinfo--pidns-translation$(EXEEXT) \
-+	run_expect_termsig$(EXEEXT) \
-+	sched_xetaffinity--pidns-translation$(EXEEXT) \
-+	sched_xetattr--pidns-translation$(EXEEXT) \
-+	sched_xetparam--pidns-translation$(EXEEXT) \
-+	sched_xetscheduler--pidns-translation$(EXEEXT) \
-+	scm_rights$(EXEEXT) seccomp-filter-v$(EXEEXT) \
-+	seccomp-strict$(EXEEXT) select-P$(EXEEXT) \
-+	set_ptracer_any$(EXEEXT) set_sigblock$(EXEEXT) \
-+	set_sigign$(EXEEXT) setpgrp-exec$(EXEEXT) \
-+	signal_receive$(EXEEXT) \
-+	signal_receive--pidns-translation$(EXEEXT) sleep$(EXEEXT) \
- 	stack-fcall$(EXEEXT) stack-fcall-attach$(EXEEXT) \
- 	stack-fcall-mangled$(EXEEXT) status-none-threads$(EXEEXT) \
--	status-unfinished-threads$(EXEEXT) syslog-success$(EXEEXT) \
-+	status-unfinished-threads$(EXEEXT) \
-+	so_peercred--pidns-translation$(EXEEXT) \
-+	syslog-success$(EXEEXT) tgkill--pidns-translation$(EXEEXT) \
- 	threads-execve$(EXEEXT) \
- 	threads-execve--quiet-thread-execve$(EXEEXT) \
- 	threads-execve-q$(EXEEXT) threads-execve-qq$(EXEEXT) \
--	threads-execve-qqq$(EXEEXT) tracer_ppid_pgid_sid$(EXEEXT) \
-+	threads-execve-qqq$(EXEEXT) tkill--pidns-translation$(EXEEXT) \
-+	tracer_ppid_pgid_sid$(EXEEXT) trie_test$(EXEEXT) \
- 	unblock_reset_raise$(EXEEXT) unix-pair-send-recv$(EXEEXT) \
- 	unix-pair-sendto-recvfrom$(EXEEXT) vfork-f$(EXEEXT) \
--	wait4-v$(EXEEXT) waitid-v$(EXEEXT) zeroargc$(EXEEXT)
-+	wait4-v$(EXEEXT) waitid-v$(EXEEXT) \
-+	xetpgid--pidns-translation$(EXEEXT) \
-+	xetpriority--pidns-translation$(EXEEXT) \
-+	xet_robust_list--pidns-translation$(EXEEXT) zeroargc$(EXEEXT)
- @ENABLE_STACKTRACE_TRUE@@USE_DEMANGLE_TRUE@am__append_1 = strace-k-demangle.test
- TESTS = $(GEN_TESTS) $(DECODER_TESTS) $(MISC_TESTS) $(am__EXEEXT_2)
- subdir = tests-m32
-@@ -545,7 +577,8 @@
- 	libtests_a-tail_alloc.$(OBJEXT) \
- 	libtests_a-test_printpath.$(OBJEXT) \
- 	libtests_a-test_printstrn.$(OBJEXT) \
--	libtests_a-test_ucopy.$(OBJEXT) libtests_a-tprintf.$(OBJEXT)
-+	libtests_a-test_ucopy.$(OBJEXT) libtests_a-tprintf.$(OBJEXT) \
-+	libtests_a-xmalloc_for_tests.$(OBJEXT)
- libtests_a_OBJECTS = $(am_libtests_a_OBJECTS)
- _newselect_SOURCES = _newselect.c
- _newselect_OBJECTS = _newselect.$(OBJEXT)
-@@ -973,10 +1006,19 @@
- fcntl_OBJECTS = fcntl.$(OBJEXT)
- fcntl_LDADD = $(LDADD)
- fcntl_DEPENDENCIES = libtests.a
-+fcntl__pidns_translation_SOURCES = fcntl--pidns-translation.c
-+fcntl__pidns_translation_OBJECTS = fcntl--pidns-translation.$(OBJEXT)
-+fcntl__pidns_translation_LDADD = $(LDADD)
-+fcntl__pidns_translation_DEPENDENCIES = libtests.a
- fcntl64_SOURCES = fcntl64.c
- fcntl64_OBJECTS = fcntl64.$(OBJEXT)
- fcntl64_LDADD = $(LDADD)
- fcntl64_DEPENDENCIES = libtests.a
-+fcntl64__pidns_translation_SOURCES = fcntl64--pidns-translation.c
-+fcntl64__pidns_translation_OBJECTS =  \
-+	fcntl64--pidns-translation.$(OBJEXT)
-+fcntl64__pidns_translation_LDADD = $(LDADD)
-+fcntl64__pidns_translation_DEPENDENCIES = libtests.a
- fdatasync_SOURCES = fdatasync.c
- fdatasync_OBJECTS = fdatasync.$(OBJEXT)
- fdatasync_LDADD = $(LDADD)
-@@ -1012,6 +1054,10 @@
- flock_OBJECTS = flock.$(OBJEXT)
- flock_LDADD = $(LDADD)
- flock_DEPENDENCIES = libtests.a
-+fork__pidns_translation_SOURCES = fork--pidns-translation.c
-+fork__pidns_translation_OBJECTS = fork--pidns-translation.$(OBJEXT)
-+fork__pidns_translation_LDADD = $(LDADD)
-+fork__pidns_translation_DEPENDENCIES = libtests.a
- fork_f_SOURCES = fork-f.c
- fork_f_OBJECTS = fork-f.$(OBJEXT)
- fork_f_LDADD = $(LDADD)
-@@ -1180,10 +1226,20 @@
- getpgrp_OBJECTS = getpgrp.$(OBJEXT)
- getpgrp_LDADD = $(LDADD)
- getpgrp_DEPENDENCIES = libtests.a
-+getpgrp__pidns_translation_SOURCES = getpgrp--pidns-translation.c
-+getpgrp__pidns_translation_OBJECTS =  \
-+	getpgrp--pidns-translation.$(OBJEXT)
-+getpgrp__pidns_translation_LDADD = $(LDADD)
-+getpgrp__pidns_translation_DEPENDENCIES = libtests.a
- getpid_SOURCES = getpid.c
- getpid_OBJECTS = getpid.$(OBJEXT)
- getpid_LDADD = $(LDADD)
- getpid_DEPENDENCIES = libtests.a
-+getpid__pidns_translation_SOURCES = getpid--pidns-translation.c
-+getpid__pidns_translation_OBJECTS =  \
-+	getpid--pidns-translation.$(OBJEXT)
-+getpid__pidns_translation_LDADD = $(LDADD)
-+getpid__pidns_translation_DEPENDENCIES = libtests.a
- getppid_SOURCES = getppid.c
- getppid_OBJECTS = getppid.$(OBJEXT)
- getppid_LDADD = $(LDADD)
-@@ -1220,6 +1276,11 @@
- getsid_OBJECTS = getsid.$(OBJEXT)
- getsid_LDADD = $(LDADD)
- getsid_DEPENDENCIES = libtests.a
-+getsid__pidns_translation_SOURCES = getsid--pidns-translation.c
-+getsid__pidns_translation_OBJECTS =  \
-+	getsid--pidns-translation.$(OBJEXT)
-+getsid__pidns_translation_LDADD = $(LDADD)
-+getsid__pidns_translation_DEPENDENCIES = libtests.a
- getsockname_SOURCES = getsockname.c
- getsockname_OBJECTS = getsockname.$(OBJEXT)
- getsockname_LDADD = $(LDADD)
-@@ -1228,6 +1289,11 @@
- gettid_OBJECTS = gettid.$(OBJEXT)
- gettid_LDADD = $(LDADD)
- gettid_DEPENDENCIES = libtests.a
-+gettid__pidns_translation_SOURCES = gettid--pidns-translation.c
-+gettid__pidns_translation_OBJECTS =  \
-+	gettid--pidns-translation.$(OBJEXT)
-+gettid__pidns_translation_LDADD = $(LDADD)
-+gettid__pidns_translation_DEPENDENCIES = libtests.a
- getuid_SOURCES = getuid.c
- getuid_OBJECTS = getuid.$(OBJEXT)
- getuid_LDADD = $(LDADD)
-@@ -1308,6 +1374,12 @@
- ioctl_block_OBJECTS = ioctl_block.$(OBJEXT)
- ioctl_block_LDADD = $(LDADD)
- ioctl_block_DEPENDENCIES = libtests.a
-+ioctl_block__pidns_translation_SOURCES =  \
-+	ioctl_block--pidns-translation.c
-+ioctl_block__pidns_translation_OBJECTS =  \
-+	ioctl_block--pidns-translation.$(OBJEXT)
-+ioctl_block__pidns_translation_LDADD = $(LDADD)
-+ioctl_block__pidns_translation_DEPENDENCIES = libtests.a
- ioctl_dm_SOURCES = ioctl_dm.c
- ioctl_dm_OBJECTS = ioctl_dm.$(OBJEXT)
- ioctl_dm_LDADD = $(LDADD)
-@@ -1628,6 +1700,11 @@
- ioprio_OBJECTS = ioprio.$(OBJEXT)
- ioprio_LDADD = $(LDADD)
- ioprio_DEPENDENCIES = libtests.a
-+ioprio__pidns_translation_SOURCES = ioprio--pidns-translation.c
-+ioprio__pidns_translation_OBJECTS =  \
-+	ioprio--pidns-translation.$(OBJEXT)
-+ioprio__pidns_translation_LDADD = $(LDADD)
-+ioprio__pidns_translation_DEPENDENCIES = libtests.a
- ioprio_Xabbrev_SOURCES = ioprio-Xabbrev.c
- ioprio_Xabbrev_OBJECTS = ioprio-Xabbrev.$(OBJEXT)
- ioprio_Xabbrev_LDADD = $(LDADD)
-@@ -1724,6 +1801,11 @@
- kcmp_y_OBJECTS = kcmp-y.$(OBJEXT)
- kcmp_y_LDADD = $(LDADD)
- kcmp_y_DEPENDENCIES = libtests.a
-+kcmp_y__pidns_translation_SOURCES = kcmp-y--pidns-translation.c
-+kcmp_y__pidns_translation_OBJECTS =  \
-+	kcmp-y--pidns-translation.$(OBJEXT)
-+kcmp_y__pidns_translation_LDADD = $(LDADD)
-+kcmp_y__pidns_translation_DEPENDENCIES = libtests.a
- kern_features_SOURCES = kern_features.c
- kern_features_OBJECTS = kern_features.$(OBJEXT)
- kern_features_LDADD = $(LDADD)
-@@ -1772,6 +1854,10 @@
- kill_OBJECTS = kill.$(OBJEXT)
- kill_LDADD = $(LDADD)
- kill_DEPENDENCIES = libtests.a
-+kill__pidns_translation_SOURCES = kill--pidns-translation.c
-+kill__pidns_translation_OBJECTS = kill--pidns-translation.$(OBJEXT)
-+kill__pidns_translation_LDADD = $(LDADD)
-+kill__pidns_translation_DEPENDENCIES = libtests.a
- kill_child_SOURCES = kill_child.c
- kill_child_OBJECTS = kill_child.$(OBJEXT)
- kill_child_LDADD = $(LDADD)
-@@ -1878,6 +1964,12 @@
- migrate_pages_OBJECTS = migrate_pages.$(OBJEXT)
- migrate_pages_LDADD = $(LDADD)
- migrate_pages_DEPENDENCIES = libtests.a
-+migrate_pages__pidns_translation_SOURCES =  \
-+	migrate_pages--pidns-translation.c
-+migrate_pages__pidns_translation_OBJECTS =  \
-+	migrate_pages--pidns-translation.$(OBJEXT)
-+migrate_pages__pidns_translation_LDADD = $(LDADD)
-+migrate_pages__pidns_translation_DEPENDENCIES = libtests.a
- mincore_SOURCES = mincore.c
- mincore_OBJECTS = mincore.$(OBJEXT)
- mincore_LDADD = $(LDADD)
-@@ -1990,6 +2082,12 @@
- move_pages_OBJECTS = move_pages.$(OBJEXT)
- move_pages_LDADD = $(LDADD)
- move_pages_DEPENDENCIES = libtests.a
-+move_pages__pidns_translation_SOURCES =  \
-+	move_pages--pidns-translation.c
-+move_pages__pidns_translation_OBJECTS =  \
-+	move_pages--pidns-translation.$(OBJEXT)
-+move_pages__pidns_translation_LDADD = $(LDADD)
-+move_pages__pidns_translation_DEPENDENCIES = libtests.a
- move_pages_Xabbrev_SOURCES = move_pages-Xabbrev.c
- move_pages_Xabbrev_OBJECTS = move_pages-Xabbrev.$(OBJEXT)
- move_pages_Xabbrev_LDADD = $(LDADD)
-@@ -2086,6 +2184,12 @@
- net_sockaddr_OBJECTS = net-sockaddr.$(OBJEXT)
- net_sockaddr_LDADD = $(LDADD)
- net_sockaddr_DEPENDENCIES = libtests.a
-+net_sockaddr__pidns_translation_SOURCES =  \
-+	net-sockaddr--pidns-translation.c
-+net_sockaddr__pidns_translation_OBJECTS =  \
-+	net-sockaddr--pidns-translation.$(OBJEXT)
-+net_sockaddr__pidns_translation_LDADD = $(LDADD)
-+net_sockaddr__pidns_translation_DEPENDENCIES = libtests.a
- net_tpacket_req_SOURCES = net-tpacket_req.c
- net_tpacket_req_OBJECTS = net-tpacket_req.$(OBJEXT)
- net_tpacket_req_LDADD = $(LDADD)
-@@ -2123,6 +2227,12 @@
- netlink_audit_OBJECTS = netlink_audit.$(OBJEXT)
- netlink_audit_LDADD = $(LDADD)
- netlink_audit_DEPENDENCIES = libtests.a
-+netlink_audit__pidns_translation_SOURCES =  \
-+	netlink_audit--pidns-translation.c
-+netlink_audit__pidns_translation_OBJECTS =  \
-+	netlink_audit--pidns-translation.$(OBJEXT)
-+netlink_audit__pidns_translation_LDADD = $(LDADD)
-+netlink_audit__pidns_translation_DEPENDENCIES = libtests.a
- netlink_crypto_SOURCES = netlink_crypto.c
- netlink_crypto_OBJECTS = netlink_crypto.$(OBJEXT)
- netlink_crypto_LDADD = $(LDADD)
-@@ -2543,6 +2653,12 @@
- 	pidfd_open--decode-fd-socket.$(OBJEXT)
- pidfd_open__decode_fd_socket_LDADD = $(LDADD)
- pidfd_open__decode_fd_socket_DEPENDENCIES = libtests.a
-+pidfd_open__pidns_translation_SOURCES =  \
-+	pidfd_open--pidns-translation.c
-+pidfd_open__pidns_translation_OBJECTS =  \
-+	pidfd_open--pidns-translation.$(OBJEXT)
-+pidfd_open__pidns_translation_LDADD = $(LDADD)
-+pidfd_open__pidns_translation_DEPENDENCIES = libtests.a
- pidfd_open_P_SOURCES = pidfd_open-P.c
- pidfd_open_P_OBJECTS = pidfd_open-P.$(OBJEXT)
- pidfd_open_P_LDADD = $(LDADD)
-@@ -2559,6 +2675,16 @@
- pidfd_send_signal_OBJECTS = pidfd_send_signal.$(OBJEXT)
- pidfd_send_signal_LDADD = $(LDADD)
- pidfd_send_signal_DEPENDENCIES = libtests.a
-+pidfd_send_signal__pidns_translation_SOURCES =  \
-+	pidfd_send_signal--pidns-translation.c
-+pidfd_send_signal__pidns_translation_OBJECTS =  \
-+	pidfd_send_signal--pidns-translation.$(OBJEXT)
-+pidfd_send_signal__pidns_translation_LDADD = $(LDADD)
-+pidfd_send_signal__pidns_translation_DEPENDENCIES = libtests.a
-+pidns_cache_SOURCES = pidns-cache.c
-+pidns_cache_OBJECTS = pidns-cache.$(OBJEXT)
-+pidns_cache_LDADD = $(LDADD)
-+pidns_cache_DEPENDENCIES = libtests.a
- pipe_SOURCES = pipe.c
- pipe_OBJECTS = pipe.$(OBJEXT)
- pipe_LDADD = $(LDADD)
-@@ -2717,14 +2843,31 @@
- prlimit64_OBJECTS = prlimit64.$(OBJEXT)
- prlimit64_LDADD = $(LDADD)
- prlimit64_DEPENDENCIES = libtests.a
-+prlimit64__pidns_translation_SOURCES = prlimit64--pidns-translation.c
-+prlimit64__pidns_translation_OBJECTS =  \
-+	prlimit64--pidns-translation.$(OBJEXT)
-+prlimit64__pidns_translation_LDADD = $(LDADD)
-+prlimit64__pidns_translation_DEPENDENCIES = libtests.a
- process_vm_readv_SOURCES = process_vm_readv.c
- process_vm_readv_OBJECTS = process_vm_readv.$(OBJEXT)
- process_vm_readv_LDADD = $(LDADD)
- process_vm_readv_DEPENDENCIES = libtests.a
-+process_vm_readv__pidns_translation_SOURCES =  \
-+	process_vm_readv--pidns-translation.c
-+process_vm_readv__pidns_translation_OBJECTS =  \
-+	process_vm_readv--pidns-translation.$(OBJEXT)
-+process_vm_readv__pidns_translation_LDADD = $(LDADD)
-+process_vm_readv__pidns_translation_DEPENDENCIES = libtests.a
- process_vm_writev_SOURCES = process_vm_writev.c
- process_vm_writev_OBJECTS = process_vm_writev.$(OBJEXT)
- process_vm_writev_LDADD = $(LDADD)
- process_vm_writev_DEPENDENCIES = libtests.a
-+process_vm_writev__pidns_translation_SOURCES =  \
-+	process_vm_writev--pidns-translation.c
-+process_vm_writev__pidns_translation_OBJECTS =  \
-+	process_vm_writev--pidns-translation.$(OBJEXT)
-+process_vm_writev__pidns_translation_LDADD = $(LDADD)
-+process_vm_writev__pidns_translation_DEPENDENCIES = libtests.a
- pselect6_SOURCES = pselect6.c
- pselect6_OBJECTS = pselect6.$(OBJEXT)
- pselect6_LDADD = $(LDADD)
-@@ -2918,6 +3061,12 @@
- rt_sigqueueinfo_OBJECTS = rt_sigqueueinfo.$(OBJEXT)
- rt_sigqueueinfo_LDADD = $(LDADD)
- rt_sigqueueinfo_DEPENDENCIES = libtests.a
-+rt_sigqueueinfo__pidns_translation_SOURCES =  \
-+	rt_sigqueueinfo--pidns-translation.c
-+rt_sigqueueinfo__pidns_translation_OBJECTS =  \
-+	rt_sigqueueinfo--pidns-translation.$(OBJEXT)
-+rt_sigqueueinfo__pidns_translation_LDADD = $(LDADD)
-+rt_sigqueueinfo__pidns_translation_DEPENDENCIES = libtests.a
- rt_sigreturn_SOURCES = rt_sigreturn.c
- rt_sigreturn_OBJECTS = rt_sigreturn.$(OBJEXT)
- rt_sigreturn_LDADD = $(LDADD)
-@@ -2934,6 +3083,12 @@
- rt_tgsigqueueinfo_OBJECTS = rt_tgsigqueueinfo.$(OBJEXT)
- rt_tgsigqueueinfo_LDADD = $(LDADD)
- rt_tgsigqueueinfo_DEPENDENCIES = libtests.a
-+rt_tgsigqueueinfo__pidns_translation_SOURCES =  \
-+	rt_tgsigqueueinfo--pidns-translation.c
-+rt_tgsigqueueinfo__pidns_translation_OBJECTS =  \
-+	rt_tgsigqueueinfo--pidns-translation.$(OBJEXT)
-+rt_tgsigqueueinfo__pidns_translation_LDADD = $(LDADD)
-+rt_tgsigqueueinfo__pidns_translation_DEPENDENCIES = libtests.a
- run_expect_termsig_SOURCES = run_expect_termsig.c
- run_expect_termsig_OBJECTS = run_expect_termsig.$(OBJEXT)
- run_expect_termsig_LDADD = $(LDADD)
-@@ -2974,18 +3129,42 @@
- sched_xetaffinity_OBJECTS = sched_xetaffinity.$(OBJEXT)
- sched_xetaffinity_LDADD = $(LDADD)
- sched_xetaffinity_DEPENDENCIES = libtests.a
-+sched_xetaffinity__pidns_translation_SOURCES =  \
-+	sched_xetaffinity--pidns-translation.c
-+sched_xetaffinity__pidns_translation_OBJECTS =  \
-+	sched_xetaffinity--pidns-translation.$(OBJEXT)
-+sched_xetaffinity__pidns_translation_LDADD = $(LDADD)
-+sched_xetaffinity__pidns_translation_DEPENDENCIES = libtests.a
- sched_xetattr_SOURCES = sched_xetattr.c
- sched_xetattr_OBJECTS = sched_xetattr.$(OBJEXT)
- sched_xetattr_LDADD = $(LDADD)
- sched_xetattr_DEPENDENCIES = libtests.a
-+sched_xetattr__pidns_translation_SOURCES =  \
-+	sched_xetattr--pidns-translation.c
-+sched_xetattr__pidns_translation_OBJECTS =  \
-+	sched_xetattr--pidns-translation.$(OBJEXT)
-+sched_xetattr__pidns_translation_LDADD = $(LDADD)
-+sched_xetattr__pidns_translation_DEPENDENCIES = libtests.a
- sched_xetparam_SOURCES = sched_xetparam.c
- sched_xetparam_OBJECTS = sched_xetparam.$(OBJEXT)
- sched_xetparam_LDADD = $(LDADD)
- sched_xetparam_DEPENDENCIES = libtests.a
-+sched_xetparam__pidns_translation_SOURCES =  \
-+	sched_xetparam--pidns-translation.c
-+sched_xetparam__pidns_translation_OBJECTS =  \
-+	sched_xetparam--pidns-translation.$(OBJEXT)
-+sched_xetparam__pidns_translation_LDADD = $(LDADD)
-+sched_xetparam__pidns_translation_DEPENDENCIES = libtests.a
- sched_xetscheduler_SOURCES = sched_xetscheduler.c
- sched_xetscheduler_OBJECTS = sched_xetscheduler.$(OBJEXT)
- sched_xetscheduler_LDADD = $(LDADD)
- sched_xetscheduler_DEPENDENCIES = libtests.a
-+sched_xetscheduler__pidns_translation_SOURCES =  \
-+	sched_xetscheduler--pidns-translation.c
-+sched_xetscheduler__pidns_translation_OBJECTS =  \
-+	sched_xetscheduler--pidns-translation.$(OBJEXT)
-+sched_xetscheduler__pidns_translation_LDADD = $(LDADD)
-+sched_xetscheduler__pidns_translation_DEPENDENCIES = libtests.a
- sched_yield_SOURCES = sched_yield.c
- sched_yield_OBJECTS = sched_yield.$(OBJEXT)
- sched_yield_LDADD = $(LDADD)
-@@ -3198,6 +3377,12 @@
- signal_receive_OBJECTS = signal_receive.$(OBJEXT)
- signal_receive_LDADD = $(LDADD)
- signal_receive_DEPENDENCIES = libtests.a
-+signal_receive__pidns_translation_SOURCES =  \
-+	signal_receive--pidns-translation.c
-+signal_receive__pidns_translation_OBJECTS =  \
-+	signal_receive--pidns-translation.$(OBJEXT)
-+signal_receive__pidns_translation_LDADD = $(LDADD)
-+signal_receive__pidns_translation_DEPENDENCIES = libtests.a
- signalfd4_SOURCES = signalfd4.c
- signalfd4_OBJECTS = signalfd4.$(OBJEXT)
- signalfd4_LDADD = $(LDADD)
-@@ -3234,6 +3419,12 @@
- so_peercred_OBJECTS = so_peercred.$(OBJEXT)
- so_peercred_LDADD = $(LDADD)
- so_peercred_DEPENDENCIES = libtests.a
-+so_peercred__pidns_translation_SOURCES =  \
-+	so_peercred--pidns-translation.c
-+so_peercred__pidns_translation_OBJECTS =  \
-+	so_peercred--pidns-translation.$(OBJEXT)
-+so_peercred__pidns_translation_LDADD = $(LDADD)
-+so_peercred__pidns_translation_DEPENDENCIES = libtests.a
- so_peercred_Xabbrev_SOURCES = so_peercred-Xabbrev.c
- so_peercred_Xabbrev_OBJECTS = so_peercred-Xabbrev.$(OBJEXT)
- so_peercred_Xabbrev_LDADD = $(LDADD)
-@@ -3448,6 +3639,11 @@
- tgkill_OBJECTS = tgkill.$(OBJEXT)
- tgkill_LDADD = $(LDADD)
- tgkill_DEPENDENCIES = libtests.a
-+tgkill__pidns_translation_SOURCES = tgkill--pidns-translation.c
-+tgkill__pidns_translation_OBJECTS =  \
-+	tgkill--pidns-translation.$(OBJEXT)
-+tgkill__pidns_translation_LDADD = $(LDADD)
-+tgkill__pidns_translation_DEPENDENCIES = libtests.a
- threads_execve_SOURCES = threads-execve.c
- threads_execve_OBJECTS = threads-execve.$(OBJEXT)
- threads_execve_DEPENDENCIES = $(am__DEPENDENCIES_1) $(LDADD)
-@@ -3493,10 +3689,20 @@
- tkill_OBJECTS = tkill.$(OBJEXT)
- tkill_LDADD = $(LDADD)
- tkill_DEPENDENCIES = libtests.a
-+tkill__pidns_translation_SOURCES = tkill--pidns-translation.c
-+tkill__pidns_translation_OBJECTS = tkill--pidns-translation.$(OBJEXT)
-+tkill__pidns_translation_LDADD = $(LDADD)
-+tkill__pidns_translation_DEPENDENCIES = libtests.a
- tracer_ppid_pgid_sid_SOURCES = tracer_ppid_pgid_sid.c
- tracer_ppid_pgid_sid_OBJECTS = tracer_ppid_pgid_sid.$(OBJEXT)
- tracer_ppid_pgid_sid_LDADD = $(LDADD)
- tracer_ppid_pgid_sid_DEPENDENCIES = libtests.a
-+am_trie_test_OBJECTS = trie_test-trie_test.$(OBJEXT) \
-+	trie_test-trie_for_tests.$(OBJEXT)
-+trie_test_OBJECTS = $(am_trie_test_OBJECTS)
-+trie_test_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_1)
-+trie_test_LINK = $(CCLD) $(trie_test_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
-+	$(LDFLAGS) -o $@
- truncate_SOURCES = truncate.c
- truncate_OBJECTS = truncate.$(OBJEXT)
- truncate_LDADD = $(LDADD)
-@@ -3658,6 +3864,12 @@
- xet_robust_list_OBJECTS = xet_robust_list.$(OBJEXT)
- xet_robust_list_LDADD = $(LDADD)
- xet_robust_list_DEPENDENCIES = libtests.a
-+xet_robust_list__pidns_translation_SOURCES =  \
-+	xet_robust_list--pidns-translation.c
-+xet_robust_list__pidns_translation_OBJECTS =  \
-+	xet_robust_list--pidns-translation.$(OBJEXT)
-+xet_robust_list__pidns_translation_LDADD = $(LDADD)
-+xet_robust_list__pidns_translation_DEPENDENCIES = libtests.a
- xet_thread_area_x86_SOURCES = xet_thread_area_x86.c
- xet_thread_area_x86_OBJECTS = xet_thread_area_x86.$(OBJEXT)
- xet_thread_area_x86_LDADD = $(LDADD)
-@@ -3670,10 +3882,21 @@
- xetpgid_OBJECTS = xetpgid.$(OBJEXT)
- xetpgid_LDADD = $(LDADD)
- xetpgid_DEPENDENCIES = libtests.a
-+xetpgid__pidns_translation_SOURCES = xetpgid--pidns-translation.c
-+xetpgid__pidns_translation_OBJECTS =  \
-+	xetpgid--pidns-translation.$(OBJEXT)
-+xetpgid__pidns_translation_LDADD = $(LDADD)
-+xetpgid__pidns_translation_DEPENDENCIES = libtests.a
- xetpriority_SOURCES = xetpriority.c
- xetpriority_OBJECTS = xetpriority.$(OBJEXT)
- xetpriority_LDADD = $(LDADD)
- xetpriority_DEPENDENCIES = libtests.a
-+xetpriority__pidns_translation_SOURCES =  \
-+	xetpriority--pidns-translation.c
-+xetpriority__pidns_translation_OBJECTS =  \
-+	xetpriority--pidns-translation.$(OBJEXT)
-+xetpriority__pidns_translation_LDADD = $(LDADD)
-+xetpriority__pidns_translation_DEPENDENCIES = libtests.a
- xettimeofday_SOURCES = xettimeofday.c
- xettimeofday_OBJECTS = xettimeofday.$(OBJEXT)
- xettimeofday_LDADD = $(LDADD)
-@@ -3759,13 +3982,15 @@
- 	./$(DEPDIR)/fanotify_mark.Po ./$(DEPDIR)/fchdir.Po \
- 	./$(DEPDIR)/fchmod.Po ./$(DEPDIR)/fchmodat.Po \
- 	./$(DEPDIR)/fchown.Po ./$(DEPDIR)/fchown32.Po \
--	./$(DEPDIR)/fchownat.Po ./$(DEPDIR)/fcntl.Po \
--	./$(DEPDIR)/fcntl64.Po ./$(DEPDIR)/fdatasync.Po \
-+	./$(DEPDIR)/fchownat.Po \
-+	./$(DEPDIR)/fcntl--pidns-translation.Po ./$(DEPDIR)/fcntl.Po \
-+	./$(DEPDIR)/fcntl64--pidns-translation.Po ./$(DEPDIR)/fcntl64.Po \
-+	./$(DEPDIR)/fdatasync.Po \
- 	./$(DEPDIR)/fflush.Po ./$(DEPDIR)/file_handle.Po \
- 	./$(DEPDIR)/file_ioctl.Po ./$(DEPDIR)/filter-unavailable.Po \
- 	./$(DEPDIR)/filter_seccomp-flag.Po \
- 	./$(DEPDIR)/filter_seccomp-perf.Po ./$(DEPDIR)/finit_module.Po \
--	./$(DEPDIR)/flock.Po ./$(DEPDIR)/fork-f.Po \
-+	./$(DEPDIR)/flock.Po ./$(DEPDIR)/fork--pidns-translation.Po ./$(DEPDIR)/fork-f.Po \
- 	./$(DEPDIR)/fsconfig-P.Po ./$(DEPDIR)/fsconfig.Po \
- 	./$(DEPDIR)/fsmount.Po ./$(DEPDIR)/fsopen.Po \
- 	./$(DEPDIR)/fspick-P.Po ./$(DEPDIR)/fspick.Po \
-@@ -3786,13 +4011,14 @@
- 	./$(DEPDIR)/geteuid32.Po ./$(DEPDIR)/getgid.Po \
- 	./$(DEPDIR)/getgid32.Po ./$(DEPDIR)/getgroups.Po \
- 	./$(DEPDIR)/getgroups32.Po ./$(DEPDIR)/getpeername.Po \
--	./$(DEPDIR)/getpgrp.Po ./$(DEPDIR)/getpid.Po \
-+	./$(DEPDIR)/getpgrp--pidns-translation.Po ./$(DEPDIR)/getpgrp.Po \
-+	./$(DEPDIR)/getpid--pidns-translation.Po ./$(DEPDIR)/getpid.Po \
- 	./$(DEPDIR)/getppid.Po ./$(DEPDIR)/getrandom.Po \
- 	./$(DEPDIR)/getresgid.Po ./$(DEPDIR)/getresgid32.Po \
- 	./$(DEPDIR)/getresuid.Po ./$(DEPDIR)/getresuid32.Po \
- 	./$(DEPDIR)/getrlimit.Po ./$(DEPDIR)/getrusage.Po \
--	./$(DEPDIR)/getsid.Po ./$(DEPDIR)/getsockname.Po \
--	./$(DEPDIR)/gettid.Po ./$(DEPDIR)/getuid.Po \
-+	./$(DEPDIR)/getsid--pidns-translation.Po ./$(DEPDIR)/getsid.Po ./$(DEPDIR)/getsockname.Po \
-+	./$(DEPDIR)/gettid--pidns-translation.Po ./$(DEPDIR)/gettid.Po ./$(DEPDIR)/getuid.Po \
- 	./$(DEPDIR)/getuid32.Po ./$(DEPDIR)/getxgid.Po \
- 	./$(DEPDIR)/getxpid.Po ./$(DEPDIR)/getxuid.Po \
- 	./$(DEPDIR)/group_req.Po ./$(DEPDIR)/inet-cmsg.Po \
-@@ -3802,7 +4028,7 @@
- 	./$(DEPDIR)/inotify_init1.Po ./$(DEPDIR)/int_0x80.Po \
- 	./$(DEPDIR)/io_uring_enter.Po ./$(DEPDIR)/io_uring_register.Po \
- 	./$(DEPDIR)/io_uring_setup.Po ./$(DEPDIR)/ioctl.Po \
--	./$(DEPDIR)/ioctl_block.Po ./$(DEPDIR)/ioctl_dm-v.Po \
-+	./$(DEPDIR)/ioctl_block--pidns-translation.Po ./$(DEPDIR)/ioctl_block.Po ./$(DEPDIR)/ioctl_dm-v.Po \
- 	./$(DEPDIR)/ioctl_dm.Po ./$(DEPDIR)/ioctl_evdev-Xabbrev.Po \
- 	./$(DEPDIR)/ioctl_evdev-Xraw.Po \
- 	./$(DEPDIR)/ioctl_evdev-Xverbose.Po \
-@@ -3861,7 +4087,7 @@
- 	./$(DEPDIR)/ioctl_v4l2-v-Xverbose.Po \
- 	./$(DEPDIR)/ioctl_v4l2-v.Po ./$(DEPDIR)/ioctl_v4l2.Po \
- 	./$(DEPDIR)/ioctl_watchdog.Po ./$(DEPDIR)/ioperm.Po \
--	./$(DEPDIR)/iopl.Po ./$(DEPDIR)/ioprio-Xabbrev.Po \
-+	./$(DEPDIR)/iopl.Po ./$(DEPDIR)/ioprio--pidns-translation.Po ./$(DEPDIR)/ioprio-Xabbrev.Po \
- 	./$(DEPDIR)/ioprio-Xraw.Po ./$(DEPDIR)/ioprio-Xverbose.Po \
- 	./$(DEPDIR)/ioprio.Po ./$(DEPDIR)/ip_mreq.Po \
- 	./$(DEPDIR)/ipc.Po ./$(DEPDIR)/ipc_msg-Xabbrev.Po \
-@@ -3873,15 +4099,15 @@
- 	./$(DEPDIR)/ipc_sem-Xverbose.Po ./$(DEPDIR)/ipc_sem.Po \
- 	./$(DEPDIR)/ipc_shm-Xabbrev.Po ./$(DEPDIR)/ipc_shm-Xraw.Po \
- 	./$(DEPDIR)/ipc_shm-Xverbose.Po ./$(DEPDIR)/ipc_shm.Po \
--	./$(DEPDIR)/is_linux_mips_n64.Po ./$(DEPDIR)/kcmp-y.Po \
--	./$(DEPDIR)/kcmp.Po ./$(DEPDIR)/kern_features.Po \
-+	./$(DEPDIR)/is_linux_mips_n64.Po ./$(DEPDIR)/kcmp-y--pidns-translation.Po \
-+	./$(DEPDIR)/kcmp-y.Po ./$(DEPDIR)/kcmp.Po ./$(DEPDIR)/kern_features.Po \
- 	./$(DEPDIR)/kernel_version-Xabbrev.Po \
- 	./$(DEPDIR)/kernel_version-Xraw.Po \
- 	./$(DEPDIR)/kernel_version-Xverbose.Po \
- 	./$(DEPDIR)/kernel_version.Po ./$(DEPDIR)/kexec_file_load.Po \
- 	./$(DEPDIR)/kexec_load.Po ./$(DEPDIR)/keyctl-Xabbrev.Po \
- 	./$(DEPDIR)/keyctl-Xraw.Po ./$(DEPDIR)/keyctl-Xverbose.Po \
--	./$(DEPDIR)/keyctl.Po ./$(DEPDIR)/kill.Po \
-+	./$(DEPDIR)/keyctl.Po ./$(DEPDIR)/kill--pidns-translation.Po ./$(DEPDIR)/kill.Po \
- 	./$(DEPDIR)/kill_child.Po ./$(DEPDIR)/ksysent.Po \
- 	./$(DEPDIR)/lchown.Po ./$(DEPDIR)/lchown32.Po \
- 	./$(DEPDIR)/libtests_a-create_nl_socket.Po \
-@@ -3915,7 +4141,8 @@
- 	./$(DEPDIR)/libtests_a-test_printpath.Po \
- 	./$(DEPDIR)/libtests_a-test_printstrn.Po \
- 	./$(DEPDIR)/libtests_a-test_ucopy.Po \
--	./$(DEPDIR)/libtests_a-tprintf.Po ./$(DEPDIR)/link.Po \
-+	./$(DEPDIR)/libtests_a-tprintf.Po \
-+	./$(DEPDIR)/libtests_a-xmalloc_for_tests.Po ./$(DEPDIR)/link.Po \
- 	./$(DEPDIR)/linkat.Po ./$(DEPDIR)/list_sigaction_signum.Po \
- 	./$(DEPDIR)/llseek.Po ./$(DEPDIR)/localtime.Po \
- 	./$(DEPDIR)/lookup_dcookie.Po ./$(DEPDIR)/looping_threads.Po \
-@@ -3928,7 +4155,9 @@
- 	./$(DEPDIR)/membarrier.Po ./$(DEPDIR)/memfd_create-Xabbrev.Po \
- 	./$(DEPDIR)/memfd_create-Xraw.Po \
- 	./$(DEPDIR)/memfd_create-Xverbose.Po \
--	./$(DEPDIR)/memfd_create.Po ./$(DEPDIR)/migrate_pages.Po \
-+	./$(DEPDIR)/memfd_create.Po \
-+	./$(DEPDIR)/migrate_pages--pidns-translation.Po \
-+	./$(DEPDIR)/migrate_pages.Po \
- 	./$(DEPDIR)/mincore.Po ./$(DEPDIR)/mkdir.Po \
- 	./$(DEPDIR)/mkdirat.Po ./$(DEPDIR)/mknod.Po \
- 	./$(DEPDIR)/mknodat.Po ./$(DEPDIR)/mlock.Po \
-@@ -3944,7 +4173,7 @@
- 	./$(DEPDIR)/modify_ldt.Po ./$(DEPDIR)/mount-Xabbrev.Po \
- 	./$(DEPDIR)/mount-Xraw.Po ./$(DEPDIR)/mount-Xverbose.Po \
- 	./$(DEPDIR)/mount.Po ./$(DEPDIR)/move_mount-P.Po \
--	./$(DEPDIR)/move_mount.Po ./$(DEPDIR)/move_pages-Xabbrev.Po \
-+	./$(DEPDIR)/move_mount.Po ./$(DEPDIR)/move_pages--pidns-translation.Po ./$(DEPDIR)/move_pages-Xabbrev.Po \
- 	./$(DEPDIR)/move_pages-Xraw.Po \
- 	./$(DEPDIR)/move_pages-Xverbose.Po ./$(DEPDIR)/move_pages.Po \
- 	./$(DEPDIR)/mq.Po ./$(DEPDIR)/mq_sendrecv-read.Po \
-@@ -3961,12 +4190,13 @@
- 	./$(DEPDIR)/net-packet_mreq-Xabbrev.Po \
- 	./$(DEPDIR)/net-packet_mreq-Xraw.Po \
- 	./$(DEPDIR)/net-packet_mreq-Xverbose.Po \
--	./$(DEPDIR)/net-packet_mreq.Po ./$(DEPDIR)/net-sockaddr.Po \
-+	./$(DEPDIR)/net-packet_mreq.Po ./$(DEPDIR)/net-sockaddr--pidns-translation.Po ./$(DEPDIR)/net-sockaddr.Po \
- 	./$(DEPDIR)/net-tpacket_req.Po \
- 	./$(DEPDIR)/net-tpacket_stats-success.Po \
- 	./$(DEPDIR)/net-tpacket_stats.Po ./$(DEPDIR)/net-y-unix.Po \
- 	./$(DEPDIR)/net-yy-inet.Po ./$(DEPDIR)/net-yy-inet6.Po \
- 	./$(DEPDIR)/net-yy-netlink.Po ./$(DEPDIR)/net-yy-unix.Po \
-+	./$(DEPDIR)/netlink_audit--pidns-translation.Po \
- 	./$(DEPDIR)/netlink_audit.Po ./$(DEPDIR)/netlink_crypto.Po \
- 	./$(DEPDIR)/netlink_generic.Po \
- 	./$(DEPDIR)/netlink_inet_diag.Po \
-@@ -4043,9 +4273,11 @@
- 	./$(DEPDIR)/pidfd_open--decode-fd-path.Po \
- 	./$(DEPDIR)/pidfd_open--decode-fd-pidfd.Po \
- 	./$(DEPDIR)/pidfd_open--decode-fd-socket.Po \
-+	./$(DEPDIR)/pidfd_open--pidns-translation.Po \
- 	./$(DEPDIR)/pidfd_open-P.Po ./$(DEPDIR)/pidfd_open-y.Po \
- 	./$(DEPDIR)/pidfd_open-yy.Po ./$(DEPDIR)/pidfd_open.Po \
--	./$(DEPDIR)/pidfd_send_signal.Po ./$(DEPDIR)/pipe.Po \
-+	./$(DEPDIR)/pidfd_send_signal--pidns-translation.Po \
-+	./$(DEPDIR)/pidfd_send_signal.Po ./$(DEPDIR)/pidns-cache.Po ./$(DEPDIR)/pipe.Po \
- 	./$(DEPDIR)/pipe2.Po ./$(DEPDIR)/pkey_alloc.Po \
- 	./$(DEPDIR)/pkey_free.Po ./$(DEPDIR)/pkey_mprotect.Po \
- 	./$(DEPDIR)/poll-P.Po ./$(DEPDIR)/poll.Po \
-@@ -4070,8 +4302,10 @@
- 	./$(DEPDIR)/printsignal-Xverbose.Po ./$(DEPDIR)/printstr.Po \
- 	./$(DEPDIR)/printstrn-umoven-peekdata.Po \
- 	./$(DEPDIR)/printstrn-umoven-undumpable.Po \
--	./$(DEPDIR)/printstrn-umoven.Po ./$(DEPDIR)/prlimit64.Po \
-+	./$(DEPDIR)/printstrn-umoven.Po ./$(DEPDIR)/prlimit64--pidns-translation.Po ./$(DEPDIR)/prlimit64.Po \
-+	./$(DEPDIR)/process_vm_readv--pidns-translation.Po \
- 	./$(DEPDIR)/process_vm_readv.Po \
-+	./$(DEPDIR)/process_vm_writev--pidns-translation.Po \
- 	./$(DEPDIR)/process_vm_writev.Po ./$(DEPDIR)/pselect6.Po \
- 	./$(DEPDIR)/ptrace.Po ./$(DEPDIR)/ptrace_syscall_info.Po \
- 	./$(DEPDIR)/pwritev-pwritev.Po ./$(DEPDIR)/qual_fault.Po \
-@@ -4101,9 +4335,10 @@
- 	./$(DEPDIR)/request_key.Po ./$(DEPDIR)/restart_syscall.Po \
- 	./$(DEPDIR)/riscv_flush_icache.Po ./$(DEPDIR)/rmdir.Po \
- 	./$(DEPDIR)/rt_sigaction.Po ./$(DEPDIR)/rt_sigpending.Po \
--	./$(DEPDIR)/rt_sigprocmask.Po ./$(DEPDIR)/rt_sigqueueinfo.Po \
-+	./$(DEPDIR)/rt_sigprocmask.Po ./$(DEPDIR)/rt_sigqueueinfo--pidns-translation.Po ./$(DEPDIR)/rt_sigqueueinfo.Po \
- 	./$(DEPDIR)/rt_sigreturn.Po ./$(DEPDIR)/rt_sigsuspend.Po \
- 	./$(DEPDIR)/rt_sigtimedwait.Po \
-+	./$(DEPDIR)/rt_tgsigqueueinfo--pidns-translation.Po \
- 	./$(DEPDIR)/rt_tgsigqueueinfo.Po \
- 	./$(DEPDIR)/run_expect_termsig.Po \
- 	./$(DEPDIR)/s390_guarded_storage-v.Po \
-@@ -4113,9 +4348,15 @@
- 	./$(DEPDIR)/s390_sthyi.Po \
- 	./$(DEPDIR)/sched_get_priority_mxx.Po \
- 	./$(DEPDIR)/sched_rr_get_interval.Po \
--	./$(DEPDIR)/sched_xetaffinity.Po ./$(DEPDIR)/sched_xetattr.Po \
-+	./$(DEPDIR)/sched_xetaffinity--pidns-translation.Po \
-+	./$(DEPDIR)/sched_xetaffinity.Po \
-+	./$(DEPDIR)/sched_xetattr--pidns-translation.Po \
-+	./$(DEPDIR)/sched_xetattr.Po \
-+	./$(DEPDIR)/sched_xetparam--pidns-translation.Po \
- 	./$(DEPDIR)/sched_xetparam.Po \
--	./$(DEPDIR)/sched_xetscheduler.Po ./$(DEPDIR)/sched_yield.Po \
-+	./$(DEPDIR)/sched_xetscheduler--pidns-translation.Po \
-+	./$(DEPDIR)/sched_xetscheduler.Po \
-+	./$(DEPDIR)/sched_yield.Po \
- 	./$(DEPDIR)/scm_rights.Po ./$(DEPDIR)/seccomp-filter-v.Po \
- 	./$(DEPDIR)/seccomp-filter.Po ./$(DEPDIR)/seccomp-strict.Po \
- 	./$(DEPDIR)/seccomp_get_action_avail.Po \
-@@ -4143,11 +4384,12 @@
- 	./$(DEPDIR)/shmxt.Po ./$(DEPDIR)/shutdown.Po \
- 	./$(DEPDIR)/sigaction.Po ./$(DEPDIR)/sigaltstack.Po \
- 	./$(DEPDIR)/siginfo.Po ./$(DEPDIR)/signal.Po \
--	./$(DEPDIR)/signal_receive.Po ./$(DEPDIR)/signalfd4.Po \
-+	./$(DEPDIR)/signal_receive--pidns-translation.Po ./$(DEPDIR)/signal_receive.Po ./$(DEPDIR)/signalfd4.Po \
- 	./$(DEPDIR)/sigpending.Po ./$(DEPDIR)/sigprocmask.Po \
- 	./$(DEPDIR)/sigreturn.Po ./$(DEPDIR)/sigsuspend.Po \
- 	./$(DEPDIR)/sleep.Po ./$(DEPDIR)/so_error.Po \
--	./$(DEPDIR)/so_linger.Po ./$(DEPDIR)/so_peercred-Xabbrev.Po \
-+	./$(DEPDIR)/so_linger.Po ./$(DEPDIR)/so_peercred--pidns-translation.Po \
-+	./$(DEPDIR)/so_peercred-Xabbrev.Po \
- 	./$(DEPDIR)/so_peercred-Xraw.Po \
- 	./$(DEPDIR)/so_peercred-Xverbose.Po ./$(DEPDIR)/so_peercred.Po \
- 	./$(DEPDIR)/sock_filter-v-Xabbrev.Po \
-@@ -4186,7 +4428,7 @@
- 	./$(DEPDIR)/symlinkat.Po ./$(DEPDIR)/sync.Po \
- 	./$(DEPDIR)/sync_file_range.Po ./$(DEPDIR)/sync_file_range2.Po \
- 	./$(DEPDIR)/sysinfo.Po ./$(DEPDIR)/syslog-success.Po \
--	./$(DEPDIR)/syslog.Po ./$(DEPDIR)/tee.Po ./$(DEPDIR)/tgkill.Po \
-+	./$(DEPDIR)/syslog.Po ./$(DEPDIR)/tee.Po ./$(DEPDIR)/tgkill--pidns-translation.Po ./$(DEPDIR)/tgkill.Po \
- 	./$(DEPDIR)/threads-execve--quiet-thread-execve.Po \
- 	./$(DEPDIR)/threads-execve-q.Po \
- 	./$(DEPDIR)/threads-execve-qq.Po \
-@@ -4194,7 +4436,8 @@
- 	./$(DEPDIR)/threads-execve.Po ./$(DEPDIR)/time.Po \
- 	./$(DEPDIR)/timer_create.Po ./$(DEPDIR)/timer_xettime.Po \
- 	./$(DEPDIR)/timerfd_xettime.Po ./$(DEPDIR)/times-fail.Po \
--	./$(DEPDIR)/times.Po ./$(DEPDIR)/tkill.Po ./$(DEPDIR)/tracer_ppid_pgid_sid.Po \
-+	./$(DEPDIR)/times.Po ./$(DEPDIR)/tkill--pidns-translation.Po \
-+	./$(DEPDIR)/tkill.Po ./$(DEPDIR)/tracer_ppid_pgid_sid.Po \
- 	./$(DEPDIR)/truncate.Po ./$(DEPDIR)/truncate64-truncate64.Po \
- 	./$(DEPDIR)/ugetrlimit.Po ./$(DEPDIR)/uio-uio.Po \
- 	./$(DEPDIR)/umask.Po ./$(DEPDIR)/umount.Po \
-@@ -4216,9 +4459,11 @@
- 	./$(DEPDIR)/wait4-v.Po ./$(DEPDIR)/wait4.Po \
- 	./$(DEPDIR)/waitid-v.Po ./$(DEPDIR)/waitid.Po \
- 	./$(DEPDIR)/waitpid.Po ./$(DEPDIR)/xattr-strings.Po \
--	./$(DEPDIR)/xattr.Po ./$(DEPDIR)/xet_robust_list.Po \
-+	./$(DEPDIR)/xattr.Po ./$(DEPDIR)/xet_robust_list--pidns-translation.Po \
-+	./$(DEPDIR)/xet_robust_list.Po \
- 	./$(DEPDIR)/xet_thread_area_x86.Po ./$(DEPDIR)/xetitimer.Po \
--	./$(DEPDIR)/xetpgid.Po ./$(DEPDIR)/xetpriority.Po \
-+	./$(DEPDIR)/xetpgid--pidns-translation.Po ./$(DEPDIR)/xetpgid.Po \
-+	./$(DEPDIR)/xetpriority--pidns-translation.Po ./$(DEPDIR)/xetpriority.Po \
- 	./$(DEPDIR)/xettimeofday.Po ./$(DEPDIR)/zeroargc.Po
- am__mv = mv -f
- AM_V_lt = $(am__v_lt_@AM_V@)
-@@ -4264,26 +4509,30 @@
- 	fadvise64_64.c fallocate.c fanotify_init.c fanotify_mark.c \
- 	fanotify_mark-Xabbrev.c fanotify_mark-Xraw.c \
- 	fanotify_mark-Xverbose.c fchdir.c fchmod.c fchmodat.c fchown.c \
--	fchown32.c fchownat.c fcntl.c fcntl64.c fdatasync.c fflush.c \
-+	fchown32.c fchownat.c fcntl.c fcntl--pidns-translation.c \
-+	fcntl64.c fcntl64--pidns-translation.c fdatasync.c fflush.c \
- 	file_handle.c file_ioctl.c filter-unavailable.c \
- 	filter_seccomp-flag.c filter_seccomp-perf.c finit_module.c \
--	flock.c fork-f.c fsconfig.c fsconfig-P.c fsmount.c fsopen.c \
--	fspick.c fspick-P.c fstat.c fstat-Xabbrev.c fstat-Xraw.c \
--	fstat-Xverbose.c fstat64.c fstat64-Xabbrev.c fstat64-Xraw.c \
--	fstat64-Xverbose.c fstatat64.c fstatfs.c fstatfs64.c fsync.c \
--	fsync-y.c ftruncate.c ftruncate64.c futex.c futimesat.c \
--	get_mempolicy.c get_process_reaper.c getcpu.c getcwd.c \
--	getdents.c getdents-v.c getdents64.c getdents64-v.c getegid.c \
--	getegid32.c geteuid.c geteuid32.c getgid.c getgid32.c \
--	getgroups.c getgroups32.c getpeername.c getpgrp.c getpid.c \
--	getppid.c getrandom.c getresgid.c getresgid32.c getresuid.c \
--	getresuid32.c getrlimit.c getrusage.c getsid.c getsockname.c \
--	gettid.c getuid.c getuid32.c getxgid.c getxpid.c getxuid.c \
--	group_req.c inet-cmsg.c init_module.c inject-nf.c inotify.c \
--	inotify_init.c inotify_init-y.c inotify_init1.c \
--	inotify_init1-y.c int_0x80.c io_uring_enter.c \
--	io_uring_register.c io_uring_setup.c ioctl.c ioctl_block.c \
--	ioctl_dm.c ioctl_dm-v.c ioctl_evdev.c ioctl_evdev-Xabbrev.c \
-+	flock.c fork--pidns-translation.c fork-f.c fsconfig.c \
-+	fsconfig-P.c fsmount.c fsopen.c fspick.c fspick-P.c fstat.c \
-+	fstat-Xabbrev.c fstat-Xraw.c fstat-Xverbose.c fstat64.c \
-+	fstat64-Xabbrev.c fstat64-Xraw.c fstat64-Xverbose.c \
-+	fstatat64.c fstatfs.c fstatfs64.c fsync.c fsync-y.c \
-+	ftruncate.c ftruncate64.c futex.c futimesat.c get_mempolicy.c \
-+	get_process_reaper.c getcpu.c getcwd.c getdents.c getdents-v.c \
-+	getdents64.c getdents64-v.c getegid.c getegid32.c geteuid.c \
-+	geteuid32.c getgid.c getgid32.c getgroups.c getgroups32.c \
-+	getpeername.c getpgrp.c getpgrp--pidns-translation.c getpid.c \
-+	getpid--pidns-translation.c getppid.c getrandom.c getresgid.c \
-+	getresgid32.c getresuid.c getresuid32.c getrlimit.c \
-+	getrusage.c getsid.c getsid--pidns-translation.c getsockname.c \
-+	gettid.c gettid--pidns-translation.c getuid.c getuid32.c \
-+	getxgid.c getxpid.c getxuid.c group_req.c inet-cmsg.c \
-+	init_module.c inject-nf.c inotify.c inotify_init.c \
-+	inotify_init-y.c inotify_init1.c inotify_init1-y.c int_0x80.c \
-+	io_uring_enter.c io_uring_register.c io_uring_setup.c ioctl.c \
-+	ioctl_block.c ioctl_block--pidns-translation.c ioctl_dm.c \
-+	ioctl_dm-v.c ioctl_evdev.c ioctl_evdev-Xabbrev.c \
- 	ioctl_evdev-Xraw.c ioctl_evdev-Xverbose.c \
- 	ioctl_evdev-success.c ioctl_evdev-success-Xabbrev.c \
- 	ioctl_evdev-success-Xraw.c ioctl_evdev-success-Xverbose.c \
-@@ -4311,47 +4560,51 @@
- 	ioctl_v4l2-success-v-Xverbose.c ioctl_v4l2-v.c \
- 	ioctl_v4l2-v-Xabbrev.c ioctl_v4l2-v-Xraw.c \
- 	ioctl_v4l2-v-Xverbose.c ioctl_watchdog.c ioperm.c iopl.c \
--	ioprio.c ioprio-Xabbrev.c ioprio-Xraw.c ioprio-Xverbose.c \
--	ip_mreq.c ipc.c ipc_msg.c ipc_msg-Xabbrev.c ipc_msg-Xraw.c \
--	ipc_msg-Xverbose.c ipc_msgbuf.c ipc_msgbuf-Xabbrev.c \
--	ipc_msgbuf-Xraw.c ipc_msgbuf-Xverbose.c ipc_sem.c \
--	ipc_sem-Xabbrev.c ipc_sem-Xraw.c ipc_sem-Xverbose.c ipc_shm.c \
--	ipc_shm-Xabbrev.c ipc_shm-Xraw.c ipc_shm-Xverbose.c \
--	is_linux_mips_n64.c kcmp.c kcmp-y.c kern_features.c \
-+	ioprio.c ioprio--pidns-translation.c ioprio-Xabbrev.c \
-+	ioprio-Xraw.c ioprio-Xverbose.c ip_mreq.c ipc.c ipc_msg.c \
-+	ipc_msg-Xabbrev.c ipc_msg-Xraw.c ipc_msg-Xverbose.c \
-+	ipc_msgbuf.c ipc_msgbuf-Xabbrev.c ipc_msgbuf-Xraw.c \
-+	ipc_msgbuf-Xverbose.c ipc_sem.c ipc_sem-Xabbrev.c \
-+	ipc_sem-Xraw.c ipc_sem-Xverbose.c ipc_shm.c ipc_shm-Xabbrev.c \
-+	ipc_shm-Xraw.c ipc_shm-Xverbose.c is_linux_mips_n64.c kcmp.c \
-+	kcmp-y.c kcmp-y--pidns-translation.c kern_features.c \
- 	kernel_version.c kernel_version-Xabbrev.c \
- 	kernel_version-Xraw.c kernel_version-Xverbose.c \
- 	kexec_file_load.c kexec_load.c keyctl.c keyctl-Xabbrev.c \
--	keyctl-Xraw.c keyctl-Xverbose.c kill.c kill_child.c ksysent.c \
--	lchown.c lchown32.c link.c linkat.c list_sigaction_signum.c \
--	llseek.c localtime.c lookup_dcookie.c looping_threads.c \
--	lseek.c lstat.c lstat64.c madvise.c maybe_switch_current_tcp.c \
-+	keyctl-Xraw.c keyctl-Xverbose.c kill.c \
-+	kill--pidns-translation.c kill_child.c ksysent.c lchown.c \
-+	lchown32.c link.c linkat.c list_sigaction_signum.c llseek.c \
-+	localtime.c lookup_dcookie.c looping_threads.c lseek.c lstat.c \
-+	lstat64.c madvise.c maybe_switch_current_tcp.c \
- 	maybe_switch_current_tcp--quiet-thread-execve.c mbind.c \
- 	mbind-Xabbrev.c mbind-Xraw.c mbind-Xverbose.c membarrier.c \
- 	memfd_create.c memfd_create-Xabbrev.c memfd_create-Xraw.c \
--	memfd_create-Xverbose.c migrate_pages.c mincore.c mkdir.c \
--	mkdirat.c mknod.c mknodat.c mlock.c mlock2.c mlockall.c mmap.c \
-+	memfd_create-Xverbose.c migrate_pages.c \
-+	migrate_pages--pidns-translation.c mincore.c mkdir.c mkdirat.c \
-+	mknod.c mknodat.c mlock.c mlock2.c mlockall.c mmap.c \
- 	mmap-Xabbrev.c mmap-Xraw.c mmap-Xverbose.c mmap64.c \
- 	mmap64-Xabbrev.c mmap64-Xraw.c mmap64-Xverbose.c mmsg.c \
- 	mmsg-silent.c mmsg_name.c mmsg_name-v.c modify_ldt.c mount.c \
- 	mount-Xabbrev.c mount-Xraw.c mount-Xverbose.c move_mount.c \
--	move_mount-P.c move_pages.c move_pages-Xabbrev.c \
--	move_pages-Xraw.c move_pages-Xverbose.c mq.c mq_sendrecv.c \
--	mq_sendrecv-read.c mq_sendrecv-write.c msg_control.c \
--	msg_control-v.c msg_name.c munlockall.c nanosleep.c \
--	net--decode-fds-dev-netlink.c net--decode-fds-none-netlink.c \
--	net--decode-fds-path-netlink.c \
-+	move_mount-P.c move_pages.c move_pages--pidns-translation.c \
-+	move_pages-Xabbrev.c move_pages-Xraw.c move_pages-Xverbose.c \
-+	mq.c mq_sendrecv.c mq_sendrecv-read.c mq_sendrecv-write.c \
-+	msg_control.c msg_control-v.c msg_name.c munlockall.c \
-+	nanosleep.c net--decode-fds-dev-netlink.c \
-+	net--decode-fds-none-netlink.c net--decode-fds-path-netlink.c \
- 	net--decode-fds-socket-netlink.c net-accept-connect.c \
- 	net-icmp_filter.c net-packet_mreq.c net-packet_mreq-Xabbrev.c \
- 	net-packet_mreq-Xraw.c net-packet_mreq-Xverbose.c \
--	net-sockaddr.c net-tpacket_req.c net-tpacket_stats.c \
-+	net-sockaddr.c net-sockaddr--pidns-translation.c \
-+	net-tpacket_req.c net-tpacket_stats.c \
- 	net-tpacket_stats-success.c net-y-unix.c net-yy-inet.c \
- 	net-yy-inet6.c net-yy-netlink.c net-yy-unix.c netlink_audit.c \
--	netlink_crypto.c netlink_generic.c netlink_inet_diag.c \
--	netlink_kobject_uevent.c netlink_netfilter.c \
--	netlink_netlink_diag.c netlink_protocol.c netlink_route.c \
--	netlink_selinux.c netlink_sock_diag.c netlink_unix_diag.c \
--	netlink_xfrm.c newfstatat.c nfnetlink_acct.c \
--	nfnetlink_cthelper.c nfnetlink_ctnetlink.c \
-+	netlink_audit--pidns-translation.c netlink_crypto.c \
-+	netlink_generic.c netlink_inet_diag.c netlink_kobject_uevent.c \
-+	netlink_netfilter.c netlink_netlink_diag.c netlink_protocol.c \
-+	netlink_route.c netlink_selinux.c netlink_sock_diag.c \
-+	netlink_unix_diag.c netlink_xfrm.c newfstatat.c \
-+	nfnetlink_acct.c nfnetlink_cthelper.c nfnetlink_ctnetlink.c \
- 	nfnetlink_ctnetlink_exp.c nfnetlink_cttimeout.c \
- 	nfnetlink_ipset.c nfnetlink_nft_compat.c nfnetlink_nftables.c \
- 	nfnetlink_osf.c nfnetlink_queue.c nfnetlink_ulog.c nlattr.c \
-@@ -4381,12 +4634,13 @@
- 	personality-Xraw.c personality-Xverbose.c pidfd_getfd.c \
- 	pidfd_getfd-y.c pidfd_getfd-yy.c pidfd_open.c \
- 	pidfd_open--decode-fd-path.c pidfd_open--decode-fd-pidfd.c \
--	pidfd_open--decode-fd-socket.c pidfd_open-P.c pidfd_open-y.c \
--	pidfd_open-yy.c pidfd_send_signal.c pipe.c pipe2.c \
--	pkey_alloc.c pkey_free.c pkey_mprotect.c poll.c poll-P.c \
--	ppoll.c ppoll-P.c ppoll-v.c prctl-arg2-intptr.c \
--	prctl-dumpable.c prctl-name.c prctl-no-args.c \
--	prctl-pdeathsig.c prctl-seccomp-filter-v.c \
-+	pidfd_open--decode-fd-socket.c pidfd_open--pidns-translation.c \
-+	pidfd_open-P.c pidfd_open-y.c pidfd_open-yy.c \
-+	pidfd_send_signal.c pidfd_send_signal--pidns-translation.c \
-+	pidns-cache.c pipe.c pipe2.c pkey_alloc.c pkey_free.c \
-+	pkey_mprotect.c poll.c poll-P.c ppoll.c ppoll-P.c ppoll-v.c \
-+	prctl-arg2-intptr.c prctl-dumpable.c prctl-name.c \
-+	prctl-no-args.c prctl-pdeathsig.c prctl-seccomp-filter-v.c \
- 	prctl-seccomp-strict.c prctl-securebits.c prctl-spec-inject.c \
- 	prctl-tid_address.c prctl-tsc.c pread64-pwrite64.c preadv.c \
- 	preadv-pwritev.c preadv2-pwritev2.c print_maxfd.c \
-@@ -4395,8 +4649,10 @@
- 	printsignal-Xabbrev.c printsignal-Xraw.c \
- 	printsignal-Xverbose.c printstr.c printstrn-umoven.c \
- 	printstrn-umoven-peekdata.c printstrn-umoven-undumpable.c \
--	prlimit64.c process_vm_readv.c process_vm_writev.c pselect6.c \
--	ptrace.c ptrace_syscall_info.c pwritev.c qual_fault.c \
-+	prlimit64.c prlimit64--pidns-translation.c process_vm_readv.c \
-+	process_vm_readv--pidns-translation.c process_vm_writev.c \
-+	process_vm_writev--pidns-translation.c pselect6.c ptrace.c \
-+	ptrace_syscall_info.c pwritev.c qual_fault.c \
- 	qual_inject-error-signal.c qual_inject-retval.c \
- 	qual_inject-signal.c qual_signal.c quotactl.c \
- 	quotactl-Xabbrev.c quotactl-Xraw.c quotactl-Xverbose.c \
-@@ -4409,60 +4665,70 @@
- 	remap_file_pages-Xraw.c remap_file_pages-Xverbose.c rename.c \
- 	renameat.c renameat2.c request_key.c restart_syscall.c \
- 	riscv_flush_icache.c rmdir.c rt_sigaction.c rt_sigpending.c \
--	rt_sigprocmask.c rt_sigqueueinfo.c rt_sigreturn.c \
-+	rt_sigprocmask.c rt_sigqueueinfo.c \
-+	rt_sigqueueinfo--pidns-translation.c rt_sigreturn.c \
- 	rt_sigsuspend.c rt_sigtimedwait.c rt_tgsigqueueinfo.c \
--	run_expect_termsig.c s390_guarded_storage.c \
--	s390_guarded_storage-v.c s390_pci_mmio_read_write.c \
--	s390_runtime_instr.c s390_sthyi.c s390_sthyi-v.c \
--	sched_get_priority_mxx.c sched_rr_get_interval.c \
--	sched_xetaffinity.c sched_xetattr.c sched_xetparam.c \
--	sched_xetscheduler.c sched_yield.c scm_rights.c \
--	seccomp-filter.c seccomp-filter-v.c seccomp-strict.c \
--	seccomp_get_action_avail.c select.c select-P.c semop.c \
--	semop-indirect.c semtimedop.c sendfile.c sendfile64.c \
--	set_mempolicy.c set_mempolicy-Xabbrev.c set_mempolicy-Xraw.c \
--	set_mempolicy-Xverbose.c set_ptracer_any.c set_sigblock.c \
--	set_sigign.c setdomainname.c setfsgid.c setfsgid32.c \
--	setfsuid.c setfsuid32.c setgid.c setgid32.c setgroups.c \
--	setgroups32.c sethostname.c setns.c setpgrp-exec.c setregid.c \
--	setregid32.c setresgid.c setresgid32.c setresuid.c \
--	setresuid32.c setreuid.c setreuid32.c setrlimit.c \
--	setrlimit-Xabbrev.c setrlimit-Xraw.c setrlimit-Xverbose.c \
--	setuid.c setuid32.c shmxt.c shutdown.c sigaction.c \
--	sigaltstack.c siginfo.c signal.c signal_receive.c signalfd4.c \
--	sigpending.c sigprocmask.c sigreturn.c sigsuspend.c sleep.c \
--	so_error.c so_linger.c so_peercred.c so_peercred-Xabbrev.c \
--	so_peercred-Xraw.c so_peercred-Xverbose.c sock_filter-v.c \
--	sock_filter-v-Xabbrev.c sock_filter-v-Xraw.c \
--	sock_filter-v-Xverbose.c sockaddr_xlat-Xabbrev.c \
--	sockaddr_xlat-Xraw.c sockaddr_xlat-Xverbose.c socketcall.c \
--	sockopt-sol_netlink.c sockopt-timestamp.c splice.c \
--	$(stack_fcall_SOURCES) $(stack_fcall_attach_SOURCES) \
--	$(stack_fcall_mangled_SOURCES) stat.c stat64.c statfs.c \
--	statfs64.c status-all.c status-failed.c status-failed-long.c \
--	status-failed-status.c status-none.c status-none-f.c \
--	status-none-threads.c status-successful.c \
--	status-successful-long.c status-successful-status.c \
--	status-unfinished.c status-unfinished-threads.c statx.c \
--	strace--strings-in-hex.c strace--strings-in-hex-all.c \
-+	rt_tgsigqueueinfo--pidns-translation.c run_expect_termsig.c \
-+	s390_guarded_storage.c s390_guarded_storage-v.c \
-+	s390_pci_mmio_read_write.c s390_runtime_instr.c s390_sthyi.c \
-+	s390_sthyi-v.c sched_get_priority_mxx.c \
-+	sched_rr_get_interval.c sched_xetaffinity.c \
-+	sched_xetaffinity--pidns-translation.c sched_xetattr.c \
-+	sched_xetattr--pidns-translation.c sched_xetparam.c \
-+	sched_xetparam--pidns-translation.c sched_xetscheduler.c \
-+	sched_xetscheduler--pidns-translation.c sched_yield.c \
-+	scm_rights.c seccomp-filter.c seccomp-filter-v.c \
-+	seccomp-strict.c seccomp_get_action_avail.c select.c \
-+	select-P.c semop.c semop-indirect.c semtimedop.c sendfile.c \
-+	sendfile64.c set_mempolicy.c set_mempolicy-Xabbrev.c \
-+	set_mempolicy-Xraw.c set_mempolicy-Xverbose.c \
-+	set_ptracer_any.c set_sigblock.c set_sigign.c setdomainname.c \
-+	setfsgid.c setfsgid32.c setfsuid.c setfsuid32.c setgid.c \
-+	setgid32.c setgroups.c setgroups32.c sethostname.c setns.c \
-+	setpgrp-exec.c setregid.c setregid32.c setresgid.c \
-+	setresgid32.c setresuid.c setresuid32.c setreuid.c \
-+	setreuid32.c setrlimit.c setrlimit-Xabbrev.c setrlimit-Xraw.c \
-+	setrlimit-Xverbose.c setuid.c setuid32.c shmxt.c shutdown.c \
-+	sigaction.c sigaltstack.c siginfo.c signal.c signal_receive.c \
-+	signal_receive--pidns-translation.c signalfd4.c sigpending.c \
-+	sigprocmask.c sigreturn.c sigsuspend.c sleep.c so_error.c \
-+	so_linger.c so_peercred.c so_peercred--pidns-translation.c \
-+	so_peercred-Xabbrev.c so_peercred-Xraw.c \
-+	so_peercred-Xverbose.c sock_filter-v.c sock_filter-v-Xabbrev.c \
-+	sock_filter-v-Xraw.c sock_filter-v-Xverbose.c \
-+	sockaddr_xlat-Xabbrev.c sockaddr_xlat-Xraw.c \
-+	sockaddr_xlat-Xverbose.c socketcall.c sockopt-sol_netlink.c \
-+	sockopt-timestamp.c splice.c $(stack_fcall_SOURCES) \
-+	$(stack_fcall_attach_SOURCES) $(stack_fcall_mangled_SOURCES) \
-+	stat.c stat64.c statfs.c statfs64.c status-all.c \
-+	status-failed.c status-failed-long.c status-failed-status.c \
-+	status-none.c status-none-f.c status-none-threads.c \
-+	status-successful.c status-successful-long.c \
-+	status-successful-status.c status-unfinished.c \
-+	status-unfinished-threads.c statx.c strace--strings-in-hex.c \
-+	strace--strings-in-hex-all.c \
- 	strace--strings-in-hex-non-ascii.c strace-x.c strace-xx.c \
- 	swap.c sxetmask.c symlink.c symlinkat.c sync.c \
- 	sync_file_range.c sync_file_range2.c sysinfo.c syslog.c \
--	syslog-success.c tee.c tgkill.c threads-execve.c \
--	threads-execve--quiet-thread-execve.c threads-execve-q.c \
--	threads-execve-qq.c threads-execve-qqq.c time.c timer_create.c \
--	timer_xettime.c timerfd_xettime.c times.c times-fail.c tkill.c \
--	tracer_ppid_pgid_sid.c truncate.c truncate64.c ugetrlimit.c \
--	uio.c umask.c umount.c umount2.c umoven-illptr.c umovestr.c \
--	umovestr-illptr.c umovestr2.c umovestr3.c umovestr_cached.c \
--	umovestr_cached_adjacent.c uname.c unblock_reset_raise.c \
--	unix-pair-send-recv.c unix-pair-sendto-recvfrom.c unlink.c \
--	unlinkat.c unshare.c userfaultfd.c ustat.c utime.c utimensat.c \
--	utimensat-Xabbrev.c utimensat-Xraw.c utimensat-Xverbose.c \
--	utimes.c vfork-f.c vhangup.c vmsplice.c wait4.c wait4-v.c \
--	waitid.c waitid-v.c waitpid.c xattr.c xattr-strings.c \
--	xet_robust_list.c xet_thread_area_x86.c xetitimer.c xetpgid.c \
--	xetpriority.c xettimeofday.c zeroargc.c
-+	syslog-success.c tee.c tgkill.c tgkill--pidns-translation.c \
-+	threads-execve.c threads-execve--quiet-thread-execve.c \
-+	threads-execve-q.c threads-execve-qq.c threads-execve-qqq.c \
-+	time.c timer_create.c timer_xettime.c timerfd_xettime.c \
-+	times.c times-fail.c tkill.c tkill--pidns-translation.c \
-+	tracer_ppid_pgid_sid.c $(trie_test_SOURCES) truncate.c \
-+	truncate64.c ugetrlimit.c uio.c umask.c umount.c umount2.c \
-+	umoven-illptr.c umovestr.c umovestr-illptr.c umovestr2.c \
-+	umovestr3.c umovestr_cached.c umovestr_cached_adjacent.c \
-+	uname.c unblock_reset_raise.c unix-pair-send-recv.c \
-+	unix-pair-sendto-recvfrom.c unlink.c unlinkat.c unshare.c \
-+	userfaultfd.c ustat.c utime.c utimensat.c utimensat-Xabbrev.c \
-+	utimensat-Xraw.c utimensat-Xverbose.c utimes.c vfork-f.c \
-+	vhangup.c vmsplice.c wait4.c wait4-v.c waitid.c waitid-v.c \
-+	waitpid.c xattr.c xattr-strings.c xet_robust_list.c \
-+	xet_robust_list--pidns-translation.c xet_thread_area_x86.c \
-+	xetitimer.c xetpgid.c xetpgid--pidns-translation.c \
-+	xetpriority.c xetpriority--pidns-translation.c xettimeofday.c \
-+	zeroargc.c
- DIST_SOURCES = $(libtests_a_SOURCES) _newselect.c _newselect-P.c \
- 	accept.c accept4.c access.c acct.c add_key.c adjtimex.c aio.c \
- 	aio_pgetevents.c alarm.c answer.c attach-f-p.c \
-@@ -4490,26 +4756,30 @@
- 	fadvise64_64.c fallocate.c fanotify_init.c fanotify_mark.c \
- 	fanotify_mark-Xabbrev.c fanotify_mark-Xraw.c \
- 	fanotify_mark-Xverbose.c fchdir.c fchmod.c fchmodat.c fchown.c \
--	fchown32.c fchownat.c fcntl.c fcntl64.c fdatasync.c fflush.c \
-+	fchown32.c fchownat.c fcntl.c fcntl--pidns-translation.c \
-+	fcntl64.c fcntl64--pidns-translation.c fdatasync.c fflush.c \
- 	file_handle.c file_ioctl.c filter-unavailable.c \
- 	filter_seccomp-flag.c filter_seccomp-perf.c finit_module.c \
--	flock.c fork-f.c fsconfig.c fsconfig-P.c fsmount.c fsopen.c \
--	fspick.c fspick-P.c fstat.c fstat-Xabbrev.c fstat-Xraw.c \
--	fstat-Xverbose.c fstat64.c fstat64-Xabbrev.c fstat64-Xraw.c \
--	fstat64-Xverbose.c fstatat64.c fstatfs.c fstatfs64.c fsync.c \
--	fsync-y.c ftruncate.c ftruncate64.c futex.c futimesat.c \
--	get_mempolicy.c get_process_reaper.c getcpu.c getcwd.c \
--	getdents.c getdents-v.c getdents64.c getdents64-v.c getegid.c \
--	getegid32.c geteuid.c geteuid32.c getgid.c getgid32.c \
--	getgroups.c getgroups32.c getpeername.c getpgrp.c getpid.c \
--	getppid.c getrandom.c getresgid.c getresgid32.c getresuid.c \
--	getresuid32.c getrlimit.c getrusage.c getsid.c getsockname.c \
--	gettid.c getuid.c getuid32.c getxgid.c getxpid.c getxuid.c \
--	group_req.c inet-cmsg.c init_module.c inject-nf.c inotify.c \
--	inotify_init.c inotify_init-y.c inotify_init1.c \
--	inotify_init1-y.c int_0x80.c io_uring_enter.c \
--	io_uring_register.c io_uring_setup.c ioctl.c ioctl_block.c \
--	ioctl_dm.c ioctl_dm-v.c ioctl_evdev.c ioctl_evdev-Xabbrev.c \
-+	flock.c fork--pidns-translation.c fork-f.c fsconfig.c \
-+	fsconfig-P.c fsmount.c fsopen.c fspick.c fspick-P.c fstat.c \
-+	fstat-Xabbrev.c fstat-Xraw.c fstat-Xverbose.c fstat64.c \
-+	fstat64-Xabbrev.c fstat64-Xraw.c fstat64-Xverbose.c \
-+	fstatat64.c fstatfs.c fstatfs64.c fsync.c fsync-y.c \
-+	ftruncate.c ftruncate64.c futex.c futimesat.c get_mempolicy.c \
-+	get_process_reaper.c getcpu.c getcwd.c getdents.c getdents-v.c \
-+	getdents64.c getdents64-v.c getegid.c getegid32.c geteuid.c \
-+	geteuid32.c getgid.c getgid32.c getgroups.c getgroups32.c \
-+	getpeername.c getpgrp.c getpgrp--pidns-translation.c getpid.c \
-+	getpid--pidns-translation.c getppid.c getrandom.c getresgid.c \
-+	getresgid32.c getresuid.c getresuid32.c getrlimit.c \
-+	getrusage.c getsid.c getsid--pidns-translation.c getsockname.c \
-+	gettid.c gettid--pidns-translation.c getuid.c getuid32.c \
-+	getxgid.c getxpid.c getxuid.c group_req.c inet-cmsg.c \
-+	init_module.c inject-nf.c inotify.c inotify_init.c \
-+	inotify_init-y.c inotify_init1.c inotify_init1-y.c int_0x80.c \
-+	io_uring_enter.c io_uring_register.c io_uring_setup.c ioctl.c \
-+	ioctl_block.c ioctl_block--pidns-translation.c ioctl_dm.c \
-+	ioctl_dm-v.c ioctl_evdev.c ioctl_evdev-Xabbrev.c \
- 	ioctl_evdev-Xraw.c ioctl_evdev-Xverbose.c \
- 	ioctl_evdev-success.c ioctl_evdev-success-Xabbrev.c \
- 	ioctl_evdev-success-Xraw.c ioctl_evdev-success-Xverbose.c \
-@@ -4537,47 +4807,51 @@
- 	ioctl_v4l2-success-v-Xverbose.c ioctl_v4l2-v.c \
- 	ioctl_v4l2-v-Xabbrev.c ioctl_v4l2-v-Xraw.c \
- 	ioctl_v4l2-v-Xverbose.c ioctl_watchdog.c ioperm.c iopl.c \
--	ioprio.c ioprio-Xabbrev.c ioprio-Xraw.c ioprio-Xverbose.c \
--	ip_mreq.c ipc.c ipc_msg.c ipc_msg-Xabbrev.c ipc_msg-Xraw.c \
--	ipc_msg-Xverbose.c ipc_msgbuf.c ipc_msgbuf-Xabbrev.c \
--	ipc_msgbuf-Xraw.c ipc_msgbuf-Xverbose.c ipc_sem.c \
--	ipc_sem-Xabbrev.c ipc_sem-Xraw.c ipc_sem-Xverbose.c ipc_shm.c \
--	ipc_shm-Xabbrev.c ipc_shm-Xraw.c ipc_shm-Xverbose.c \
--	is_linux_mips_n64.c kcmp.c kcmp-y.c kern_features.c \
-+	ioprio.c ioprio--pidns-translation.c ioprio-Xabbrev.c \
-+	ioprio-Xraw.c ioprio-Xverbose.c ip_mreq.c ipc.c ipc_msg.c \
-+	ipc_msg-Xabbrev.c ipc_msg-Xraw.c ipc_msg-Xverbose.c \
-+	ipc_msgbuf.c ipc_msgbuf-Xabbrev.c ipc_msgbuf-Xraw.c \
-+	ipc_msgbuf-Xverbose.c ipc_sem.c ipc_sem-Xabbrev.c \
-+	ipc_sem-Xraw.c ipc_sem-Xverbose.c ipc_shm.c ipc_shm-Xabbrev.c \
-+	ipc_shm-Xraw.c ipc_shm-Xverbose.c is_linux_mips_n64.c kcmp.c \
-+	kcmp-y.c kcmp-y--pidns-translation.c kern_features.c \
- 	kernel_version.c kernel_version-Xabbrev.c \
- 	kernel_version-Xraw.c kernel_version-Xverbose.c \
- 	kexec_file_load.c kexec_load.c keyctl.c keyctl-Xabbrev.c \
--	keyctl-Xraw.c keyctl-Xverbose.c kill.c kill_child.c ksysent.c \
--	lchown.c lchown32.c link.c linkat.c list_sigaction_signum.c \
--	llseek.c localtime.c lookup_dcookie.c looping_threads.c \
--	lseek.c lstat.c lstat64.c madvise.c maybe_switch_current_tcp.c \
-+	keyctl-Xraw.c keyctl-Xverbose.c kill.c \
-+	kill--pidns-translation.c kill_child.c ksysent.c lchown.c \
-+	lchown32.c link.c linkat.c list_sigaction_signum.c llseek.c \
-+	localtime.c lookup_dcookie.c looping_threads.c lseek.c lstat.c \
-+	lstat64.c madvise.c maybe_switch_current_tcp.c \
- 	maybe_switch_current_tcp--quiet-thread-execve.c mbind.c \
- 	mbind-Xabbrev.c mbind-Xraw.c mbind-Xverbose.c membarrier.c \
- 	memfd_create.c memfd_create-Xabbrev.c memfd_create-Xraw.c \
--	memfd_create-Xverbose.c migrate_pages.c mincore.c mkdir.c \
--	mkdirat.c mknod.c mknodat.c mlock.c mlock2.c mlockall.c mmap.c \
-+	memfd_create-Xverbose.c migrate_pages.c \
-+	migrate_pages--pidns-translation.c mincore.c mkdir.c mkdirat.c \
-+	mknod.c mknodat.c mlock.c mlock2.c mlockall.c mmap.c \
- 	mmap-Xabbrev.c mmap-Xraw.c mmap-Xverbose.c mmap64.c \
- 	mmap64-Xabbrev.c mmap64-Xraw.c mmap64-Xverbose.c mmsg.c \
- 	mmsg-silent.c mmsg_name.c mmsg_name-v.c modify_ldt.c mount.c \
- 	mount-Xabbrev.c mount-Xraw.c mount-Xverbose.c move_mount.c \
--	move_mount-P.c move_pages.c move_pages-Xabbrev.c \
--	move_pages-Xraw.c move_pages-Xverbose.c mq.c mq_sendrecv.c \
--	mq_sendrecv-read.c mq_sendrecv-write.c msg_control.c \
--	msg_control-v.c msg_name.c munlockall.c nanosleep.c \
--	net--decode-fds-dev-netlink.c net--decode-fds-none-netlink.c \
--	net--decode-fds-path-netlink.c \
-+	move_mount-P.c move_pages.c move_pages--pidns-translation.c \
-+	move_pages-Xabbrev.c move_pages-Xraw.c move_pages-Xverbose.c \
-+	mq.c mq_sendrecv.c mq_sendrecv-read.c mq_sendrecv-write.c \
-+	msg_control.c msg_control-v.c msg_name.c munlockall.c \
-+	nanosleep.c net--decode-fds-dev-netlink.c \
-+	net--decode-fds-none-netlink.c net--decode-fds-path-netlink.c \
- 	net--decode-fds-socket-netlink.c net-accept-connect.c \
- 	net-icmp_filter.c net-packet_mreq.c net-packet_mreq-Xabbrev.c \
- 	net-packet_mreq-Xraw.c net-packet_mreq-Xverbose.c \
--	net-sockaddr.c net-tpacket_req.c net-tpacket_stats.c \
-+	net-sockaddr.c net-sockaddr--pidns-translation.c \
-+	net-tpacket_req.c net-tpacket_stats.c \
- 	net-tpacket_stats-success.c net-y-unix.c net-yy-inet.c \
- 	net-yy-inet6.c net-yy-netlink.c net-yy-unix.c netlink_audit.c \
--	netlink_crypto.c netlink_generic.c netlink_inet_diag.c \
--	netlink_kobject_uevent.c netlink_netfilter.c \
--	netlink_netlink_diag.c netlink_protocol.c netlink_route.c \
--	netlink_selinux.c netlink_sock_diag.c netlink_unix_diag.c \
--	netlink_xfrm.c newfstatat.c nfnetlink_acct.c \
--	nfnetlink_cthelper.c nfnetlink_ctnetlink.c \
-+	netlink_audit--pidns-translation.c netlink_crypto.c \
-+	netlink_generic.c netlink_inet_diag.c netlink_kobject_uevent.c \
-+	netlink_netfilter.c netlink_netlink_diag.c netlink_protocol.c \
-+	netlink_route.c netlink_selinux.c netlink_sock_diag.c \
-+	netlink_unix_diag.c netlink_xfrm.c newfstatat.c \
-+	nfnetlink_acct.c nfnetlink_cthelper.c nfnetlink_ctnetlink.c \
- 	nfnetlink_ctnetlink_exp.c nfnetlink_cttimeout.c \
- 	nfnetlink_ipset.c nfnetlink_nft_compat.c nfnetlink_nftables.c \
- 	nfnetlink_osf.c nfnetlink_queue.c nfnetlink_ulog.c nlattr.c \
-@@ -4607,12 +4881,13 @@
- 	personality-Xraw.c personality-Xverbose.c pidfd_getfd.c \
- 	pidfd_getfd-y.c pidfd_getfd-yy.c pidfd_open.c \
- 	pidfd_open--decode-fd-path.c pidfd_open--decode-fd-pidfd.c \
--	pidfd_open--decode-fd-socket.c pidfd_open-P.c pidfd_open-y.c \
--	pidfd_open-yy.c pidfd_send_signal.c pipe.c pipe2.c \
--	pkey_alloc.c pkey_free.c pkey_mprotect.c poll.c poll-P.c \
--	ppoll.c ppoll-P.c ppoll-v.c prctl-arg2-intptr.c \
--	prctl-dumpable.c prctl-name.c prctl-no-args.c \
--	prctl-pdeathsig.c prctl-seccomp-filter-v.c \
-+	pidfd_open--decode-fd-socket.c pidfd_open--pidns-translation.c \
-+	pidfd_open-P.c pidfd_open-y.c pidfd_open-yy.c \
-+	pidfd_send_signal.c pidfd_send_signal--pidns-translation.c \
-+	pidns-cache.c pipe.c pipe2.c pkey_alloc.c pkey_free.c \
-+	pkey_mprotect.c poll.c poll-P.c ppoll.c ppoll-P.c ppoll-v.c \
-+	prctl-arg2-intptr.c prctl-dumpable.c prctl-name.c \
-+	prctl-no-args.c prctl-pdeathsig.c prctl-seccomp-filter-v.c \
- 	prctl-seccomp-strict.c prctl-securebits.c prctl-spec-inject.c \
- 	prctl-tid_address.c prctl-tsc.c pread64-pwrite64.c preadv.c \
- 	preadv-pwritev.c preadv2-pwritev2.c print_maxfd.c \
-@@ -4621,8 +4896,10 @@
- 	printsignal-Xabbrev.c printsignal-Xraw.c \
- 	printsignal-Xverbose.c printstr.c printstrn-umoven.c \
- 	printstrn-umoven-peekdata.c printstrn-umoven-undumpable.c \
--	prlimit64.c process_vm_readv.c process_vm_writev.c pselect6.c \
--	ptrace.c ptrace_syscall_info.c pwritev.c qual_fault.c \
-+	prlimit64.c prlimit64--pidns-translation.c process_vm_readv.c \
-+	process_vm_readv--pidns-translation.c process_vm_writev.c \
-+	process_vm_writev--pidns-translation.c pselect6.c ptrace.c \
-+	ptrace_syscall_info.c pwritev.c qual_fault.c \
- 	qual_inject-error-signal.c qual_inject-retval.c \
- 	qual_inject-signal.c qual_signal.c quotactl.c \
- 	quotactl-Xabbrev.c quotactl-Xraw.c quotactl-Xverbose.c \
-@@ -4635,60 +4912,70 @@
- 	remap_file_pages-Xraw.c remap_file_pages-Xverbose.c rename.c \
- 	renameat.c renameat2.c request_key.c restart_syscall.c \
- 	riscv_flush_icache.c rmdir.c rt_sigaction.c rt_sigpending.c \
--	rt_sigprocmask.c rt_sigqueueinfo.c rt_sigreturn.c \
-+	rt_sigprocmask.c rt_sigqueueinfo.c \
-+	rt_sigqueueinfo--pidns-translation.c rt_sigreturn.c \
- 	rt_sigsuspend.c rt_sigtimedwait.c rt_tgsigqueueinfo.c \
--	run_expect_termsig.c s390_guarded_storage.c \
--	s390_guarded_storage-v.c s390_pci_mmio_read_write.c \
--	s390_runtime_instr.c s390_sthyi.c s390_sthyi-v.c \
--	sched_get_priority_mxx.c sched_rr_get_interval.c \
--	sched_xetaffinity.c sched_xetattr.c sched_xetparam.c \
--	sched_xetscheduler.c sched_yield.c scm_rights.c \
--	seccomp-filter.c seccomp-filter-v.c seccomp-strict.c \
--	seccomp_get_action_avail.c select.c select-P.c semop.c \
--	semop-indirect.c semtimedop.c sendfile.c sendfile64.c \
--	set_mempolicy.c set_mempolicy-Xabbrev.c set_mempolicy-Xraw.c \
--	set_mempolicy-Xverbose.c set_ptracer_any.c set_sigblock.c \
--	set_sigign.c setdomainname.c setfsgid.c setfsgid32.c \
--	setfsuid.c setfsuid32.c setgid.c setgid32.c setgroups.c \
--	setgroups32.c sethostname.c setns.c setpgrp-exec.c setregid.c \
--	setregid32.c setresgid.c setresgid32.c setresuid.c \
--	setresuid32.c setreuid.c setreuid32.c setrlimit.c \
--	setrlimit-Xabbrev.c setrlimit-Xraw.c setrlimit-Xverbose.c \
--	setuid.c setuid32.c shmxt.c shutdown.c sigaction.c \
--	sigaltstack.c siginfo.c signal.c signal_receive.c signalfd4.c \
--	sigpending.c sigprocmask.c sigreturn.c sigsuspend.c sleep.c \
--	so_error.c so_linger.c so_peercred.c so_peercred-Xabbrev.c \
--	so_peercred-Xraw.c so_peercred-Xverbose.c sock_filter-v.c \
--	sock_filter-v-Xabbrev.c sock_filter-v-Xraw.c \
--	sock_filter-v-Xverbose.c sockaddr_xlat-Xabbrev.c \
--	sockaddr_xlat-Xraw.c sockaddr_xlat-Xverbose.c socketcall.c \
--	sockopt-sol_netlink.c sockopt-timestamp.c splice.c \
--	$(stack_fcall_SOURCES) $(stack_fcall_attach_SOURCES) \
--	$(stack_fcall_mangled_SOURCES) stat.c stat64.c statfs.c \
--	statfs64.c status-all.c status-failed.c status-failed-long.c \
--	status-failed-status.c status-none.c status-none-f.c \
--	status-none-threads.c status-successful.c \
--	status-successful-long.c status-successful-status.c \
--	status-unfinished.c status-unfinished-threads.c statx.c \
--	strace--strings-in-hex.c strace--strings-in-hex-all.c \
-+	rt_tgsigqueueinfo--pidns-translation.c run_expect_termsig.c \
-+	s390_guarded_storage.c s390_guarded_storage-v.c \
-+	s390_pci_mmio_read_write.c s390_runtime_instr.c s390_sthyi.c \
-+	s390_sthyi-v.c sched_get_priority_mxx.c \
-+	sched_rr_get_interval.c sched_xetaffinity.c \
-+	sched_xetaffinity--pidns-translation.c sched_xetattr.c \
-+	sched_xetattr--pidns-translation.c sched_xetparam.c \
-+	sched_xetparam--pidns-translation.c sched_xetscheduler.c \
-+	sched_xetscheduler--pidns-translation.c sched_yield.c \
-+	scm_rights.c seccomp-filter.c seccomp-filter-v.c \
-+	seccomp-strict.c seccomp_get_action_avail.c select.c \
-+	select-P.c semop.c semop-indirect.c semtimedop.c sendfile.c \
-+	sendfile64.c set_mempolicy.c set_mempolicy-Xabbrev.c \
-+	set_mempolicy-Xraw.c set_mempolicy-Xverbose.c \
-+	set_ptracer_any.c set_sigblock.c set_sigign.c setdomainname.c \
-+	setfsgid.c setfsgid32.c setfsuid.c setfsuid32.c setgid.c \
-+	setgid32.c setgroups.c setgroups32.c sethostname.c setns.c \
-+	setpgrp-exec.c setregid.c setregid32.c setresgid.c \
-+	setresgid32.c setresuid.c setresuid32.c setreuid.c \
-+	setreuid32.c setrlimit.c setrlimit-Xabbrev.c setrlimit-Xraw.c \
-+	setrlimit-Xverbose.c setuid.c setuid32.c shmxt.c shutdown.c \
-+	sigaction.c sigaltstack.c siginfo.c signal.c signal_receive.c \
-+	signal_receive--pidns-translation.c signalfd4.c sigpending.c \
-+	sigprocmask.c sigreturn.c sigsuspend.c sleep.c so_error.c \
-+	so_linger.c so_peercred.c so_peercred--pidns-translation.c \
-+	so_peercred-Xabbrev.c so_peercred-Xraw.c \
-+	so_peercred-Xverbose.c sock_filter-v.c sock_filter-v-Xabbrev.c \
-+	sock_filter-v-Xraw.c sock_filter-v-Xverbose.c \
-+	sockaddr_xlat-Xabbrev.c sockaddr_xlat-Xraw.c \
-+	sockaddr_xlat-Xverbose.c socketcall.c sockopt-sol_netlink.c \
-+	sockopt-timestamp.c splice.c $(stack_fcall_SOURCES) \
-+	$(stack_fcall_attach_SOURCES) $(stack_fcall_mangled_SOURCES) \
-+	stat.c stat64.c statfs.c statfs64.c status-all.c \
-+	status-failed.c status-failed-long.c status-failed-status.c \
-+	status-none.c status-none-f.c status-none-threads.c \
-+	status-successful.c status-successful-long.c \
-+	status-successful-status.c status-unfinished.c \
-+	status-unfinished-threads.c statx.c strace--strings-in-hex.c \
-+	strace--strings-in-hex-all.c \
- 	strace--strings-in-hex-non-ascii.c strace-x.c strace-xx.c \
- 	swap.c sxetmask.c symlink.c symlinkat.c sync.c \
- 	sync_file_range.c sync_file_range2.c sysinfo.c syslog.c \
--	syslog-success.c tee.c tgkill.c threads-execve.c \
--	threads-execve--quiet-thread-execve.c threads-execve-q.c \
--	threads-execve-qq.c threads-execve-qqq.c time.c timer_create.c \
--	timer_xettime.c timerfd_xettime.c times.c times-fail.c tkill.c \
--	tracer_ppid_pgid_sid.c truncate.c truncate64.c ugetrlimit.c \
--	uio.c umask.c umount.c umount2.c umoven-illptr.c umovestr.c \
--	umovestr-illptr.c umovestr2.c umovestr3.c umovestr_cached.c \
--	umovestr_cached_adjacent.c uname.c unblock_reset_raise.c \
--	unix-pair-send-recv.c unix-pair-sendto-recvfrom.c unlink.c \
--	unlinkat.c unshare.c userfaultfd.c ustat.c utime.c utimensat.c \
--	utimensat-Xabbrev.c utimensat-Xraw.c utimensat-Xverbose.c \
--	utimes.c vfork-f.c vhangup.c vmsplice.c wait4.c wait4-v.c \
--	waitid.c waitid-v.c waitpid.c xattr.c xattr-strings.c \
--	xet_robust_list.c xet_thread_area_x86.c xetitimer.c xetpgid.c \
--	xetpriority.c xettimeofday.c zeroargc.c
-+	syslog-success.c tee.c tgkill.c tgkill--pidns-translation.c \
-+	threads-execve.c threads-execve--quiet-thread-execve.c \
-+	threads-execve-q.c threads-execve-qq.c threads-execve-qqq.c \
-+	time.c timer_create.c timer_xettime.c timerfd_xettime.c \
-+	times.c times-fail.c tkill.c tkill--pidns-translation.c \
-+	tracer_ppid_pgid_sid.c $(trie_test_SOURCES) truncate.c \
-+	truncate64.c ugetrlimit.c uio.c umask.c umount.c umount2.c \
-+	umoven-illptr.c umovestr.c umovestr-illptr.c umovestr2.c \
-+	umovestr3.c umovestr_cached.c umovestr_cached_adjacent.c \
-+	uname.c unblock_reset_raise.c unix-pair-send-recv.c \
-+	unix-pair-sendto-recvfrom.c unlink.c unlinkat.c unshare.c \
-+	userfaultfd.c ustat.c utime.c utimensat.c utimensat-Xabbrev.c \
-+	utimensat-Xraw.c utimensat-Xverbose.c utimes.c vfork-f.c \
-+	vhangup.c vmsplice.c wait4.c wait4-v.c waitid.c waitid-v.c \
-+	waitpid.c xattr.c xattr-strings.c xet_robust_list.c \
-+	xet_robust_list--pidns-translation.c xet_thread_area_x86.c \
-+	xetitimer.c xetpgid.c xetpgid--pidns-translation.c \
-+	xetpriority.c xetpriority--pidns-translation.c xettimeofday.c \
-+	zeroargc.c
- am__can_run_installinfo = \
-   case $$AM_UPDATE_INFO_DIR in \
-     n|no|NO) false;; \
-@@ -5145,6 +5432,7 @@
- 	test_ucopy.h \
- 	tests.h \
- 	tprintf.c \
-+	xmalloc_for_tests.c \
- 	# end of libtests_a_SOURCES
- 
- libtests_a_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
-@@ -5825,6 +6113,10 @@
- 	stack-fcall-mangled-0.c stack-fcall-mangled-1.c \
- 	stack-fcall-mangled-2.c stack-fcall-mangled-3.c
- 
-+trie_test_SOURCES = trie_test.c trie_for_tests.c
-+trie_test_CPPFLAGS = $(AM_CPPFLAGS) $(CODE_COVERAGE_CPPFLAGS)
-+trie_test_CFLAGS = $(AM_CFLAGS) $(CODE_COVERAGE_CFLAGS)
-+trie_test_LDADD = $(LDADD) $(CODE_COVERAGE_LIBS)
- 
- # Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in; do not edit.
- GEN_TESTS = _newselect.gen.test _newselect-P.gen.test accept.gen.test \
-@@ -5861,13 +6153,14 @@
- 	fanotify_mark-Xverbose.gen.test fchdir.gen.test \
- 	fchmod.gen.test fchmodat.gen.test fchown.gen.test \
- 	fchown32.gen.test fchownat.gen.test fcntl.gen.test \
--	fcntl64.gen.test fdatasync.gen.test file_handle.gen.test \
--	file_ioctl.gen.test filter_seccomp.gen.test \
--	filter_seccomp-flag.gen.test finit_module.gen.test \
--	flock.gen.test fork-f.gen.test fsconfig.gen.test \
--	fsconfig-P.gen.test fsmount.gen.test fsopen.gen.test \
--	fspick.gen.test fspick-P.gen.test fstat.gen.test \
--	fstat-Xabbrev.gen.test fstat-Xraw.gen.test \
-+	fcntl--pidns-translation.gen.test fcntl64.gen.test \
-+	fcntl64--pidns-translation.gen.test fdatasync.gen.test \
-+	file_handle.gen.test file_ioctl.gen.test \
-+	filter_seccomp.gen.test filter_seccomp-flag.gen.test \
-+	finit_module.gen.test flock.gen.test fork-f.gen.test \
-+	fsconfig.gen.test fsconfig-P.gen.test fsmount.gen.test \
-+	fsopen.gen.test fspick.gen.test fspick-P.gen.test \
-+	fstat.gen.test fstat-Xabbrev.gen.test fstat-Xraw.gen.test \
- 	fstat-Xverbose.gen.test fstat64.gen.test \
- 	fstat64-Xabbrev.gen.test fstat64-Xraw.gen.test \
- 	fstat64-Xverbose.gen.test fstatat64.gen.test fstatfs.gen.test \
-@@ -5881,11 +6174,13 @@
- 	geteuid32-creds.gen.test getgid.gen.test getgid-creds.gen.test \
- 	getgid32.gen.test getgid32-creds.gen.test getgroups.gen.test \
- 	getgroups32.gen.test getpeername.gen.test getpgrp.gen.test \
--	getpid.gen.test getppid.gen.test getrandom.gen.test \
--	getresgid.gen.test getresgid32.gen.test getresuid.gen.test \
--	getresuid32.gen.test getrlimit.gen.test getrusage.gen.test \
--	getsid.gen.test getsockname.gen.test gettid.gen.test \
--	getuid-creds.gen.test getuid32.gen.test \
-+	getpgrp--pidns-translation.gen.test getpid.gen.test \
-+	getpid--pidns-translation.gen.test getppid.gen.test \
-+	getrandom.gen.test getresgid.gen.test getresgid32.gen.test \
-+	getresuid.gen.test getresuid32.gen.test getrlimit.gen.test \
-+	getrusage.gen.test getsid.gen.test \
-+	getsid--pidns-translation.gen.test getsockname.gen.test \
-+	gettid.gen.test getuid-creds.gen.test getuid32.gen.test \
- 	getuid32-creds.gen.test getxgid.gen.test getxpid.gen.test \
- 	getxuid.gen.test group_req.gen.test inet-cmsg.gen.test \
- 	init_module.gen.test inotify.gen.test inotify_init.gen.test \
-@@ -5937,9 +6232,9 @@
- 	ioctl_v4l2-success-v-Xraw.gen.test \
- 	ioctl_v4l2-success-v-Xverbose.gen.test ioctl_watchdog.gen.test \
- 	ioperm.gen.test iopl.gen.test ioprio.gen.test \
--	ioprio-Xabbrev.gen.test ioprio-Xraw.gen.test \
--	ioprio-Xverbose.gen.test ip_mreq.gen.test ipc.gen.test \
--	ipc_msg.gen.test ipc_msg-Xabbrev.gen.test \
-+	ioprio--pidns-translation.gen.test ioprio-Xabbrev.gen.test \
-+	ioprio-Xraw.gen.test ioprio-Xverbose.gen.test ip_mreq.gen.test \
-+	ipc.gen.test ipc_msg.gen.test ipc_msg-Xabbrev.gen.test \
- 	ipc_msg-Xraw.gen.test ipc_msg-Xverbose.gen.test \
- 	ipc_msgbuf-Xabbrev.gen.test ipc_msgbuf-Xraw.gen.test \
- 	ipc_msgbuf-Xverbose.gen.test ipc_sem.gen.test \
-@@ -5947,24 +6242,27 @@
- 	ipc_sem-Xverbose.gen.test ipc_shm.gen.test \
- 	ipc_shm-Xabbrev.gen.test ipc_shm-Xraw.gen.test \
- 	ipc_shm-Xverbose.gen.test kcmp.gen.test kcmp-y.gen.test \
--	kern_features.gen.test kernel_version.gen.test \
--	kernel_version-Xabbrev.gen.test kernel_version-Xraw.gen.test \
--	kernel_version-Xverbose.gen.test kexec_file_load.gen.test \
--	kexec_load.gen.test keyctl.gen.test keyctl-Xabbrev.gen.test \
--	keyctl-Xraw.gen.test keyctl-Xverbose.gen.test kill.gen.test \
--	ksysent.gen.test lchown.gen.test lchown32.gen.test \
--	link.gen.test linkat.gen.test lookup_dcookie.gen.test \
--	lstat.gen.test lstat64.gen.test madvise.gen.test \
-+	kcmp-y--pidns-translation.gen.test kern_features.gen.test \
-+	kernel_version.gen.test kernel_version-Xabbrev.gen.test \
-+	kernel_version-Xraw.gen.test kernel_version-Xverbose.gen.test \
-+	kexec_file_load.gen.test kexec_load.gen.test keyctl.gen.test \
-+	keyctl-Xabbrev.gen.test keyctl-Xraw.gen.test \
-+	keyctl-Xverbose.gen.test kill.gen.test \
-+	kill--pidns-translation.gen.test ksysent.gen.test \
-+	lchown.gen.test lchown32.gen.test link.gen.test \
-+	linkat.gen.test lookup_dcookie.gen.test lstat.gen.test \
-+	lstat64.gen.test madvise.gen.test \
- 	maybe_switch_current_tcp.gen.test \
- 	maybe_switch_current_tcp--quiet-thread-execve.gen.test \
- 	mbind.gen.test mbind-Xabbrev.gen.test mbind-Xraw.gen.test \
- 	mbind-Xverbose.gen.test membarrier.gen.test \
- 	memfd_create.gen.test memfd_create-Xabbrev.gen.test \
- 	memfd_create-Xraw.gen.test memfd_create-Xverbose.gen.test \
--	migrate_pages.gen.test mincore.gen.test mkdir.gen.test \
--	mkdirat.gen.test mknod.gen.test mknodat.gen.test \
--	mlock.gen.test mlock2.gen.test mlockall.gen.test \
--	mmap-Xabbrev.gen.test mmap-Xraw.gen.test \
-+	migrate_pages.gen.test \
-+	migrate_pages--pidns-translation.gen.test mincore.gen.test \
-+	mkdir.gen.test mkdirat.gen.test mknod.gen.test \
-+	mknodat.gen.test mlock.gen.test mlock2.gen.test \
-+	mlockall.gen.test mmap-Xabbrev.gen.test mmap-Xraw.gen.test \
- 	mmap-Xverbose.gen.test mmap64.gen.test mmap64-Xabbrev.gen.test \
- 	mmap64-Xraw.gen.test mmap64-Xverbose.gen.test mmsg.gen.test \
- 	mmsg-silent.gen.test mmsg_name.gen.test mmsg_name-v.gen.test \
-@@ -5972,17 +6270,19 @@
- 	mount-Xraw.gen.test mount-Xverbose.gen.test \
- 	move_mount.gen.test move_mount-P.gen.test move_pages.gen.test \
- 	move_pages-Xabbrev.gen.test move_pages-Xraw.gen.test \
--	move_pages-Xverbose.gen.test mq.gen.test mq_sendrecv.gen.test \
--	mq_sendrecv-read.gen.test mq_sendrecv-write.gen.test \
--	msg_control.gen.test msg_control-v.gen.test msg_name.gen.test \
--	munlockall.gen.test nanosleep.gen.test \
--	net--decode-fds-dev-netlink.gen.test \
-+	move_pages-Xverbose.gen.test \
-+	move_pages--pidns-translation.gen.test mq.gen.test \
-+	mq_sendrecv.gen.test mq_sendrecv-read.gen.test \
-+	mq_sendrecv-write.gen.test msg_control.gen.test \
-+	msg_control-v.gen.test msg_name.gen.test munlockall.gen.test \
-+	nanosleep.gen.test net--decode-fds-dev-netlink.gen.test \
- 	net--decode-fds-none-netlink.gen.test \
- 	net--decode-fds-path-netlink.gen.test \
- 	net--decode-fds-socket-netlink.gen.test \
- 	net-icmp_filter.gen.test net-packet_mreq.gen.test \
- 	net-packet_mreq-Xabbrev.gen.test net-packet_mreq-Xraw.gen.test \
- 	net-packet_mreq-Xverbose.gen.test net-sockaddr.gen.test \
-+	net-sockaddr--pidns-translation.gen.test \
- 	net-tpacket_req.gen.test net-tpacket_stats.gen.test \
- 	net-yy-inet6.gen.test netlink_audit.gen.test \
- 	netlink_crypto.gen.test netlink_generic.gen.test \
-@@ -6036,18 +6336,25 @@
- 	pidfd_open--decode-fd-pidfd.gen.test \
- 	pidfd_open--decode-fd-socket.gen.test pidfd_open-P.gen.test \
- 	pidfd_open-y.gen.test pidfd_open-yy.gen.test \
--	pidfd_send_signal.gen.test pipe2.gen.test pkey_alloc.gen.test \
--	pkey_free.gen.test pkey_mprotect.gen.test ppoll.gen.test \
--	ppoll-P.gen.test ppoll-v.gen.test pread64-pwrite64.gen.test \
--	preadv.gen.test preadv-pwritev.gen.test \
--	preadv2-pwritev2.gen.test printpath-umovestr.gen.test \
-+	pidfd_open--pidns-translation.gen.test \
-+	pidfd_send_signal.gen.test \
-+	pidfd_send_signal--pidns-translation.gen.test pipe2.gen.test \
-+	pkey_alloc.gen.test pkey_free.gen.test pkey_mprotect.gen.test \
-+	ppoll.gen.test ppoll-P.gen.test ppoll-v.gen.test \
-+	pread64-pwrite64.gen.test preadv.gen.test \
-+	preadv-pwritev.gen.test preadv2-pwritev2.gen.test \
-+	printpath-umovestr.gen.test \
- 	printpath-umovestr-peekdata.gen.test \
- 	printpath-umovestr-undumpable.gen.test \
- 	printsignal-Xabbrev.gen.test printsignal-Xraw.gen.test \
- 	printsignal-Xverbose.gen.test printstr.gen.test \
- 	printstrn-umoven.gen.test printstrn-umoven-peekdata.gen.test \
- 	printstrn-umoven-undumpable.gen.test prlimit64.gen.test \
--	process_vm_readv.gen.test process_vm_writev.gen.test \
-+	prlimit64--pidns-translation.gen.test \
-+	process_vm_readv.gen.test \
-+	process_vm_readv--pidns-translation.gen.test \
-+	process_vm_writev.gen.test \
-+	process_vm_writev--pidns-translation.gen.test \
- 	pselect6.gen.test ptrace.gen.test ptrace_syscall_info.gen.test \
- 	pwritev.gen.test quotactl.gen.test quotactl-Xabbrev.gen.test \
- 	quotactl-Xraw.gen.test quotactl-Xverbose.gen.test \
-@@ -6063,15 +6370,23 @@
- 	renameat.gen.test renameat2.gen.test request_key.gen.test \
- 	riscv_flush_icache.gen.test rmdir.gen.test \
- 	rt_sigpending.gen.test rt_sigprocmask.gen.test \
--	rt_sigqueueinfo.gen.test rt_sigreturn.gen.test \
--	rt_sigsuspend.gen.test rt_sigtimedwait.gen.test \
--	rt_tgsigqueueinfo.gen.test s390_guarded_storage.gen.test \
--	s390_guarded_storage-v.gen.test \
-+	rt_sigqueueinfo.gen.test \
-+	rt_sigqueueinfo--pidns-translation.gen.test \
-+	rt_sigreturn.gen.test rt_sigsuspend.gen.test \
-+	rt_sigtimedwait.gen.test rt_tgsigqueueinfo.gen.test \
-+	rt_tgsigqueueinfo--pidns-translation.gen.test \
-+	s390_guarded_storage.gen.test s390_guarded_storage-v.gen.test \
- 	s390_pci_mmio_read_write.gen.test s390_runtime_instr.gen.test \
- 	s390_sthyi.gen.test s390_sthyi-v.gen.test sched.gen.test \
- 	sched_get_priority_mxx.gen.test sched_rr_get_interval.gen.test \
--	sched_xetaffinity.gen.test sched_xetattr.gen.test \
--	sched_xetparam.gen.test sched_xetscheduler.gen.test \
-+	sched_xetaffinity.gen.test \
-+	sched_xetaffinity--pidns-translation.gen.test \
-+	sched_xetattr.gen.test \
-+	sched_xetattr--pidns-translation.gen.test \
-+	sched_xetparam.gen.test \
-+	sched_xetparam--pidns-translation.gen.test \
-+	sched_xetscheduler.gen.test \
-+	sched_xetscheduler--pidns-translation.gen.test \
- 	sched_yield.gen.test seccomp-filter.gen.test \
- 	seccomp-filter-v.gen.test seccomp_get_action_avail.gen.test \
- 	select.gen.test select-P.gen.test semop.gen.test \
-@@ -6089,18 +6404,20 @@
- 	setrlimit-Xraw.gen.test setrlimit-Xverbose.gen.test \
- 	setuid.gen.test setuid32.gen.test shmxt.gen.test \
- 	shutdown.gen.test sigaction.gen.test siginfo.gen.test \
--	signal.gen.test signal_receive.gen.test signalfd4.gen.test \
-+	signal.gen.test signal_receive.gen.test \
-+	signal_receive--pidns-translation.gen.test signalfd4.gen.test \
- 	sigpending.gen.test sigprocmask.gen.test sigreturn.gen.test \
- 	sigsuspend.gen.test so_error.gen.test so_linger.gen.test \
- 	so_peercred.gen.test so_peercred-Xabbrev.gen.test \
- 	so_peercred-Xraw.gen.test so_peercred-Xverbose.gen.test \
--	sock_filter-v.gen.test sock_filter-v-Xabbrev.gen.test \
--	sock_filter-v-Xraw.gen.test sock_filter-v-Xverbose.gen.test \
--	sockaddr_xlat-Xabbrev.gen.test sockaddr_xlat-Xraw.gen.test \
--	sockaddr_xlat-Xverbose.gen.test socketcall.gen.test \
--	sockopt-sol_netlink.gen.test sockopt-timestamp.gen.test \
--	splice.gen.test stat.gen.test stat64.gen.test statfs.gen.test \
--	statfs64.gen.test status-all.gen.test status-failed.gen.test \
-+	so_peercred--pidns-translation.gen.test sock_filter-v.gen.test \
-+	sock_filter-v-Xabbrev.gen.test sock_filter-v-Xraw.gen.test \
-+	sock_filter-v-Xverbose.gen.test sockaddr_xlat-Xabbrev.gen.test \
-+	sockaddr_xlat-Xraw.gen.test sockaddr_xlat-Xverbose.gen.test \
-+	socketcall.gen.test sockopt-sol_netlink.gen.test \
-+	sockopt-timestamp.gen.test splice.gen.test stat.gen.test \
-+	stat64.gen.test statfs.gen.test statfs64.gen.test \
-+	status-all.gen.test status-failed.gen.test \
- 	status-failed-long.gen.test status-failed-status.gen.test \
- 	status-none.gen.test status-successful.gen.test \
- 	status-successful-long.gen.test \
-@@ -6142,33 +6459,37 @@
- 	symlink.gen.test symlinkat.gen.test sync.gen.test \
- 	sync_file_range.gen.test sync_file_range2.gen.test \
- 	sysinfo.gen.test syslog.gen.test tee.gen.test tgkill.gen.test \
-+	tgkill--pidns-translation.gen.test \
- 	threads-execve--quiet-thread-execve.gen.test \
- 	threads-execve-q.gen.test threads-execve-qq.gen.test \
- 	threads-execve-qqq.gen.test time.gen.test \
- 	timer_create.gen.test timer_xettime.gen.test \
- 	timerfd_xettime.gen.test times.gen.test times-fail.gen.test \
--	tkill.gen.test trace_clock.gen.test trace_creds.gen.test \
--	trace_fstat.gen.test trace_fstatfs.gen.test \
--	trace_lstat.gen.test trace_personality_32.gen.test \
--	trace_personality_64.gen.test \
-+	tkill.gen.test tkill--pidns-translation.gen.test \
-+	trace_clock.gen.test trace_creds.gen.test trace_fstat.gen.test \
-+	trace_fstatfs.gen.test trace_lstat.gen.test \
-+	trace_personality_32.gen.test trace_personality_64.gen.test \
- 	trace_personality_regex_32.gen.test \
- 	trace_personality_regex_64.gen.test \
- 	trace_personality_regex_x32.gen.test \
- 	trace_personality_x32.gen.test trace_question.gen.test \
- 	trace_stat.gen.test trace_stat_like.gen.test \
- 	trace_statfs.gen.test trace_statfs_like.gen.test \
--	truncate.gen.test truncate64.gen.test ugetrlimit.gen.test \
--	umask.gen.test umoven-illptr.gen.test umovestr-illptr.gen.test \
--	umovestr3.gen.test umovestr_cached_adjacent.gen.test \
--	unlink.gen.test unlinkat.gen.test unshare.gen.test \
--	userfaultfd.gen.test ustat.gen.test utime.gen.test \
--	utimensat.gen.test utimensat-Xabbrev.gen.test \
--	utimensat-Xraw.gen.test utimensat-Xverbose.gen.test \
--	utimes.gen.test vfork-f.gen.test vhangup.gen.test \
--	vmsplice.gen.test wait4.gen.test wait4-v.gen.test \
--	waitid.gen.test waitid-v.gen.test waitpid.gen.test \
--	xattr.gen.test xattr-strings.gen.test xet_robust_list.gen.test \
--	xetitimer.gen.test xetpgid.gen.test xetpriority.gen.test \
-+	trie_test.gen.test truncate.gen.test truncate64.gen.test \
-+	ugetrlimit.gen.test umask.gen.test umoven-illptr.gen.test \
-+	umovestr-illptr.gen.test umovestr3.gen.test \
-+	umovestr_cached_adjacent.gen.test unlink.gen.test \
-+	unlinkat.gen.test unshare.gen.test userfaultfd.gen.test \
-+	ustat.gen.test utime.gen.test utimensat.gen.test \
-+	utimensat-Xabbrev.gen.test utimensat-Xraw.gen.test \
-+	utimensat-Xverbose.gen.test utimes.gen.test vfork-f.gen.test \
-+	vhangup.gen.test vmsplice.gen.test wait4.gen.test \
-+	wait4-v.gen.test waitid.gen.test waitid-v.gen.test \
-+	waitpid.gen.test xattr.gen.test xattr-strings.gen.test \
-+	xet_robust_list.gen.test \
-+	xet_robust_list--pidns-translation.gen.test xetitimer.gen.test \
-+	xetpgid.gen.test xetpgid--pidns-translation.gen.test \
-+	xetpriority.gen.test xetpriority--pidns-translation.gen.test \
- 	xettimeofday.gen.test
- @ENABLE_STACKTRACE_FALSE@STACKTRACE_TESTS = 
- @ENABLE_STACKTRACE_TRUE@STACKTRACE_TESTS = strace-k.test \
-@@ -6198,6 +6519,7 @@
- 	int_0x80.test \
- 	inotify_init-y.test \
- 	ioctl.test \
-+	ioctl_block--pidns-translation.test \
- 	ioctl_evdev-success.test \
- 	ipc_msgbuf.test \
- 	kern_features-fault.test \
-@@ -6269,15 +6591,19 @@
- 	filtering_fd-syntax.test \
- 	filtering_syscall-syntax.test \
- 	first_exec_failure.test \
-+	fork--pidns-translation.test \
- 	get_regs.test \
-+	gettid--pidns-translation.test \
- 	inject-nf.test \
- 	interactive_block.test \
- 	kill_child.test \
- 	localtime.test \
- 	looping_threads.test \
-+	netlink_audit--pidns-translation.test \
- 	opipe.test \
- 	options-syntax.test \
- 	pc.test \
-+	pidns-cache.test \
- 	printpath-umovestr-legacy.test \
- 	printstrn-umoven-legacy.test \
- 	qual_fault-syntax.test \
-@@ -6350,6 +6676,7 @@
- 	filter_seccomp.in \
- 	filter_seccomp.sh \
- 	filter-unavailable.expected \
-+	fork--pidns-translation.awk \
- 	fstatat.c \
- 	fstatx.c \
- 	gen_pure_executables.sh \
-@@ -6935,10 +7262,18 @@
- 	@rm -f fcntl$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(fcntl_OBJECTS) $(fcntl_LDADD) $(LIBS)
- 
-+fcntl--pidns-translation$(EXEEXT): $(fcntl__pidns_translation_OBJECTS) $(fcntl__pidns_translation_DEPENDENCIES) $(EXTRA_fcntl__pidns_translation_DEPENDENCIES) 
-+	@rm -f fcntl--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(fcntl__pidns_translation_OBJECTS) $(fcntl__pidns_translation_LDADD) $(LIBS)
-+
- fcntl64$(EXEEXT): $(fcntl64_OBJECTS) $(fcntl64_DEPENDENCIES) $(EXTRA_fcntl64_DEPENDENCIES) 
- 	@rm -f fcntl64$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(fcntl64_OBJECTS) $(fcntl64_LDADD) $(LIBS)
- 
-+fcntl64--pidns-translation$(EXEEXT): $(fcntl64__pidns_translation_OBJECTS) $(fcntl64__pidns_translation_DEPENDENCIES) $(EXTRA_fcntl64__pidns_translation_DEPENDENCIES) 
-+	@rm -f fcntl64--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(fcntl64__pidns_translation_OBJECTS) $(fcntl64__pidns_translation_LDADD) $(LIBS)
-+
- fdatasync$(EXEEXT): $(fdatasync_OBJECTS) $(fdatasync_DEPENDENCIES) $(EXTRA_fdatasync_DEPENDENCIES) 
- 	@rm -f fdatasync$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(fdatasync_OBJECTS) $(fdatasync_LDADD) $(LIBS)
-@@ -6975,6 +7310,10 @@
- 	@rm -f flock$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(flock_OBJECTS) $(flock_LDADD) $(LIBS)
- 
-+fork--pidns-translation$(EXEEXT): $(fork__pidns_translation_OBJECTS) $(fork__pidns_translation_DEPENDENCIES) $(EXTRA_fork__pidns_translation_DEPENDENCIES) 
-+	@rm -f fork--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(fork__pidns_translation_OBJECTS) $(fork__pidns_translation_LDADD) $(LIBS)
-+
- fork-f$(EXEEXT): $(fork_f_OBJECTS) $(fork_f_DEPENDENCIES) $(EXTRA_fork_f_DEPENDENCIES) 
- 	@rm -f fork-f$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(fork_f_OBJECTS) $(fork_f_LDADD) $(LIBS)
-@@ -7143,10 +7482,18 @@
- 	@rm -f getpgrp$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(getpgrp_OBJECTS) $(getpgrp_LDADD) $(LIBS)
- 
-+getpgrp--pidns-translation$(EXEEXT): $(getpgrp__pidns_translation_OBJECTS) $(getpgrp__pidns_translation_DEPENDENCIES) $(EXTRA_getpgrp__pidns_translation_DEPENDENCIES) 
-+	@rm -f getpgrp--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(getpgrp__pidns_translation_OBJECTS) $(getpgrp__pidns_translation_LDADD) $(LIBS)
-+
- getpid$(EXEEXT): $(getpid_OBJECTS) $(getpid_DEPENDENCIES) $(EXTRA_getpid_DEPENDENCIES) 
- 	@rm -f getpid$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(getpid_OBJECTS) $(getpid_LDADD) $(LIBS)
- 
-+getpid--pidns-translation$(EXEEXT): $(getpid__pidns_translation_OBJECTS) $(getpid__pidns_translation_DEPENDENCIES) $(EXTRA_getpid__pidns_translation_DEPENDENCIES) 
-+	@rm -f getpid--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(getpid__pidns_translation_OBJECTS) $(getpid__pidns_translation_LDADD) $(LIBS)
-+
- getppid$(EXEEXT): $(getppid_OBJECTS) $(getppid_DEPENDENCIES) $(EXTRA_getppid_DEPENDENCIES) 
- 	@rm -f getppid$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(getppid_OBJECTS) $(getppid_LDADD) $(LIBS)
-@@ -7183,6 +7530,10 @@
- 	@rm -f getsid$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(getsid_OBJECTS) $(getsid_LDADD) $(LIBS)
- 
-+getsid--pidns-translation$(EXEEXT): $(getsid__pidns_translation_OBJECTS) $(getsid__pidns_translation_DEPENDENCIES) $(EXTRA_getsid__pidns_translation_DEPENDENCIES) 
-+	@rm -f getsid--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(getsid__pidns_translation_OBJECTS) $(getsid__pidns_translation_LDADD) $(LIBS)
-+
- getsockname$(EXEEXT): $(getsockname_OBJECTS) $(getsockname_DEPENDENCIES) $(EXTRA_getsockname_DEPENDENCIES) 
- 	@rm -f getsockname$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(getsockname_OBJECTS) $(getsockname_LDADD) $(LIBS)
-@@ -7191,6 +7542,10 @@
- 	@rm -f gettid$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(gettid_OBJECTS) $(gettid_LDADD) $(LIBS)
- 
-+gettid--pidns-translation$(EXEEXT): $(gettid__pidns_translation_OBJECTS) $(gettid__pidns_translation_DEPENDENCIES) $(EXTRA_gettid__pidns_translation_DEPENDENCIES) 
-+	@rm -f gettid--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(gettid__pidns_translation_OBJECTS) $(gettid__pidns_translation_LDADD) $(LIBS)
-+
- getuid$(EXEEXT): $(getuid_OBJECTS) $(getuid_DEPENDENCIES) $(EXTRA_getuid_DEPENDENCIES) 
- 	@rm -f getuid$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(getuid_OBJECTS) $(getuid_LDADD) $(LIBS)
-@@ -7271,6 +7626,10 @@
- 	@rm -f ioctl_block$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(ioctl_block_OBJECTS) $(ioctl_block_LDADD) $(LIBS)
- 
-+ioctl_block--pidns-translation$(EXEEXT): $(ioctl_block__pidns_translation_OBJECTS) $(ioctl_block__pidns_translation_DEPENDENCIES) $(EXTRA_ioctl_block__pidns_translation_DEPENDENCIES) 
-+	@rm -f ioctl_block--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(ioctl_block__pidns_translation_OBJECTS) $(ioctl_block__pidns_translation_LDADD) $(LIBS)
-+
- ioctl_dm$(EXEEXT): $(ioctl_dm_OBJECTS) $(ioctl_dm_DEPENDENCIES) $(EXTRA_ioctl_dm_DEPENDENCIES) 
- 	@rm -f ioctl_dm$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(ioctl_dm_OBJECTS) $(ioctl_dm_LDADD) $(LIBS)
-@@ -7571,6 +7930,10 @@
- 	@rm -f ioprio$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(ioprio_OBJECTS) $(ioprio_LDADD) $(LIBS)
- 
-+ioprio--pidns-translation$(EXEEXT): $(ioprio__pidns_translation_OBJECTS) $(ioprio__pidns_translation_DEPENDENCIES) $(EXTRA_ioprio__pidns_translation_DEPENDENCIES) 
-+	@rm -f ioprio--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(ioprio__pidns_translation_OBJECTS) $(ioprio__pidns_translation_LDADD) $(LIBS)
-+
- ioprio-Xabbrev$(EXEEXT): $(ioprio_Xabbrev_OBJECTS) $(ioprio_Xabbrev_DEPENDENCIES) $(EXTRA_ioprio_Xabbrev_DEPENDENCIES) 
- 	@rm -f ioprio-Xabbrev$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(ioprio_Xabbrev_OBJECTS) $(ioprio_Xabbrev_LDADD) $(LIBS)
-@@ -7667,6 +8030,10 @@
- 	@rm -f kcmp-y$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(kcmp_y_OBJECTS) $(kcmp_y_LDADD) $(LIBS)
- 
-+kcmp-y--pidns-translation$(EXEEXT): $(kcmp_y__pidns_translation_OBJECTS) $(kcmp_y__pidns_translation_DEPENDENCIES) $(EXTRA_kcmp_y__pidns_translation_DEPENDENCIES) 
-+	@rm -f kcmp-y--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(kcmp_y__pidns_translation_OBJECTS) $(kcmp_y__pidns_translation_LDADD) $(LIBS)
-+
- kern_features$(EXEEXT): $(kern_features_OBJECTS) $(kern_features_DEPENDENCIES) $(EXTRA_kern_features_DEPENDENCIES) 
- 	@rm -f kern_features$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(kern_features_OBJECTS) $(kern_features_LDADD) $(LIBS)
-@@ -7715,6 +8082,10 @@
- 	@rm -f kill$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(kill_OBJECTS) $(kill_LDADD) $(LIBS)
- 
-+kill--pidns-translation$(EXEEXT): $(kill__pidns_translation_OBJECTS) $(kill__pidns_translation_DEPENDENCIES) $(EXTRA_kill__pidns_translation_DEPENDENCIES) 
-+	@rm -f kill--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(kill__pidns_translation_OBJECTS) $(kill__pidns_translation_LDADD) $(LIBS)
-+
- kill_child$(EXEEXT): $(kill_child_OBJECTS) $(kill_child_DEPENDENCIES) $(EXTRA_kill_child_DEPENDENCIES) 
- 	@rm -f kill_child$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(kill_child_OBJECTS) $(kill_child_LDADD) $(LIBS)
-@@ -7823,6 +8194,10 @@
- 	@rm -f migrate_pages$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(migrate_pages_OBJECTS) $(migrate_pages_LDADD) $(LIBS)
- 
-+migrate_pages--pidns-translation$(EXEEXT): $(migrate_pages__pidns_translation_OBJECTS) $(migrate_pages__pidns_translation_DEPENDENCIES) $(EXTRA_migrate_pages__pidns_translation_DEPENDENCIES) 
-+	@rm -f migrate_pages--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(migrate_pages__pidns_translation_OBJECTS) $(migrate_pages__pidns_translation_LDADD) $(LIBS)
-+
- mincore$(EXEEXT): $(mincore_OBJECTS) $(mincore_DEPENDENCIES) $(EXTRA_mincore_DEPENDENCIES) 
- 	@rm -f mincore$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(mincore_OBJECTS) $(mincore_LDADD) $(LIBS)
-@@ -7935,6 +8310,10 @@
- 	@rm -f move_pages$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(move_pages_OBJECTS) $(move_pages_LDADD) $(LIBS)
- 
-+move_pages--pidns-translation$(EXEEXT): $(move_pages__pidns_translation_OBJECTS) $(move_pages__pidns_translation_DEPENDENCIES) $(EXTRA_move_pages__pidns_translation_DEPENDENCIES) 
-+	@rm -f move_pages--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(move_pages__pidns_translation_OBJECTS) $(move_pages__pidns_translation_LDADD) $(LIBS)
-+
- move_pages-Xabbrev$(EXEEXT): $(move_pages_Xabbrev_OBJECTS) $(move_pages_Xabbrev_DEPENDENCIES) $(EXTRA_move_pages_Xabbrev_DEPENDENCIES) 
- 	@rm -f move_pages-Xabbrev$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(move_pages_Xabbrev_OBJECTS) $(move_pages_Xabbrev_LDADD) $(LIBS)
-@@ -8027,6 +8406,10 @@
- 	@rm -f net-sockaddr$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(net_sockaddr_OBJECTS) $(net_sockaddr_LDADD) $(LIBS)
- 
-+net-sockaddr--pidns-translation$(EXEEXT): $(net_sockaddr__pidns_translation_OBJECTS) $(net_sockaddr__pidns_translation_DEPENDENCIES) $(EXTRA_net_sockaddr__pidns_translation_DEPENDENCIES) 
-+	@rm -f net-sockaddr--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(net_sockaddr__pidns_translation_OBJECTS) $(net_sockaddr__pidns_translation_LDADD) $(LIBS)
-+
- net-tpacket_req$(EXEEXT): $(net_tpacket_req_OBJECTS) $(net_tpacket_req_DEPENDENCIES) $(EXTRA_net_tpacket_req_DEPENDENCIES) 
- 	@rm -f net-tpacket_req$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(net_tpacket_req_OBJECTS) $(net_tpacket_req_LDADD) $(LIBS)
-@@ -8063,6 +8446,10 @@
- 	@rm -f netlink_audit$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(netlink_audit_OBJECTS) $(netlink_audit_LDADD) $(LIBS)
- 
-+netlink_audit--pidns-translation$(EXEEXT): $(netlink_audit__pidns_translation_OBJECTS) $(netlink_audit__pidns_translation_DEPENDENCIES) $(EXTRA_netlink_audit__pidns_translation_DEPENDENCIES) 
-+	@rm -f netlink_audit--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(netlink_audit__pidns_translation_OBJECTS) $(netlink_audit__pidns_translation_LDADD) $(LIBS)
-+
- netlink_crypto$(EXEEXT): $(netlink_crypto_OBJECTS) $(netlink_crypto_DEPENDENCIES) $(EXTRA_netlink_crypto_DEPENDENCIES) 
- 	@rm -f netlink_crypto$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(netlink_crypto_OBJECTS) $(netlink_crypto_LDADD) $(LIBS)
-@@ -8479,6 +8866,10 @@
- 	@rm -f pidfd_open--decode-fd-socket$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(pidfd_open__decode_fd_socket_OBJECTS) $(pidfd_open__decode_fd_socket_LDADD) $(LIBS)
- 
-+pidfd_open--pidns-translation$(EXEEXT): $(pidfd_open__pidns_translation_OBJECTS) $(pidfd_open__pidns_translation_DEPENDENCIES) $(EXTRA_pidfd_open__pidns_translation_DEPENDENCIES) 
-+	@rm -f pidfd_open--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(pidfd_open__pidns_translation_OBJECTS) $(pidfd_open__pidns_translation_LDADD) $(LIBS)
-+
- pidfd_open-P$(EXEEXT): $(pidfd_open_P_OBJECTS) $(pidfd_open_P_DEPENDENCIES) $(EXTRA_pidfd_open_P_DEPENDENCIES) 
- 	@rm -f pidfd_open-P$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(pidfd_open_P_OBJECTS) $(pidfd_open_P_LDADD) $(LIBS)
-@@ -8495,6 +8886,14 @@
- 	@rm -f pidfd_send_signal$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(pidfd_send_signal_OBJECTS) $(pidfd_send_signal_LDADD) $(LIBS)
- 
-+pidfd_send_signal--pidns-translation$(EXEEXT): $(pidfd_send_signal__pidns_translation_OBJECTS) $(pidfd_send_signal__pidns_translation_DEPENDENCIES) $(EXTRA_pidfd_send_signal__pidns_translation_DEPENDENCIES) 
-+	@rm -f pidfd_send_signal--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(pidfd_send_signal__pidns_translation_OBJECTS) $(pidfd_send_signal__pidns_translation_LDADD) $(LIBS)
-+
-+pidns-cache$(EXEEXT): $(pidns_cache_OBJECTS) $(pidns_cache_DEPENDENCIES) $(EXTRA_pidns_cache_DEPENDENCIES) 
-+	@rm -f pidns-cache$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(pidns_cache_OBJECTS) $(pidns_cache_LDADD) $(LIBS)
-+
- pipe$(EXEEXT): $(pipe_OBJECTS) $(pipe_DEPENDENCIES) $(EXTRA_pipe_DEPENDENCIES) 
- 	@rm -f pipe$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(pipe_OBJECTS) $(pipe_LDADD) $(LIBS)
-@@ -8647,14 +9046,26 @@
- 	@rm -f prlimit64$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(prlimit64_OBJECTS) $(prlimit64_LDADD) $(LIBS)
- 
-+prlimit64--pidns-translation$(EXEEXT): $(prlimit64__pidns_translation_OBJECTS) $(prlimit64__pidns_translation_DEPENDENCIES) $(EXTRA_prlimit64__pidns_translation_DEPENDENCIES) 
-+	@rm -f prlimit64--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(prlimit64__pidns_translation_OBJECTS) $(prlimit64__pidns_translation_LDADD) $(LIBS)
-+
- process_vm_readv$(EXEEXT): $(process_vm_readv_OBJECTS) $(process_vm_readv_DEPENDENCIES) $(EXTRA_process_vm_readv_DEPENDENCIES) 
- 	@rm -f process_vm_readv$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(process_vm_readv_OBJECTS) $(process_vm_readv_LDADD) $(LIBS)
- 
-+process_vm_readv--pidns-translation$(EXEEXT): $(process_vm_readv__pidns_translation_OBJECTS) $(process_vm_readv__pidns_translation_DEPENDENCIES) $(EXTRA_process_vm_readv__pidns_translation_DEPENDENCIES) 
-+	@rm -f process_vm_readv--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(process_vm_readv__pidns_translation_OBJECTS) $(process_vm_readv__pidns_translation_LDADD) $(LIBS)
-+
- process_vm_writev$(EXEEXT): $(process_vm_writev_OBJECTS) $(process_vm_writev_DEPENDENCIES) $(EXTRA_process_vm_writev_DEPENDENCIES) 
- 	@rm -f process_vm_writev$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(process_vm_writev_OBJECTS) $(process_vm_writev_LDADD) $(LIBS)
- 
-+process_vm_writev--pidns-translation$(EXEEXT): $(process_vm_writev__pidns_translation_OBJECTS) $(process_vm_writev__pidns_translation_DEPENDENCIES) $(EXTRA_process_vm_writev__pidns_translation_DEPENDENCIES) 
-+	@rm -f process_vm_writev--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(process_vm_writev__pidns_translation_OBJECTS) $(process_vm_writev__pidns_translation_LDADD) $(LIBS)
-+
- pselect6$(EXEEXT): $(pselect6_OBJECTS) $(pselect6_DEPENDENCIES) $(EXTRA_pselect6_DEPENDENCIES) 
- 	@rm -f pselect6$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(pselect6_OBJECTS) $(pselect6_LDADD) $(LIBS)
-@@ -8847,6 +9258,10 @@
- 	@rm -f rt_sigqueueinfo$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(rt_sigqueueinfo_OBJECTS) $(rt_sigqueueinfo_LDADD) $(LIBS)
- 
-+rt_sigqueueinfo--pidns-translation$(EXEEXT): $(rt_sigqueueinfo__pidns_translation_OBJECTS) $(rt_sigqueueinfo__pidns_translation_DEPENDENCIES) $(EXTRA_rt_sigqueueinfo__pidns_translation_DEPENDENCIES) 
-+	@rm -f rt_sigqueueinfo--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(rt_sigqueueinfo__pidns_translation_OBJECTS) $(rt_sigqueueinfo__pidns_translation_LDADD) $(LIBS)
-+
- rt_sigreturn$(EXEEXT): $(rt_sigreturn_OBJECTS) $(rt_sigreturn_DEPENDENCIES) $(EXTRA_rt_sigreturn_DEPENDENCIES) 
- 	@rm -f rt_sigreturn$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(rt_sigreturn_OBJECTS) $(rt_sigreturn_LDADD) $(LIBS)
-@@ -8863,6 +9278,10 @@
- 	@rm -f rt_tgsigqueueinfo$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(rt_tgsigqueueinfo_OBJECTS) $(rt_tgsigqueueinfo_LDADD) $(LIBS)
- 
-+rt_tgsigqueueinfo--pidns-translation$(EXEEXT): $(rt_tgsigqueueinfo__pidns_translation_OBJECTS) $(rt_tgsigqueueinfo__pidns_translation_DEPENDENCIES) $(EXTRA_rt_tgsigqueueinfo__pidns_translation_DEPENDENCIES) 
-+	@rm -f rt_tgsigqueueinfo--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(rt_tgsigqueueinfo__pidns_translation_OBJECTS) $(rt_tgsigqueueinfo__pidns_translation_LDADD) $(LIBS)
-+
- run_expect_termsig$(EXEEXT): $(run_expect_termsig_OBJECTS) $(run_expect_termsig_DEPENDENCIES) $(EXTRA_run_expect_termsig_DEPENDENCIES) 
- 	@rm -f run_expect_termsig$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(run_expect_termsig_OBJECTS) $(run_expect_termsig_LDADD) $(LIBS)
-@@ -8903,18 +9322,34 @@
- 	@rm -f sched_xetaffinity$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(sched_xetaffinity_OBJECTS) $(sched_xetaffinity_LDADD) $(LIBS)
- 
-+sched_xetaffinity--pidns-translation$(EXEEXT): $(sched_xetaffinity__pidns_translation_OBJECTS) $(sched_xetaffinity__pidns_translation_DEPENDENCIES) $(EXTRA_sched_xetaffinity__pidns_translation_DEPENDENCIES) 
-+	@rm -f sched_xetaffinity--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(sched_xetaffinity__pidns_translation_OBJECTS) $(sched_xetaffinity__pidns_translation_LDADD) $(LIBS)
-+
- sched_xetattr$(EXEEXT): $(sched_xetattr_OBJECTS) $(sched_xetattr_DEPENDENCIES) $(EXTRA_sched_xetattr_DEPENDENCIES) 
- 	@rm -f sched_xetattr$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(sched_xetattr_OBJECTS) $(sched_xetattr_LDADD) $(LIBS)
- 
-+sched_xetattr--pidns-translation$(EXEEXT): $(sched_xetattr__pidns_translation_OBJECTS) $(sched_xetattr__pidns_translation_DEPENDENCIES) $(EXTRA_sched_xetattr__pidns_translation_DEPENDENCIES) 
-+	@rm -f sched_xetattr--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(sched_xetattr__pidns_translation_OBJECTS) $(sched_xetattr__pidns_translation_LDADD) $(LIBS)
-+
- sched_xetparam$(EXEEXT): $(sched_xetparam_OBJECTS) $(sched_xetparam_DEPENDENCIES) $(EXTRA_sched_xetparam_DEPENDENCIES) 
- 	@rm -f sched_xetparam$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(sched_xetparam_OBJECTS) $(sched_xetparam_LDADD) $(LIBS)
- 
-+sched_xetparam--pidns-translation$(EXEEXT): $(sched_xetparam__pidns_translation_OBJECTS) $(sched_xetparam__pidns_translation_DEPENDENCIES) $(EXTRA_sched_xetparam__pidns_translation_DEPENDENCIES) 
-+	@rm -f sched_xetparam--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(sched_xetparam__pidns_translation_OBJECTS) $(sched_xetparam__pidns_translation_LDADD) $(LIBS)
-+
- sched_xetscheduler$(EXEEXT): $(sched_xetscheduler_OBJECTS) $(sched_xetscheduler_DEPENDENCIES) $(EXTRA_sched_xetscheduler_DEPENDENCIES) 
- 	@rm -f sched_xetscheduler$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(sched_xetscheduler_OBJECTS) $(sched_xetscheduler_LDADD) $(LIBS)
- 
-+sched_xetscheduler--pidns-translation$(EXEEXT): $(sched_xetscheduler__pidns_translation_OBJECTS) $(sched_xetscheduler__pidns_translation_DEPENDENCIES) $(EXTRA_sched_xetscheduler__pidns_translation_DEPENDENCIES) 
-+	@rm -f sched_xetscheduler--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(sched_xetscheduler__pidns_translation_OBJECTS) $(sched_xetscheduler__pidns_translation_LDADD) $(LIBS)
-+
- sched_yield$(EXEEXT): $(sched_yield_OBJECTS) $(sched_yield_DEPENDENCIES) $(EXTRA_sched_yield_DEPENDENCIES) 
- 	@rm -f sched_yield$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(sched_yield_OBJECTS) $(sched_yield_LDADD) $(LIBS)
-@@ -9127,6 +9562,10 @@
- 	@rm -f signal_receive$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(signal_receive_OBJECTS) $(signal_receive_LDADD) $(LIBS)
- 
-+signal_receive--pidns-translation$(EXEEXT): $(signal_receive__pidns_translation_OBJECTS) $(signal_receive__pidns_translation_DEPENDENCIES) $(EXTRA_signal_receive__pidns_translation_DEPENDENCIES) 
-+	@rm -f signal_receive--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(signal_receive__pidns_translation_OBJECTS) $(signal_receive__pidns_translation_LDADD) $(LIBS)
-+
- signalfd4$(EXEEXT): $(signalfd4_OBJECTS) $(signalfd4_DEPENDENCIES) $(EXTRA_signalfd4_DEPENDENCIES) 
- 	@rm -f signalfd4$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(signalfd4_OBJECTS) $(signalfd4_LDADD) $(LIBS)
-@@ -9163,6 +9602,10 @@
- 	@rm -f so_peercred$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(so_peercred_OBJECTS) $(so_peercred_LDADD) $(LIBS)
- 
-+so_peercred--pidns-translation$(EXEEXT): $(so_peercred__pidns_translation_OBJECTS) $(so_peercred__pidns_translation_DEPENDENCIES) $(EXTRA_so_peercred__pidns_translation_DEPENDENCIES) 
-+	@rm -f so_peercred--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(so_peercred__pidns_translation_OBJECTS) $(so_peercred__pidns_translation_LDADD) $(LIBS)
-+
- so_peercred-Xabbrev$(EXEEXT): $(so_peercred_Xabbrev_OBJECTS) $(so_peercred_Xabbrev_DEPENDENCIES) $(EXTRA_so_peercred_Xabbrev_DEPENDENCIES) 
- 	@rm -f so_peercred-Xabbrev$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(so_peercred_Xabbrev_OBJECTS) $(so_peercred_Xabbrev_LDADD) $(LIBS)
-@@ -9367,6 +9810,10 @@
- 	@rm -f tgkill$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(tgkill_OBJECTS) $(tgkill_LDADD) $(LIBS)
- 
-+tgkill--pidns-translation$(EXEEXT): $(tgkill__pidns_translation_OBJECTS) $(tgkill__pidns_translation_DEPENDENCIES) $(EXTRA_tgkill__pidns_translation_DEPENDENCIES) 
-+	@rm -f tgkill--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(tgkill__pidns_translation_OBJECTS) $(tgkill__pidns_translation_LDADD) $(LIBS)
-+
- threads-execve$(EXEEXT): $(threads_execve_OBJECTS) $(threads_execve_DEPENDENCIES) $(EXTRA_threads_execve_DEPENDENCIES) 
- 	@rm -f threads-execve$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(threads_execve_OBJECTS) $(threads_execve_LDADD) $(LIBS)
-@@ -9415,10 +9862,18 @@
- 	@rm -f tkill$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(tkill_OBJECTS) $(tkill_LDADD) $(LIBS)
- 
-+tkill--pidns-translation$(EXEEXT): $(tkill__pidns_translation_OBJECTS) $(tkill__pidns_translation_DEPENDENCIES) $(EXTRA_tkill__pidns_translation_DEPENDENCIES) 
-+	@rm -f tkill--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(tkill__pidns_translation_OBJECTS) $(tkill__pidns_translation_LDADD) $(LIBS)
-+
- tracer_ppid_pgid_sid$(EXEEXT): $(tracer_ppid_pgid_sid_OBJECTS) $(tracer_ppid_pgid_sid_DEPENDENCIES) $(EXTRA_tracer_ppid_pgid_sid_DEPENDENCIES) 
- 	@rm -f tracer_ppid_pgid_sid$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(tracer_ppid_pgid_sid_OBJECTS) $(tracer_ppid_pgid_sid_LDADD) $(LIBS)
- 
-+trie_test$(EXEEXT): $(trie_test_OBJECTS) $(trie_test_DEPENDENCIES) $(EXTRA_trie_test_DEPENDENCIES) 
-+	@rm -f trie_test$(EXEEXT)
-+	$(AM_V_CCLD)$(trie_test_LINK) $(trie_test_OBJECTS) $(trie_test_LDADD) $(LIBS)
-+
- truncate$(EXEEXT): $(truncate_OBJECTS) $(truncate_DEPENDENCIES) $(EXTRA_truncate_DEPENDENCIES) 
- 	@rm -f truncate$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(truncate_OBJECTS) $(truncate_LDADD) $(LIBS)
-@@ -9579,6 +10034,10 @@
- 	@rm -f xet_robust_list$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(xet_robust_list_OBJECTS) $(xet_robust_list_LDADD) $(LIBS)
- 
-+xet_robust_list--pidns-translation$(EXEEXT): $(xet_robust_list__pidns_translation_OBJECTS) $(xet_robust_list__pidns_translation_DEPENDENCIES) $(EXTRA_xet_robust_list__pidns_translation_DEPENDENCIES) 
-+	@rm -f xet_robust_list--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(xet_robust_list__pidns_translation_OBJECTS) $(xet_robust_list__pidns_translation_LDADD) $(LIBS)
-+
- xet_thread_area_x86$(EXEEXT): $(xet_thread_area_x86_OBJECTS) $(xet_thread_area_x86_DEPENDENCIES) $(EXTRA_xet_thread_area_x86_DEPENDENCIES) 
- 	@rm -f xet_thread_area_x86$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(xet_thread_area_x86_OBJECTS) $(xet_thread_area_x86_LDADD) $(LIBS)
-@@ -9591,10 +10050,18 @@
- 	@rm -f xetpgid$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(xetpgid_OBJECTS) $(xetpgid_LDADD) $(LIBS)
- 
-+xetpgid--pidns-translation$(EXEEXT): $(xetpgid__pidns_translation_OBJECTS) $(xetpgid__pidns_translation_DEPENDENCIES) $(EXTRA_xetpgid__pidns_translation_DEPENDENCIES) 
-+	@rm -f xetpgid--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(xetpgid__pidns_translation_OBJECTS) $(xetpgid__pidns_translation_LDADD) $(LIBS)
-+
- xetpriority$(EXEEXT): $(xetpriority_OBJECTS) $(xetpriority_DEPENDENCIES) $(EXTRA_xetpriority_DEPENDENCIES) 
- 	@rm -f xetpriority$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(xetpriority_OBJECTS) $(xetpriority_LDADD) $(LIBS)
- 
-+xetpriority--pidns-translation$(EXEEXT): $(xetpriority__pidns_translation_OBJECTS) $(xetpriority__pidns_translation_DEPENDENCIES) $(EXTRA_xetpriority__pidns_translation_DEPENDENCIES) 
-+	@rm -f xetpriority--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(xetpriority__pidns_translation_OBJECTS) $(xetpriority__pidns_translation_LDADD) $(LIBS)
-+
- xettimeofday$(EXEEXT): $(xettimeofday_OBJECTS) $(xettimeofday_DEPENDENCIES) $(EXTRA_xettimeofday_DEPENDENCIES) 
- 	@rm -f xettimeofday$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(xettimeofday_OBJECTS) $(xettimeofday_LDADD) $(LIBS)
-@@ -9714,7 +10181,9 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchown.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchown32.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchownat.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcntl--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcntl.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcntl64--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcntl64.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fdatasync.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fflush.Po@am__quote@ # am--include-marker
-@@ -9725,6 +10194,7 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/filter_seccomp-perf.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/finit_module.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/flock.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fork--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fork-f.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fsconfig-P.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fsconfig.Po@am__quote@ # am--include-marker
-@@ -9766,7 +10236,9 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getgroups.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getgroups32.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getpeername.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getpgrp--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getpgrp.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getpid--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getpid.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getppid.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getrandom.Po@am__quote@ # am--include-marker
-@@ -9776,8 +10248,10 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getresuid32.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getrlimit.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getrusage.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getsid--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getsid.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getsockname.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gettid--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gettid.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getuid.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getuid32.Po@am__quote@ # am--include-marker
-@@ -9798,6 +10272,7 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/io_uring_register.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/io_uring_setup.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_block--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_block.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_dm-v.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_dm.Po@am__quote@ # am--include-marker
-@@ -9873,6 +10348,7 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_watchdog.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioperm.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iopl.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioprio--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioprio-Xabbrev.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioprio-Xraw.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioprio-Xverbose.Po@am__quote@ # am--include-marker
-@@ -9896,6 +10372,7 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ipc_shm-Xverbose.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ipc_shm.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/is_linux_mips_n64.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kcmp-y--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kcmp-y.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kcmp.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kern_features.Po@am__quote@ # am--include-marker
-@@ -9909,6 +10386,7 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/keyctl-Xraw.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/keyctl-Xverbose.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/keyctl.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kill--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kill.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kill_child.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ksysent.Po@am__quote@ # am--include-marker
-@@ -9946,6 +10424,7 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-test_printstrn.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-test_ucopy.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-tprintf.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-xmalloc_for_tests.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/link.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linkat.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/list_sigaction_signum.Po@am__quote@ # am--include-marker
-@@ -9968,6 +10447,7 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/memfd_create-Xraw.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/memfd_create-Xverbose.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/memfd_create.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/migrate_pages--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/migrate_pages.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mincore.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mkdir.Po@am__quote@ # am--include-marker
-@@ -9996,6 +10476,7 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mount.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/move_mount-P.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/move_mount.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/move_pages--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/move_pages-Xabbrev.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/move_pages-Xraw.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/move_pages-Xverbose.Po@am__quote@ # am--include-marker
-@@ -10019,6 +10500,7 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-packet_mreq-Xraw.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-packet_mreq-Xverbose.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-packet_mreq.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-sockaddr--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-sockaddr.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-tpacket_req.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-tpacket_stats-success.Po@am__quote@ # am--include-marker
-@@ -10028,6 +10510,7 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-yy-inet6.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-yy-netlink.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-yy-unix.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/netlink_audit--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/netlink_audit.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/netlink_crypto.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/netlink_generic.Po@am__quote@ # am--include-marker
-@@ -10132,11 +10615,14 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pidfd_open--decode-fd-path.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pidfd_open--decode-fd-pidfd.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pidfd_open--decode-fd-socket.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pidfd_open--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pidfd_open-P.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pidfd_open-y.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pidfd_open-yy.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pidfd_open.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pidfd_send_signal--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pidfd_send_signal.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pidns-cache.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pipe.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pipe2.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pkey_alloc.Po@am__quote@ # am--include-marker
-@@ -10174,8 +10660,11 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/printstrn-umoven-peekdata.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/printstrn-umoven-undumpable.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/printstrn-umoven.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/prlimit64--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/prlimit64.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/process_vm_readv--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/process_vm_readv.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/process_vm_writev--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/process_vm_writev.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pselect6.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ptrace.Po@am__quote@ # am--include-marker
-@@ -10224,10 +10713,12 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rt_sigaction.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rt_sigpending.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rt_sigprocmask.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rt_sigqueueinfo--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rt_sigqueueinfo.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rt_sigreturn.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rt_sigsuspend.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rt_sigtimedwait.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rt_tgsigqueueinfo--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rt_tgsigqueueinfo.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/run_expect_termsig.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/s390_guarded_storage-v.Po@am__quote@ # am--include-marker
-@@ -10238,9 +10729,13 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/s390_sthyi.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sched_get_priority_mxx.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sched_rr_get_interval.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sched_xetaffinity--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sched_xetaffinity.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sched_xetattr--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sched_xetattr.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sched_xetparam--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sched_xetparam.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sched_xetscheduler--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sched_xetscheduler.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sched_yield.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scm_rights.Po@am__quote@ # am--include-marker
-@@ -10294,6 +10789,7 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sigaltstack.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/siginfo.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/signal.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/signal_receive--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/signal_receive.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/signalfd4.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sigpending.Po@am__quote@ # am--include-marker
-@@ -10303,6 +10799,7 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sleep.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/so_error.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/so_linger.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/so_peercred--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/so_peercred-Xabbrev.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/so_peercred-Xraw.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/so_peercred-Xverbose.Po@am__quote@ # am--include-marker
-@@ -10362,6 +10859,7 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/syslog-success.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/syslog.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tee.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tgkill--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tgkill.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/threads-execve--quiet-thread-execve.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/threads-execve-q.Po@am__quote@ # am--include-marker
-@@ -10374,6 +10872,7 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/timerfd_xettime.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/times-fail.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/times.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tkill--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tkill.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tracer_ppid_pgid_sid.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/truncate.Po@am__quote@ # am--include-marker
-@@ -10415,10 +10914,13 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/waitpid.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xattr-strings.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xattr.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xet_robust_list--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xet_robust_list.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xet_thread_area_x86.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xetitimer.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xetpgid--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xetpgid.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xetpriority--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xetpriority.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xettimeofday.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/zeroargc.Po@am__quote@ # am--include-marker
-@@ -10893,6 +11395,20 @@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-tprintf.obj `if test -f 'tprintf.c'; then $(CYGPATH_W) 'tprintf.c'; else $(CYGPATH_W) '$(srcdir)/tprintf.c'; fi`
- 
-+libtests_a-xmalloc_for_tests.o: xmalloc_for_tests.c
-+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-xmalloc_for_tests.o -MD -MP -MF $(DEPDIR)/libtests_a-xmalloc_for_tests.Tpo -c -o libtests_a-xmalloc_for_tests.o `test -f 'xmalloc_for_tests.c' || echo '$(srcdir)/'`xmalloc_for_tests.c
-+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-xmalloc_for_tests.Tpo $(DEPDIR)/libtests_a-xmalloc_for_tests.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='xmalloc_for_tests.c' object='libtests_a-xmalloc_for_tests.o' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-xmalloc_for_tests.o `test -f 'xmalloc_for_tests.c' || echo '$(srcdir)/'`xmalloc_for_tests.c
-+
-+libtests_a-xmalloc_for_tests.obj: xmalloc_for_tests.c
-+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-xmalloc_for_tests.obj -MD -MP -MF $(DEPDIR)/libtests_a-xmalloc_for_tests.Tpo -c -o libtests_a-xmalloc_for_tests.obj `if test -f 'xmalloc_for_tests.c'; then $(CYGPATH_W) 'xmalloc_for_tests.c'; else $(CYGPATH_W) '$(srcdir)/xmalloc_for_tests.c'; fi`
-+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-xmalloc_for_tests.Tpo $(DEPDIR)/libtests_a-xmalloc_for_tests.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='xmalloc_for_tests.c' object='libtests_a-xmalloc_for_tests.obj' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-xmalloc_for_tests.obj `if test -f 'xmalloc_for_tests.c'; then $(CYGPATH_W) 'xmalloc_for_tests.c'; else $(CYGPATH_W) '$(srcdir)/xmalloc_for_tests.c'; fi`
-+
- fstat64-fstat64.o: fstat64.c
- @am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(fstat64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT fstat64-fstat64.o -MD -MP -MF $(DEPDIR)/fstat64-fstat64.Tpo -c -o fstat64-fstat64.o `test -f 'fstat64.c' || echo '$(srcdir)/'`fstat64.c
- @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/fstat64-fstat64.Tpo $(DEPDIR)/fstat64-fstat64.Po
-@@ -11103,6 +11619,34 @@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(statfs_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o statfs-statfs.obj `if test -f 'statfs.c'; then $(CYGPATH_W) 'statfs.c'; else $(CYGPATH_W) '$(srcdir)/statfs.c'; fi`
- 
-+trie_test-trie_test.o: trie_test.c
-+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(trie_test_CPPFLAGS) $(CPPFLAGS) $(trie_test_CFLAGS) $(CFLAGS) -MT trie_test-trie_test.o -MD -MP -MF $(DEPDIR)/trie_test-trie_test.Tpo -c -o trie_test-trie_test.o `test -f 'trie_test.c' || echo '$(srcdir)/'`trie_test.c
-+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/trie_test-trie_test.Tpo $(DEPDIR)/trie_test-trie_test.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='trie_test.c' object='trie_test-trie_test.o' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(trie_test_CPPFLAGS) $(CPPFLAGS) $(trie_test_CFLAGS) $(CFLAGS) -c -o trie_test-trie_test.o `test -f 'trie_test.c' || echo '$(srcdir)/'`trie_test.c
-+
-+trie_test-trie_test.obj: trie_test.c
-+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(trie_test_CPPFLAGS) $(CPPFLAGS) $(trie_test_CFLAGS) $(CFLAGS) -MT trie_test-trie_test.obj -MD -MP -MF $(DEPDIR)/trie_test-trie_test.Tpo -c -o trie_test-trie_test.obj `if test -f 'trie_test.c'; then $(CYGPATH_W) 'trie_test.c'; else $(CYGPATH_W) '$(srcdir)/trie_test.c'; fi`
-+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/trie_test-trie_test.Tpo $(DEPDIR)/trie_test-trie_test.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='trie_test.c' object='trie_test-trie_test.obj' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(trie_test_CPPFLAGS) $(CPPFLAGS) $(trie_test_CFLAGS) $(CFLAGS) -c -o trie_test-trie_test.obj `if test -f 'trie_test.c'; then $(CYGPATH_W) 'trie_test.c'; else $(CYGPATH_W) '$(srcdir)/trie_test.c'; fi`
-+
-+trie_test-trie_for_tests.o: trie_for_tests.c
-+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(trie_test_CPPFLAGS) $(CPPFLAGS) $(trie_test_CFLAGS) $(CFLAGS) -MT trie_test-trie_for_tests.o -MD -MP -MF $(DEPDIR)/trie_test-trie_for_tests.Tpo -c -o trie_test-trie_for_tests.o `test -f 'trie_for_tests.c' || echo '$(srcdir)/'`trie_for_tests.c
-+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/trie_test-trie_for_tests.Tpo $(DEPDIR)/trie_test-trie_for_tests.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='trie_for_tests.c' object='trie_test-trie_for_tests.o' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(trie_test_CPPFLAGS) $(CPPFLAGS) $(trie_test_CFLAGS) $(CFLAGS) -c -o trie_test-trie_for_tests.o `test -f 'trie_for_tests.c' || echo '$(srcdir)/'`trie_for_tests.c
-+
-+trie_test-trie_for_tests.obj: trie_for_tests.c
-+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(trie_test_CPPFLAGS) $(CPPFLAGS) $(trie_test_CFLAGS) $(CFLAGS) -MT trie_test-trie_for_tests.obj -MD -MP -MF $(DEPDIR)/trie_test-trie_for_tests.Tpo -c -o trie_test-trie_for_tests.obj `if test -f 'trie_for_tests.c'; then $(CYGPATH_W) 'trie_for_tests.c'; else $(CYGPATH_W) '$(srcdir)/trie_for_tests.c'; fi`
-+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/trie_test-trie_for_tests.Tpo $(DEPDIR)/trie_test-trie_for_tests.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='trie_for_tests.c' object='trie_test-trie_for_tests.obj' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(trie_test_CPPFLAGS) $(CPPFLAGS) $(trie_test_CFLAGS) $(CFLAGS) -c -o trie_test-trie_for_tests.obj `if test -f 'trie_for_tests.c'; then $(CYGPATH_W) 'trie_for_tests.c'; else $(CYGPATH_W) '$(srcdir)/trie_for_tests.c'; fi`
-+
- truncate64-truncate64.o: truncate64.c
- @am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(truncate64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT truncate64-truncate64.o -MD -MP -MF $(DEPDIR)/truncate64-truncate64.Tpo -c -o truncate64-truncate64.o `test -f 'truncate64.c' || echo '$(srcdir)/'`truncate64.c
- @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/truncate64-truncate64.Tpo $(DEPDIR)/truncate64-truncate64.Po
-@@ -11551,7 +12095,9 @@
- 	-rm -f ./$(DEPDIR)/fchown.Po
- 	-rm -f ./$(DEPDIR)/fchown32.Po
- 	-rm -f ./$(DEPDIR)/fchownat.Po
-+	-rm -f ./$(DEPDIR)/fcntl--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/fcntl.Po
-+	-rm -f ./$(DEPDIR)/fcntl64--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/fcntl64.Po
- 	-rm -f ./$(DEPDIR)/fdatasync.Po
- 	-rm -f ./$(DEPDIR)/fflush.Po
-@@ -11562,6 +12108,7 @@
- 	-rm -f ./$(DEPDIR)/filter_seccomp-perf.Po
- 	-rm -f ./$(DEPDIR)/finit_module.Po
- 	-rm -f ./$(DEPDIR)/flock.Po
-+	-rm -f ./$(DEPDIR)/fork--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/fork-f.Po
- 	-rm -f ./$(DEPDIR)/fsconfig-P.Po
- 	-rm -f ./$(DEPDIR)/fsconfig.Po
-@@ -11603,7 +12150,9 @@
- 	-rm -f ./$(DEPDIR)/getgroups.Po
- 	-rm -f ./$(DEPDIR)/getgroups32.Po
- 	-rm -f ./$(DEPDIR)/getpeername.Po
-+	-rm -f ./$(DEPDIR)/getpgrp--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/getpgrp.Po
-+	-rm -f ./$(DEPDIR)/getpid--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/getpid.Po
- 	-rm -f ./$(DEPDIR)/getppid.Po
- 	-rm -f ./$(DEPDIR)/getrandom.Po
-@@ -11613,8 +12162,10 @@
- 	-rm -f ./$(DEPDIR)/getresuid32.Po
- 	-rm -f ./$(DEPDIR)/getrlimit.Po
- 	-rm -f ./$(DEPDIR)/getrusage.Po
-+	-rm -f ./$(DEPDIR)/getsid--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/getsid.Po
- 	-rm -f ./$(DEPDIR)/getsockname.Po
-+	-rm -f ./$(DEPDIR)/gettid--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/gettid.Po
- 	-rm -f ./$(DEPDIR)/getuid.Po
- 	-rm -f ./$(DEPDIR)/getuid32.Po
-@@ -11635,6 +12186,7 @@
- 	-rm -f ./$(DEPDIR)/io_uring_register.Po
- 	-rm -f ./$(DEPDIR)/io_uring_setup.Po
- 	-rm -f ./$(DEPDIR)/ioctl.Po
-+	-rm -f ./$(DEPDIR)/ioctl_block--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/ioctl_block.Po
- 	-rm -f ./$(DEPDIR)/ioctl_dm-v.Po
- 	-rm -f ./$(DEPDIR)/ioctl_dm.Po
-@@ -11710,6 +12262,7 @@
- 	-rm -f ./$(DEPDIR)/ioctl_watchdog.Po
- 	-rm -f ./$(DEPDIR)/ioperm.Po
- 	-rm -f ./$(DEPDIR)/iopl.Po
-+	-rm -f ./$(DEPDIR)/ioprio--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/ioprio-Xabbrev.Po
- 	-rm -f ./$(DEPDIR)/ioprio-Xraw.Po
- 	-rm -f ./$(DEPDIR)/ioprio-Xverbose.Po
-@@ -11733,6 +12286,7 @@
- 	-rm -f ./$(DEPDIR)/ipc_shm-Xverbose.Po
- 	-rm -f ./$(DEPDIR)/ipc_shm.Po
- 	-rm -f ./$(DEPDIR)/is_linux_mips_n64.Po
-+	-rm -f ./$(DEPDIR)/kcmp-y--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/kcmp-y.Po
- 	-rm -f ./$(DEPDIR)/kcmp.Po
- 	-rm -f ./$(DEPDIR)/kern_features.Po
-@@ -11746,6 +12300,7 @@
- 	-rm -f ./$(DEPDIR)/keyctl-Xraw.Po
- 	-rm -f ./$(DEPDIR)/keyctl-Xverbose.Po
- 	-rm -f ./$(DEPDIR)/keyctl.Po
-+	-rm -f ./$(DEPDIR)/kill--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/kill.Po
- 	-rm -f ./$(DEPDIR)/kill_child.Po
- 	-rm -f ./$(DEPDIR)/ksysent.Po
-@@ -11783,6 +12338,7 @@
- 	-rm -f ./$(DEPDIR)/libtests_a-test_printstrn.Po
- 	-rm -f ./$(DEPDIR)/libtests_a-test_ucopy.Po
- 	-rm -f ./$(DEPDIR)/libtests_a-tprintf.Po
-+	-rm -f ./$(DEPDIR)/libtests_a-xmalloc_for_tests.Po
- 	-rm -f ./$(DEPDIR)/link.Po
- 	-rm -f ./$(DEPDIR)/linkat.Po
- 	-rm -f ./$(DEPDIR)/list_sigaction_signum.Po
-@@ -11805,6 +12361,7 @@
- 	-rm -f ./$(DEPDIR)/memfd_create-Xraw.Po
- 	-rm -f ./$(DEPDIR)/memfd_create-Xverbose.Po
- 	-rm -f ./$(DEPDIR)/memfd_create.Po
-+	-rm -f ./$(DEPDIR)/migrate_pages--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/migrate_pages.Po
- 	-rm -f ./$(DEPDIR)/mincore.Po
- 	-rm -f ./$(DEPDIR)/mkdir.Po
-@@ -11833,6 +12390,7 @@
- 	-rm -f ./$(DEPDIR)/mount.Po
- 	-rm -f ./$(DEPDIR)/move_mount-P.Po
- 	-rm -f ./$(DEPDIR)/move_mount.Po
-+	-rm -f ./$(DEPDIR)/move_pages--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/move_pages-Xabbrev.Po
- 	-rm -f ./$(DEPDIR)/move_pages-Xraw.Po
- 	-rm -f ./$(DEPDIR)/move_pages-Xverbose.Po
-@@ -11856,6 +12414,7 @@
- 	-rm -f ./$(DEPDIR)/net-packet_mreq-Xraw.Po
- 	-rm -f ./$(DEPDIR)/net-packet_mreq-Xverbose.Po
- 	-rm -f ./$(DEPDIR)/net-packet_mreq.Po
-+	-rm -f ./$(DEPDIR)/net-sockaddr--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/net-sockaddr.Po
- 	-rm -f ./$(DEPDIR)/net-tpacket_req.Po
- 	-rm -f ./$(DEPDIR)/net-tpacket_stats-success.Po
-@@ -11865,6 +12424,7 @@
- 	-rm -f ./$(DEPDIR)/net-yy-inet6.Po
- 	-rm -f ./$(DEPDIR)/net-yy-netlink.Po
- 	-rm -f ./$(DEPDIR)/net-yy-unix.Po
-+	-rm -f ./$(DEPDIR)/netlink_audit--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/netlink_audit.Po
- 	-rm -f ./$(DEPDIR)/netlink_crypto.Po
- 	-rm -f ./$(DEPDIR)/netlink_generic.Po
-@@ -11969,11 +12529,14 @@
- 	-rm -f ./$(DEPDIR)/pidfd_open--decode-fd-path.Po
- 	-rm -f ./$(DEPDIR)/pidfd_open--decode-fd-pidfd.Po
- 	-rm -f ./$(DEPDIR)/pidfd_open--decode-fd-socket.Po
-+	-rm -f ./$(DEPDIR)/pidfd_open--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/pidfd_open-P.Po
- 	-rm -f ./$(DEPDIR)/pidfd_open-y.Po
- 	-rm -f ./$(DEPDIR)/pidfd_open-yy.Po
- 	-rm -f ./$(DEPDIR)/pidfd_open.Po
-+	-rm -f ./$(DEPDIR)/pidfd_send_signal--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/pidfd_send_signal.Po
-+	-rm -f ./$(DEPDIR)/pidns-cache.Po
- 	-rm -f ./$(DEPDIR)/pipe.Po
- 	-rm -f ./$(DEPDIR)/pipe2.Po
- 	-rm -f ./$(DEPDIR)/pkey_alloc.Po
-@@ -12011,8 +12574,11 @@
- 	-rm -f ./$(DEPDIR)/printstrn-umoven-peekdata.Po
- 	-rm -f ./$(DEPDIR)/printstrn-umoven-undumpable.Po
- 	-rm -f ./$(DEPDIR)/printstrn-umoven.Po
-+	-rm -f ./$(DEPDIR)/prlimit64--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/prlimit64.Po
-+	-rm -f ./$(DEPDIR)/process_vm_readv--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/process_vm_readv.Po
-+	-rm -f ./$(DEPDIR)/process_vm_writev--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/process_vm_writev.Po
- 	-rm -f ./$(DEPDIR)/pselect6.Po
- 	-rm -f ./$(DEPDIR)/ptrace.Po
-@@ -12061,10 +12627,12 @@
- 	-rm -f ./$(DEPDIR)/rt_sigaction.Po
- 	-rm -f ./$(DEPDIR)/rt_sigpending.Po
- 	-rm -f ./$(DEPDIR)/rt_sigprocmask.Po
-+	-rm -f ./$(DEPDIR)/rt_sigqueueinfo--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/rt_sigqueueinfo.Po
- 	-rm -f ./$(DEPDIR)/rt_sigreturn.Po
- 	-rm -f ./$(DEPDIR)/rt_sigsuspend.Po
- 	-rm -f ./$(DEPDIR)/rt_sigtimedwait.Po
-+	-rm -f ./$(DEPDIR)/rt_tgsigqueueinfo--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/rt_tgsigqueueinfo.Po
- 	-rm -f ./$(DEPDIR)/run_expect_termsig.Po
- 	-rm -f ./$(DEPDIR)/s390_guarded_storage-v.Po
-@@ -12075,9 +12643,13 @@
- 	-rm -f ./$(DEPDIR)/s390_sthyi.Po
- 	-rm -f ./$(DEPDIR)/sched_get_priority_mxx.Po
- 	-rm -f ./$(DEPDIR)/sched_rr_get_interval.Po
-+	-rm -f ./$(DEPDIR)/sched_xetaffinity--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/sched_xetaffinity.Po
-+	-rm -f ./$(DEPDIR)/sched_xetattr--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/sched_xetattr.Po
-+	-rm -f ./$(DEPDIR)/sched_xetparam--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/sched_xetparam.Po
-+	-rm -f ./$(DEPDIR)/sched_xetscheduler--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/sched_xetscheduler.Po
- 	-rm -f ./$(DEPDIR)/sched_yield.Po
- 	-rm -f ./$(DEPDIR)/scm_rights.Po
-@@ -12131,6 +12703,7 @@
- 	-rm -f ./$(DEPDIR)/sigaltstack.Po
- 	-rm -f ./$(DEPDIR)/siginfo.Po
- 	-rm -f ./$(DEPDIR)/signal.Po
-+	-rm -f ./$(DEPDIR)/signal_receive--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/signal_receive.Po
- 	-rm -f ./$(DEPDIR)/signalfd4.Po
- 	-rm -f ./$(DEPDIR)/sigpending.Po
-@@ -12140,6 +12713,7 @@
- 	-rm -f ./$(DEPDIR)/sleep.Po
- 	-rm -f ./$(DEPDIR)/so_error.Po
- 	-rm -f ./$(DEPDIR)/so_linger.Po
-+	-rm -f ./$(DEPDIR)/so_peercred--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/so_peercred-Xabbrev.Po
- 	-rm -f ./$(DEPDIR)/so_peercred-Xraw.Po
- 	-rm -f ./$(DEPDIR)/so_peercred-Xverbose.Po
-@@ -12199,6 +12773,7 @@
- 	-rm -f ./$(DEPDIR)/syslog-success.Po
- 	-rm -f ./$(DEPDIR)/syslog.Po
- 	-rm -f ./$(DEPDIR)/tee.Po
-+	-rm -f ./$(DEPDIR)/tgkill--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/tgkill.Po
- 	-rm -f ./$(DEPDIR)/threads-execve--quiet-thread-execve.Po
- 	-rm -f ./$(DEPDIR)/threads-execve-q.Po
-@@ -12211,6 +12786,7 @@
- 	-rm -f ./$(DEPDIR)/timerfd_xettime.Po
- 	-rm -f ./$(DEPDIR)/times-fail.Po
- 	-rm -f ./$(DEPDIR)/times.Po
-+	-rm -f ./$(DEPDIR)/tkill--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/tkill.Po
- 	-rm -f ./$(DEPDIR)/tracer_ppid_pgid_sid.Po
- 	-rm -f ./$(DEPDIR)/truncate.Po
-@@ -12252,10 +12828,13 @@
- 	-rm -f ./$(DEPDIR)/waitpid.Po
- 	-rm -f ./$(DEPDIR)/xattr-strings.Po
- 	-rm -f ./$(DEPDIR)/xattr.Po
-+	-rm -f ./$(DEPDIR)/xet_robust_list--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/xet_robust_list.Po
- 	-rm -f ./$(DEPDIR)/xet_thread_area_x86.Po
- 	-rm -f ./$(DEPDIR)/xetitimer.Po
-+	-rm -f ./$(DEPDIR)/xetpgid--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/xetpgid.Po
-+	-rm -f ./$(DEPDIR)/xetpriority--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/xetpriority.Po
- 	-rm -f ./$(DEPDIR)/xettimeofday.Po
- 	-rm -f ./$(DEPDIR)/zeroargc.Po
-@@ -12409,7 +12988,9 @@
- 	-rm -f ./$(DEPDIR)/fchown.Po
- 	-rm -f ./$(DEPDIR)/fchown32.Po
- 	-rm -f ./$(DEPDIR)/fchownat.Po
-+	-rm -f ./$(DEPDIR)/fcntl--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/fcntl.Po
-+	-rm -f ./$(DEPDIR)/fcntl64--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/fcntl64.Po
- 	-rm -f ./$(DEPDIR)/fdatasync.Po
- 	-rm -f ./$(DEPDIR)/fflush.Po
-@@ -12420,6 +13001,7 @@
- 	-rm -f ./$(DEPDIR)/filter_seccomp-perf.Po
- 	-rm -f ./$(DEPDIR)/finit_module.Po
- 	-rm -f ./$(DEPDIR)/flock.Po
-+	-rm -f ./$(DEPDIR)/fork--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/fork-f.Po
- 	-rm -f ./$(DEPDIR)/fsconfig-P.Po
- 	-rm -f ./$(DEPDIR)/fsconfig.Po
-@@ -12461,7 +13043,9 @@
- 	-rm -f ./$(DEPDIR)/getgroups.Po
- 	-rm -f ./$(DEPDIR)/getgroups32.Po
- 	-rm -f ./$(DEPDIR)/getpeername.Po
-+	-rm -f ./$(DEPDIR)/getpgrp--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/getpgrp.Po
-+	-rm -f ./$(DEPDIR)/getpid--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/getpid.Po
- 	-rm -f ./$(DEPDIR)/getppid.Po
- 	-rm -f ./$(DEPDIR)/getrandom.Po
-@@ -12471,8 +13055,10 @@
- 	-rm -f ./$(DEPDIR)/getresuid32.Po
- 	-rm -f ./$(DEPDIR)/getrlimit.Po
- 	-rm -f ./$(DEPDIR)/getrusage.Po
-+	-rm -f ./$(DEPDIR)/getsid--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/getsid.Po
- 	-rm -f ./$(DEPDIR)/getsockname.Po
-+	-rm -f ./$(DEPDIR)/gettid--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/gettid.Po
- 	-rm -f ./$(DEPDIR)/getuid.Po
- 	-rm -f ./$(DEPDIR)/getuid32.Po
-@@ -12493,6 +13079,7 @@
- 	-rm -f ./$(DEPDIR)/io_uring_register.Po
- 	-rm -f ./$(DEPDIR)/io_uring_setup.Po
- 	-rm -f ./$(DEPDIR)/ioctl.Po
-+	-rm -f ./$(DEPDIR)/ioctl_block--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/ioctl_block.Po
- 	-rm -f ./$(DEPDIR)/ioctl_dm-v.Po
- 	-rm -f ./$(DEPDIR)/ioctl_dm.Po
-@@ -12568,6 +13155,7 @@
- 	-rm -f ./$(DEPDIR)/ioctl_watchdog.Po
- 	-rm -f ./$(DEPDIR)/ioperm.Po
- 	-rm -f ./$(DEPDIR)/iopl.Po
-+	-rm -f ./$(DEPDIR)/ioprio--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/ioprio-Xabbrev.Po
- 	-rm -f ./$(DEPDIR)/ioprio-Xraw.Po
- 	-rm -f ./$(DEPDIR)/ioprio-Xverbose.Po
-@@ -12591,6 +13179,7 @@
- 	-rm -f ./$(DEPDIR)/ipc_shm-Xverbose.Po
- 	-rm -f ./$(DEPDIR)/ipc_shm.Po
- 	-rm -f ./$(DEPDIR)/is_linux_mips_n64.Po
-+	-rm -f ./$(DEPDIR)/kcmp-y--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/kcmp-y.Po
- 	-rm -f ./$(DEPDIR)/kcmp.Po
- 	-rm -f ./$(DEPDIR)/kern_features.Po
-@@ -12604,6 +13193,7 @@
- 	-rm -f ./$(DEPDIR)/keyctl-Xraw.Po
- 	-rm -f ./$(DEPDIR)/keyctl-Xverbose.Po
- 	-rm -f ./$(DEPDIR)/keyctl.Po
-+	-rm -f ./$(DEPDIR)/kill--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/kill.Po
- 	-rm -f ./$(DEPDIR)/kill_child.Po
- 	-rm -f ./$(DEPDIR)/ksysent.Po
-@@ -12641,6 +13231,7 @@
- 	-rm -f ./$(DEPDIR)/libtests_a-test_printstrn.Po
- 	-rm -f ./$(DEPDIR)/libtests_a-test_ucopy.Po
- 	-rm -f ./$(DEPDIR)/libtests_a-tprintf.Po
-+	-rm -f ./$(DEPDIR)/libtests_a-xmalloc_for_tests.Po
- 	-rm -f ./$(DEPDIR)/link.Po
- 	-rm -f ./$(DEPDIR)/linkat.Po
- 	-rm -f ./$(DEPDIR)/list_sigaction_signum.Po
-@@ -12663,6 +13254,7 @@
- 	-rm -f ./$(DEPDIR)/memfd_create-Xraw.Po
- 	-rm -f ./$(DEPDIR)/memfd_create-Xverbose.Po
- 	-rm -f ./$(DEPDIR)/memfd_create.Po
-+	-rm -f ./$(DEPDIR)/migrate_pages--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/migrate_pages.Po
- 	-rm -f ./$(DEPDIR)/mincore.Po
- 	-rm -f ./$(DEPDIR)/mkdir.Po
-@@ -12691,6 +13283,7 @@
- 	-rm -f ./$(DEPDIR)/mount.Po
- 	-rm -f ./$(DEPDIR)/move_mount-P.Po
- 	-rm -f ./$(DEPDIR)/move_mount.Po
-+	-rm -f ./$(DEPDIR)/move_pages--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/move_pages-Xabbrev.Po
- 	-rm -f ./$(DEPDIR)/move_pages-Xraw.Po
- 	-rm -f ./$(DEPDIR)/move_pages-Xverbose.Po
-@@ -12714,6 +13307,7 @@
- 	-rm -f ./$(DEPDIR)/net-packet_mreq-Xraw.Po
- 	-rm -f ./$(DEPDIR)/net-packet_mreq-Xverbose.Po
- 	-rm -f ./$(DEPDIR)/net-packet_mreq.Po
-+	-rm -f ./$(DEPDIR)/net-sockaddr--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/net-sockaddr.Po
- 	-rm -f ./$(DEPDIR)/net-tpacket_req.Po
- 	-rm -f ./$(DEPDIR)/net-tpacket_stats-success.Po
-@@ -12723,6 +13317,7 @@
- 	-rm -f ./$(DEPDIR)/net-yy-inet6.Po
- 	-rm -f ./$(DEPDIR)/net-yy-netlink.Po
- 	-rm -f ./$(DEPDIR)/net-yy-unix.Po
-+	-rm -f ./$(DEPDIR)/netlink_audit--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/netlink_audit.Po
- 	-rm -f ./$(DEPDIR)/netlink_crypto.Po
- 	-rm -f ./$(DEPDIR)/netlink_generic.Po
-@@ -12827,11 +13422,14 @@
- 	-rm -f ./$(DEPDIR)/pidfd_open--decode-fd-path.Po
- 	-rm -f ./$(DEPDIR)/pidfd_open--decode-fd-pidfd.Po
- 	-rm -f ./$(DEPDIR)/pidfd_open--decode-fd-socket.Po
-+	-rm -f ./$(DEPDIR)/pidfd_open--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/pidfd_open-P.Po
- 	-rm -f ./$(DEPDIR)/pidfd_open-y.Po
- 	-rm -f ./$(DEPDIR)/pidfd_open-yy.Po
- 	-rm -f ./$(DEPDIR)/pidfd_open.Po
-+	-rm -f ./$(DEPDIR)/pidfd_send_signal--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/pidfd_send_signal.Po
-+	-rm -f ./$(DEPDIR)/pidns-cache.Po
- 	-rm -f ./$(DEPDIR)/pipe.Po
- 	-rm -f ./$(DEPDIR)/pipe2.Po
- 	-rm -f ./$(DEPDIR)/pkey_alloc.Po
-@@ -12869,8 +13467,11 @@
- 	-rm -f ./$(DEPDIR)/printstrn-umoven-peekdata.Po
- 	-rm -f ./$(DEPDIR)/printstrn-umoven-undumpable.Po
- 	-rm -f ./$(DEPDIR)/printstrn-umoven.Po
-+	-rm -f ./$(DEPDIR)/prlimit64--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/prlimit64.Po
-+	-rm -f ./$(DEPDIR)/process_vm_readv--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/process_vm_readv.Po
-+	-rm -f ./$(DEPDIR)/process_vm_writev--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/process_vm_writev.Po
- 	-rm -f ./$(DEPDIR)/pselect6.Po
- 	-rm -f ./$(DEPDIR)/ptrace.Po
-@@ -12919,10 +13520,12 @@
- 	-rm -f ./$(DEPDIR)/rt_sigaction.Po
- 	-rm -f ./$(DEPDIR)/rt_sigpending.Po
- 	-rm -f ./$(DEPDIR)/rt_sigprocmask.Po
-+	-rm -f ./$(DEPDIR)/rt_sigqueueinfo--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/rt_sigqueueinfo.Po
- 	-rm -f ./$(DEPDIR)/rt_sigreturn.Po
- 	-rm -f ./$(DEPDIR)/rt_sigsuspend.Po
- 	-rm -f ./$(DEPDIR)/rt_sigtimedwait.Po
-+	-rm -f ./$(DEPDIR)/rt_tgsigqueueinfo--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/rt_tgsigqueueinfo.Po
- 	-rm -f ./$(DEPDIR)/run_expect_termsig.Po
- 	-rm -f ./$(DEPDIR)/s390_guarded_storage-v.Po
-@@ -12933,9 +13536,13 @@
- 	-rm -f ./$(DEPDIR)/s390_sthyi.Po
- 	-rm -f ./$(DEPDIR)/sched_get_priority_mxx.Po
- 	-rm -f ./$(DEPDIR)/sched_rr_get_interval.Po
-+	-rm -f ./$(DEPDIR)/sched_xetaffinity--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/sched_xetaffinity.Po
-+	-rm -f ./$(DEPDIR)/sched_xetattr--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/sched_xetattr.Po
-+	-rm -f ./$(DEPDIR)/sched_xetparam--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/sched_xetparam.Po
-+	-rm -f ./$(DEPDIR)/sched_xetscheduler--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/sched_xetscheduler.Po
- 	-rm -f ./$(DEPDIR)/sched_yield.Po
- 	-rm -f ./$(DEPDIR)/scm_rights.Po
-@@ -12989,6 +13596,7 @@
- 	-rm -f ./$(DEPDIR)/sigaltstack.Po
- 	-rm -f ./$(DEPDIR)/siginfo.Po
- 	-rm -f ./$(DEPDIR)/signal.Po
-+	-rm -f ./$(DEPDIR)/signal_receive--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/signal_receive.Po
- 	-rm -f ./$(DEPDIR)/signalfd4.Po
- 	-rm -f ./$(DEPDIR)/sigpending.Po
-@@ -12998,6 +13606,7 @@
- 	-rm -f ./$(DEPDIR)/sleep.Po
- 	-rm -f ./$(DEPDIR)/so_error.Po
- 	-rm -f ./$(DEPDIR)/so_linger.Po
-+	-rm -f ./$(DEPDIR)/so_peercred--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/so_peercred-Xabbrev.Po
- 	-rm -f ./$(DEPDIR)/so_peercred-Xraw.Po
- 	-rm -f ./$(DEPDIR)/so_peercred-Xverbose.Po
-@@ -13057,6 +13666,7 @@
- 	-rm -f ./$(DEPDIR)/syslog-success.Po
- 	-rm -f ./$(DEPDIR)/syslog.Po
- 	-rm -f ./$(DEPDIR)/tee.Po
-+	-rm -f ./$(DEPDIR)/tgkill--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/tgkill.Po
- 	-rm -f ./$(DEPDIR)/threads-execve--quiet-thread-execve.Po
- 	-rm -f ./$(DEPDIR)/threads-execve-q.Po
-@@ -13069,6 +13679,7 @@
- 	-rm -f ./$(DEPDIR)/timerfd_xettime.Po
- 	-rm -f ./$(DEPDIR)/times-fail.Po
- 	-rm -f ./$(DEPDIR)/times.Po
-+	-rm -f ./$(DEPDIR)/tkill--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/tkill.Po
- 	-rm -f ./$(DEPDIR)/tracer_ppid_pgid_sid.Po
- 	-rm -f ./$(DEPDIR)/truncate.Po
-@@ -13110,14 +13721,26 @@
- 	-rm -f ./$(DEPDIR)/waitpid.Po
- 	-rm -f ./$(DEPDIR)/xattr-strings.Po
- 	-rm -f ./$(DEPDIR)/xattr.Po
-+	-rm -f ./$(DEPDIR)/xet_robust_list--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/xet_robust_list.Po
- 	-rm -f ./$(DEPDIR)/xet_thread_area_x86.Po
- 	-rm -f ./$(DEPDIR)/xetitimer.Po
-+	-rm -f ./$(DEPDIR)/xetpgid--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/xetpgid.Po
-+	-rm -f ./$(DEPDIR)/xetpriority--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/xetpriority.Po
- 	-rm -f ./$(DEPDIR)/xettimeofday.Po
- 	-rm -f ./$(DEPDIR)/zeroargc.Po
- 	-rm -f Makefile
-+distclean-am: clean-am distclean-compile distclean-generic \
-+	distclean-tags
-+
-+dvi: dvi-am
-+
-+dvi-am:
-+
-+html: html-am
-+	-rm -f Makefile
- maintainer-clean-am: distclean-am maintainer-clean-generic
- 
- mostlyclean: mostlyclean-am
-@@ -13407,9 +14030,15 @@
- $(srcdir)/fcntl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/fcntl--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/fcntl64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/fcntl64--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/fdatasync.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-@@ -13569,9 +14198,15 @@
- $(srcdir)/getpgrp.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/getpgrp--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/getpid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/getpid--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/getppid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-@@ -13599,6 +14234,9 @@
- $(srcdir)/getsid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/getsid--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/getsockname.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-@@ -13878,6 +14516,9 @@
- $(srcdir)/ioprio.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/ioprio--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/ioprio-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-@@ -13944,6 +14585,9 @@
- $(srcdir)/kcmp-y.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/kcmp-y--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/kern_features.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-@@ -13980,6 +14624,9 @@
- $(srcdir)/kill.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/kill--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/ksysent.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-@@ -14043,6 +14690,9 @@
- $(srcdir)/migrate_pages.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/migrate_pages--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/mincore.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-@@ -14133,6 +14783,9 @@
- $(srcdir)/move_pages-Xverbose.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/move_pages--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/mq.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-@@ -14190,6 +14843,9 @@
- $(srcdir)/net-sockaddr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/net-sockaddr--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/net-tpacket_req.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-@@ -14499,9 +15155,15 @@
- $(srcdir)/pidfd_open-yy.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/pidfd_open--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/pidfd_send_signal.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/pidfd_send_signal--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/pipe2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-@@ -14568,12 +15230,21 @@
- $(srcdir)/prlimit64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/prlimit64--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/process_vm_readv.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/process_vm_readv--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/process_vm_writev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/process_vm_writev--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/pselect6.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-@@ -14682,6 +15353,9 @@
- $(srcdir)/rt_sigqueueinfo.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/rt_sigqueueinfo--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/rt_sigreturn.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-@@ -14694,6 +15368,9 @@
- $(srcdir)/rt_tgsigqueueinfo.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/rt_tgsigqueueinfo--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/s390_guarded_storage.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-@@ -14724,15 +15401,27 @@
- $(srcdir)/sched_xetaffinity.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/sched_xetaffinity--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/sched_xetattr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/sched_xetattr--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/sched_xetparam.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/sched_xetparam--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/sched_xetscheduler.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/sched_xetscheduler--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/sched_yield.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-@@ -14871,6 +15560,9 @@
- $(srcdir)/signal_receive.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/signal_receive--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/signalfd4.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-@@ -14904,6 +15596,9 @@
- $(srcdir)/so_peercred-Xverbose.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/so_peercred--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/sock_filter-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-@@ -15120,6 +15815,9 @@
- $(srcdir)/tgkill.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/tgkill--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/threads-execve--quiet-thread-execve.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-@@ -15153,6 +15851,9 @@
- $(srcdir)/tkill.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/tkill--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/trace_clock.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-@@ -15201,6 +15902,9 @@
- $(srcdir)/trace_statfs_like.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/trie_test.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/truncate.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-@@ -15291,15 +15995,24 @@
- $(srcdir)/xet_robust_list.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/xet_robust_list--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/xetitimer.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
- $(srcdir)/xetpgid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/xetpgid--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/xetpriority.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/xetpriority--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/xettimeofday.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-Index: strace-5.7/tests-mx32/Makefile.in
-===================================================================
---- strace-5.7.orig/tests-mx32/Makefile.in	2020-09-09 19:52:30.790668799 +0200
-+++ strace-5.7/tests-mx32/Makefile.in	2020-09-09 20:23:25.738934694 +0200
-@@ -121,10 +121,17 @@
- 	clone3-success-Xabbrev$(EXEEXT) clone3-success-Xraw$(EXEEXT) \
- 	clone3-success-Xverbose$(EXEEXT) count-f$(EXEEXT) \
- 	delay$(EXEEXT) execve-v$(EXEEXT) execveat-v$(EXEEXT) \
-+	fcntl--pidns-translation$(EXEEXT) \
-+	fcntl64--pidns-translation$(EXEEXT) \
- 	filter_seccomp-flag$(EXEEXT) filter_seccomp-perf$(EXEEXT) \
--	filter-unavailable$(EXEEXT) fork-f$(EXEEXT) fsync-y$(EXEEXT) \
--	get_process_reaper$(EXEEXT) getpid$(EXEEXT) getppid$(EXEEXT) \
--	gettid$(EXEEXT) inject-nf$(EXEEXT) int_0x80$(EXEEXT) \
-+	filter-unavailable$(EXEEXT) fork-f$(EXEEXT) \
-+	fork--pidns-translation$(EXEEXT) fsync-y$(EXEEXT) \
-+	get_process_reaper$(EXEEXT) \
-+	getpgrp--pidns-translation$(EXEEXT) getpid$(EXEEXT) \
-+	getpid--pidns-translation$(EXEEXT) getppid$(EXEEXT) \
-+	getsid--pidns-translation$(EXEEXT) gettid$(EXEEXT) \
-+	gettid--pidns-translation$(EXEEXT) inject-nf$(EXEEXT) \
-+	int_0x80$(EXEEXT) ioctl_block--pidns-translation$(EXEEXT) \
- 	ioctl_dm-v$(EXEEXT) ioctl_evdev-success$(EXEEXT) \
- 	ioctl_evdev-success-Xabbrev$(EXEEXT) \
- 	ioctl_evdev-success-Xraw$(EXEEXT) \
-@@ -151,43 +158,68 @@
- 	ioctl_v4l2-success-v-Xabbrev$(EXEEXT) \
- 	ioctl_v4l2-success-v-Xraw$(EXEEXT) \
- 	ioctl_v4l2-success-v-Xverbose$(EXEEXT) \
--	is_linux_mips_n64$(EXEEXT) kill_child$(EXEEXT) \
--	ksysent$(EXEEXT) list_sigaction_signum$(EXEEXT) \
--	localtime$(EXEEXT) looping_threads$(EXEEXT) \
--	mmsg-silent$(EXEEXT) mmsg_name-v$(EXEEXT) \
-+	ioprio--pidns-translation$(EXEEXT) is_linux_mips_n64$(EXEEXT) \
-+	kcmp-y--pidns-translation$(EXEEXT) kill_child$(EXEEXT) \
-+	kill--pidns-translation$(EXEEXT) ksysent$(EXEEXT) \
-+	list_sigaction_signum$(EXEEXT) localtime$(EXEEXT) \
-+	looping_threads$(EXEEXT) \
-+	migrate_pages--pidns-translation$(EXEEXT) mmsg-silent$(EXEEXT) \
-+	mmsg_name-v$(EXEEXT) move_pages--pidns-translation$(EXEEXT) \
- 	msg_control-v$(EXEEXT) net-accept-connect$(EXEEXT) \
-+	net-sockaddr--pidns-translation$(EXEEXT) \
- 	net-tpacket_stats-success$(EXEEXT) nlattr_ifla_xdp-y$(EXEEXT) \
-+	netlink_audit--pidns-translation$(EXEEXT) \
- 	netlink_inet_diag$(EXEEXT) netlink_netlink_diag$(EXEEXT) \
- 	netlink_unix_diag$(EXEEXT) nsyscalls$(EXEEXT) \
- 	nsyscalls-d$(EXEEXT) oldselect-P$(EXEEXT) \
- 	oldselect-efault-P$(EXEEXT) orphaned_process_group$(EXEEXT) \
- 	pc$(EXEEXT) perf_event_open_nonverbose$(EXEEXT) \
--	perf_event_open_unabbrev$(EXEEXT) poll-P$(EXEEXT) \
--	ppoll-P$(EXEEXT) ppoll-v$(EXEEXT) \
-+	perf_event_open_unabbrev$(EXEEXT) \
-+	pidfd_open--pidns-translation$(EXEEXT) \
-+	pidfd_send_signal--pidns-translation$(EXEEXT) \
-+	pidns-cache$(EXEEXT) poll-P$(EXEEXT) ppoll-P$(EXEEXT) \
-+	ppoll-v$(EXEEXT) prlimit64--pidns-translation$(EXEEXT) \
- 	prctl-seccomp-filter-v$(EXEEXT) prctl-seccomp-strict$(EXEEXT) \
- 	prctl-spec-inject$(EXEEXT) print_maxfd$(EXEEXT) \
--	print_ppid_tracerpid$(EXEEXT) qual_fault$(EXEEXT) \
--	qual_inject-error-signal$(EXEEXT) qual_inject-retval$(EXEEXT) \
--	qual_inject-signal$(EXEEXT) qual_signal$(EXEEXT) \
--	quotactl-success$(EXEEXT) quotactl-success-v$(EXEEXT) \
--	quotactl-v$(EXEEXT) quotactl-xfs-success$(EXEEXT) \
--	quotactl-xfs-success-v$(EXEEXT) quotactl-xfs-v$(EXEEXT) \
--	redirect-fds$(EXEEXT) restart_syscall$(EXEEXT) \
--	run_expect_termsig$(EXEEXT) scm_rights$(EXEEXT) \
--	seccomp-filter-v$(EXEEXT) seccomp-strict$(EXEEXT) \
--	select-P$(EXEEXT) set_ptracer_any$(EXEEXT) \
--	set_sigblock$(EXEEXT) set_sigign$(EXEEXT) \
--	setpgrp-exec$(EXEEXT) signal_receive$(EXEEXT) sleep$(EXEEXT) \
-+	print_ppid_tracerpid$(EXEEXT) \
-+	process_vm_readv--pidns-translation$(EXEEXT) \
-+	process_vm_writev--pidns-translation$(EXEEXT) \
-+	qual_fault$(EXEEXT) qual_inject-error-signal$(EXEEXT) \
-+	qual_inject-retval$(EXEEXT) qual_inject-signal$(EXEEXT) \
-+	qual_signal$(EXEEXT) quotactl-success$(EXEEXT) \
-+	quotactl-success-v$(EXEEXT) quotactl-v$(EXEEXT) \
-+	quotactl-xfs-success$(EXEEXT) quotactl-xfs-success-v$(EXEEXT) \
-+	quotactl-xfs-v$(EXEEXT) redirect-fds$(EXEEXT) \
-+	restart_syscall$(EXEEXT) \
-+	rt_sigqueueinfo--pidns-translation$(EXEEXT) \
-+	rt_tgsigqueueinfo--pidns-translation$(EXEEXT) \
-+	run_expect_termsig$(EXEEXT) \
-+	sched_xetaffinity--pidns-translation$(EXEEXT) \
-+	sched_xetattr--pidns-translation$(EXEEXT) \
-+	sched_xetparam--pidns-translation$(EXEEXT) \
-+	sched_xetscheduler--pidns-translation$(EXEEXT) \
-+	scm_rights$(EXEEXT) seccomp-filter-v$(EXEEXT) \
-+	seccomp-strict$(EXEEXT) select-P$(EXEEXT) \
-+	set_ptracer_any$(EXEEXT) set_sigblock$(EXEEXT) \
-+	set_sigign$(EXEEXT) setpgrp-exec$(EXEEXT) \
-+	signal_receive$(EXEEXT) \
-+	signal_receive--pidns-translation$(EXEEXT) sleep$(EXEEXT) \
- 	stack-fcall$(EXEEXT) stack-fcall-attach$(EXEEXT) \
- 	stack-fcall-mangled$(EXEEXT) status-none-threads$(EXEEXT) \
--	status-unfinished-threads$(EXEEXT) syslog-success$(EXEEXT) \
-+	status-unfinished-threads$(EXEEXT) \
-+	so_peercred--pidns-translation$(EXEEXT) \
-+	syslog-success$(EXEEXT) tgkill--pidns-translation$(EXEEXT) \
- 	threads-execve$(EXEEXT) \
- 	threads-execve--quiet-thread-execve$(EXEEXT) \
- 	threads-execve-q$(EXEEXT) threads-execve-qq$(EXEEXT) \
--	threads-execve-qqq$(EXEEXT) tracer_ppid_pgid_sid$(EXEEXT) \
-+	threads-execve-qqq$(EXEEXT) tkill--pidns-translation$(EXEEXT) \
-+	tracer_ppid_pgid_sid$(EXEEXT) trie_test$(EXEEXT) \
- 	unblock_reset_raise$(EXEEXT) unix-pair-send-recv$(EXEEXT) \
- 	unix-pair-sendto-recvfrom$(EXEEXT) vfork-f$(EXEEXT) \
--	wait4-v$(EXEEXT) waitid-v$(EXEEXT) zeroargc$(EXEEXT)
-+	wait4-v$(EXEEXT) waitid-v$(EXEEXT) \
-+	xetpgid--pidns-translation$(EXEEXT) \
-+	xetpriority--pidns-translation$(EXEEXT) \
-+	xet_robust_list--pidns-translation$(EXEEXT) zeroargc$(EXEEXT)
- @ENABLE_STACKTRACE_TRUE@@USE_DEMANGLE_TRUE@am__append_1 = strace-k-demangle.test
- TESTS = $(GEN_TESTS) $(DECODER_TESTS) $(MISC_TESTS) $(am__EXEEXT_2)
- subdir = tests-mx32
-@@ -545,7 +577,8 @@
- 	libtests_a-tail_alloc.$(OBJEXT) \
- 	libtests_a-test_printpath.$(OBJEXT) \
- 	libtests_a-test_printstrn.$(OBJEXT) \
--	libtests_a-test_ucopy.$(OBJEXT) libtests_a-tprintf.$(OBJEXT)
-+	libtests_a-test_ucopy.$(OBJEXT) libtests_a-tprintf.$(OBJEXT) \
-+	libtests_a-xmalloc_for_tests.$(OBJEXT)
- libtests_a_OBJECTS = $(am_libtests_a_OBJECTS)
- _newselect_SOURCES = _newselect.c
- _newselect_OBJECTS = _newselect.$(OBJEXT)
-@@ -973,10 +1006,19 @@
- fcntl_OBJECTS = fcntl.$(OBJEXT)
- fcntl_LDADD = $(LDADD)
- fcntl_DEPENDENCIES = libtests.a
-+fcntl__pidns_translation_SOURCES = fcntl--pidns-translation.c
-+fcntl__pidns_translation_OBJECTS = fcntl--pidns-translation.$(OBJEXT)
-+fcntl__pidns_translation_LDADD = $(LDADD)
-+fcntl__pidns_translation_DEPENDENCIES = libtests.a
- fcntl64_SOURCES = fcntl64.c
- fcntl64_OBJECTS = fcntl64.$(OBJEXT)
- fcntl64_LDADD = $(LDADD)
- fcntl64_DEPENDENCIES = libtests.a
-+fcntl64__pidns_translation_SOURCES = fcntl64--pidns-translation.c
-+fcntl64__pidns_translation_OBJECTS =  \
-+	fcntl64--pidns-translation.$(OBJEXT)
-+fcntl64__pidns_translation_LDADD = $(LDADD)
-+fcntl64__pidns_translation_DEPENDENCIES = libtests.a
- fdatasync_SOURCES = fdatasync.c
- fdatasync_OBJECTS = fdatasync.$(OBJEXT)
- fdatasync_LDADD = $(LDADD)
-@@ -1012,6 +1054,10 @@
- flock_OBJECTS = flock.$(OBJEXT)
- flock_LDADD = $(LDADD)
- flock_DEPENDENCIES = libtests.a
-+fork__pidns_translation_SOURCES = fork--pidns-translation.c
-+fork__pidns_translation_OBJECTS = fork--pidns-translation.$(OBJEXT)
-+fork__pidns_translation_LDADD = $(LDADD)
-+fork__pidns_translation_DEPENDENCIES = libtests.a
- fork_f_SOURCES = fork-f.c
- fork_f_OBJECTS = fork-f.$(OBJEXT)
- fork_f_LDADD = $(LDADD)
-@@ -1180,10 +1226,20 @@
- getpgrp_OBJECTS = getpgrp.$(OBJEXT)
- getpgrp_LDADD = $(LDADD)
- getpgrp_DEPENDENCIES = libtests.a
-+getpgrp__pidns_translation_SOURCES = getpgrp--pidns-translation.c
-+getpgrp__pidns_translation_OBJECTS =  \
-+	getpgrp--pidns-translation.$(OBJEXT)
-+getpgrp__pidns_translation_LDADD = $(LDADD)
-+getpgrp__pidns_translation_DEPENDENCIES = libtests.a
- getpid_SOURCES = getpid.c
- getpid_OBJECTS = getpid.$(OBJEXT)
- getpid_LDADD = $(LDADD)
- getpid_DEPENDENCIES = libtests.a
-+getpid__pidns_translation_SOURCES = getpid--pidns-translation.c
-+getpid__pidns_translation_OBJECTS =  \
-+	getpid--pidns-translation.$(OBJEXT)
-+getpid__pidns_translation_LDADD = $(LDADD)
-+getpid__pidns_translation_DEPENDENCIES = libtests.a
- getppid_SOURCES = getppid.c
- getppid_OBJECTS = getppid.$(OBJEXT)
- getppid_LDADD = $(LDADD)
-@@ -1220,6 +1276,11 @@
- getsid_OBJECTS = getsid.$(OBJEXT)
- getsid_LDADD = $(LDADD)
- getsid_DEPENDENCIES = libtests.a
-+getsid__pidns_translation_SOURCES = getsid--pidns-translation.c
-+getsid__pidns_translation_OBJECTS =  \
-+	getsid--pidns-translation.$(OBJEXT)
-+getsid__pidns_translation_LDADD = $(LDADD)
-+getsid__pidns_translation_DEPENDENCIES = libtests.a
- getsockname_SOURCES = getsockname.c
- getsockname_OBJECTS = getsockname.$(OBJEXT)
- getsockname_LDADD = $(LDADD)
-@@ -1228,6 +1289,11 @@
- gettid_OBJECTS = gettid.$(OBJEXT)
- gettid_LDADD = $(LDADD)
- gettid_DEPENDENCIES = libtests.a
-+gettid__pidns_translation_SOURCES = gettid--pidns-translation.c
-+gettid__pidns_translation_OBJECTS =  \
-+	gettid--pidns-translation.$(OBJEXT)
-+gettid__pidns_translation_LDADD = $(LDADD)
-+gettid__pidns_translation_DEPENDENCIES = libtests.a
- getuid_SOURCES = getuid.c
- getuid_OBJECTS = getuid.$(OBJEXT)
- getuid_LDADD = $(LDADD)
-@@ -1308,6 +1374,12 @@
- ioctl_block_OBJECTS = ioctl_block.$(OBJEXT)
- ioctl_block_LDADD = $(LDADD)
- ioctl_block_DEPENDENCIES = libtests.a
-+ioctl_block__pidns_translation_SOURCES =  \
-+	ioctl_block--pidns-translation.c
-+ioctl_block__pidns_translation_OBJECTS =  \
-+	ioctl_block--pidns-translation.$(OBJEXT)
-+ioctl_block__pidns_translation_LDADD = $(LDADD)
-+ioctl_block__pidns_translation_DEPENDENCIES = libtests.a
- ioctl_dm_SOURCES = ioctl_dm.c
- ioctl_dm_OBJECTS = ioctl_dm.$(OBJEXT)
- ioctl_dm_LDADD = $(LDADD)
-@@ -1628,6 +1700,11 @@
- ioprio_OBJECTS = ioprio.$(OBJEXT)
- ioprio_LDADD = $(LDADD)
- ioprio_DEPENDENCIES = libtests.a
-+ioprio__pidns_translation_SOURCES = ioprio--pidns-translation.c
-+ioprio__pidns_translation_OBJECTS =  \
-+	ioprio--pidns-translation.$(OBJEXT)
-+ioprio__pidns_translation_LDADD = $(LDADD)
-+ioprio__pidns_translation_DEPENDENCIES = libtests.a
- ioprio_Xabbrev_SOURCES = ioprio-Xabbrev.c
- ioprio_Xabbrev_OBJECTS = ioprio-Xabbrev.$(OBJEXT)
- ioprio_Xabbrev_LDADD = $(LDADD)
-@@ -1724,6 +1801,11 @@
- kcmp_y_OBJECTS = kcmp-y.$(OBJEXT)
- kcmp_y_LDADD = $(LDADD)
- kcmp_y_DEPENDENCIES = libtests.a
-+kcmp_y__pidns_translation_SOURCES = kcmp-y--pidns-translation.c
-+kcmp_y__pidns_translation_OBJECTS =  \
-+	kcmp-y--pidns-translation.$(OBJEXT)
-+kcmp_y__pidns_translation_LDADD = $(LDADD)
-+kcmp_y__pidns_translation_DEPENDENCIES = libtests.a
- kern_features_SOURCES = kern_features.c
- kern_features_OBJECTS = kern_features.$(OBJEXT)
- kern_features_LDADD = $(LDADD)
-@@ -1772,6 +1854,10 @@
- kill_OBJECTS = kill.$(OBJEXT)
- kill_LDADD = $(LDADD)
- kill_DEPENDENCIES = libtests.a
-+kill__pidns_translation_SOURCES = kill--pidns-translation.c
-+kill__pidns_translation_OBJECTS = kill--pidns-translation.$(OBJEXT)
-+kill__pidns_translation_LDADD = $(LDADD)
-+kill__pidns_translation_DEPENDENCIES = libtests.a
- kill_child_SOURCES = kill_child.c
- kill_child_OBJECTS = kill_child.$(OBJEXT)
- kill_child_LDADD = $(LDADD)
-@@ -1878,6 +1964,12 @@
- migrate_pages_OBJECTS = migrate_pages.$(OBJEXT)
- migrate_pages_LDADD = $(LDADD)
- migrate_pages_DEPENDENCIES = libtests.a
-+migrate_pages__pidns_translation_SOURCES =  \
-+	migrate_pages--pidns-translation.c
-+migrate_pages__pidns_translation_OBJECTS =  \
-+	migrate_pages--pidns-translation.$(OBJEXT)
-+migrate_pages__pidns_translation_LDADD = $(LDADD)
-+migrate_pages__pidns_translation_DEPENDENCIES = libtests.a
- mincore_SOURCES = mincore.c
- mincore_OBJECTS = mincore.$(OBJEXT)
- mincore_LDADD = $(LDADD)
-@@ -1990,6 +2082,12 @@
- move_pages_OBJECTS = move_pages.$(OBJEXT)
- move_pages_LDADD = $(LDADD)
- move_pages_DEPENDENCIES = libtests.a
-+move_pages__pidns_translation_SOURCES =  \
-+	move_pages--pidns-translation.c
-+move_pages__pidns_translation_OBJECTS =  \
-+	move_pages--pidns-translation.$(OBJEXT)
-+move_pages__pidns_translation_LDADD = $(LDADD)
-+move_pages__pidns_translation_DEPENDENCIES = libtests.a
- move_pages_Xabbrev_SOURCES = move_pages-Xabbrev.c
- move_pages_Xabbrev_OBJECTS = move_pages-Xabbrev.$(OBJEXT)
- move_pages_Xabbrev_LDADD = $(LDADD)
-@@ -2086,6 +2184,12 @@
- net_sockaddr_OBJECTS = net-sockaddr.$(OBJEXT)
- net_sockaddr_LDADD = $(LDADD)
- net_sockaddr_DEPENDENCIES = libtests.a
-+net_sockaddr__pidns_translation_SOURCES =  \
-+	net-sockaddr--pidns-translation.c
-+net_sockaddr__pidns_translation_OBJECTS =  \
-+	net-sockaddr--pidns-translation.$(OBJEXT)
-+net_sockaddr__pidns_translation_LDADD = $(LDADD)
-+net_sockaddr__pidns_translation_DEPENDENCIES = libtests.a
- net_tpacket_req_SOURCES = net-tpacket_req.c
- net_tpacket_req_OBJECTS = net-tpacket_req.$(OBJEXT)
- net_tpacket_req_LDADD = $(LDADD)
-@@ -2123,6 +2227,12 @@
- netlink_audit_OBJECTS = netlink_audit.$(OBJEXT)
- netlink_audit_LDADD = $(LDADD)
- netlink_audit_DEPENDENCIES = libtests.a
-+netlink_audit__pidns_translation_SOURCES =  \
-+	netlink_audit--pidns-translation.c
-+netlink_audit__pidns_translation_OBJECTS =  \
-+	netlink_audit--pidns-translation.$(OBJEXT)
-+netlink_audit__pidns_translation_LDADD = $(LDADD)
-+netlink_audit__pidns_translation_DEPENDENCIES = libtests.a
- netlink_crypto_SOURCES = netlink_crypto.c
- netlink_crypto_OBJECTS = netlink_crypto.$(OBJEXT)
- netlink_crypto_LDADD = $(LDADD)
-@@ -2543,6 +2653,12 @@
- 	pidfd_open--decode-fd-socket.$(OBJEXT)
- pidfd_open__decode_fd_socket_LDADD = $(LDADD)
- pidfd_open__decode_fd_socket_DEPENDENCIES = libtests.a
-+pidfd_open__pidns_translation_SOURCES =  \
-+	pidfd_open--pidns-translation.c
-+pidfd_open__pidns_translation_OBJECTS =  \
-+	pidfd_open--pidns-translation.$(OBJEXT)
-+pidfd_open__pidns_translation_LDADD = $(LDADD)
-+pidfd_open__pidns_translation_DEPENDENCIES = libtests.a
- pidfd_open_P_SOURCES = pidfd_open-P.c
- pidfd_open_P_OBJECTS = pidfd_open-P.$(OBJEXT)
- pidfd_open_P_LDADD = $(LDADD)
-@@ -2559,6 +2675,16 @@
- pidfd_send_signal_OBJECTS = pidfd_send_signal.$(OBJEXT)
- pidfd_send_signal_LDADD = $(LDADD)
- pidfd_send_signal_DEPENDENCIES = libtests.a
-+pidfd_send_signal__pidns_translation_SOURCES =  \
-+	pidfd_send_signal--pidns-translation.c
-+pidfd_send_signal__pidns_translation_OBJECTS =  \
-+	pidfd_send_signal--pidns-translation.$(OBJEXT)
-+pidfd_send_signal__pidns_translation_LDADD = $(LDADD)
-+pidfd_send_signal__pidns_translation_DEPENDENCIES = libtests.a
-+pidns_cache_SOURCES = pidns-cache.c
-+pidns_cache_OBJECTS = pidns-cache.$(OBJEXT)
-+pidns_cache_LDADD = $(LDADD)
-+pidns_cache_DEPENDENCIES = libtests.a
- pipe_SOURCES = pipe.c
- pipe_OBJECTS = pipe.$(OBJEXT)
- pipe_LDADD = $(LDADD)
-@@ -2717,14 +2843,31 @@
- prlimit64_OBJECTS = prlimit64.$(OBJEXT)
- prlimit64_LDADD = $(LDADD)
- prlimit64_DEPENDENCIES = libtests.a
-+prlimit64__pidns_translation_SOURCES = prlimit64--pidns-translation.c
-+prlimit64__pidns_translation_OBJECTS =  \
-+	prlimit64--pidns-translation.$(OBJEXT)
-+prlimit64__pidns_translation_LDADD = $(LDADD)
-+prlimit64__pidns_translation_DEPENDENCIES = libtests.a
- process_vm_readv_SOURCES = process_vm_readv.c
- process_vm_readv_OBJECTS = process_vm_readv.$(OBJEXT)
- process_vm_readv_LDADD = $(LDADD)
- process_vm_readv_DEPENDENCIES = libtests.a
-+process_vm_readv__pidns_translation_SOURCES =  \
-+	process_vm_readv--pidns-translation.c
-+process_vm_readv__pidns_translation_OBJECTS =  \
-+	process_vm_readv--pidns-translation.$(OBJEXT)
-+process_vm_readv__pidns_translation_LDADD = $(LDADD)
-+process_vm_readv__pidns_translation_DEPENDENCIES = libtests.a
- process_vm_writev_SOURCES = process_vm_writev.c
- process_vm_writev_OBJECTS = process_vm_writev.$(OBJEXT)
- process_vm_writev_LDADD = $(LDADD)
- process_vm_writev_DEPENDENCIES = libtests.a
-+process_vm_writev__pidns_translation_SOURCES =  \
-+	process_vm_writev--pidns-translation.c
-+process_vm_writev__pidns_translation_OBJECTS =  \
-+	process_vm_writev--pidns-translation.$(OBJEXT)
-+process_vm_writev__pidns_translation_LDADD = $(LDADD)
-+process_vm_writev__pidns_translation_DEPENDENCIES = libtests.a
- pselect6_SOURCES = pselect6.c
- pselect6_OBJECTS = pselect6.$(OBJEXT)
- pselect6_LDADD = $(LDADD)
-@@ -2918,6 +3061,12 @@
- rt_sigqueueinfo_OBJECTS = rt_sigqueueinfo.$(OBJEXT)
- rt_sigqueueinfo_LDADD = $(LDADD)
- rt_sigqueueinfo_DEPENDENCIES = libtests.a
-+rt_sigqueueinfo__pidns_translation_SOURCES =  \
-+	rt_sigqueueinfo--pidns-translation.c
-+rt_sigqueueinfo__pidns_translation_OBJECTS =  \
-+	rt_sigqueueinfo--pidns-translation.$(OBJEXT)
-+rt_sigqueueinfo__pidns_translation_LDADD = $(LDADD)
-+rt_sigqueueinfo__pidns_translation_DEPENDENCIES = libtests.a
- rt_sigreturn_SOURCES = rt_sigreturn.c
- rt_sigreturn_OBJECTS = rt_sigreturn.$(OBJEXT)
- rt_sigreturn_LDADD = $(LDADD)
-@@ -2934,6 +3083,12 @@
- rt_tgsigqueueinfo_OBJECTS = rt_tgsigqueueinfo.$(OBJEXT)
- rt_tgsigqueueinfo_LDADD = $(LDADD)
- rt_tgsigqueueinfo_DEPENDENCIES = libtests.a
-+rt_tgsigqueueinfo__pidns_translation_SOURCES =  \
-+	rt_tgsigqueueinfo--pidns-translation.c
-+rt_tgsigqueueinfo__pidns_translation_OBJECTS =  \
-+	rt_tgsigqueueinfo--pidns-translation.$(OBJEXT)
-+rt_tgsigqueueinfo__pidns_translation_LDADD = $(LDADD)
-+rt_tgsigqueueinfo__pidns_translation_DEPENDENCIES = libtests.a
- run_expect_termsig_SOURCES = run_expect_termsig.c
- run_expect_termsig_OBJECTS = run_expect_termsig.$(OBJEXT)
- run_expect_termsig_LDADD = $(LDADD)
-@@ -2974,18 +3129,42 @@
- sched_xetaffinity_OBJECTS = sched_xetaffinity.$(OBJEXT)
- sched_xetaffinity_LDADD = $(LDADD)
- sched_xetaffinity_DEPENDENCIES = libtests.a
-+sched_xetaffinity__pidns_translation_SOURCES =  \
-+	sched_xetaffinity--pidns-translation.c
-+sched_xetaffinity__pidns_translation_OBJECTS =  \
-+	sched_xetaffinity--pidns-translation.$(OBJEXT)
-+sched_xetaffinity__pidns_translation_LDADD = $(LDADD)
-+sched_xetaffinity__pidns_translation_DEPENDENCIES = libtests.a
- sched_xetattr_SOURCES = sched_xetattr.c
- sched_xetattr_OBJECTS = sched_xetattr.$(OBJEXT)
- sched_xetattr_LDADD = $(LDADD)
- sched_xetattr_DEPENDENCIES = libtests.a
-+sched_xetattr__pidns_translation_SOURCES =  \
-+	sched_xetattr--pidns-translation.c
-+sched_xetattr__pidns_translation_OBJECTS =  \
-+	sched_xetattr--pidns-translation.$(OBJEXT)
-+sched_xetattr__pidns_translation_LDADD = $(LDADD)
-+sched_xetattr__pidns_translation_DEPENDENCIES = libtests.a
- sched_xetparam_SOURCES = sched_xetparam.c
- sched_xetparam_OBJECTS = sched_xetparam.$(OBJEXT)
- sched_xetparam_LDADD = $(LDADD)
- sched_xetparam_DEPENDENCIES = libtests.a
-+sched_xetparam__pidns_translation_SOURCES =  \
-+	sched_xetparam--pidns-translation.c
-+sched_xetparam__pidns_translation_OBJECTS =  \
-+	sched_xetparam--pidns-translation.$(OBJEXT)
-+sched_xetparam__pidns_translation_LDADD = $(LDADD)
-+sched_xetparam__pidns_translation_DEPENDENCIES = libtests.a
- sched_xetscheduler_SOURCES = sched_xetscheduler.c
- sched_xetscheduler_OBJECTS = sched_xetscheduler.$(OBJEXT)
- sched_xetscheduler_LDADD = $(LDADD)
- sched_xetscheduler_DEPENDENCIES = libtests.a
-+sched_xetscheduler__pidns_translation_SOURCES =  \
-+	sched_xetscheduler--pidns-translation.c
-+sched_xetscheduler__pidns_translation_OBJECTS =  \
-+	sched_xetscheduler--pidns-translation.$(OBJEXT)
-+sched_xetscheduler__pidns_translation_LDADD = $(LDADD)
-+sched_xetscheduler__pidns_translation_DEPENDENCIES = libtests.a
- sched_yield_SOURCES = sched_yield.c
- sched_yield_OBJECTS = sched_yield.$(OBJEXT)
- sched_yield_LDADD = $(LDADD)
-@@ -3198,6 +3377,12 @@
- signal_receive_OBJECTS = signal_receive.$(OBJEXT)
- signal_receive_LDADD = $(LDADD)
- signal_receive_DEPENDENCIES = libtests.a
-+signal_receive__pidns_translation_SOURCES =  \
-+	signal_receive--pidns-translation.c
-+signal_receive__pidns_translation_OBJECTS =  \
-+	signal_receive--pidns-translation.$(OBJEXT)
-+signal_receive__pidns_translation_LDADD = $(LDADD)
-+signal_receive__pidns_translation_DEPENDENCIES = libtests.a
- signalfd4_SOURCES = signalfd4.c
- signalfd4_OBJECTS = signalfd4.$(OBJEXT)
- signalfd4_LDADD = $(LDADD)
-@@ -3234,6 +3419,12 @@
- so_peercred_OBJECTS = so_peercred.$(OBJEXT)
- so_peercred_LDADD = $(LDADD)
- so_peercred_DEPENDENCIES = libtests.a
-+so_peercred__pidns_translation_SOURCES =  \
-+	so_peercred--pidns-translation.c
-+so_peercred__pidns_translation_OBJECTS =  \
-+	so_peercred--pidns-translation.$(OBJEXT)
-+so_peercred__pidns_translation_LDADD = $(LDADD)
-+so_peercred__pidns_translation_DEPENDENCIES = libtests.a
- so_peercred_Xabbrev_SOURCES = so_peercred-Xabbrev.c
- so_peercred_Xabbrev_OBJECTS = so_peercred-Xabbrev.$(OBJEXT)
- so_peercred_Xabbrev_LDADD = $(LDADD)
-@@ -3448,6 +3639,11 @@
- tgkill_OBJECTS = tgkill.$(OBJEXT)
- tgkill_LDADD = $(LDADD)
- tgkill_DEPENDENCIES = libtests.a
-+tgkill__pidns_translation_SOURCES = tgkill--pidns-translation.c
-+tgkill__pidns_translation_OBJECTS =  \
-+	tgkill--pidns-translation.$(OBJEXT)
-+tgkill__pidns_translation_LDADD = $(LDADD)
-+tgkill__pidns_translation_DEPENDENCIES = libtests.a
- threads_execve_SOURCES = threads-execve.c
- threads_execve_OBJECTS = threads-execve.$(OBJEXT)
- threads_execve_DEPENDENCIES = $(am__DEPENDENCIES_1) $(LDADD)
-@@ -3493,10 +3689,20 @@
- tkill_OBJECTS = tkill.$(OBJEXT)
- tkill_LDADD = $(LDADD)
- tkill_DEPENDENCIES = libtests.a
-+tkill__pidns_translation_SOURCES = tkill--pidns-translation.c
-+tkill__pidns_translation_OBJECTS = tkill--pidns-translation.$(OBJEXT)
-+tkill__pidns_translation_LDADD = $(LDADD)
-+tkill__pidns_translation_DEPENDENCIES = libtests.a
- tracer_ppid_pgid_sid_SOURCES = tracer_ppid_pgid_sid.c
- tracer_ppid_pgid_sid_OBJECTS = tracer_ppid_pgid_sid.$(OBJEXT)
- tracer_ppid_pgid_sid_LDADD = $(LDADD)
- tracer_ppid_pgid_sid_DEPENDENCIES = libtests.a
-+am_trie_test_OBJECTS = trie_test-trie_test.$(OBJEXT) \
-+	trie_test-trie_for_tests.$(OBJEXT)
-+trie_test_OBJECTS = $(am_trie_test_OBJECTS)
-+trie_test_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_1)
-+trie_test_LINK = $(CCLD) $(trie_test_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
-+	$(LDFLAGS) -o $@
- truncate_SOURCES = truncate.c
- truncate_OBJECTS = truncate.$(OBJEXT)
- truncate_LDADD = $(LDADD)
-@@ -3658,6 +3864,12 @@
- xet_robust_list_OBJECTS = xet_robust_list.$(OBJEXT)
- xet_robust_list_LDADD = $(LDADD)
- xet_robust_list_DEPENDENCIES = libtests.a
-+xet_robust_list__pidns_translation_SOURCES =  \
-+	xet_robust_list--pidns-translation.c
-+xet_robust_list__pidns_translation_OBJECTS =  \
-+	xet_robust_list--pidns-translation.$(OBJEXT)
-+xet_robust_list__pidns_translation_LDADD = $(LDADD)
-+xet_robust_list__pidns_translation_DEPENDENCIES = libtests.a
- xet_thread_area_x86_SOURCES = xet_thread_area_x86.c
- xet_thread_area_x86_OBJECTS = xet_thread_area_x86.$(OBJEXT)
- xet_thread_area_x86_LDADD = $(LDADD)
-@@ -3670,10 +3882,21 @@
- xetpgid_OBJECTS = xetpgid.$(OBJEXT)
- xetpgid_LDADD = $(LDADD)
- xetpgid_DEPENDENCIES = libtests.a
-+xetpgid__pidns_translation_SOURCES = xetpgid--pidns-translation.c
-+xetpgid__pidns_translation_OBJECTS =  \
-+	xetpgid--pidns-translation.$(OBJEXT)
-+xetpgid__pidns_translation_LDADD = $(LDADD)
-+xetpgid__pidns_translation_DEPENDENCIES = libtests.a
- xetpriority_SOURCES = xetpriority.c
- xetpriority_OBJECTS = xetpriority.$(OBJEXT)
- xetpriority_LDADD = $(LDADD)
- xetpriority_DEPENDENCIES = libtests.a
-+xetpriority__pidns_translation_SOURCES =  \
-+	xetpriority--pidns-translation.c
-+xetpriority__pidns_translation_OBJECTS =  \
-+	xetpriority--pidns-translation.$(OBJEXT)
-+xetpriority__pidns_translation_LDADD = $(LDADD)
-+xetpriority__pidns_translation_DEPENDENCIES = libtests.a
- xettimeofday_SOURCES = xettimeofday.c
- xettimeofday_OBJECTS = xettimeofday.$(OBJEXT)
- xettimeofday_LDADD = $(LDADD)
-@@ -3759,13 +3982,15 @@
- 	./$(DEPDIR)/fanotify_mark.Po ./$(DEPDIR)/fchdir.Po \
- 	./$(DEPDIR)/fchmod.Po ./$(DEPDIR)/fchmodat.Po \
- 	./$(DEPDIR)/fchown.Po ./$(DEPDIR)/fchown32.Po \
--	./$(DEPDIR)/fchownat.Po ./$(DEPDIR)/fcntl.Po \
--	./$(DEPDIR)/fcntl64.Po ./$(DEPDIR)/fdatasync.Po \
-+	./$(DEPDIR)/fchownat.Po \
-+	./$(DEPDIR)/fcntl--pidns-translation.Po ./$(DEPDIR)/fcntl.Po \
-+	./$(DEPDIR)/fcntl64--pidns-translation.Po ./$(DEPDIR)/fcntl64.Po \
-+	./$(DEPDIR)/fdatasync.Po \
- 	./$(DEPDIR)/fflush.Po ./$(DEPDIR)/file_handle.Po \
- 	./$(DEPDIR)/file_ioctl.Po ./$(DEPDIR)/filter-unavailable.Po \
- 	./$(DEPDIR)/filter_seccomp-flag.Po \
- 	./$(DEPDIR)/filter_seccomp-perf.Po ./$(DEPDIR)/finit_module.Po \
--	./$(DEPDIR)/flock.Po ./$(DEPDIR)/fork-f.Po \
-+	./$(DEPDIR)/flock.Po ./$(DEPDIR)/fork--pidns-translation.Po ./$(DEPDIR)/fork-f.Po \
- 	./$(DEPDIR)/fsconfig-P.Po ./$(DEPDIR)/fsconfig.Po \
- 	./$(DEPDIR)/fsmount.Po ./$(DEPDIR)/fsopen.Po \
- 	./$(DEPDIR)/fspick-P.Po ./$(DEPDIR)/fspick.Po \
-@@ -3786,13 +4011,14 @@
- 	./$(DEPDIR)/geteuid32.Po ./$(DEPDIR)/getgid.Po \
- 	./$(DEPDIR)/getgid32.Po ./$(DEPDIR)/getgroups.Po \
- 	./$(DEPDIR)/getgroups32.Po ./$(DEPDIR)/getpeername.Po \
--	./$(DEPDIR)/getpgrp.Po ./$(DEPDIR)/getpid.Po \
-+	./$(DEPDIR)/getpgrp--pidns-translation.Po ./$(DEPDIR)/getpgrp.Po \
-+	./$(DEPDIR)/getpid--pidns-translation.Po ./$(DEPDIR)/getpid.Po \
- 	./$(DEPDIR)/getppid.Po ./$(DEPDIR)/getrandom.Po \
- 	./$(DEPDIR)/getresgid.Po ./$(DEPDIR)/getresgid32.Po \
- 	./$(DEPDIR)/getresuid.Po ./$(DEPDIR)/getresuid32.Po \
- 	./$(DEPDIR)/getrlimit.Po ./$(DEPDIR)/getrusage.Po \
--	./$(DEPDIR)/getsid.Po ./$(DEPDIR)/getsockname.Po \
--	./$(DEPDIR)/gettid.Po ./$(DEPDIR)/getuid.Po \
-+	./$(DEPDIR)/getsid--pidns-translation.Po ./$(DEPDIR)/getsid.Po ./$(DEPDIR)/getsockname.Po \
-+	./$(DEPDIR)/gettid--pidns-translation.Po ./$(DEPDIR)/gettid.Po ./$(DEPDIR)/getuid.Po \
- 	./$(DEPDIR)/getuid32.Po ./$(DEPDIR)/getxgid.Po \
- 	./$(DEPDIR)/getxpid.Po ./$(DEPDIR)/getxuid.Po \
- 	./$(DEPDIR)/group_req.Po ./$(DEPDIR)/inet-cmsg.Po \
-@@ -3802,7 +4028,7 @@
- 	./$(DEPDIR)/inotify_init1.Po ./$(DEPDIR)/int_0x80.Po \
- 	./$(DEPDIR)/io_uring_enter.Po ./$(DEPDIR)/io_uring_register.Po \
- 	./$(DEPDIR)/io_uring_setup.Po ./$(DEPDIR)/ioctl.Po \
--	./$(DEPDIR)/ioctl_block.Po ./$(DEPDIR)/ioctl_dm-v.Po \
-+	./$(DEPDIR)/ioctl_block--pidns-translation.Po ./$(DEPDIR)/ioctl_block.Po ./$(DEPDIR)/ioctl_dm-v.Po \
- 	./$(DEPDIR)/ioctl_dm.Po ./$(DEPDIR)/ioctl_evdev-Xabbrev.Po \
- 	./$(DEPDIR)/ioctl_evdev-Xraw.Po \
- 	./$(DEPDIR)/ioctl_evdev-Xverbose.Po \
-@@ -3861,7 +4087,7 @@
- 	./$(DEPDIR)/ioctl_v4l2-v-Xverbose.Po \
- 	./$(DEPDIR)/ioctl_v4l2-v.Po ./$(DEPDIR)/ioctl_v4l2.Po \
- 	./$(DEPDIR)/ioctl_watchdog.Po ./$(DEPDIR)/ioperm.Po \
--	./$(DEPDIR)/iopl.Po ./$(DEPDIR)/ioprio-Xabbrev.Po \
-+	./$(DEPDIR)/iopl.Po ./$(DEPDIR)/ioprio--pidns-translation.Po ./$(DEPDIR)/ioprio-Xabbrev.Po \
- 	./$(DEPDIR)/ioprio-Xraw.Po ./$(DEPDIR)/ioprio-Xverbose.Po \
- 	./$(DEPDIR)/ioprio.Po ./$(DEPDIR)/ip_mreq.Po \
- 	./$(DEPDIR)/ipc.Po ./$(DEPDIR)/ipc_msg-Xabbrev.Po \
-@@ -3873,15 +4099,15 @@
- 	./$(DEPDIR)/ipc_sem-Xverbose.Po ./$(DEPDIR)/ipc_sem.Po \
- 	./$(DEPDIR)/ipc_shm-Xabbrev.Po ./$(DEPDIR)/ipc_shm-Xraw.Po \
- 	./$(DEPDIR)/ipc_shm-Xverbose.Po ./$(DEPDIR)/ipc_shm.Po \
--	./$(DEPDIR)/is_linux_mips_n64.Po ./$(DEPDIR)/kcmp-y.Po \
--	./$(DEPDIR)/kcmp.Po ./$(DEPDIR)/kern_features.Po \
-+	./$(DEPDIR)/is_linux_mips_n64.Po ./$(DEPDIR)/kcmp-y--pidns-translation.Po \
-+	./$(DEPDIR)/kcmp-y.Po ./$(DEPDIR)/kcmp.Po ./$(DEPDIR)/kern_features.Po \
- 	./$(DEPDIR)/kernel_version-Xabbrev.Po \
- 	./$(DEPDIR)/kernel_version-Xraw.Po \
- 	./$(DEPDIR)/kernel_version-Xverbose.Po \
- 	./$(DEPDIR)/kernel_version.Po ./$(DEPDIR)/kexec_file_load.Po \
- 	./$(DEPDIR)/kexec_load.Po ./$(DEPDIR)/keyctl-Xabbrev.Po \
- 	./$(DEPDIR)/keyctl-Xraw.Po ./$(DEPDIR)/keyctl-Xverbose.Po \
--	./$(DEPDIR)/keyctl.Po ./$(DEPDIR)/kill.Po \
-+	./$(DEPDIR)/keyctl.Po ./$(DEPDIR)/kill--pidns-translation.Po ./$(DEPDIR)/kill.Po \
- 	./$(DEPDIR)/kill_child.Po ./$(DEPDIR)/ksysent.Po \
- 	./$(DEPDIR)/lchown.Po ./$(DEPDIR)/lchown32.Po \
- 	./$(DEPDIR)/libtests_a-create_nl_socket.Po \
-@@ -3915,7 +4141,8 @@
- 	./$(DEPDIR)/libtests_a-test_printpath.Po \
- 	./$(DEPDIR)/libtests_a-test_printstrn.Po \
- 	./$(DEPDIR)/libtests_a-test_ucopy.Po \
--	./$(DEPDIR)/libtests_a-tprintf.Po ./$(DEPDIR)/link.Po \
-+	./$(DEPDIR)/libtests_a-tprintf.Po \
-+	./$(DEPDIR)/libtests_a-xmalloc_for_tests.Po ./$(DEPDIR)/link.Po \
- 	./$(DEPDIR)/linkat.Po ./$(DEPDIR)/list_sigaction_signum.Po \
- 	./$(DEPDIR)/llseek.Po ./$(DEPDIR)/localtime.Po \
- 	./$(DEPDIR)/lookup_dcookie.Po ./$(DEPDIR)/looping_threads.Po \
-@@ -3928,7 +4155,9 @@
- 	./$(DEPDIR)/membarrier.Po ./$(DEPDIR)/memfd_create-Xabbrev.Po \
- 	./$(DEPDIR)/memfd_create-Xraw.Po \
- 	./$(DEPDIR)/memfd_create-Xverbose.Po \
--	./$(DEPDIR)/memfd_create.Po ./$(DEPDIR)/migrate_pages.Po \
-+	./$(DEPDIR)/memfd_create.Po \
-+	./$(DEPDIR)/migrate_pages--pidns-translation.Po \
-+	./$(DEPDIR)/migrate_pages.Po \
- 	./$(DEPDIR)/mincore.Po ./$(DEPDIR)/mkdir.Po \
- 	./$(DEPDIR)/mkdirat.Po ./$(DEPDIR)/mknod.Po \
- 	./$(DEPDIR)/mknodat.Po ./$(DEPDIR)/mlock.Po \
-@@ -3944,7 +4173,7 @@
- 	./$(DEPDIR)/modify_ldt.Po ./$(DEPDIR)/mount-Xabbrev.Po \
- 	./$(DEPDIR)/mount-Xraw.Po ./$(DEPDIR)/mount-Xverbose.Po \
- 	./$(DEPDIR)/mount.Po ./$(DEPDIR)/move_mount-P.Po \
--	./$(DEPDIR)/move_mount.Po ./$(DEPDIR)/move_pages-Xabbrev.Po \
-+	./$(DEPDIR)/move_mount.Po ./$(DEPDIR)/move_pages--pidns-translation.Po ./$(DEPDIR)/move_pages-Xabbrev.Po \
- 	./$(DEPDIR)/move_pages-Xraw.Po \
- 	./$(DEPDIR)/move_pages-Xverbose.Po ./$(DEPDIR)/move_pages.Po \
- 	./$(DEPDIR)/mq.Po ./$(DEPDIR)/mq_sendrecv-read.Po \
-@@ -3961,12 +4190,13 @@
- 	./$(DEPDIR)/net-packet_mreq-Xabbrev.Po \
- 	./$(DEPDIR)/net-packet_mreq-Xraw.Po \
- 	./$(DEPDIR)/net-packet_mreq-Xverbose.Po \
--	./$(DEPDIR)/net-packet_mreq.Po ./$(DEPDIR)/net-sockaddr.Po \
-+	./$(DEPDIR)/net-packet_mreq.Po ./$(DEPDIR)/net-sockaddr--pidns-translation.Po ./$(DEPDIR)/net-sockaddr.Po \
- 	./$(DEPDIR)/net-tpacket_req.Po \
- 	./$(DEPDIR)/net-tpacket_stats-success.Po \
- 	./$(DEPDIR)/net-tpacket_stats.Po ./$(DEPDIR)/net-y-unix.Po \
- 	./$(DEPDIR)/net-yy-inet.Po ./$(DEPDIR)/net-yy-inet6.Po \
- 	./$(DEPDIR)/net-yy-netlink.Po ./$(DEPDIR)/net-yy-unix.Po \
-+	./$(DEPDIR)/netlink_audit--pidns-translation.Po \
- 	./$(DEPDIR)/netlink_audit.Po ./$(DEPDIR)/netlink_crypto.Po \
- 	./$(DEPDIR)/netlink_generic.Po \
- 	./$(DEPDIR)/netlink_inet_diag.Po \
-@@ -4043,9 +4273,11 @@
- 	./$(DEPDIR)/pidfd_open--decode-fd-path.Po \
- 	./$(DEPDIR)/pidfd_open--decode-fd-pidfd.Po \
- 	./$(DEPDIR)/pidfd_open--decode-fd-socket.Po \
-+	./$(DEPDIR)/pidfd_open--pidns-translation.Po \
- 	./$(DEPDIR)/pidfd_open-P.Po ./$(DEPDIR)/pidfd_open-y.Po \
- 	./$(DEPDIR)/pidfd_open-yy.Po ./$(DEPDIR)/pidfd_open.Po \
--	./$(DEPDIR)/pidfd_send_signal.Po ./$(DEPDIR)/pipe.Po \
-+	./$(DEPDIR)/pidfd_send_signal--pidns-translation.Po \
-+	./$(DEPDIR)/pidfd_send_signal.Po ./$(DEPDIR)/pidns-cache.Po ./$(DEPDIR)/pipe.Po \
- 	./$(DEPDIR)/pipe2.Po ./$(DEPDIR)/pkey_alloc.Po \
- 	./$(DEPDIR)/pkey_free.Po ./$(DEPDIR)/pkey_mprotect.Po \
- 	./$(DEPDIR)/poll-P.Po ./$(DEPDIR)/poll.Po \
-@@ -4070,8 +4302,10 @@
- 	./$(DEPDIR)/printsignal-Xverbose.Po ./$(DEPDIR)/printstr.Po \
- 	./$(DEPDIR)/printstrn-umoven-peekdata.Po \
- 	./$(DEPDIR)/printstrn-umoven-undumpable.Po \
--	./$(DEPDIR)/printstrn-umoven.Po ./$(DEPDIR)/prlimit64.Po \
-+	./$(DEPDIR)/printstrn-umoven.Po ./$(DEPDIR)/prlimit64--pidns-translation.Po ./$(DEPDIR)/prlimit64.Po \
-+	./$(DEPDIR)/process_vm_readv--pidns-translation.Po \
- 	./$(DEPDIR)/process_vm_readv.Po \
-+	./$(DEPDIR)/process_vm_writev--pidns-translation.Po \
- 	./$(DEPDIR)/process_vm_writev.Po ./$(DEPDIR)/pselect6.Po \
- 	./$(DEPDIR)/ptrace.Po ./$(DEPDIR)/ptrace_syscall_info.Po \
- 	./$(DEPDIR)/pwritev-pwritev.Po ./$(DEPDIR)/qual_fault.Po \
-@@ -4101,9 +4335,10 @@
- 	./$(DEPDIR)/request_key.Po ./$(DEPDIR)/restart_syscall.Po \
- 	./$(DEPDIR)/riscv_flush_icache.Po ./$(DEPDIR)/rmdir.Po \
- 	./$(DEPDIR)/rt_sigaction.Po ./$(DEPDIR)/rt_sigpending.Po \
--	./$(DEPDIR)/rt_sigprocmask.Po ./$(DEPDIR)/rt_sigqueueinfo.Po \
-+	./$(DEPDIR)/rt_sigprocmask.Po ./$(DEPDIR)/rt_sigqueueinfo--pidns-translation.Po ./$(DEPDIR)/rt_sigqueueinfo.Po \
- 	./$(DEPDIR)/rt_sigreturn.Po ./$(DEPDIR)/rt_sigsuspend.Po \
- 	./$(DEPDIR)/rt_sigtimedwait.Po \
-+	./$(DEPDIR)/rt_tgsigqueueinfo--pidns-translation.Po \
- 	./$(DEPDIR)/rt_tgsigqueueinfo.Po \
- 	./$(DEPDIR)/run_expect_termsig.Po \
- 	./$(DEPDIR)/s390_guarded_storage-v.Po \
-@@ -4113,9 +4348,15 @@
- 	./$(DEPDIR)/s390_sthyi.Po \
- 	./$(DEPDIR)/sched_get_priority_mxx.Po \
- 	./$(DEPDIR)/sched_rr_get_interval.Po \
--	./$(DEPDIR)/sched_xetaffinity.Po ./$(DEPDIR)/sched_xetattr.Po \
-+	./$(DEPDIR)/sched_xetaffinity--pidns-translation.Po \
-+	./$(DEPDIR)/sched_xetaffinity.Po \
-+	./$(DEPDIR)/sched_xetattr--pidns-translation.Po \
-+	./$(DEPDIR)/sched_xetattr.Po \
-+	./$(DEPDIR)/sched_xetparam--pidns-translation.Po \
- 	./$(DEPDIR)/sched_xetparam.Po \
--	./$(DEPDIR)/sched_xetscheduler.Po ./$(DEPDIR)/sched_yield.Po \
-+	./$(DEPDIR)/sched_xetscheduler--pidns-translation.Po \
-+	./$(DEPDIR)/sched_xetscheduler.Po \
-+	./$(DEPDIR)/sched_yield.Po \
- 	./$(DEPDIR)/scm_rights.Po ./$(DEPDIR)/seccomp-filter-v.Po \
- 	./$(DEPDIR)/seccomp-filter.Po ./$(DEPDIR)/seccomp-strict.Po \
- 	./$(DEPDIR)/seccomp_get_action_avail.Po \
-@@ -4143,11 +4384,12 @@
- 	./$(DEPDIR)/shmxt.Po ./$(DEPDIR)/shutdown.Po \
- 	./$(DEPDIR)/sigaction.Po ./$(DEPDIR)/sigaltstack.Po \
- 	./$(DEPDIR)/siginfo.Po ./$(DEPDIR)/signal.Po \
--	./$(DEPDIR)/signal_receive.Po ./$(DEPDIR)/signalfd4.Po \
-+	./$(DEPDIR)/signal_receive--pidns-translation.Po ./$(DEPDIR)/signal_receive.Po ./$(DEPDIR)/signalfd4.Po \
- 	./$(DEPDIR)/sigpending.Po ./$(DEPDIR)/sigprocmask.Po \
- 	./$(DEPDIR)/sigreturn.Po ./$(DEPDIR)/sigsuspend.Po \
- 	./$(DEPDIR)/sleep.Po ./$(DEPDIR)/so_error.Po \
--	./$(DEPDIR)/so_linger.Po ./$(DEPDIR)/so_peercred-Xabbrev.Po \
-+	./$(DEPDIR)/so_linger.Po ./$(DEPDIR)/so_peercred--pidns-translation.Po \
-+	./$(DEPDIR)/so_peercred-Xabbrev.Po \
- 	./$(DEPDIR)/so_peercred-Xraw.Po \
- 	./$(DEPDIR)/so_peercred-Xverbose.Po ./$(DEPDIR)/so_peercred.Po \
- 	./$(DEPDIR)/sock_filter-v-Xabbrev.Po \
-@@ -4186,7 +4428,7 @@
- 	./$(DEPDIR)/symlinkat.Po ./$(DEPDIR)/sync.Po \
- 	./$(DEPDIR)/sync_file_range.Po ./$(DEPDIR)/sync_file_range2.Po \
- 	./$(DEPDIR)/sysinfo.Po ./$(DEPDIR)/syslog-success.Po \
--	./$(DEPDIR)/syslog.Po ./$(DEPDIR)/tee.Po ./$(DEPDIR)/tgkill.Po \
-+	./$(DEPDIR)/syslog.Po ./$(DEPDIR)/tee.Po ./$(DEPDIR)/tgkill--pidns-translation.Po ./$(DEPDIR)/tgkill.Po \
- 	./$(DEPDIR)/threads-execve--quiet-thread-execve.Po \
- 	./$(DEPDIR)/threads-execve-q.Po \
- 	./$(DEPDIR)/threads-execve-qq.Po \
-@@ -4194,7 +4436,8 @@
- 	./$(DEPDIR)/threads-execve.Po ./$(DEPDIR)/time.Po \
- 	./$(DEPDIR)/timer_create.Po ./$(DEPDIR)/timer_xettime.Po \
- 	./$(DEPDIR)/timerfd_xettime.Po ./$(DEPDIR)/times-fail.Po \
--	./$(DEPDIR)/times.Po ./$(DEPDIR)/tkill.Po ./$(DEPDIR)/tracer_ppid_pgid_sid.Po \
-+	./$(DEPDIR)/times.Po ./$(DEPDIR)/tkill--pidns-translation.Po \
-+	./$(DEPDIR)/tkill.Po ./$(DEPDIR)/tracer_ppid_pgid_sid.Po \
- 	./$(DEPDIR)/truncate.Po ./$(DEPDIR)/truncate64-truncate64.Po \
- 	./$(DEPDIR)/ugetrlimit.Po ./$(DEPDIR)/uio-uio.Po \
- 	./$(DEPDIR)/umask.Po ./$(DEPDIR)/umount.Po \
-@@ -4216,9 +4459,11 @@
- 	./$(DEPDIR)/wait4-v.Po ./$(DEPDIR)/wait4.Po \
- 	./$(DEPDIR)/waitid-v.Po ./$(DEPDIR)/waitid.Po \
- 	./$(DEPDIR)/waitpid.Po ./$(DEPDIR)/xattr-strings.Po \
--	./$(DEPDIR)/xattr.Po ./$(DEPDIR)/xet_robust_list.Po \
-+	./$(DEPDIR)/xattr.Po ./$(DEPDIR)/xet_robust_list--pidns-translation.Po \
-+	./$(DEPDIR)/xet_robust_list.Po \
- 	./$(DEPDIR)/xet_thread_area_x86.Po ./$(DEPDIR)/xetitimer.Po \
--	./$(DEPDIR)/xetpgid.Po ./$(DEPDIR)/xetpriority.Po \
-+	./$(DEPDIR)/xetpgid--pidns-translation.Po ./$(DEPDIR)/xetpgid.Po \
-+	./$(DEPDIR)/xetpriority--pidns-translation.Po ./$(DEPDIR)/xetpriority.Po \
- 	./$(DEPDIR)/xettimeofday.Po ./$(DEPDIR)/zeroargc.Po
- am__mv = mv -f
- AM_V_lt = $(am__v_lt_@AM_V@)
-@@ -4264,26 +4509,30 @@
- 	fadvise64_64.c fallocate.c fanotify_init.c fanotify_mark.c \
- 	fanotify_mark-Xabbrev.c fanotify_mark-Xraw.c \
- 	fanotify_mark-Xverbose.c fchdir.c fchmod.c fchmodat.c fchown.c \
--	fchown32.c fchownat.c fcntl.c fcntl64.c fdatasync.c fflush.c \
-+	fchown32.c fchownat.c fcntl.c fcntl--pidns-translation.c \
-+	fcntl64.c fcntl64--pidns-translation.c fdatasync.c fflush.c \
- 	file_handle.c file_ioctl.c filter-unavailable.c \
- 	filter_seccomp-flag.c filter_seccomp-perf.c finit_module.c \
--	flock.c fork-f.c fsconfig.c fsconfig-P.c fsmount.c fsopen.c \
--	fspick.c fspick-P.c fstat.c fstat-Xabbrev.c fstat-Xraw.c \
--	fstat-Xverbose.c fstat64.c fstat64-Xabbrev.c fstat64-Xraw.c \
--	fstat64-Xverbose.c fstatat64.c fstatfs.c fstatfs64.c fsync.c \
--	fsync-y.c ftruncate.c ftruncate64.c futex.c futimesat.c \
--	get_mempolicy.c get_process_reaper.c getcpu.c getcwd.c \
--	getdents.c getdents-v.c getdents64.c getdents64-v.c getegid.c \
--	getegid32.c geteuid.c geteuid32.c getgid.c getgid32.c \
--	getgroups.c getgroups32.c getpeername.c getpgrp.c getpid.c \
--	getppid.c getrandom.c getresgid.c getresgid32.c getresuid.c \
--	getresuid32.c getrlimit.c getrusage.c getsid.c getsockname.c \
--	gettid.c getuid.c getuid32.c getxgid.c getxpid.c getxuid.c \
--	group_req.c inet-cmsg.c init_module.c inject-nf.c inotify.c \
--	inotify_init.c inotify_init-y.c inotify_init1.c \
--	inotify_init1-y.c int_0x80.c io_uring_enter.c \
--	io_uring_register.c io_uring_setup.c ioctl.c ioctl_block.c \
--	ioctl_dm.c ioctl_dm-v.c ioctl_evdev.c ioctl_evdev-Xabbrev.c \
-+	flock.c fork--pidns-translation.c fork-f.c fsconfig.c \
-+	fsconfig-P.c fsmount.c fsopen.c fspick.c fspick-P.c fstat.c \
-+	fstat-Xabbrev.c fstat-Xraw.c fstat-Xverbose.c fstat64.c \
-+	fstat64-Xabbrev.c fstat64-Xraw.c fstat64-Xverbose.c \
-+	fstatat64.c fstatfs.c fstatfs64.c fsync.c fsync-y.c \
-+	ftruncate.c ftruncate64.c futex.c futimesat.c get_mempolicy.c \
-+	get_process_reaper.c getcpu.c getcwd.c getdents.c getdents-v.c \
-+	getdents64.c getdents64-v.c getegid.c getegid32.c geteuid.c \
-+	geteuid32.c getgid.c getgid32.c getgroups.c getgroups32.c \
-+	getpeername.c getpgrp.c getpgrp--pidns-translation.c getpid.c \
-+	getpid--pidns-translation.c getppid.c getrandom.c getresgid.c \
-+	getresgid32.c getresuid.c getresuid32.c getrlimit.c \
-+	getrusage.c getsid.c getsid--pidns-translation.c getsockname.c \
-+	gettid.c gettid--pidns-translation.c getuid.c getuid32.c \
-+	getxgid.c getxpid.c getxuid.c group_req.c inet-cmsg.c \
-+	init_module.c inject-nf.c inotify.c inotify_init.c \
-+	inotify_init-y.c inotify_init1.c inotify_init1-y.c int_0x80.c \
-+	io_uring_enter.c io_uring_register.c io_uring_setup.c ioctl.c \
-+	ioctl_block.c ioctl_block--pidns-translation.c ioctl_dm.c \
-+	ioctl_dm-v.c ioctl_evdev.c ioctl_evdev-Xabbrev.c \
- 	ioctl_evdev-Xraw.c ioctl_evdev-Xverbose.c \
- 	ioctl_evdev-success.c ioctl_evdev-success-Xabbrev.c \
- 	ioctl_evdev-success-Xraw.c ioctl_evdev-success-Xverbose.c \
-@@ -4311,47 +4560,51 @@
- 	ioctl_v4l2-success-v-Xverbose.c ioctl_v4l2-v.c \
- 	ioctl_v4l2-v-Xabbrev.c ioctl_v4l2-v-Xraw.c \
- 	ioctl_v4l2-v-Xverbose.c ioctl_watchdog.c ioperm.c iopl.c \
--	ioprio.c ioprio-Xabbrev.c ioprio-Xraw.c ioprio-Xverbose.c \
--	ip_mreq.c ipc.c ipc_msg.c ipc_msg-Xabbrev.c ipc_msg-Xraw.c \
--	ipc_msg-Xverbose.c ipc_msgbuf.c ipc_msgbuf-Xabbrev.c \
--	ipc_msgbuf-Xraw.c ipc_msgbuf-Xverbose.c ipc_sem.c \
--	ipc_sem-Xabbrev.c ipc_sem-Xraw.c ipc_sem-Xverbose.c ipc_shm.c \
--	ipc_shm-Xabbrev.c ipc_shm-Xraw.c ipc_shm-Xverbose.c \
--	is_linux_mips_n64.c kcmp.c kcmp-y.c kern_features.c \
-+	ioprio.c ioprio--pidns-translation.c ioprio-Xabbrev.c \
-+	ioprio-Xraw.c ioprio-Xverbose.c ip_mreq.c ipc.c ipc_msg.c \
-+	ipc_msg-Xabbrev.c ipc_msg-Xraw.c ipc_msg-Xverbose.c \
-+	ipc_msgbuf.c ipc_msgbuf-Xabbrev.c ipc_msgbuf-Xraw.c \
-+	ipc_msgbuf-Xverbose.c ipc_sem.c ipc_sem-Xabbrev.c \
-+	ipc_sem-Xraw.c ipc_sem-Xverbose.c ipc_shm.c ipc_shm-Xabbrev.c \
-+	ipc_shm-Xraw.c ipc_shm-Xverbose.c is_linux_mips_n64.c kcmp.c \
-+	kcmp-y.c kcmp-y--pidns-translation.c kern_features.c \
- 	kernel_version.c kernel_version-Xabbrev.c \
- 	kernel_version-Xraw.c kernel_version-Xverbose.c \
- 	kexec_file_load.c kexec_load.c keyctl.c keyctl-Xabbrev.c \
--	keyctl-Xraw.c keyctl-Xverbose.c kill.c kill_child.c ksysent.c \
--	lchown.c lchown32.c link.c linkat.c list_sigaction_signum.c \
--	llseek.c localtime.c lookup_dcookie.c looping_threads.c \
--	lseek.c lstat.c lstat64.c madvise.c maybe_switch_current_tcp.c \
-+	keyctl-Xraw.c keyctl-Xverbose.c kill.c \
-+	kill--pidns-translation.c kill_child.c ksysent.c lchown.c \
-+	lchown32.c link.c linkat.c list_sigaction_signum.c llseek.c \
-+	localtime.c lookup_dcookie.c looping_threads.c lseek.c lstat.c \
-+	lstat64.c madvise.c maybe_switch_current_tcp.c \
- 	maybe_switch_current_tcp--quiet-thread-execve.c mbind.c \
- 	mbind-Xabbrev.c mbind-Xraw.c mbind-Xverbose.c membarrier.c \
- 	memfd_create.c memfd_create-Xabbrev.c memfd_create-Xraw.c \
--	memfd_create-Xverbose.c migrate_pages.c mincore.c mkdir.c \
--	mkdirat.c mknod.c mknodat.c mlock.c mlock2.c mlockall.c mmap.c \
-+	memfd_create-Xverbose.c migrate_pages.c \
-+	migrate_pages--pidns-translation.c mincore.c mkdir.c mkdirat.c \
-+	mknod.c mknodat.c mlock.c mlock2.c mlockall.c mmap.c \
- 	mmap-Xabbrev.c mmap-Xraw.c mmap-Xverbose.c mmap64.c \
- 	mmap64-Xabbrev.c mmap64-Xraw.c mmap64-Xverbose.c mmsg.c \
- 	mmsg-silent.c mmsg_name.c mmsg_name-v.c modify_ldt.c mount.c \
- 	mount-Xabbrev.c mount-Xraw.c mount-Xverbose.c move_mount.c \
--	move_mount-P.c move_pages.c move_pages-Xabbrev.c \
--	move_pages-Xraw.c move_pages-Xverbose.c mq.c mq_sendrecv.c \
--	mq_sendrecv-read.c mq_sendrecv-write.c msg_control.c \
--	msg_control-v.c msg_name.c munlockall.c nanosleep.c \
--	net--decode-fds-dev-netlink.c net--decode-fds-none-netlink.c \
--	net--decode-fds-path-netlink.c \
-+	move_mount-P.c move_pages.c move_pages--pidns-translation.c \
-+	move_pages-Xabbrev.c move_pages-Xraw.c move_pages-Xverbose.c \
-+	mq.c mq_sendrecv.c mq_sendrecv-read.c mq_sendrecv-write.c \
-+	msg_control.c msg_control-v.c msg_name.c munlockall.c \
-+	nanosleep.c net--decode-fds-dev-netlink.c \
-+	net--decode-fds-none-netlink.c net--decode-fds-path-netlink.c \
- 	net--decode-fds-socket-netlink.c net-accept-connect.c \
- 	net-icmp_filter.c net-packet_mreq.c net-packet_mreq-Xabbrev.c \
- 	net-packet_mreq-Xraw.c net-packet_mreq-Xverbose.c \
--	net-sockaddr.c net-tpacket_req.c net-tpacket_stats.c \
-+	net-sockaddr.c net-sockaddr--pidns-translation.c \
-+	net-tpacket_req.c net-tpacket_stats.c \
- 	net-tpacket_stats-success.c net-y-unix.c net-yy-inet.c \
- 	net-yy-inet6.c net-yy-netlink.c net-yy-unix.c netlink_audit.c \
--	netlink_crypto.c netlink_generic.c netlink_inet_diag.c \
--	netlink_kobject_uevent.c netlink_netfilter.c \
--	netlink_netlink_diag.c netlink_protocol.c netlink_route.c \
--	netlink_selinux.c netlink_sock_diag.c netlink_unix_diag.c \
--	netlink_xfrm.c newfstatat.c nfnetlink_acct.c \
--	nfnetlink_cthelper.c nfnetlink_ctnetlink.c \
-+	netlink_audit--pidns-translation.c netlink_crypto.c \
-+	netlink_generic.c netlink_inet_diag.c netlink_kobject_uevent.c \
-+	netlink_netfilter.c netlink_netlink_diag.c netlink_protocol.c \
-+	netlink_route.c netlink_selinux.c netlink_sock_diag.c \
-+	netlink_unix_diag.c netlink_xfrm.c newfstatat.c \
-+	nfnetlink_acct.c nfnetlink_cthelper.c nfnetlink_ctnetlink.c \
- 	nfnetlink_ctnetlink_exp.c nfnetlink_cttimeout.c \
- 	nfnetlink_ipset.c nfnetlink_nft_compat.c nfnetlink_nftables.c \
- 	nfnetlink_osf.c nfnetlink_queue.c nfnetlink_ulog.c nlattr.c \
-@@ -4381,12 +4634,13 @@
- 	personality-Xraw.c personality-Xverbose.c pidfd_getfd.c \
- 	pidfd_getfd-y.c pidfd_getfd-yy.c pidfd_open.c \
- 	pidfd_open--decode-fd-path.c pidfd_open--decode-fd-pidfd.c \
--	pidfd_open--decode-fd-socket.c pidfd_open-P.c pidfd_open-y.c \
--	pidfd_open-yy.c pidfd_send_signal.c pipe.c pipe2.c \
--	pkey_alloc.c pkey_free.c pkey_mprotect.c poll.c poll-P.c \
--	ppoll.c ppoll-P.c ppoll-v.c prctl-arg2-intptr.c \
--	prctl-dumpable.c prctl-name.c prctl-no-args.c \
--	prctl-pdeathsig.c prctl-seccomp-filter-v.c \
-+	pidfd_open--decode-fd-socket.c pidfd_open--pidns-translation.c \
-+	pidfd_open-P.c pidfd_open-y.c pidfd_open-yy.c \
-+	pidfd_send_signal.c pidfd_send_signal--pidns-translation.c \
-+	pidns-cache.c pipe.c pipe2.c pkey_alloc.c pkey_free.c \
-+	pkey_mprotect.c poll.c poll-P.c ppoll.c ppoll-P.c ppoll-v.c \
-+	prctl-arg2-intptr.c prctl-dumpable.c prctl-name.c \
-+	prctl-no-args.c prctl-pdeathsig.c prctl-seccomp-filter-v.c \
- 	prctl-seccomp-strict.c prctl-securebits.c prctl-spec-inject.c \
- 	prctl-tid_address.c prctl-tsc.c pread64-pwrite64.c preadv.c \
- 	preadv-pwritev.c preadv2-pwritev2.c print_maxfd.c \
-@@ -4395,8 +4649,10 @@
- 	printsignal-Xabbrev.c printsignal-Xraw.c \
- 	printsignal-Xverbose.c printstr.c printstrn-umoven.c \
- 	printstrn-umoven-peekdata.c printstrn-umoven-undumpable.c \
--	prlimit64.c process_vm_readv.c process_vm_writev.c pselect6.c \
--	ptrace.c ptrace_syscall_info.c pwritev.c qual_fault.c \
-+	prlimit64.c prlimit64--pidns-translation.c process_vm_readv.c \
-+	process_vm_readv--pidns-translation.c process_vm_writev.c \
-+	process_vm_writev--pidns-translation.c pselect6.c ptrace.c \
-+	ptrace_syscall_info.c pwritev.c qual_fault.c \
- 	qual_inject-error-signal.c qual_inject-retval.c \
- 	qual_inject-signal.c qual_signal.c quotactl.c \
- 	quotactl-Xabbrev.c quotactl-Xraw.c quotactl-Xverbose.c \
-@@ -4409,60 +4665,70 @@
- 	remap_file_pages-Xraw.c remap_file_pages-Xverbose.c rename.c \
- 	renameat.c renameat2.c request_key.c restart_syscall.c \
- 	riscv_flush_icache.c rmdir.c rt_sigaction.c rt_sigpending.c \
--	rt_sigprocmask.c rt_sigqueueinfo.c rt_sigreturn.c \
-+	rt_sigprocmask.c rt_sigqueueinfo.c \
-+	rt_sigqueueinfo--pidns-translation.c rt_sigreturn.c \
- 	rt_sigsuspend.c rt_sigtimedwait.c rt_tgsigqueueinfo.c \
--	run_expect_termsig.c s390_guarded_storage.c \
--	s390_guarded_storage-v.c s390_pci_mmio_read_write.c \
--	s390_runtime_instr.c s390_sthyi.c s390_sthyi-v.c \
--	sched_get_priority_mxx.c sched_rr_get_interval.c \
--	sched_xetaffinity.c sched_xetattr.c sched_xetparam.c \
--	sched_xetscheduler.c sched_yield.c scm_rights.c \
--	seccomp-filter.c seccomp-filter-v.c seccomp-strict.c \
--	seccomp_get_action_avail.c select.c select-P.c semop.c \
--	semop-indirect.c semtimedop.c sendfile.c sendfile64.c \
--	set_mempolicy.c set_mempolicy-Xabbrev.c set_mempolicy-Xraw.c \
--	set_mempolicy-Xverbose.c set_ptracer_any.c set_sigblock.c \
--	set_sigign.c setdomainname.c setfsgid.c setfsgid32.c \
--	setfsuid.c setfsuid32.c setgid.c setgid32.c setgroups.c \
--	setgroups32.c sethostname.c setns.c setpgrp-exec.c setregid.c \
--	setregid32.c setresgid.c setresgid32.c setresuid.c \
--	setresuid32.c setreuid.c setreuid32.c setrlimit.c \
--	setrlimit-Xabbrev.c setrlimit-Xraw.c setrlimit-Xverbose.c \
--	setuid.c setuid32.c shmxt.c shutdown.c sigaction.c \
--	sigaltstack.c siginfo.c signal.c signal_receive.c signalfd4.c \
--	sigpending.c sigprocmask.c sigreturn.c sigsuspend.c sleep.c \
--	so_error.c so_linger.c so_peercred.c so_peercred-Xabbrev.c \
--	so_peercred-Xraw.c so_peercred-Xverbose.c sock_filter-v.c \
--	sock_filter-v-Xabbrev.c sock_filter-v-Xraw.c \
--	sock_filter-v-Xverbose.c sockaddr_xlat-Xabbrev.c \
--	sockaddr_xlat-Xraw.c sockaddr_xlat-Xverbose.c socketcall.c \
--	sockopt-sol_netlink.c sockopt-timestamp.c splice.c \
--	$(stack_fcall_SOURCES) $(stack_fcall_attach_SOURCES) \
--	$(stack_fcall_mangled_SOURCES) stat.c stat64.c statfs.c \
--	statfs64.c status-all.c status-failed.c status-failed-long.c \
--	status-failed-status.c status-none.c status-none-f.c \
--	status-none-threads.c status-successful.c \
--	status-successful-long.c status-successful-status.c \
--	status-unfinished.c status-unfinished-threads.c statx.c \
--	strace--strings-in-hex.c strace--strings-in-hex-all.c \
-+	rt_tgsigqueueinfo--pidns-translation.c run_expect_termsig.c \
-+	s390_guarded_storage.c s390_guarded_storage-v.c \
-+	s390_pci_mmio_read_write.c s390_runtime_instr.c s390_sthyi.c \
-+	s390_sthyi-v.c sched_get_priority_mxx.c \
-+	sched_rr_get_interval.c sched_xetaffinity.c \
-+	sched_xetaffinity--pidns-translation.c sched_xetattr.c \
-+	sched_xetattr--pidns-translation.c sched_xetparam.c \
-+	sched_xetparam--pidns-translation.c sched_xetscheduler.c \
-+	sched_xetscheduler--pidns-translation.c sched_yield.c \
-+	scm_rights.c seccomp-filter.c seccomp-filter-v.c \
-+	seccomp-strict.c seccomp_get_action_avail.c select.c \
-+	select-P.c semop.c semop-indirect.c semtimedop.c sendfile.c \
-+	sendfile64.c set_mempolicy.c set_mempolicy-Xabbrev.c \
-+	set_mempolicy-Xraw.c set_mempolicy-Xverbose.c \
-+	set_ptracer_any.c set_sigblock.c set_sigign.c setdomainname.c \
-+	setfsgid.c setfsgid32.c setfsuid.c setfsuid32.c setgid.c \
-+	setgid32.c setgroups.c setgroups32.c sethostname.c setns.c \
-+	setpgrp-exec.c setregid.c setregid32.c setresgid.c \
-+	setresgid32.c setresuid.c setresuid32.c setreuid.c \
-+	setreuid32.c setrlimit.c setrlimit-Xabbrev.c setrlimit-Xraw.c \
-+	setrlimit-Xverbose.c setuid.c setuid32.c shmxt.c shutdown.c \
-+	sigaction.c sigaltstack.c siginfo.c signal.c signal_receive.c \
-+	signal_receive--pidns-translation.c signalfd4.c sigpending.c \
-+	sigprocmask.c sigreturn.c sigsuspend.c sleep.c so_error.c \
-+	so_linger.c so_peercred.c so_peercred--pidns-translation.c \
-+	so_peercred-Xabbrev.c so_peercred-Xraw.c \
-+	so_peercred-Xverbose.c sock_filter-v.c sock_filter-v-Xabbrev.c \
-+	sock_filter-v-Xraw.c sock_filter-v-Xverbose.c \
-+	sockaddr_xlat-Xabbrev.c sockaddr_xlat-Xraw.c \
-+	sockaddr_xlat-Xverbose.c socketcall.c sockopt-sol_netlink.c \
-+	sockopt-timestamp.c splice.c $(stack_fcall_SOURCES) \
-+	$(stack_fcall_attach_SOURCES) $(stack_fcall_mangled_SOURCES) \
-+	stat.c stat64.c statfs.c statfs64.c status-all.c \
-+	status-failed.c status-failed-long.c status-failed-status.c \
-+	status-none.c status-none-f.c status-none-threads.c \
-+	status-successful.c status-successful-long.c \
-+	status-successful-status.c status-unfinished.c \
-+	status-unfinished-threads.c statx.c strace--strings-in-hex.c \
-+	strace--strings-in-hex-all.c \
- 	strace--strings-in-hex-non-ascii.c strace-x.c strace-xx.c \
- 	swap.c sxetmask.c symlink.c symlinkat.c sync.c \
- 	sync_file_range.c sync_file_range2.c sysinfo.c syslog.c \
--	syslog-success.c tee.c tgkill.c threads-execve.c \
--	threads-execve--quiet-thread-execve.c threads-execve-q.c \
--	threads-execve-qq.c threads-execve-qqq.c time.c timer_create.c \
--	timer_xettime.c timerfd_xettime.c times.c times-fail.c tkill.c \
--	tracer_ppid_pgid_sid.c truncate.c truncate64.c ugetrlimit.c \
--	uio.c umask.c umount.c umount2.c umoven-illptr.c umovestr.c \
--	umovestr-illptr.c umovestr2.c umovestr3.c umovestr_cached.c \
--	umovestr_cached_adjacent.c uname.c unblock_reset_raise.c \
--	unix-pair-send-recv.c unix-pair-sendto-recvfrom.c unlink.c \
--	unlinkat.c unshare.c userfaultfd.c ustat.c utime.c utimensat.c \
--	utimensat-Xabbrev.c utimensat-Xraw.c utimensat-Xverbose.c \
--	utimes.c vfork-f.c vhangup.c vmsplice.c wait4.c wait4-v.c \
--	waitid.c waitid-v.c waitpid.c xattr.c xattr-strings.c \
--	xet_robust_list.c xet_thread_area_x86.c xetitimer.c xetpgid.c \
--	xetpriority.c xettimeofday.c zeroargc.c
-+	syslog-success.c tee.c tgkill.c tgkill--pidns-translation.c \
-+	threads-execve.c threads-execve--quiet-thread-execve.c \
-+	threads-execve-q.c threads-execve-qq.c threads-execve-qqq.c \
-+	time.c timer_create.c timer_xettime.c timerfd_xettime.c \
-+	times.c times-fail.c tkill.c tkill--pidns-translation.c \
-+	tracer_ppid_pgid_sid.c $(trie_test_SOURCES) truncate.c \
-+	truncate64.c ugetrlimit.c uio.c umask.c umount.c umount2.c \
-+	umoven-illptr.c umovestr.c umovestr-illptr.c umovestr2.c \
-+	umovestr3.c umovestr_cached.c umovestr_cached_adjacent.c \
-+	uname.c unblock_reset_raise.c unix-pair-send-recv.c \
-+	unix-pair-sendto-recvfrom.c unlink.c unlinkat.c unshare.c \
-+	userfaultfd.c ustat.c utime.c utimensat.c utimensat-Xabbrev.c \
-+	utimensat-Xraw.c utimensat-Xverbose.c utimes.c vfork-f.c \
-+	vhangup.c vmsplice.c wait4.c wait4-v.c waitid.c waitid-v.c \
-+	waitpid.c xattr.c xattr-strings.c xet_robust_list.c \
-+	xet_robust_list--pidns-translation.c xet_thread_area_x86.c \
-+	xetitimer.c xetpgid.c xetpgid--pidns-translation.c \
-+	xetpriority.c xetpriority--pidns-translation.c xettimeofday.c \
-+	zeroargc.c
- DIST_SOURCES = $(libtests_a_SOURCES) _newselect.c _newselect-P.c \
- 	accept.c accept4.c access.c acct.c add_key.c adjtimex.c aio.c \
- 	aio_pgetevents.c alarm.c answer.c attach-f-p.c \
-@@ -4490,26 +4756,30 @@
- 	fadvise64_64.c fallocate.c fanotify_init.c fanotify_mark.c \
- 	fanotify_mark-Xabbrev.c fanotify_mark-Xraw.c \
- 	fanotify_mark-Xverbose.c fchdir.c fchmod.c fchmodat.c fchown.c \
--	fchown32.c fchownat.c fcntl.c fcntl64.c fdatasync.c fflush.c \
-+	fchown32.c fchownat.c fcntl.c fcntl--pidns-translation.c \
-+	fcntl64.c fcntl64--pidns-translation.c fdatasync.c fflush.c \
- 	file_handle.c file_ioctl.c filter-unavailable.c \
- 	filter_seccomp-flag.c filter_seccomp-perf.c finit_module.c \
--	flock.c fork-f.c fsconfig.c fsconfig-P.c fsmount.c fsopen.c \
--	fspick.c fspick-P.c fstat.c fstat-Xabbrev.c fstat-Xraw.c \
--	fstat-Xverbose.c fstat64.c fstat64-Xabbrev.c fstat64-Xraw.c \
--	fstat64-Xverbose.c fstatat64.c fstatfs.c fstatfs64.c fsync.c \
--	fsync-y.c ftruncate.c ftruncate64.c futex.c futimesat.c \
--	get_mempolicy.c get_process_reaper.c getcpu.c getcwd.c \
--	getdents.c getdents-v.c getdents64.c getdents64-v.c getegid.c \
--	getegid32.c geteuid.c geteuid32.c getgid.c getgid32.c \
--	getgroups.c getgroups32.c getpeername.c getpgrp.c getpid.c \
--	getppid.c getrandom.c getresgid.c getresgid32.c getresuid.c \
--	getresuid32.c getrlimit.c getrusage.c getsid.c getsockname.c \
--	gettid.c getuid.c getuid32.c getxgid.c getxpid.c getxuid.c \
--	group_req.c inet-cmsg.c init_module.c inject-nf.c inotify.c \
--	inotify_init.c inotify_init-y.c inotify_init1.c \
--	inotify_init1-y.c int_0x80.c io_uring_enter.c \
--	io_uring_register.c io_uring_setup.c ioctl.c ioctl_block.c \
--	ioctl_dm.c ioctl_dm-v.c ioctl_evdev.c ioctl_evdev-Xabbrev.c \
-+	flock.c fork--pidns-translation.c fork-f.c fsconfig.c \
-+	fsconfig-P.c fsmount.c fsopen.c fspick.c fspick-P.c fstat.c \
-+	fstat-Xabbrev.c fstat-Xraw.c fstat-Xverbose.c fstat64.c \
-+	fstat64-Xabbrev.c fstat64-Xraw.c fstat64-Xverbose.c \
-+	fstatat64.c fstatfs.c fstatfs64.c fsync.c fsync-y.c \
-+	ftruncate.c ftruncate64.c futex.c futimesat.c get_mempolicy.c \
-+	get_process_reaper.c getcpu.c getcwd.c getdents.c getdents-v.c \
-+	getdents64.c getdents64-v.c getegid.c getegid32.c geteuid.c \
-+	geteuid32.c getgid.c getgid32.c getgroups.c getgroups32.c \
-+	getpeername.c getpgrp.c getpgrp--pidns-translation.c getpid.c \
-+	getpid--pidns-translation.c getppid.c getrandom.c getresgid.c \
-+	getresgid32.c getresuid.c getresuid32.c getrlimit.c \
-+	getrusage.c getsid.c getsid--pidns-translation.c getsockname.c \
-+	gettid.c gettid--pidns-translation.c getuid.c getuid32.c \
-+	getxgid.c getxpid.c getxuid.c group_req.c inet-cmsg.c \
-+	init_module.c inject-nf.c inotify.c inotify_init.c \
-+	inotify_init-y.c inotify_init1.c inotify_init1-y.c int_0x80.c \
-+	io_uring_enter.c io_uring_register.c io_uring_setup.c ioctl.c \
-+	ioctl_block.c ioctl_block--pidns-translation.c ioctl_dm.c \
-+	ioctl_dm-v.c ioctl_evdev.c ioctl_evdev-Xabbrev.c \
- 	ioctl_evdev-Xraw.c ioctl_evdev-Xverbose.c \
- 	ioctl_evdev-success.c ioctl_evdev-success-Xabbrev.c \
- 	ioctl_evdev-success-Xraw.c ioctl_evdev-success-Xverbose.c \
-@@ -4537,47 +4807,51 @@
- 	ioctl_v4l2-success-v-Xverbose.c ioctl_v4l2-v.c \
- 	ioctl_v4l2-v-Xabbrev.c ioctl_v4l2-v-Xraw.c \
- 	ioctl_v4l2-v-Xverbose.c ioctl_watchdog.c ioperm.c iopl.c \
--	ioprio.c ioprio-Xabbrev.c ioprio-Xraw.c ioprio-Xverbose.c \
--	ip_mreq.c ipc.c ipc_msg.c ipc_msg-Xabbrev.c ipc_msg-Xraw.c \
--	ipc_msg-Xverbose.c ipc_msgbuf.c ipc_msgbuf-Xabbrev.c \
--	ipc_msgbuf-Xraw.c ipc_msgbuf-Xverbose.c ipc_sem.c \
--	ipc_sem-Xabbrev.c ipc_sem-Xraw.c ipc_sem-Xverbose.c ipc_shm.c \
--	ipc_shm-Xabbrev.c ipc_shm-Xraw.c ipc_shm-Xverbose.c \
--	is_linux_mips_n64.c kcmp.c kcmp-y.c kern_features.c \
-+	ioprio.c ioprio--pidns-translation.c ioprio-Xabbrev.c \
-+	ioprio-Xraw.c ioprio-Xverbose.c ip_mreq.c ipc.c ipc_msg.c \
-+	ipc_msg-Xabbrev.c ipc_msg-Xraw.c ipc_msg-Xverbose.c \
-+	ipc_msgbuf.c ipc_msgbuf-Xabbrev.c ipc_msgbuf-Xraw.c \
-+	ipc_msgbuf-Xverbose.c ipc_sem.c ipc_sem-Xabbrev.c \
-+	ipc_sem-Xraw.c ipc_sem-Xverbose.c ipc_shm.c ipc_shm-Xabbrev.c \
-+	ipc_shm-Xraw.c ipc_shm-Xverbose.c is_linux_mips_n64.c kcmp.c \
-+	kcmp-y.c kcmp-y--pidns-translation.c kern_features.c \
- 	kernel_version.c kernel_version-Xabbrev.c \
- 	kernel_version-Xraw.c kernel_version-Xverbose.c \
- 	kexec_file_load.c kexec_load.c keyctl.c keyctl-Xabbrev.c \
--	keyctl-Xraw.c keyctl-Xverbose.c kill.c kill_child.c ksysent.c \
--	lchown.c lchown32.c link.c linkat.c list_sigaction_signum.c \
--	llseek.c localtime.c lookup_dcookie.c looping_threads.c \
--	lseek.c lstat.c lstat64.c madvise.c maybe_switch_current_tcp.c \
-+	keyctl-Xraw.c keyctl-Xverbose.c kill.c \
-+	kill--pidns-translation.c kill_child.c ksysent.c lchown.c \
-+	lchown32.c link.c linkat.c list_sigaction_signum.c llseek.c \
-+	localtime.c lookup_dcookie.c looping_threads.c lseek.c lstat.c \
-+	lstat64.c madvise.c maybe_switch_current_tcp.c \
- 	maybe_switch_current_tcp--quiet-thread-execve.c mbind.c \
- 	mbind-Xabbrev.c mbind-Xraw.c mbind-Xverbose.c membarrier.c \
- 	memfd_create.c memfd_create-Xabbrev.c memfd_create-Xraw.c \
--	memfd_create-Xverbose.c migrate_pages.c mincore.c mkdir.c \
--	mkdirat.c mknod.c mknodat.c mlock.c mlock2.c mlockall.c mmap.c \
-+	memfd_create-Xverbose.c migrate_pages.c \
-+	migrate_pages--pidns-translation.c mincore.c mkdir.c mkdirat.c \
-+	mknod.c mknodat.c mlock.c mlock2.c mlockall.c mmap.c \
- 	mmap-Xabbrev.c mmap-Xraw.c mmap-Xverbose.c mmap64.c \
- 	mmap64-Xabbrev.c mmap64-Xraw.c mmap64-Xverbose.c mmsg.c \
- 	mmsg-silent.c mmsg_name.c mmsg_name-v.c modify_ldt.c mount.c \
- 	mount-Xabbrev.c mount-Xraw.c mount-Xverbose.c move_mount.c \
--	move_mount-P.c move_pages.c move_pages-Xabbrev.c \
--	move_pages-Xraw.c move_pages-Xverbose.c mq.c mq_sendrecv.c \
--	mq_sendrecv-read.c mq_sendrecv-write.c msg_control.c \
--	msg_control-v.c msg_name.c munlockall.c nanosleep.c \
--	net--decode-fds-dev-netlink.c net--decode-fds-none-netlink.c \
--	net--decode-fds-path-netlink.c \
-+	move_mount-P.c move_pages.c move_pages--pidns-translation.c \
-+	move_pages-Xabbrev.c move_pages-Xraw.c move_pages-Xverbose.c \
-+	mq.c mq_sendrecv.c mq_sendrecv-read.c mq_sendrecv-write.c \
-+	msg_control.c msg_control-v.c msg_name.c munlockall.c \
-+	nanosleep.c net--decode-fds-dev-netlink.c \
-+	net--decode-fds-none-netlink.c net--decode-fds-path-netlink.c \
- 	net--decode-fds-socket-netlink.c net-accept-connect.c \
- 	net-icmp_filter.c net-packet_mreq.c net-packet_mreq-Xabbrev.c \
- 	net-packet_mreq-Xraw.c net-packet_mreq-Xverbose.c \
--	net-sockaddr.c net-tpacket_req.c net-tpacket_stats.c \
-+	net-sockaddr.c net-sockaddr--pidns-translation.c \
-+	net-tpacket_req.c net-tpacket_stats.c \
- 	net-tpacket_stats-success.c net-y-unix.c net-yy-inet.c \
- 	net-yy-inet6.c net-yy-netlink.c net-yy-unix.c netlink_audit.c \
--	netlink_crypto.c netlink_generic.c netlink_inet_diag.c \
--	netlink_kobject_uevent.c netlink_netfilter.c \
--	netlink_netlink_diag.c netlink_protocol.c netlink_route.c \
--	netlink_selinux.c netlink_sock_diag.c netlink_unix_diag.c \
--	netlink_xfrm.c newfstatat.c nfnetlink_acct.c \
--	nfnetlink_cthelper.c nfnetlink_ctnetlink.c \
-+	netlink_audit--pidns-translation.c netlink_crypto.c \
-+	netlink_generic.c netlink_inet_diag.c netlink_kobject_uevent.c \
-+	netlink_netfilter.c netlink_netlink_diag.c netlink_protocol.c \
-+	netlink_route.c netlink_selinux.c netlink_sock_diag.c \
-+	netlink_unix_diag.c netlink_xfrm.c newfstatat.c \
-+	nfnetlink_acct.c nfnetlink_cthelper.c nfnetlink_ctnetlink.c \
- 	nfnetlink_ctnetlink_exp.c nfnetlink_cttimeout.c \
- 	nfnetlink_ipset.c nfnetlink_nft_compat.c nfnetlink_nftables.c \
- 	nfnetlink_osf.c nfnetlink_queue.c nfnetlink_ulog.c nlattr.c \
-@@ -4607,12 +4881,13 @@
- 	personality-Xraw.c personality-Xverbose.c pidfd_getfd.c \
- 	pidfd_getfd-y.c pidfd_getfd-yy.c pidfd_open.c \
- 	pidfd_open--decode-fd-path.c pidfd_open--decode-fd-pidfd.c \
--	pidfd_open--decode-fd-socket.c pidfd_open-P.c pidfd_open-y.c \
--	pidfd_open-yy.c pidfd_send_signal.c pipe.c pipe2.c \
--	pkey_alloc.c pkey_free.c pkey_mprotect.c poll.c poll-P.c \
--	ppoll.c ppoll-P.c ppoll-v.c prctl-arg2-intptr.c \
--	prctl-dumpable.c prctl-name.c prctl-no-args.c \
--	prctl-pdeathsig.c prctl-seccomp-filter-v.c \
-+	pidfd_open--decode-fd-socket.c pidfd_open--pidns-translation.c \
-+	pidfd_open-P.c pidfd_open-y.c pidfd_open-yy.c \
-+	pidfd_send_signal.c pidfd_send_signal--pidns-translation.c \
-+	pidns-cache.c pipe.c pipe2.c pkey_alloc.c pkey_free.c \
-+	pkey_mprotect.c poll.c poll-P.c ppoll.c ppoll-P.c ppoll-v.c \
-+	prctl-arg2-intptr.c prctl-dumpable.c prctl-name.c \
-+	prctl-no-args.c prctl-pdeathsig.c prctl-seccomp-filter-v.c \
- 	prctl-seccomp-strict.c prctl-securebits.c prctl-spec-inject.c \
- 	prctl-tid_address.c prctl-tsc.c pread64-pwrite64.c preadv.c \
- 	preadv-pwritev.c preadv2-pwritev2.c print_maxfd.c \
-@@ -4621,8 +4896,10 @@
- 	printsignal-Xabbrev.c printsignal-Xraw.c \
- 	printsignal-Xverbose.c printstr.c printstrn-umoven.c \
- 	printstrn-umoven-peekdata.c printstrn-umoven-undumpable.c \
--	prlimit64.c process_vm_readv.c process_vm_writev.c pselect6.c \
--	ptrace.c ptrace_syscall_info.c pwritev.c qual_fault.c \
-+	prlimit64.c prlimit64--pidns-translation.c process_vm_readv.c \
-+	process_vm_readv--pidns-translation.c process_vm_writev.c \
-+	process_vm_writev--pidns-translation.c pselect6.c ptrace.c \
-+	ptrace_syscall_info.c pwritev.c qual_fault.c \
- 	qual_inject-error-signal.c qual_inject-retval.c \
- 	qual_inject-signal.c qual_signal.c quotactl.c \
- 	quotactl-Xabbrev.c quotactl-Xraw.c quotactl-Xverbose.c \
-@@ -4635,60 +4912,70 @@
- 	remap_file_pages-Xraw.c remap_file_pages-Xverbose.c rename.c \
- 	renameat.c renameat2.c request_key.c restart_syscall.c \
- 	riscv_flush_icache.c rmdir.c rt_sigaction.c rt_sigpending.c \
--	rt_sigprocmask.c rt_sigqueueinfo.c rt_sigreturn.c \
-+	rt_sigprocmask.c rt_sigqueueinfo.c \
-+	rt_sigqueueinfo--pidns-translation.c rt_sigreturn.c \
- 	rt_sigsuspend.c rt_sigtimedwait.c rt_tgsigqueueinfo.c \
--	run_expect_termsig.c s390_guarded_storage.c \
--	s390_guarded_storage-v.c s390_pci_mmio_read_write.c \
--	s390_runtime_instr.c s390_sthyi.c s390_sthyi-v.c \
--	sched_get_priority_mxx.c sched_rr_get_interval.c \
--	sched_xetaffinity.c sched_xetattr.c sched_xetparam.c \
--	sched_xetscheduler.c sched_yield.c scm_rights.c \
--	seccomp-filter.c seccomp-filter-v.c seccomp-strict.c \
--	seccomp_get_action_avail.c select.c select-P.c semop.c \
--	semop-indirect.c semtimedop.c sendfile.c sendfile64.c \
--	set_mempolicy.c set_mempolicy-Xabbrev.c set_mempolicy-Xraw.c \
--	set_mempolicy-Xverbose.c set_ptracer_any.c set_sigblock.c \
--	set_sigign.c setdomainname.c setfsgid.c setfsgid32.c \
--	setfsuid.c setfsuid32.c setgid.c setgid32.c setgroups.c \
--	setgroups32.c sethostname.c setns.c setpgrp-exec.c setregid.c \
--	setregid32.c setresgid.c setresgid32.c setresuid.c \
--	setresuid32.c setreuid.c setreuid32.c setrlimit.c \
--	setrlimit-Xabbrev.c setrlimit-Xraw.c setrlimit-Xverbose.c \
--	setuid.c setuid32.c shmxt.c shutdown.c sigaction.c \
--	sigaltstack.c siginfo.c signal.c signal_receive.c signalfd4.c \
--	sigpending.c sigprocmask.c sigreturn.c sigsuspend.c sleep.c \
--	so_error.c so_linger.c so_peercred.c so_peercred-Xabbrev.c \
--	so_peercred-Xraw.c so_peercred-Xverbose.c sock_filter-v.c \
--	sock_filter-v-Xabbrev.c sock_filter-v-Xraw.c \
--	sock_filter-v-Xverbose.c sockaddr_xlat-Xabbrev.c \
--	sockaddr_xlat-Xraw.c sockaddr_xlat-Xverbose.c socketcall.c \
--	sockopt-sol_netlink.c sockopt-timestamp.c splice.c \
--	$(stack_fcall_SOURCES) $(stack_fcall_attach_SOURCES) \
--	$(stack_fcall_mangled_SOURCES) stat.c stat64.c statfs.c \
--	statfs64.c status-all.c status-failed.c status-failed-long.c \
--	status-failed-status.c status-none.c status-none-f.c \
--	status-none-threads.c status-successful.c \
--	status-successful-long.c status-successful-status.c \
--	status-unfinished.c status-unfinished-threads.c statx.c \
--	strace--strings-in-hex.c strace--strings-in-hex-all.c \
-+	rt_tgsigqueueinfo--pidns-translation.c run_expect_termsig.c \
-+	s390_guarded_storage.c s390_guarded_storage-v.c \
-+	s390_pci_mmio_read_write.c s390_runtime_instr.c s390_sthyi.c \
-+	s390_sthyi-v.c sched_get_priority_mxx.c \
-+	sched_rr_get_interval.c sched_xetaffinity.c \
-+	sched_xetaffinity--pidns-translation.c sched_xetattr.c \
-+	sched_xetattr--pidns-translation.c sched_xetparam.c \
-+	sched_xetparam--pidns-translation.c sched_xetscheduler.c \
-+	sched_xetscheduler--pidns-translation.c sched_yield.c \
-+	scm_rights.c seccomp-filter.c seccomp-filter-v.c \
-+	seccomp-strict.c seccomp_get_action_avail.c select.c \
-+	select-P.c semop.c semop-indirect.c semtimedop.c sendfile.c \
-+	sendfile64.c set_mempolicy.c set_mempolicy-Xabbrev.c \
-+	set_mempolicy-Xraw.c set_mempolicy-Xverbose.c \
-+	set_ptracer_any.c set_sigblock.c set_sigign.c setdomainname.c \
-+	setfsgid.c setfsgid32.c setfsuid.c setfsuid32.c setgid.c \
-+	setgid32.c setgroups.c setgroups32.c sethostname.c setns.c \
-+	setpgrp-exec.c setregid.c setregid32.c setresgid.c \
-+	setresgid32.c setresuid.c setresuid32.c setreuid.c \
-+	setreuid32.c setrlimit.c setrlimit-Xabbrev.c setrlimit-Xraw.c \
-+	setrlimit-Xverbose.c setuid.c setuid32.c shmxt.c shutdown.c \
-+	sigaction.c sigaltstack.c siginfo.c signal.c signal_receive.c \
-+	signal_receive--pidns-translation.c signalfd4.c sigpending.c \
-+	sigprocmask.c sigreturn.c sigsuspend.c sleep.c so_error.c \
-+	so_linger.c so_peercred.c so_peercred--pidns-translation.c \
-+	so_peercred-Xabbrev.c so_peercred-Xraw.c \
-+	so_peercred-Xverbose.c sock_filter-v.c sock_filter-v-Xabbrev.c \
-+	sock_filter-v-Xraw.c sock_filter-v-Xverbose.c \
-+	sockaddr_xlat-Xabbrev.c sockaddr_xlat-Xraw.c \
-+	sockaddr_xlat-Xverbose.c socketcall.c sockopt-sol_netlink.c \
-+	sockopt-timestamp.c splice.c $(stack_fcall_SOURCES) \
-+	$(stack_fcall_attach_SOURCES) $(stack_fcall_mangled_SOURCES) \
-+	stat.c stat64.c statfs.c statfs64.c status-all.c \
-+	status-failed.c status-failed-long.c status-failed-status.c \
-+	status-none.c status-none-f.c status-none-threads.c \
-+	status-successful.c status-successful-long.c \
-+	status-successful-status.c status-unfinished.c \
-+	status-unfinished-threads.c statx.c strace--strings-in-hex.c \
-+	strace--strings-in-hex-all.c \
- 	strace--strings-in-hex-non-ascii.c strace-x.c strace-xx.c \
- 	swap.c sxetmask.c symlink.c symlinkat.c sync.c \
- 	sync_file_range.c sync_file_range2.c sysinfo.c syslog.c \
--	syslog-success.c tee.c tgkill.c threads-execve.c \
--	threads-execve--quiet-thread-execve.c threads-execve-q.c \
--	threads-execve-qq.c threads-execve-qqq.c time.c timer_create.c \
--	timer_xettime.c timerfd_xettime.c times.c times-fail.c tkill.c \
--	tracer_ppid_pgid_sid.c truncate.c truncate64.c ugetrlimit.c \
--	uio.c umask.c umount.c umount2.c umoven-illptr.c umovestr.c \
--	umovestr-illptr.c umovestr2.c umovestr3.c umovestr_cached.c \
--	umovestr_cached_adjacent.c uname.c unblock_reset_raise.c \
--	unix-pair-send-recv.c unix-pair-sendto-recvfrom.c unlink.c \
--	unlinkat.c unshare.c userfaultfd.c ustat.c utime.c utimensat.c \
--	utimensat-Xabbrev.c utimensat-Xraw.c utimensat-Xverbose.c \
--	utimes.c vfork-f.c vhangup.c vmsplice.c wait4.c wait4-v.c \
--	waitid.c waitid-v.c waitpid.c xattr.c xattr-strings.c \
--	xet_robust_list.c xet_thread_area_x86.c xetitimer.c xetpgid.c \
--	xetpriority.c xettimeofday.c zeroargc.c
-+	syslog-success.c tee.c tgkill.c tgkill--pidns-translation.c \
-+	threads-execve.c threads-execve--quiet-thread-execve.c \
-+	threads-execve-q.c threads-execve-qq.c threads-execve-qqq.c \
-+	time.c timer_create.c timer_xettime.c timerfd_xettime.c \
-+	times.c times-fail.c tkill.c tkill--pidns-translation.c \
-+	tracer_ppid_pgid_sid.c $(trie_test_SOURCES) truncate.c \
-+	truncate64.c ugetrlimit.c uio.c umask.c umount.c umount2.c \
-+	umoven-illptr.c umovestr.c umovestr-illptr.c umovestr2.c \
-+	umovestr3.c umovestr_cached.c umovestr_cached_adjacent.c \
-+	uname.c unblock_reset_raise.c unix-pair-send-recv.c \
-+	unix-pair-sendto-recvfrom.c unlink.c unlinkat.c unshare.c \
-+	userfaultfd.c ustat.c utime.c utimensat.c utimensat-Xabbrev.c \
-+	utimensat-Xraw.c utimensat-Xverbose.c utimes.c vfork-f.c \
-+	vhangup.c vmsplice.c wait4.c wait4-v.c waitid.c waitid-v.c \
-+	waitpid.c xattr.c xattr-strings.c xet_robust_list.c \
-+	xet_robust_list--pidns-translation.c xet_thread_area_x86.c \
-+	xetitimer.c xetpgid.c xetpgid--pidns-translation.c \
-+	xetpriority.c xetpriority--pidns-translation.c xettimeofday.c \
-+	zeroargc.c
- am__can_run_installinfo = \
-   case $$AM_UPDATE_INFO_DIR in \
-     n|no|NO) false;; \
-@@ -5145,6 +5432,7 @@
- 	test_ucopy.h \
- 	tests.h \
- 	tprintf.c \
-+	xmalloc_for_tests.c \
- 	# end of libtests_a_SOURCES
- 
- libtests_a_CPPFLAGS = $(AM_CPPFLAGS) -D_FILE_OFFSET_BITS=64
-@@ -5825,6 +6113,10 @@
- 	stack-fcall-mangled-0.c stack-fcall-mangled-1.c \
- 	stack-fcall-mangled-2.c stack-fcall-mangled-3.c
- 
-+trie_test_SOURCES = trie_test.c trie_for_tests.c
-+trie_test_CPPFLAGS = $(AM_CPPFLAGS) $(CODE_COVERAGE_CPPFLAGS)
-+trie_test_CFLAGS = $(AM_CFLAGS) $(CODE_COVERAGE_CFLAGS)
-+trie_test_LDADD = $(LDADD) $(CODE_COVERAGE_LIBS)
- 
- # Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in; do not edit.
- GEN_TESTS = _newselect.gen.test _newselect-P.gen.test accept.gen.test \
-@@ -5861,13 +6153,14 @@
- 	fanotify_mark-Xverbose.gen.test fchdir.gen.test \
- 	fchmod.gen.test fchmodat.gen.test fchown.gen.test \
- 	fchown32.gen.test fchownat.gen.test fcntl.gen.test \
--	fcntl64.gen.test fdatasync.gen.test file_handle.gen.test \
--	file_ioctl.gen.test filter_seccomp.gen.test \
--	filter_seccomp-flag.gen.test finit_module.gen.test \
--	flock.gen.test fork-f.gen.test fsconfig.gen.test \
--	fsconfig-P.gen.test fsmount.gen.test fsopen.gen.test \
--	fspick.gen.test fspick-P.gen.test fstat.gen.test \
--	fstat-Xabbrev.gen.test fstat-Xraw.gen.test \
-+	fcntl--pidns-translation.gen.test fcntl64.gen.test \
-+	fcntl64--pidns-translation.gen.test fdatasync.gen.test \
-+	file_handle.gen.test file_ioctl.gen.test \
-+	filter_seccomp.gen.test filter_seccomp-flag.gen.test \
-+	finit_module.gen.test flock.gen.test fork-f.gen.test \
-+	fsconfig.gen.test fsconfig-P.gen.test fsmount.gen.test \
-+	fsopen.gen.test fspick.gen.test fspick-P.gen.test \
-+	fstat.gen.test fstat-Xabbrev.gen.test fstat-Xraw.gen.test \
- 	fstat-Xverbose.gen.test fstat64.gen.test \
- 	fstat64-Xabbrev.gen.test fstat64-Xraw.gen.test \
- 	fstat64-Xverbose.gen.test fstatat64.gen.test fstatfs.gen.test \
-@@ -5881,11 +6174,13 @@
- 	geteuid32-creds.gen.test getgid.gen.test getgid-creds.gen.test \
- 	getgid32.gen.test getgid32-creds.gen.test getgroups.gen.test \
- 	getgroups32.gen.test getpeername.gen.test getpgrp.gen.test \
--	getpid.gen.test getppid.gen.test getrandom.gen.test \
--	getresgid.gen.test getresgid32.gen.test getresuid.gen.test \
--	getresuid32.gen.test getrlimit.gen.test getrusage.gen.test \
--	getsid.gen.test getsockname.gen.test gettid.gen.test \
--	getuid-creds.gen.test getuid32.gen.test \
-+	getpgrp--pidns-translation.gen.test getpid.gen.test \
-+	getpid--pidns-translation.gen.test getppid.gen.test \
-+	getrandom.gen.test getresgid.gen.test getresgid32.gen.test \
-+	getresuid.gen.test getresuid32.gen.test getrlimit.gen.test \
-+	getrusage.gen.test getsid.gen.test \
-+	getsid--pidns-translation.gen.test getsockname.gen.test \
-+	gettid.gen.test getuid-creds.gen.test getuid32.gen.test \
- 	getuid32-creds.gen.test getxgid.gen.test getxpid.gen.test \
- 	getxuid.gen.test group_req.gen.test inet-cmsg.gen.test \
- 	init_module.gen.test inotify.gen.test inotify_init.gen.test \
-@@ -5937,9 +6232,9 @@
- 	ioctl_v4l2-success-v-Xraw.gen.test \
- 	ioctl_v4l2-success-v-Xverbose.gen.test ioctl_watchdog.gen.test \
- 	ioperm.gen.test iopl.gen.test ioprio.gen.test \
--	ioprio-Xabbrev.gen.test ioprio-Xraw.gen.test \
--	ioprio-Xverbose.gen.test ip_mreq.gen.test ipc.gen.test \
--	ipc_msg.gen.test ipc_msg-Xabbrev.gen.test \
-+	ioprio--pidns-translation.gen.test ioprio-Xabbrev.gen.test \
-+	ioprio-Xraw.gen.test ioprio-Xverbose.gen.test ip_mreq.gen.test \
-+	ipc.gen.test ipc_msg.gen.test ipc_msg-Xabbrev.gen.test \
- 	ipc_msg-Xraw.gen.test ipc_msg-Xverbose.gen.test \
- 	ipc_msgbuf-Xabbrev.gen.test ipc_msgbuf-Xraw.gen.test \
- 	ipc_msgbuf-Xverbose.gen.test ipc_sem.gen.test \
-@@ -5947,24 +6242,27 @@
- 	ipc_sem-Xverbose.gen.test ipc_shm.gen.test \
- 	ipc_shm-Xabbrev.gen.test ipc_shm-Xraw.gen.test \
- 	ipc_shm-Xverbose.gen.test kcmp.gen.test kcmp-y.gen.test \
--	kern_features.gen.test kernel_version.gen.test \
--	kernel_version-Xabbrev.gen.test kernel_version-Xraw.gen.test \
--	kernel_version-Xverbose.gen.test kexec_file_load.gen.test \
--	kexec_load.gen.test keyctl.gen.test keyctl-Xabbrev.gen.test \
--	keyctl-Xraw.gen.test keyctl-Xverbose.gen.test kill.gen.test \
--	ksysent.gen.test lchown.gen.test lchown32.gen.test \
--	link.gen.test linkat.gen.test lookup_dcookie.gen.test \
--	lstat.gen.test lstat64.gen.test madvise.gen.test \
-+	kcmp-y--pidns-translation.gen.test kern_features.gen.test \
-+	kernel_version.gen.test kernel_version-Xabbrev.gen.test \
-+	kernel_version-Xraw.gen.test kernel_version-Xverbose.gen.test \
-+	kexec_file_load.gen.test kexec_load.gen.test keyctl.gen.test \
-+	keyctl-Xabbrev.gen.test keyctl-Xraw.gen.test \
-+	keyctl-Xverbose.gen.test kill.gen.test \
-+	kill--pidns-translation.gen.test ksysent.gen.test \
-+	lchown.gen.test lchown32.gen.test link.gen.test \
-+	linkat.gen.test lookup_dcookie.gen.test lstat.gen.test \
-+	lstat64.gen.test madvise.gen.test \
- 	maybe_switch_current_tcp.gen.test \
- 	maybe_switch_current_tcp--quiet-thread-execve.gen.test \
- 	mbind.gen.test mbind-Xabbrev.gen.test mbind-Xraw.gen.test \
- 	mbind-Xverbose.gen.test membarrier.gen.test \
- 	memfd_create.gen.test memfd_create-Xabbrev.gen.test \
- 	memfd_create-Xraw.gen.test memfd_create-Xverbose.gen.test \
--	migrate_pages.gen.test mincore.gen.test mkdir.gen.test \
--	mkdirat.gen.test mknod.gen.test mknodat.gen.test \
--	mlock.gen.test mlock2.gen.test mlockall.gen.test \
--	mmap-Xabbrev.gen.test mmap-Xraw.gen.test \
-+	migrate_pages.gen.test \
-+	migrate_pages--pidns-translation.gen.test mincore.gen.test \
-+	mkdir.gen.test mkdirat.gen.test mknod.gen.test \
-+	mknodat.gen.test mlock.gen.test mlock2.gen.test \
-+	mlockall.gen.test mmap-Xabbrev.gen.test mmap-Xraw.gen.test \
- 	mmap-Xverbose.gen.test mmap64.gen.test mmap64-Xabbrev.gen.test \
- 	mmap64-Xraw.gen.test mmap64-Xverbose.gen.test mmsg.gen.test \
- 	mmsg-silent.gen.test mmsg_name.gen.test mmsg_name-v.gen.test \
-@@ -5972,17 +6270,19 @@
- 	mount-Xraw.gen.test mount-Xverbose.gen.test \
- 	move_mount.gen.test move_mount-P.gen.test move_pages.gen.test \
- 	move_pages-Xabbrev.gen.test move_pages-Xraw.gen.test \
--	move_pages-Xverbose.gen.test mq.gen.test mq_sendrecv.gen.test \
--	mq_sendrecv-read.gen.test mq_sendrecv-write.gen.test \
--	msg_control.gen.test msg_control-v.gen.test msg_name.gen.test \
--	munlockall.gen.test nanosleep.gen.test \
--	net--decode-fds-dev-netlink.gen.test \
-+	move_pages-Xverbose.gen.test \
-+	move_pages--pidns-translation.gen.test mq.gen.test \
-+	mq_sendrecv.gen.test mq_sendrecv-read.gen.test \
-+	mq_sendrecv-write.gen.test msg_control.gen.test \
-+	msg_control-v.gen.test msg_name.gen.test munlockall.gen.test \
-+	nanosleep.gen.test net--decode-fds-dev-netlink.gen.test \
- 	net--decode-fds-none-netlink.gen.test \
- 	net--decode-fds-path-netlink.gen.test \
- 	net--decode-fds-socket-netlink.gen.test \
- 	net-icmp_filter.gen.test net-packet_mreq.gen.test \
- 	net-packet_mreq-Xabbrev.gen.test net-packet_mreq-Xraw.gen.test \
- 	net-packet_mreq-Xverbose.gen.test net-sockaddr.gen.test \
-+	net-sockaddr--pidns-translation.gen.test \
- 	net-tpacket_req.gen.test net-tpacket_stats.gen.test \
- 	net-yy-inet6.gen.test netlink_audit.gen.test \
- 	netlink_crypto.gen.test netlink_generic.gen.test \
-@@ -6036,18 +6336,25 @@
- 	pidfd_open--decode-fd-pidfd.gen.test \
- 	pidfd_open--decode-fd-socket.gen.test pidfd_open-P.gen.test \
- 	pidfd_open-y.gen.test pidfd_open-yy.gen.test \
--	pidfd_send_signal.gen.test pipe2.gen.test pkey_alloc.gen.test \
--	pkey_free.gen.test pkey_mprotect.gen.test ppoll.gen.test \
--	ppoll-P.gen.test ppoll-v.gen.test pread64-pwrite64.gen.test \
--	preadv.gen.test preadv-pwritev.gen.test \
--	preadv2-pwritev2.gen.test printpath-umovestr.gen.test \
-+	pidfd_open--pidns-translation.gen.test \
-+	pidfd_send_signal.gen.test \
-+	pidfd_send_signal--pidns-translation.gen.test pipe2.gen.test \
-+	pkey_alloc.gen.test pkey_free.gen.test pkey_mprotect.gen.test \
-+	ppoll.gen.test ppoll-P.gen.test ppoll-v.gen.test \
-+	pread64-pwrite64.gen.test preadv.gen.test \
-+	preadv-pwritev.gen.test preadv2-pwritev2.gen.test \
-+	printpath-umovestr.gen.test \
- 	printpath-umovestr-peekdata.gen.test \
- 	printpath-umovestr-undumpable.gen.test \
- 	printsignal-Xabbrev.gen.test printsignal-Xraw.gen.test \
- 	printsignal-Xverbose.gen.test printstr.gen.test \
- 	printstrn-umoven.gen.test printstrn-umoven-peekdata.gen.test \
- 	printstrn-umoven-undumpable.gen.test prlimit64.gen.test \
--	process_vm_readv.gen.test process_vm_writev.gen.test \
-+	prlimit64--pidns-translation.gen.test \
-+	process_vm_readv.gen.test \
-+	process_vm_readv--pidns-translation.gen.test \
-+	process_vm_writev.gen.test \
-+	process_vm_writev--pidns-translation.gen.test \
- 	pselect6.gen.test ptrace.gen.test ptrace_syscall_info.gen.test \
- 	pwritev.gen.test quotactl.gen.test quotactl-Xabbrev.gen.test \
- 	quotactl-Xraw.gen.test quotactl-Xverbose.gen.test \
-@@ -6063,15 +6370,23 @@
- 	renameat.gen.test renameat2.gen.test request_key.gen.test \
- 	riscv_flush_icache.gen.test rmdir.gen.test \
- 	rt_sigpending.gen.test rt_sigprocmask.gen.test \
--	rt_sigqueueinfo.gen.test rt_sigreturn.gen.test \
--	rt_sigsuspend.gen.test rt_sigtimedwait.gen.test \
--	rt_tgsigqueueinfo.gen.test s390_guarded_storage.gen.test \
--	s390_guarded_storage-v.gen.test \
-+	rt_sigqueueinfo.gen.test \
-+	rt_sigqueueinfo--pidns-translation.gen.test \
-+	rt_sigreturn.gen.test rt_sigsuspend.gen.test \
-+	rt_sigtimedwait.gen.test rt_tgsigqueueinfo.gen.test \
-+	rt_tgsigqueueinfo--pidns-translation.gen.test \
-+	s390_guarded_storage.gen.test s390_guarded_storage-v.gen.test \
- 	s390_pci_mmio_read_write.gen.test s390_runtime_instr.gen.test \
- 	s390_sthyi.gen.test s390_sthyi-v.gen.test sched.gen.test \
- 	sched_get_priority_mxx.gen.test sched_rr_get_interval.gen.test \
--	sched_xetaffinity.gen.test sched_xetattr.gen.test \
--	sched_xetparam.gen.test sched_xetscheduler.gen.test \
-+	sched_xetaffinity.gen.test \
-+	sched_xetaffinity--pidns-translation.gen.test \
-+	sched_xetattr.gen.test \
-+	sched_xetattr--pidns-translation.gen.test \
-+	sched_xetparam.gen.test \
-+	sched_xetparam--pidns-translation.gen.test \
-+	sched_xetscheduler.gen.test \
-+	sched_xetscheduler--pidns-translation.gen.test \
- 	sched_yield.gen.test seccomp-filter.gen.test \
- 	seccomp-filter-v.gen.test seccomp_get_action_avail.gen.test \
- 	select.gen.test select-P.gen.test semop.gen.test \
-@@ -6089,18 +6404,20 @@
- 	setrlimit-Xraw.gen.test setrlimit-Xverbose.gen.test \
- 	setuid.gen.test setuid32.gen.test shmxt.gen.test \
- 	shutdown.gen.test sigaction.gen.test siginfo.gen.test \
--	signal.gen.test signal_receive.gen.test signalfd4.gen.test \
-+	signal.gen.test signal_receive.gen.test \
-+	signal_receive--pidns-translation.gen.test signalfd4.gen.test \
- 	sigpending.gen.test sigprocmask.gen.test sigreturn.gen.test \
- 	sigsuspend.gen.test so_error.gen.test so_linger.gen.test \
- 	so_peercred.gen.test so_peercred-Xabbrev.gen.test \
- 	so_peercred-Xraw.gen.test so_peercred-Xverbose.gen.test \
--	sock_filter-v.gen.test sock_filter-v-Xabbrev.gen.test \
--	sock_filter-v-Xraw.gen.test sock_filter-v-Xverbose.gen.test \
--	sockaddr_xlat-Xabbrev.gen.test sockaddr_xlat-Xraw.gen.test \
--	sockaddr_xlat-Xverbose.gen.test socketcall.gen.test \
--	sockopt-sol_netlink.gen.test sockopt-timestamp.gen.test \
--	splice.gen.test stat.gen.test stat64.gen.test statfs.gen.test \
--	statfs64.gen.test status-all.gen.test status-failed.gen.test \
-+	so_peercred--pidns-translation.gen.test sock_filter-v.gen.test \
-+	sock_filter-v-Xabbrev.gen.test sock_filter-v-Xraw.gen.test \
-+	sock_filter-v-Xverbose.gen.test sockaddr_xlat-Xabbrev.gen.test \
-+	sockaddr_xlat-Xraw.gen.test sockaddr_xlat-Xverbose.gen.test \
-+	socketcall.gen.test sockopt-sol_netlink.gen.test \
-+	sockopt-timestamp.gen.test splice.gen.test stat.gen.test \
-+	stat64.gen.test statfs.gen.test statfs64.gen.test \
-+	status-all.gen.test status-failed.gen.test \
- 	status-failed-long.gen.test status-failed-status.gen.test \
- 	status-none.gen.test status-successful.gen.test \
- 	status-successful-long.gen.test \
-@@ -6142,33 +6459,37 @@
- 	symlink.gen.test symlinkat.gen.test sync.gen.test \
- 	sync_file_range.gen.test sync_file_range2.gen.test \
- 	sysinfo.gen.test syslog.gen.test tee.gen.test tgkill.gen.test \
-+	tgkill--pidns-translation.gen.test \
- 	threads-execve--quiet-thread-execve.gen.test \
- 	threads-execve-q.gen.test threads-execve-qq.gen.test \
- 	threads-execve-qqq.gen.test time.gen.test \
- 	timer_create.gen.test timer_xettime.gen.test \
- 	timerfd_xettime.gen.test times.gen.test times-fail.gen.test \
--	tkill.gen.test trace_clock.gen.test trace_creds.gen.test \
--	trace_fstat.gen.test trace_fstatfs.gen.test \
--	trace_lstat.gen.test trace_personality_32.gen.test \
--	trace_personality_64.gen.test \
-+	tkill.gen.test tkill--pidns-translation.gen.test \
-+	trace_clock.gen.test trace_creds.gen.test trace_fstat.gen.test \
-+	trace_fstatfs.gen.test trace_lstat.gen.test \
-+	trace_personality_32.gen.test trace_personality_64.gen.test \
- 	trace_personality_regex_32.gen.test \
- 	trace_personality_regex_64.gen.test \
- 	trace_personality_regex_x32.gen.test \
- 	trace_personality_x32.gen.test trace_question.gen.test \
- 	trace_stat.gen.test trace_stat_like.gen.test \
- 	trace_statfs.gen.test trace_statfs_like.gen.test \
--	truncate.gen.test truncate64.gen.test ugetrlimit.gen.test \
--	umask.gen.test umoven-illptr.gen.test umovestr-illptr.gen.test \
--	umovestr3.gen.test umovestr_cached_adjacent.gen.test \
--	unlink.gen.test unlinkat.gen.test unshare.gen.test \
--	userfaultfd.gen.test ustat.gen.test utime.gen.test \
--	utimensat.gen.test utimensat-Xabbrev.gen.test \
--	utimensat-Xraw.gen.test utimensat-Xverbose.gen.test \
--	utimes.gen.test vfork-f.gen.test vhangup.gen.test \
--	vmsplice.gen.test wait4.gen.test wait4-v.gen.test \
--	waitid.gen.test waitid-v.gen.test waitpid.gen.test \
--	xattr.gen.test xattr-strings.gen.test xet_robust_list.gen.test \
--	xetitimer.gen.test xetpgid.gen.test xetpriority.gen.test \
-+	trie_test.gen.test truncate.gen.test truncate64.gen.test \
-+	ugetrlimit.gen.test umask.gen.test umoven-illptr.gen.test \
-+	umovestr-illptr.gen.test umovestr3.gen.test \
-+	umovestr_cached_adjacent.gen.test unlink.gen.test \
-+	unlinkat.gen.test unshare.gen.test userfaultfd.gen.test \
-+	ustat.gen.test utime.gen.test utimensat.gen.test \
-+	utimensat-Xabbrev.gen.test utimensat-Xraw.gen.test \
-+	utimensat-Xverbose.gen.test utimes.gen.test vfork-f.gen.test \
-+	vhangup.gen.test vmsplice.gen.test wait4.gen.test \
-+	wait4-v.gen.test waitid.gen.test waitid-v.gen.test \
-+	waitpid.gen.test xattr.gen.test xattr-strings.gen.test \
-+	xet_robust_list.gen.test \
-+	xet_robust_list--pidns-translation.gen.test xetitimer.gen.test \
-+	xetpgid.gen.test xetpgid--pidns-translation.gen.test \
-+	xetpriority.gen.test xetpriority--pidns-translation.gen.test \
- 	xettimeofday.gen.test
- @ENABLE_STACKTRACE_FALSE@STACKTRACE_TESTS = 
- @ENABLE_STACKTRACE_TRUE@STACKTRACE_TESTS = strace-k.test \
-@@ -6198,6 +6519,7 @@
- 	int_0x80.test \
- 	inotify_init-y.test \
- 	ioctl.test \
-+	ioctl_block--pidns-translation.test \
- 	ioctl_evdev-success.test \
- 	ipc_msgbuf.test \
- 	kern_features-fault.test \
-@@ -6269,15 +6591,19 @@
- 	filtering_fd-syntax.test \
- 	filtering_syscall-syntax.test \
- 	first_exec_failure.test \
-+	fork--pidns-translation.test \
- 	get_regs.test \
-+	gettid--pidns-translation.test \
- 	inject-nf.test \
- 	interactive_block.test \
- 	kill_child.test \
- 	localtime.test \
- 	looping_threads.test \
-+	netlink_audit--pidns-translation.test \
- 	opipe.test \
- 	options-syntax.test \
- 	pc.test \
-+	pidns-cache.test \
- 	printpath-umovestr-legacy.test \
- 	printstrn-umoven-legacy.test \
- 	qual_fault-syntax.test \
-@@ -6350,6 +6676,7 @@
- 	filter_seccomp.in \
- 	filter_seccomp.sh \
- 	filter-unavailable.expected \
-+	fork--pidns-translation.awk \
- 	fstatat.c \
- 	fstatx.c \
- 	gen_pure_executables.sh \
-@@ -6935,10 +7262,18 @@
- 	@rm -f fcntl$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(fcntl_OBJECTS) $(fcntl_LDADD) $(LIBS)
- 
-+fcntl--pidns-translation$(EXEEXT): $(fcntl__pidns_translation_OBJECTS) $(fcntl__pidns_translation_DEPENDENCIES) $(EXTRA_fcntl__pidns_translation_DEPENDENCIES) 
-+	@rm -f fcntl--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(fcntl__pidns_translation_OBJECTS) $(fcntl__pidns_translation_LDADD) $(LIBS)
-+
- fcntl64$(EXEEXT): $(fcntl64_OBJECTS) $(fcntl64_DEPENDENCIES) $(EXTRA_fcntl64_DEPENDENCIES) 
- 	@rm -f fcntl64$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(fcntl64_OBJECTS) $(fcntl64_LDADD) $(LIBS)
- 
-+fcntl64--pidns-translation$(EXEEXT): $(fcntl64__pidns_translation_OBJECTS) $(fcntl64__pidns_translation_DEPENDENCIES) $(EXTRA_fcntl64__pidns_translation_DEPENDENCIES) 
-+	@rm -f fcntl64--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(fcntl64__pidns_translation_OBJECTS) $(fcntl64__pidns_translation_LDADD) $(LIBS)
-+
- fdatasync$(EXEEXT): $(fdatasync_OBJECTS) $(fdatasync_DEPENDENCIES) $(EXTRA_fdatasync_DEPENDENCIES) 
- 	@rm -f fdatasync$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(fdatasync_OBJECTS) $(fdatasync_LDADD) $(LIBS)
-@@ -6975,6 +7310,10 @@
- 	@rm -f flock$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(flock_OBJECTS) $(flock_LDADD) $(LIBS)
- 
-+fork--pidns-translation$(EXEEXT): $(fork__pidns_translation_OBJECTS) $(fork__pidns_translation_DEPENDENCIES) $(EXTRA_fork__pidns_translation_DEPENDENCIES) 
-+	@rm -f fork--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(fork__pidns_translation_OBJECTS) $(fork__pidns_translation_LDADD) $(LIBS)
-+
- fork-f$(EXEEXT): $(fork_f_OBJECTS) $(fork_f_DEPENDENCIES) $(EXTRA_fork_f_DEPENDENCIES) 
- 	@rm -f fork-f$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(fork_f_OBJECTS) $(fork_f_LDADD) $(LIBS)
-@@ -7143,10 +7482,18 @@
- 	@rm -f getpgrp$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(getpgrp_OBJECTS) $(getpgrp_LDADD) $(LIBS)
- 
-+getpgrp--pidns-translation$(EXEEXT): $(getpgrp__pidns_translation_OBJECTS) $(getpgrp__pidns_translation_DEPENDENCIES) $(EXTRA_getpgrp__pidns_translation_DEPENDENCIES) 
-+	@rm -f getpgrp--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(getpgrp__pidns_translation_OBJECTS) $(getpgrp__pidns_translation_LDADD) $(LIBS)
-+
- getpid$(EXEEXT): $(getpid_OBJECTS) $(getpid_DEPENDENCIES) $(EXTRA_getpid_DEPENDENCIES) 
- 	@rm -f getpid$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(getpid_OBJECTS) $(getpid_LDADD) $(LIBS)
- 
-+getpid--pidns-translation$(EXEEXT): $(getpid__pidns_translation_OBJECTS) $(getpid__pidns_translation_DEPENDENCIES) $(EXTRA_getpid__pidns_translation_DEPENDENCIES) 
-+	@rm -f getpid--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(getpid__pidns_translation_OBJECTS) $(getpid__pidns_translation_LDADD) $(LIBS)
-+
- getppid$(EXEEXT): $(getppid_OBJECTS) $(getppid_DEPENDENCIES) $(EXTRA_getppid_DEPENDENCIES) 
- 	@rm -f getppid$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(getppid_OBJECTS) $(getppid_LDADD) $(LIBS)
-@@ -7183,6 +7530,10 @@
- 	@rm -f getsid$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(getsid_OBJECTS) $(getsid_LDADD) $(LIBS)
- 
-+getsid--pidns-translation$(EXEEXT): $(getsid__pidns_translation_OBJECTS) $(getsid__pidns_translation_DEPENDENCIES) $(EXTRA_getsid__pidns_translation_DEPENDENCIES) 
-+	@rm -f getsid--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(getsid__pidns_translation_OBJECTS) $(getsid__pidns_translation_LDADD) $(LIBS)
-+
- getsockname$(EXEEXT): $(getsockname_OBJECTS) $(getsockname_DEPENDENCIES) $(EXTRA_getsockname_DEPENDENCIES) 
- 	@rm -f getsockname$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(getsockname_OBJECTS) $(getsockname_LDADD) $(LIBS)
-@@ -7191,6 +7542,10 @@
- 	@rm -f gettid$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(gettid_OBJECTS) $(gettid_LDADD) $(LIBS)
- 
-+gettid--pidns-translation$(EXEEXT): $(gettid__pidns_translation_OBJECTS) $(gettid__pidns_translation_DEPENDENCIES) $(EXTRA_gettid__pidns_translation_DEPENDENCIES) 
-+	@rm -f gettid--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(gettid__pidns_translation_OBJECTS) $(gettid__pidns_translation_LDADD) $(LIBS)
-+
- getuid$(EXEEXT): $(getuid_OBJECTS) $(getuid_DEPENDENCIES) $(EXTRA_getuid_DEPENDENCIES) 
- 	@rm -f getuid$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(getuid_OBJECTS) $(getuid_LDADD) $(LIBS)
-@@ -7271,6 +7626,10 @@
- 	@rm -f ioctl_block$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(ioctl_block_OBJECTS) $(ioctl_block_LDADD) $(LIBS)
- 
-+ioctl_block--pidns-translation$(EXEEXT): $(ioctl_block__pidns_translation_OBJECTS) $(ioctl_block__pidns_translation_DEPENDENCIES) $(EXTRA_ioctl_block__pidns_translation_DEPENDENCIES) 
-+	@rm -f ioctl_block--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(ioctl_block__pidns_translation_OBJECTS) $(ioctl_block__pidns_translation_LDADD) $(LIBS)
-+
- ioctl_dm$(EXEEXT): $(ioctl_dm_OBJECTS) $(ioctl_dm_DEPENDENCIES) $(EXTRA_ioctl_dm_DEPENDENCIES) 
- 	@rm -f ioctl_dm$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(ioctl_dm_OBJECTS) $(ioctl_dm_LDADD) $(LIBS)
-@@ -7571,6 +7930,10 @@
- 	@rm -f ioprio$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(ioprio_OBJECTS) $(ioprio_LDADD) $(LIBS)
- 
-+ioprio--pidns-translation$(EXEEXT): $(ioprio__pidns_translation_OBJECTS) $(ioprio__pidns_translation_DEPENDENCIES) $(EXTRA_ioprio__pidns_translation_DEPENDENCIES) 
-+	@rm -f ioprio--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(ioprio__pidns_translation_OBJECTS) $(ioprio__pidns_translation_LDADD) $(LIBS)
-+
- ioprio-Xabbrev$(EXEEXT): $(ioprio_Xabbrev_OBJECTS) $(ioprio_Xabbrev_DEPENDENCIES) $(EXTRA_ioprio_Xabbrev_DEPENDENCIES) 
- 	@rm -f ioprio-Xabbrev$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(ioprio_Xabbrev_OBJECTS) $(ioprio_Xabbrev_LDADD) $(LIBS)
-@@ -7667,6 +8030,10 @@
- 	@rm -f kcmp-y$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(kcmp_y_OBJECTS) $(kcmp_y_LDADD) $(LIBS)
- 
-+kcmp-y--pidns-translation$(EXEEXT): $(kcmp_y__pidns_translation_OBJECTS) $(kcmp_y__pidns_translation_DEPENDENCIES) $(EXTRA_kcmp_y__pidns_translation_DEPENDENCIES) 
-+	@rm -f kcmp-y--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(kcmp_y__pidns_translation_OBJECTS) $(kcmp_y__pidns_translation_LDADD) $(LIBS)
-+
- kern_features$(EXEEXT): $(kern_features_OBJECTS) $(kern_features_DEPENDENCIES) $(EXTRA_kern_features_DEPENDENCIES) 
- 	@rm -f kern_features$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(kern_features_OBJECTS) $(kern_features_LDADD) $(LIBS)
-@@ -7715,6 +8082,10 @@
- 	@rm -f kill$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(kill_OBJECTS) $(kill_LDADD) $(LIBS)
- 
-+kill--pidns-translation$(EXEEXT): $(kill__pidns_translation_OBJECTS) $(kill__pidns_translation_DEPENDENCIES) $(EXTRA_kill__pidns_translation_DEPENDENCIES) 
-+	@rm -f kill--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(kill__pidns_translation_OBJECTS) $(kill__pidns_translation_LDADD) $(LIBS)
-+
- kill_child$(EXEEXT): $(kill_child_OBJECTS) $(kill_child_DEPENDENCIES) $(EXTRA_kill_child_DEPENDENCIES) 
- 	@rm -f kill_child$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(kill_child_OBJECTS) $(kill_child_LDADD) $(LIBS)
-@@ -7823,6 +8194,10 @@
- 	@rm -f migrate_pages$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(migrate_pages_OBJECTS) $(migrate_pages_LDADD) $(LIBS)
- 
-+migrate_pages--pidns-translation$(EXEEXT): $(migrate_pages__pidns_translation_OBJECTS) $(migrate_pages__pidns_translation_DEPENDENCIES) $(EXTRA_migrate_pages__pidns_translation_DEPENDENCIES) 
-+	@rm -f migrate_pages--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(migrate_pages__pidns_translation_OBJECTS) $(migrate_pages__pidns_translation_LDADD) $(LIBS)
-+
- mincore$(EXEEXT): $(mincore_OBJECTS) $(mincore_DEPENDENCIES) $(EXTRA_mincore_DEPENDENCIES) 
- 	@rm -f mincore$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(mincore_OBJECTS) $(mincore_LDADD) $(LIBS)
-@@ -7935,6 +8310,10 @@
- 	@rm -f move_pages$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(move_pages_OBJECTS) $(move_pages_LDADD) $(LIBS)
- 
-+move_pages--pidns-translation$(EXEEXT): $(move_pages__pidns_translation_OBJECTS) $(move_pages__pidns_translation_DEPENDENCIES) $(EXTRA_move_pages__pidns_translation_DEPENDENCIES) 
-+	@rm -f move_pages--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(move_pages__pidns_translation_OBJECTS) $(move_pages__pidns_translation_LDADD) $(LIBS)
-+
- move_pages-Xabbrev$(EXEEXT): $(move_pages_Xabbrev_OBJECTS) $(move_pages_Xabbrev_DEPENDENCIES) $(EXTRA_move_pages_Xabbrev_DEPENDENCIES) 
- 	@rm -f move_pages-Xabbrev$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(move_pages_Xabbrev_OBJECTS) $(move_pages_Xabbrev_LDADD) $(LIBS)
-@@ -8027,6 +8406,10 @@
- 	@rm -f net-sockaddr$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(net_sockaddr_OBJECTS) $(net_sockaddr_LDADD) $(LIBS)
- 
-+net-sockaddr--pidns-translation$(EXEEXT): $(net_sockaddr__pidns_translation_OBJECTS) $(net_sockaddr__pidns_translation_DEPENDENCIES) $(EXTRA_net_sockaddr__pidns_translation_DEPENDENCIES) 
-+	@rm -f net-sockaddr--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(net_sockaddr__pidns_translation_OBJECTS) $(net_sockaddr__pidns_translation_LDADD) $(LIBS)
-+
- net-tpacket_req$(EXEEXT): $(net_tpacket_req_OBJECTS) $(net_tpacket_req_DEPENDENCIES) $(EXTRA_net_tpacket_req_DEPENDENCIES) 
- 	@rm -f net-tpacket_req$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(net_tpacket_req_OBJECTS) $(net_tpacket_req_LDADD) $(LIBS)
-@@ -8063,6 +8446,10 @@
- 	@rm -f netlink_audit$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(netlink_audit_OBJECTS) $(netlink_audit_LDADD) $(LIBS)
- 
-+netlink_audit--pidns-translation$(EXEEXT): $(netlink_audit__pidns_translation_OBJECTS) $(netlink_audit__pidns_translation_DEPENDENCIES) $(EXTRA_netlink_audit__pidns_translation_DEPENDENCIES) 
-+	@rm -f netlink_audit--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(netlink_audit__pidns_translation_OBJECTS) $(netlink_audit__pidns_translation_LDADD) $(LIBS)
-+
- netlink_crypto$(EXEEXT): $(netlink_crypto_OBJECTS) $(netlink_crypto_DEPENDENCIES) $(EXTRA_netlink_crypto_DEPENDENCIES) 
- 	@rm -f netlink_crypto$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(netlink_crypto_OBJECTS) $(netlink_crypto_LDADD) $(LIBS)
-@@ -8479,6 +8866,10 @@
- 	@rm -f pidfd_open--decode-fd-socket$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(pidfd_open__decode_fd_socket_OBJECTS) $(pidfd_open__decode_fd_socket_LDADD) $(LIBS)
- 
-+pidfd_open--pidns-translation$(EXEEXT): $(pidfd_open__pidns_translation_OBJECTS) $(pidfd_open__pidns_translation_DEPENDENCIES) $(EXTRA_pidfd_open__pidns_translation_DEPENDENCIES) 
-+	@rm -f pidfd_open--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(pidfd_open__pidns_translation_OBJECTS) $(pidfd_open__pidns_translation_LDADD) $(LIBS)
-+
- pidfd_open-P$(EXEEXT): $(pidfd_open_P_OBJECTS) $(pidfd_open_P_DEPENDENCIES) $(EXTRA_pidfd_open_P_DEPENDENCIES) 
- 	@rm -f pidfd_open-P$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(pidfd_open_P_OBJECTS) $(pidfd_open_P_LDADD) $(LIBS)
-@@ -8495,6 +8886,14 @@
- 	@rm -f pidfd_send_signal$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(pidfd_send_signal_OBJECTS) $(pidfd_send_signal_LDADD) $(LIBS)
- 
-+pidfd_send_signal--pidns-translation$(EXEEXT): $(pidfd_send_signal__pidns_translation_OBJECTS) $(pidfd_send_signal__pidns_translation_DEPENDENCIES) $(EXTRA_pidfd_send_signal__pidns_translation_DEPENDENCIES) 
-+	@rm -f pidfd_send_signal--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(pidfd_send_signal__pidns_translation_OBJECTS) $(pidfd_send_signal__pidns_translation_LDADD) $(LIBS)
-+
-+pidns-cache$(EXEEXT): $(pidns_cache_OBJECTS) $(pidns_cache_DEPENDENCIES) $(EXTRA_pidns_cache_DEPENDENCIES) 
-+	@rm -f pidns-cache$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(pidns_cache_OBJECTS) $(pidns_cache_LDADD) $(LIBS)
-+
- pipe$(EXEEXT): $(pipe_OBJECTS) $(pipe_DEPENDENCIES) $(EXTRA_pipe_DEPENDENCIES) 
- 	@rm -f pipe$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(pipe_OBJECTS) $(pipe_LDADD) $(LIBS)
-@@ -8647,14 +9046,26 @@
- 	@rm -f prlimit64$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(prlimit64_OBJECTS) $(prlimit64_LDADD) $(LIBS)
- 
-+prlimit64--pidns-translation$(EXEEXT): $(prlimit64__pidns_translation_OBJECTS) $(prlimit64__pidns_translation_DEPENDENCIES) $(EXTRA_prlimit64__pidns_translation_DEPENDENCIES) 
-+	@rm -f prlimit64--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(prlimit64__pidns_translation_OBJECTS) $(prlimit64__pidns_translation_LDADD) $(LIBS)
-+
- process_vm_readv$(EXEEXT): $(process_vm_readv_OBJECTS) $(process_vm_readv_DEPENDENCIES) $(EXTRA_process_vm_readv_DEPENDENCIES) 
- 	@rm -f process_vm_readv$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(process_vm_readv_OBJECTS) $(process_vm_readv_LDADD) $(LIBS)
- 
-+process_vm_readv--pidns-translation$(EXEEXT): $(process_vm_readv__pidns_translation_OBJECTS) $(process_vm_readv__pidns_translation_DEPENDENCIES) $(EXTRA_process_vm_readv__pidns_translation_DEPENDENCIES) 
-+	@rm -f process_vm_readv--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(process_vm_readv__pidns_translation_OBJECTS) $(process_vm_readv__pidns_translation_LDADD) $(LIBS)
-+
- process_vm_writev$(EXEEXT): $(process_vm_writev_OBJECTS) $(process_vm_writev_DEPENDENCIES) $(EXTRA_process_vm_writev_DEPENDENCIES) 
- 	@rm -f process_vm_writev$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(process_vm_writev_OBJECTS) $(process_vm_writev_LDADD) $(LIBS)
- 
-+process_vm_writev--pidns-translation$(EXEEXT): $(process_vm_writev__pidns_translation_OBJECTS) $(process_vm_writev__pidns_translation_DEPENDENCIES) $(EXTRA_process_vm_writev__pidns_translation_DEPENDENCIES) 
-+	@rm -f process_vm_writev--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(process_vm_writev__pidns_translation_OBJECTS) $(process_vm_writev__pidns_translation_LDADD) $(LIBS)
-+
- pselect6$(EXEEXT): $(pselect6_OBJECTS) $(pselect6_DEPENDENCIES) $(EXTRA_pselect6_DEPENDENCIES) 
- 	@rm -f pselect6$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(pselect6_OBJECTS) $(pselect6_LDADD) $(LIBS)
-@@ -8847,6 +9258,10 @@
- 	@rm -f rt_sigqueueinfo$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(rt_sigqueueinfo_OBJECTS) $(rt_sigqueueinfo_LDADD) $(LIBS)
- 
-+rt_sigqueueinfo--pidns-translation$(EXEEXT): $(rt_sigqueueinfo__pidns_translation_OBJECTS) $(rt_sigqueueinfo__pidns_translation_DEPENDENCIES) $(EXTRA_rt_sigqueueinfo__pidns_translation_DEPENDENCIES) 
-+	@rm -f rt_sigqueueinfo--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(rt_sigqueueinfo__pidns_translation_OBJECTS) $(rt_sigqueueinfo__pidns_translation_LDADD) $(LIBS)
-+
- rt_sigreturn$(EXEEXT): $(rt_sigreturn_OBJECTS) $(rt_sigreturn_DEPENDENCIES) $(EXTRA_rt_sigreturn_DEPENDENCIES) 
- 	@rm -f rt_sigreturn$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(rt_sigreturn_OBJECTS) $(rt_sigreturn_LDADD) $(LIBS)
-@@ -8863,6 +9278,10 @@
- 	@rm -f rt_tgsigqueueinfo$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(rt_tgsigqueueinfo_OBJECTS) $(rt_tgsigqueueinfo_LDADD) $(LIBS)
- 
-+rt_tgsigqueueinfo--pidns-translation$(EXEEXT): $(rt_tgsigqueueinfo__pidns_translation_OBJECTS) $(rt_tgsigqueueinfo__pidns_translation_DEPENDENCIES) $(EXTRA_rt_tgsigqueueinfo__pidns_translation_DEPENDENCIES) 
-+	@rm -f rt_tgsigqueueinfo--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(rt_tgsigqueueinfo__pidns_translation_OBJECTS) $(rt_tgsigqueueinfo__pidns_translation_LDADD) $(LIBS)
-+
- run_expect_termsig$(EXEEXT): $(run_expect_termsig_OBJECTS) $(run_expect_termsig_DEPENDENCIES) $(EXTRA_run_expect_termsig_DEPENDENCIES) 
- 	@rm -f run_expect_termsig$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(run_expect_termsig_OBJECTS) $(run_expect_termsig_LDADD) $(LIBS)
-@@ -8903,18 +9322,34 @@
- 	@rm -f sched_xetaffinity$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(sched_xetaffinity_OBJECTS) $(sched_xetaffinity_LDADD) $(LIBS)
- 
-+sched_xetaffinity--pidns-translation$(EXEEXT): $(sched_xetaffinity__pidns_translation_OBJECTS) $(sched_xetaffinity__pidns_translation_DEPENDENCIES) $(EXTRA_sched_xetaffinity__pidns_translation_DEPENDENCIES) 
-+	@rm -f sched_xetaffinity--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(sched_xetaffinity__pidns_translation_OBJECTS) $(sched_xetaffinity__pidns_translation_LDADD) $(LIBS)
-+
- sched_xetattr$(EXEEXT): $(sched_xetattr_OBJECTS) $(sched_xetattr_DEPENDENCIES) $(EXTRA_sched_xetattr_DEPENDENCIES) 
- 	@rm -f sched_xetattr$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(sched_xetattr_OBJECTS) $(sched_xetattr_LDADD) $(LIBS)
- 
-+sched_xetattr--pidns-translation$(EXEEXT): $(sched_xetattr__pidns_translation_OBJECTS) $(sched_xetattr__pidns_translation_DEPENDENCIES) $(EXTRA_sched_xetattr__pidns_translation_DEPENDENCIES) 
-+	@rm -f sched_xetattr--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(sched_xetattr__pidns_translation_OBJECTS) $(sched_xetattr__pidns_translation_LDADD) $(LIBS)
-+
- sched_xetparam$(EXEEXT): $(sched_xetparam_OBJECTS) $(sched_xetparam_DEPENDENCIES) $(EXTRA_sched_xetparam_DEPENDENCIES) 
- 	@rm -f sched_xetparam$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(sched_xetparam_OBJECTS) $(sched_xetparam_LDADD) $(LIBS)
- 
-+sched_xetparam--pidns-translation$(EXEEXT): $(sched_xetparam__pidns_translation_OBJECTS) $(sched_xetparam__pidns_translation_DEPENDENCIES) $(EXTRA_sched_xetparam__pidns_translation_DEPENDENCIES) 
-+	@rm -f sched_xetparam--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(sched_xetparam__pidns_translation_OBJECTS) $(sched_xetparam__pidns_translation_LDADD) $(LIBS)
-+
- sched_xetscheduler$(EXEEXT): $(sched_xetscheduler_OBJECTS) $(sched_xetscheduler_DEPENDENCIES) $(EXTRA_sched_xetscheduler_DEPENDENCIES) 
- 	@rm -f sched_xetscheduler$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(sched_xetscheduler_OBJECTS) $(sched_xetscheduler_LDADD) $(LIBS)
- 
-+sched_xetscheduler--pidns-translation$(EXEEXT): $(sched_xetscheduler__pidns_translation_OBJECTS) $(sched_xetscheduler__pidns_translation_DEPENDENCIES) $(EXTRA_sched_xetscheduler__pidns_translation_DEPENDENCIES) 
-+	@rm -f sched_xetscheduler--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(sched_xetscheduler__pidns_translation_OBJECTS) $(sched_xetscheduler__pidns_translation_LDADD) $(LIBS)
-+
- sched_yield$(EXEEXT): $(sched_yield_OBJECTS) $(sched_yield_DEPENDENCIES) $(EXTRA_sched_yield_DEPENDENCIES) 
- 	@rm -f sched_yield$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(sched_yield_OBJECTS) $(sched_yield_LDADD) $(LIBS)
-@@ -9127,6 +9562,10 @@
- 	@rm -f signal_receive$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(signal_receive_OBJECTS) $(signal_receive_LDADD) $(LIBS)
- 
-+signal_receive--pidns-translation$(EXEEXT): $(signal_receive__pidns_translation_OBJECTS) $(signal_receive__pidns_translation_DEPENDENCIES) $(EXTRA_signal_receive__pidns_translation_DEPENDENCIES) 
-+	@rm -f signal_receive--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(signal_receive__pidns_translation_OBJECTS) $(signal_receive__pidns_translation_LDADD) $(LIBS)
-+
- signalfd4$(EXEEXT): $(signalfd4_OBJECTS) $(signalfd4_DEPENDENCIES) $(EXTRA_signalfd4_DEPENDENCIES) 
- 	@rm -f signalfd4$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(signalfd4_OBJECTS) $(signalfd4_LDADD) $(LIBS)
-@@ -9163,6 +9602,10 @@
- 	@rm -f so_peercred$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(so_peercred_OBJECTS) $(so_peercred_LDADD) $(LIBS)
- 
-+so_peercred--pidns-translation$(EXEEXT): $(so_peercred__pidns_translation_OBJECTS) $(so_peercred__pidns_translation_DEPENDENCIES) $(EXTRA_so_peercred__pidns_translation_DEPENDENCIES) 
-+	@rm -f so_peercred--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(so_peercred__pidns_translation_OBJECTS) $(so_peercred__pidns_translation_LDADD) $(LIBS)
-+
- so_peercred-Xabbrev$(EXEEXT): $(so_peercred_Xabbrev_OBJECTS) $(so_peercred_Xabbrev_DEPENDENCIES) $(EXTRA_so_peercred_Xabbrev_DEPENDENCIES) 
- 	@rm -f so_peercred-Xabbrev$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(so_peercred_Xabbrev_OBJECTS) $(so_peercred_Xabbrev_LDADD) $(LIBS)
-@@ -9367,6 +9810,10 @@
- 	@rm -f tgkill$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(tgkill_OBJECTS) $(tgkill_LDADD) $(LIBS)
- 
-+tgkill--pidns-translation$(EXEEXT): $(tgkill__pidns_translation_OBJECTS) $(tgkill__pidns_translation_DEPENDENCIES) $(EXTRA_tgkill__pidns_translation_DEPENDENCIES) 
-+	@rm -f tgkill--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(tgkill__pidns_translation_OBJECTS) $(tgkill__pidns_translation_LDADD) $(LIBS)
-+
- threads-execve$(EXEEXT): $(threads_execve_OBJECTS) $(threads_execve_DEPENDENCIES) $(EXTRA_threads_execve_DEPENDENCIES) 
- 	@rm -f threads-execve$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(threads_execve_OBJECTS) $(threads_execve_LDADD) $(LIBS)
-@@ -9415,10 +9862,18 @@
- 	@rm -f tkill$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(tkill_OBJECTS) $(tkill_LDADD) $(LIBS)
- 
-+tkill--pidns-translation$(EXEEXT): $(tkill__pidns_translation_OBJECTS) $(tkill__pidns_translation_DEPENDENCIES) $(EXTRA_tkill__pidns_translation_DEPENDENCIES) 
-+	@rm -f tkill--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(tkill__pidns_translation_OBJECTS) $(tkill__pidns_translation_LDADD) $(LIBS)
-+
- tracer_ppid_pgid_sid$(EXEEXT): $(tracer_ppid_pgid_sid_OBJECTS) $(tracer_ppid_pgid_sid_DEPENDENCIES) $(EXTRA_tracer_ppid_pgid_sid_DEPENDENCIES) 
- 	@rm -f tracer_ppid_pgid_sid$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(tracer_ppid_pgid_sid_OBJECTS) $(tracer_ppid_pgid_sid_LDADD) $(LIBS)
- 
-+trie_test$(EXEEXT): $(trie_test_OBJECTS) $(trie_test_DEPENDENCIES) $(EXTRA_trie_test_DEPENDENCIES) 
-+	@rm -f trie_test$(EXEEXT)
-+	$(AM_V_CCLD)$(trie_test_LINK) $(trie_test_OBJECTS) $(trie_test_LDADD) $(LIBS)
-+
- truncate$(EXEEXT): $(truncate_OBJECTS) $(truncate_DEPENDENCIES) $(EXTRA_truncate_DEPENDENCIES) 
- 	@rm -f truncate$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(truncate_OBJECTS) $(truncate_LDADD) $(LIBS)
-@@ -9579,6 +10034,10 @@
- 	@rm -f xet_robust_list$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(xet_robust_list_OBJECTS) $(xet_robust_list_LDADD) $(LIBS)
- 
-+xet_robust_list--pidns-translation$(EXEEXT): $(xet_robust_list__pidns_translation_OBJECTS) $(xet_robust_list__pidns_translation_DEPENDENCIES) $(EXTRA_xet_robust_list__pidns_translation_DEPENDENCIES) 
-+	@rm -f xet_robust_list--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(xet_robust_list__pidns_translation_OBJECTS) $(xet_robust_list__pidns_translation_LDADD) $(LIBS)
-+
- xet_thread_area_x86$(EXEEXT): $(xet_thread_area_x86_OBJECTS) $(xet_thread_area_x86_DEPENDENCIES) $(EXTRA_xet_thread_area_x86_DEPENDENCIES) 
- 	@rm -f xet_thread_area_x86$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(xet_thread_area_x86_OBJECTS) $(xet_thread_area_x86_LDADD) $(LIBS)
-@@ -9591,10 +10050,18 @@
- 	@rm -f xetpgid$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(xetpgid_OBJECTS) $(xetpgid_LDADD) $(LIBS)
- 
-+xetpgid--pidns-translation$(EXEEXT): $(xetpgid__pidns_translation_OBJECTS) $(xetpgid__pidns_translation_DEPENDENCIES) $(EXTRA_xetpgid__pidns_translation_DEPENDENCIES) 
-+	@rm -f xetpgid--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(xetpgid__pidns_translation_OBJECTS) $(xetpgid__pidns_translation_LDADD) $(LIBS)
-+
- xetpriority$(EXEEXT): $(xetpriority_OBJECTS) $(xetpriority_DEPENDENCIES) $(EXTRA_xetpriority_DEPENDENCIES) 
- 	@rm -f xetpriority$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(xetpriority_OBJECTS) $(xetpriority_LDADD) $(LIBS)
- 
-+xetpriority--pidns-translation$(EXEEXT): $(xetpriority__pidns_translation_OBJECTS) $(xetpriority__pidns_translation_DEPENDENCIES) $(EXTRA_xetpriority__pidns_translation_DEPENDENCIES) 
-+	@rm -f xetpriority--pidns-translation$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(xetpriority__pidns_translation_OBJECTS) $(xetpriority__pidns_translation_LDADD) $(LIBS)
-+
- xettimeofday$(EXEEXT): $(xettimeofday_OBJECTS) $(xettimeofday_DEPENDENCIES) $(EXTRA_xettimeofday_DEPENDENCIES) 
- 	@rm -f xettimeofday$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(xettimeofday_OBJECTS) $(xettimeofday_LDADD) $(LIBS)
-@@ -9714,7 +10181,9 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchown.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchown32.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchownat.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcntl--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcntl.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcntl64--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcntl64.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fdatasync.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fflush.Po@am__quote@ # am--include-marker
-@@ -9725,6 +10194,7 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/filter_seccomp-perf.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/finit_module.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/flock.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fork--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fork-f.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fsconfig-P.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fsconfig.Po@am__quote@ # am--include-marker
-@@ -9766,7 +10236,9 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getgroups.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getgroups32.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getpeername.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getpgrp--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getpgrp.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getpid--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getpid.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getppid.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getrandom.Po@am__quote@ # am--include-marker
-@@ -9776,8 +10248,10 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getresuid32.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getrlimit.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getrusage.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getsid--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getsid.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getsockname.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gettid--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gettid.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getuid.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getuid32.Po@am__quote@ # am--include-marker
-@@ -9798,6 +10272,7 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/io_uring_register.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/io_uring_setup.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_block--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_block.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_dm-v.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_dm.Po@am__quote@ # am--include-marker
-@@ -9873,6 +10348,7 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_watchdog.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioperm.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iopl.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioprio--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioprio-Xabbrev.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioprio-Xraw.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioprio-Xverbose.Po@am__quote@ # am--include-marker
-@@ -9896,6 +10372,7 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ipc_shm-Xverbose.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ipc_shm.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/is_linux_mips_n64.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kcmp-y--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kcmp-y.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kcmp.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kern_features.Po@am__quote@ # am--include-marker
-@@ -9909,6 +10386,7 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/keyctl-Xraw.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/keyctl-Xverbose.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/keyctl.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kill--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kill.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kill_child.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ksysent.Po@am__quote@ # am--include-marker
-@@ -9946,6 +10424,7 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-test_printstrn.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-test_ucopy.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-tprintf.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-xmalloc_for_tests.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/link.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linkat.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/list_sigaction_signum.Po@am__quote@ # am--include-marker
-@@ -9968,6 +10447,7 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/memfd_create-Xraw.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/memfd_create-Xverbose.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/memfd_create.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/migrate_pages--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/migrate_pages.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mincore.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mkdir.Po@am__quote@ # am--include-marker
-@@ -9996,6 +10476,7 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mount.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/move_mount-P.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/move_mount.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/move_pages--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/move_pages-Xabbrev.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/move_pages-Xraw.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/move_pages-Xverbose.Po@am__quote@ # am--include-marker
-@@ -10019,6 +10500,7 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-packet_mreq-Xraw.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-packet_mreq-Xverbose.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-packet_mreq.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-sockaddr--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-sockaddr.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-tpacket_req.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-tpacket_stats-success.Po@am__quote@ # am--include-marker
-@@ -10028,6 +10510,7 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-yy-inet6.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-yy-netlink.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net-yy-unix.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/netlink_audit--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/netlink_audit.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/netlink_crypto.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/netlink_generic.Po@am__quote@ # am--include-marker
-@@ -10132,11 +10615,14 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pidfd_open--decode-fd-path.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pidfd_open--decode-fd-pidfd.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pidfd_open--decode-fd-socket.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pidfd_open--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pidfd_open-P.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pidfd_open-y.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pidfd_open-yy.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pidfd_open.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pidfd_send_signal--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pidfd_send_signal.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pidns-cache.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pipe.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pipe2.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pkey_alloc.Po@am__quote@ # am--include-marker
-@@ -10174,8 +10660,11 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/printstrn-umoven-peekdata.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/printstrn-umoven-undumpable.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/printstrn-umoven.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/prlimit64--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/prlimit64.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/process_vm_readv--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/process_vm_readv.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/process_vm_writev--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/process_vm_writev.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pselect6.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ptrace.Po@am__quote@ # am--include-marker
-@@ -10224,10 +10713,12 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rt_sigaction.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rt_sigpending.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rt_sigprocmask.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rt_sigqueueinfo--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rt_sigqueueinfo.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rt_sigreturn.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rt_sigsuspend.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rt_sigtimedwait.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rt_tgsigqueueinfo--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rt_tgsigqueueinfo.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/run_expect_termsig.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/s390_guarded_storage-v.Po@am__quote@ # am--include-marker
-@@ -10238,9 +10729,13 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/s390_sthyi.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sched_get_priority_mxx.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sched_rr_get_interval.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sched_xetaffinity--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sched_xetaffinity.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sched_xetattr--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sched_xetattr.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sched_xetparam--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sched_xetparam.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sched_xetscheduler--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sched_xetscheduler.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sched_yield.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scm_rights.Po@am__quote@ # am--include-marker
-@@ -10294,6 +10789,7 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sigaltstack.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/siginfo.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/signal.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/signal_receive--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/signal_receive.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/signalfd4.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sigpending.Po@am__quote@ # am--include-marker
-@@ -10303,6 +10799,7 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sleep.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/so_error.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/so_linger.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/so_peercred--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/so_peercred-Xabbrev.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/so_peercred-Xraw.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/so_peercred-Xverbose.Po@am__quote@ # am--include-marker
-@@ -10362,6 +10859,7 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/syslog-success.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/syslog.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tee.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tgkill--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tgkill.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/threads-execve--quiet-thread-execve.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/threads-execve-q.Po@am__quote@ # am--include-marker
-@@ -10374,6 +10872,7 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/timerfd_xettime.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/times-fail.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/times.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tkill--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tkill.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tracer_ppid_pgid_sid.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/truncate.Po@am__quote@ # am--include-marker
-@@ -10415,10 +10914,13 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/waitpid.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xattr-strings.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xattr.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xet_robust_list--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xet_robust_list.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xet_thread_area_x86.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xetitimer.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xetpgid--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xetpgid.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xetpriority--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xetpriority.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xettimeofday.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/zeroargc.Po@am__quote@ # am--include-marker
-@@ -10893,6 +11395,20 @@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-tprintf.obj `if test -f 'tprintf.c'; then $(CYGPATH_W) 'tprintf.c'; else $(CYGPATH_W) '$(srcdir)/tprintf.c'; fi`
- 
-+libtests_a-xmalloc_for_tests.o: xmalloc_for_tests.c
-+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-xmalloc_for_tests.o -MD -MP -MF $(DEPDIR)/libtests_a-xmalloc_for_tests.Tpo -c -o libtests_a-xmalloc_for_tests.o `test -f 'xmalloc_for_tests.c' || echo '$(srcdir)/'`xmalloc_for_tests.c
-+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-xmalloc_for_tests.Tpo $(DEPDIR)/libtests_a-xmalloc_for_tests.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='xmalloc_for_tests.c' object='libtests_a-xmalloc_for_tests.o' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-xmalloc_for_tests.o `test -f 'xmalloc_for_tests.c' || echo '$(srcdir)/'`xmalloc_for_tests.c
-+
-+libtests_a-xmalloc_for_tests.obj: xmalloc_for_tests.c
-+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-xmalloc_for_tests.obj -MD -MP -MF $(DEPDIR)/libtests_a-xmalloc_for_tests.Tpo -c -o libtests_a-xmalloc_for_tests.obj `if test -f 'xmalloc_for_tests.c'; then $(CYGPATH_W) 'xmalloc_for_tests.c'; else $(CYGPATH_W) '$(srcdir)/xmalloc_for_tests.c'; fi`
-+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-xmalloc_for_tests.Tpo $(DEPDIR)/libtests_a-xmalloc_for_tests.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='xmalloc_for_tests.c' object='libtests_a-xmalloc_for_tests.obj' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-xmalloc_for_tests.obj `if test -f 'xmalloc_for_tests.c'; then $(CYGPATH_W) 'xmalloc_for_tests.c'; else $(CYGPATH_W) '$(srcdir)/xmalloc_for_tests.c'; fi`
-+
- fstat64-fstat64.o: fstat64.c
- @am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(fstat64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT fstat64-fstat64.o -MD -MP -MF $(DEPDIR)/fstat64-fstat64.Tpo -c -o fstat64-fstat64.o `test -f 'fstat64.c' || echo '$(srcdir)/'`fstat64.c
- @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/fstat64-fstat64.Tpo $(DEPDIR)/fstat64-fstat64.Po
-@@ -11103,6 +11619,34 @@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(statfs_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o statfs-statfs.obj `if test -f 'statfs.c'; then $(CYGPATH_W) 'statfs.c'; else $(CYGPATH_W) '$(srcdir)/statfs.c'; fi`
- 
-+trie_test-trie_test.o: trie_test.c
-+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(trie_test_CPPFLAGS) $(CPPFLAGS) $(trie_test_CFLAGS) $(CFLAGS) -MT trie_test-trie_test.o -MD -MP -MF $(DEPDIR)/trie_test-trie_test.Tpo -c -o trie_test-trie_test.o `test -f 'trie_test.c' || echo '$(srcdir)/'`trie_test.c
-+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/trie_test-trie_test.Tpo $(DEPDIR)/trie_test-trie_test.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='trie_test.c' object='trie_test-trie_test.o' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(trie_test_CPPFLAGS) $(CPPFLAGS) $(trie_test_CFLAGS) $(CFLAGS) -c -o trie_test-trie_test.o `test -f 'trie_test.c' || echo '$(srcdir)/'`trie_test.c
-+
-+trie_test-trie_test.obj: trie_test.c
-+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(trie_test_CPPFLAGS) $(CPPFLAGS) $(trie_test_CFLAGS) $(CFLAGS) -MT trie_test-trie_test.obj -MD -MP -MF $(DEPDIR)/trie_test-trie_test.Tpo -c -o trie_test-trie_test.obj `if test -f 'trie_test.c'; then $(CYGPATH_W) 'trie_test.c'; else $(CYGPATH_W) '$(srcdir)/trie_test.c'; fi`
-+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/trie_test-trie_test.Tpo $(DEPDIR)/trie_test-trie_test.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='trie_test.c' object='trie_test-trie_test.obj' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(trie_test_CPPFLAGS) $(CPPFLAGS) $(trie_test_CFLAGS) $(CFLAGS) -c -o trie_test-trie_test.obj `if test -f 'trie_test.c'; then $(CYGPATH_W) 'trie_test.c'; else $(CYGPATH_W) '$(srcdir)/trie_test.c'; fi`
-+
-+trie_test-trie_for_tests.o: trie_for_tests.c
-+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(trie_test_CPPFLAGS) $(CPPFLAGS) $(trie_test_CFLAGS) $(CFLAGS) -MT trie_test-trie_for_tests.o -MD -MP -MF $(DEPDIR)/trie_test-trie_for_tests.Tpo -c -o trie_test-trie_for_tests.o `test -f 'trie_for_tests.c' || echo '$(srcdir)/'`trie_for_tests.c
-+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/trie_test-trie_for_tests.Tpo $(DEPDIR)/trie_test-trie_for_tests.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='trie_for_tests.c' object='trie_test-trie_for_tests.o' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(trie_test_CPPFLAGS) $(CPPFLAGS) $(trie_test_CFLAGS) $(CFLAGS) -c -o trie_test-trie_for_tests.o `test -f 'trie_for_tests.c' || echo '$(srcdir)/'`trie_for_tests.c
-+
-+trie_test-trie_for_tests.obj: trie_for_tests.c
-+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(trie_test_CPPFLAGS) $(CPPFLAGS) $(trie_test_CFLAGS) $(CFLAGS) -MT trie_test-trie_for_tests.obj -MD -MP -MF $(DEPDIR)/trie_test-trie_for_tests.Tpo -c -o trie_test-trie_for_tests.obj `if test -f 'trie_for_tests.c'; then $(CYGPATH_W) 'trie_for_tests.c'; else $(CYGPATH_W) '$(srcdir)/trie_for_tests.c'; fi`
-+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/trie_test-trie_for_tests.Tpo $(DEPDIR)/trie_test-trie_for_tests.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='trie_for_tests.c' object='trie_test-trie_for_tests.obj' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(trie_test_CPPFLAGS) $(CPPFLAGS) $(trie_test_CFLAGS) $(CFLAGS) -c -o trie_test-trie_for_tests.obj `if test -f 'trie_for_tests.c'; then $(CYGPATH_W) 'trie_for_tests.c'; else $(CYGPATH_W) '$(srcdir)/trie_for_tests.c'; fi`
-+
- truncate64-truncate64.o: truncate64.c
- @am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(truncate64_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT truncate64-truncate64.o -MD -MP -MF $(DEPDIR)/truncate64-truncate64.Tpo -c -o truncate64-truncate64.o `test -f 'truncate64.c' || echo '$(srcdir)/'`truncate64.c
- @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/truncate64-truncate64.Tpo $(DEPDIR)/truncate64-truncate64.Po
-@@ -11551,7 +12095,9 @@
- 	-rm -f ./$(DEPDIR)/fchown.Po
- 	-rm -f ./$(DEPDIR)/fchown32.Po
- 	-rm -f ./$(DEPDIR)/fchownat.Po
-+	-rm -f ./$(DEPDIR)/fcntl--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/fcntl.Po
-+	-rm -f ./$(DEPDIR)/fcntl64--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/fcntl64.Po
- 	-rm -f ./$(DEPDIR)/fdatasync.Po
- 	-rm -f ./$(DEPDIR)/fflush.Po
-@@ -11562,6 +12108,7 @@
- 	-rm -f ./$(DEPDIR)/filter_seccomp-perf.Po
- 	-rm -f ./$(DEPDIR)/finit_module.Po
- 	-rm -f ./$(DEPDIR)/flock.Po
-+	-rm -f ./$(DEPDIR)/fork--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/fork-f.Po
- 	-rm -f ./$(DEPDIR)/fsconfig-P.Po
- 	-rm -f ./$(DEPDIR)/fsconfig.Po
-@@ -11603,7 +12150,9 @@
- 	-rm -f ./$(DEPDIR)/getgroups.Po
- 	-rm -f ./$(DEPDIR)/getgroups32.Po
- 	-rm -f ./$(DEPDIR)/getpeername.Po
-+	-rm -f ./$(DEPDIR)/getpgrp--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/getpgrp.Po
-+	-rm -f ./$(DEPDIR)/getpid--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/getpid.Po
- 	-rm -f ./$(DEPDIR)/getppid.Po
- 	-rm -f ./$(DEPDIR)/getrandom.Po
-@@ -11613,8 +12162,10 @@
- 	-rm -f ./$(DEPDIR)/getresuid32.Po
- 	-rm -f ./$(DEPDIR)/getrlimit.Po
- 	-rm -f ./$(DEPDIR)/getrusage.Po
-+	-rm -f ./$(DEPDIR)/getsid--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/getsid.Po
- 	-rm -f ./$(DEPDIR)/getsockname.Po
-+	-rm -f ./$(DEPDIR)/gettid--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/gettid.Po
- 	-rm -f ./$(DEPDIR)/getuid.Po
- 	-rm -f ./$(DEPDIR)/getuid32.Po
-@@ -11635,6 +12186,7 @@
- 	-rm -f ./$(DEPDIR)/io_uring_register.Po
- 	-rm -f ./$(DEPDIR)/io_uring_setup.Po
- 	-rm -f ./$(DEPDIR)/ioctl.Po
-+	-rm -f ./$(DEPDIR)/ioctl_block--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/ioctl_block.Po
- 	-rm -f ./$(DEPDIR)/ioctl_dm-v.Po
- 	-rm -f ./$(DEPDIR)/ioctl_dm.Po
-@@ -11710,6 +12262,7 @@
- 	-rm -f ./$(DEPDIR)/ioctl_watchdog.Po
- 	-rm -f ./$(DEPDIR)/ioperm.Po
- 	-rm -f ./$(DEPDIR)/iopl.Po
-+	-rm -f ./$(DEPDIR)/ioprio--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/ioprio-Xabbrev.Po
- 	-rm -f ./$(DEPDIR)/ioprio-Xraw.Po
- 	-rm -f ./$(DEPDIR)/ioprio-Xverbose.Po
-@@ -11733,6 +12286,7 @@
- 	-rm -f ./$(DEPDIR)/ipc_shm-Xverbose.Po
- 	-rm -f ./$(DEPDIR)/ipc_shm.Po
- 	-rm -f ./$(DEPDIR)/is_linux_mips_n64.Po
-+	-rm -f ./$(DEPDIR)/kcmp-y--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/kcmp-y.Po
- 	-rm -f ./$(DEPDIR)/kcmp.Po
- 	-rm -f ./$(DEPDIR)/kern_features.Po
-@@ -11746,6 +12300,7 @@
- 	-rm -f ./$(DEPDIR)/keyctl-Xraw.Po
- 	-rm -f ./$(DEPDIR)/keyctl-Xverbose.Po
- 	-rm -f ./$(DEPDIR)/keyctl.Po
-+	-rm -f ./$(DEPDIR)/kill--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/kill.Po
- 	-rm -f ./$(DEPDIR)/kill_child.Po
- 	-rm -f ./$(DEPDIR)/ksysent.Po
-@@ -11783,6 +12338,7 @@
- 	-rm -f ./$(DEPDIR)/libtests_a-test_printstrn.Po
- 	-rm -f ./$(DEPDIR)/libtests_a-test_ucopy.Po
- 	-rm -f ./$(DEPDIR)/libtests_a-tprintf.Po
-+	-rm -f ./$(DEPDIR)/libtests_a-xmalloc_for_tests.Po
- 	-rm -f ./$(DEPDIR)/link.Po
- 	-rm -f ./$(DEPDIR)/linkat.Po
- 	-rm -f ./$(DEPDIR)/list_sigaction_signum.Po
-@@ -11805,6 +12361,7 @@
- 	-rm -f ./$(DEPDIR)/memfd_create-Xraw.Po
- 	-rm -f ./$(DEPDIR)/memfd_create-Xverbose.Po
- 	-rm -f ./$(DEPDIR)/memfd_create.Po
-+	-rm -f ./$(DEPDIR)/migrate_pages--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/migrate_pages.Po
- 	-rm -f ./$(DEPDIR)/mincore.Po
- 	-rm -f ./$(DEPDIR)/mkdir.Po
-@@ -11833,6 +12390,7 @@
- 	-rm -f ./$(DEPDIR)/mount.Po
- 	-rm -f ./$(DEPDIR)/move_mount-P.Po
- 	-rm -f ./$(DEPDIR)/move_mount.Po
-+	-rm -f ./$(DEPDIR)/move_pages--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/move_pages-Xabbrev.Po
- 	-rm -f ./$(DEPDIR)/move_pages-Xraw.Po
- 	-rm -f ./$(DEPDIR)/move_pages-Xverbose.Po
-@@ -11856,6 +12414,7 @@
- 	-rm -f ./$(DEPDIR)/net-packet_mreq-Xraw.Po
- 	-rm -f ./$(DEPDIR)/net-packet_mreq-Xverbose.Po
- 	-rm -f ./$(DEPDIR)/net-packet_mreq.Po
-+	-rm -f ./$(DEPDIR)/net-sockaddr--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/net-sockaddr.Po
- 	-rm -f ./$(DEPDIR)/net-tpacket_req.Po
- 	-rm -f ./$(DEPDIR)/net-tpacket_stats-success.Po
-@@ -11865,6 +12424,7 @@
- 	-rm -f ./$(DEPDIR)/net-yy-inet6.Po
- 	-rm -f ./$(DEPDIR)/net-yy-netlink.Po
- 	-rm -f ./$(DEPDIR)/net-yy-unix.Po
-+	-rm -f ./$(DEPDIR)/netlink_audit--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/netlink_audit.Po
- 	-rm -f ./$(DEPDIR)/netlink_crypto.Po
- 	-rm -f ./$(DEPDIR)/netlink_generic.Po
-@@ -11969,11 +12529,14 @@
- 	-rm -f ./$(DEPDIR)/pidfd_open--decode-fd-path.Po
- 	-rm -f ./$(DEPDIR)/pidfd_open--decode-fd-pidfd.Po
- 	-rm -f ./$(DEPDIR)/pidfd_open--decode-fd-socket.Po
-+	-rm -f ./$(DEPDIR)/pidfd_open--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/pidfd_open-P.Po
- 	-rm -f ./$(DEPDIR)/pidfd_open-y.Po
- 	-rm -f ./$(DEPDIR)/pidfd_open-yy.Po
- 	-rm -f ./$(DEPDIR)/pidfd_open.Po
-+	-rm -f ./$(DEPDIR)/pidfd_send_signal--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/pidfd_send_signal.Po
-+	-rm -f ./$(DEPDIR)/pidns-cache.Po
- 	-rm -f ./$(DEPDIR)/pipe.Po
- 	-rm -f ./$(DEPDIR)/pipe2.Po
- 	-rm -f ./$(DEPDIR)/pkey_alloc.Po
-@@ -12011,8 +12574,11 @@
- 	-rm -f ./$(DEPDIR)/printstrn-umoven-peekdata.Po
- 	-rm -f ./$(DEPDIR)/printstrn-umoven-undumpable.Po
- 	-rm -f ./$(DEPDIR)/printstrn-umoven.Po
-+	-rm -f ./$(DEPDIR)/prlimit64--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/prlimit64.Po
-+	-rm -f ./$(DEPDIR)/process_vm_readv--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/process_vm_readv.Po
-+	-rm -f ./$(DEPDIR)/process_vm_writev--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/process_vm_writev.Po
- 	-rm -f ./$(DEPDIR)/pselect6.Po
- 	-rm -f ./$(DEPDIR)/ptrace.Po
-@@ -12061,10 +12627,12 @@
- 	-rm -f ./$(DEPDIR)/rt_sigaction.Po
- 	-rm -f ./$(DEPDIR)/rt_sigpending.Po
- 	-rm -f ./$(DEPDIR)/rt_sigprocmask.Po
-+	-rm -f ./$(DEPDIR)/rt_sigqueueinfo--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/rt_sigqueueinfo.Po
- 	-rm -f ./$(DEPDIR)/rt_sigreturn.Po
- 	-rm -f ./$(DEPDIR)/rt_sigsuspend.Po
- 	-rm -f ./$(DEPDIR)/rt_sigtimedwait.Po
-+	-rm -f ./$(DEPDIR)/rt_tgsigqueueinfo--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/rt_tgsigqueueinfo.Po
- 	-rm -f ./$(DEPDIR)/run_expect_termsig.Po
- 	-rm -f ./$(DEPDIR)/s390_guarded_storage-v.Po
-@@ -12075,9 +12643,13 @@
- 	-rm -f ./$(DEPDIR)/s390_sthyi.Po
- 	-rm -f ./$(DEPDIR)/sched_get_priority_mxx.Po
- 	-rm -f ./$(DEPDIR)/sched_rr_get_interval.Po
-+	-rm -f ./$(DEPDIR)/sched_xetaffinity--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/sched_xetaffinity.Po
-+	-rm -f ./$(DEPDIR)/sched_xetattr--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/sched_xetattr.Po
-+	-rm -f ./$(DEPDIR)/sched_xetparam--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/sched_xetparam.Po
-+	-rm -f ./$(DEPDIR)/sched_xetscheduler--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/sched_xetscheduler.Po
- 	-rm -f ./$(DEPDIR)/sched_yield.Po
- 	-rm -f ./$(DEPDIR)/scm_rights.Po
-@@ -12131,6 +12703,7 @@
- 	-rm -f ./$(DEPDIR)/sigaltstack.Po
- 	-rm -f ./$(DEPDIR)/siginfo.Po
- 	-rm -f ./$(DEPDIR)/signal.Po
-+	-rm -f ./$(DEPDIR)/signal_receive--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/signal_receive.Po
- 	-rm -f ./$(DEPDIR)/signalfd4.Po
- 	-rm -f ./$(DEPDIR)/sigpending.Po
-@@ -12140,6 +12713,7 @@
- 	-rm -f ./$(DEPDIR)/sleep.Po
- 	-rm -f ./$(DEPDIR)/so_error.Po
- 	-rm -f ./$(DEPDIR)/so_linger.Po
-+	-rm -f ./$(DEPDIR)/so_peercred--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/so_peercred-Xabbrev.Po
- 	-rm -f ./$(DEPDIR)/so_peercred-Xraw.Po
- 	-rm -f ./$(DEPDIR)/so_peercred-Xverbose.Po
-@@ -12199,6 +12773,7 @@
- 	-rm -f ./$(DEPDIR)/syslog-success.Po
- 	-rm -f ./$(DEPDIR)/syslog.Po
- 	-rm -f ./$(DEPDIR)/tee.Po
-+	-rm -f ./$(DEPDIR)/tgkill--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/tgkill.Po
- 	-rm -f ./$(DEPDIR)/threads-execve--quiet-thread-execve.Po
- 	-rm -f ./$(DEPDIR)/threads-execve-q.Po
-@@ -12211,6 +12786,7 @@
- 	-rm -f ./$(DEPDIR)/timerfd_xettime.Po
- 	-rm -f ./$(DEPDIR)/times-fail.Po
- 	-rm -f ./$(DEPDIR)/times.Po
-+	-rm -f ./$(DEPDIR)/tkill--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/tkill.Po
- 	-rm -f ./$(DEPDIR)/tracer_ppid_pgid_sid.Po
- 	-rm -f ./$(DEPDIR)/truncate.Po
-@@ -12252,10 +12828,13 @@
- 	-rm -f ./$(DEPDIR)/waitpid.Po
- 	-rm -f ./$(DEPDIR)/xattr-strings.Po
- 	-rm -f ./$(DEPDIR)/xattr.Po
-+	-rm -f ./$(DEPDIR)/xet_robust_list--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/xet_robust_list.Po
- 	-rm -f ./$(DEPDIR)/xet_thread_area_x86.Po
- 	-rm -f ./$(DEPDIR)/xetitimer.Po
-+	-rm -f ./$(DEPDIR)/xetpgid--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/xetpgid.Po
-+	-rm -f ./$(DEPDIR)/xetpriority--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/xetpriority.Po
- 	-rm -f ./$(DEPDIR)/xettimeofday.Po
- 	-rm -f ./$(DEPDIR)/zeroargc.Po
-@@ -12409,7 +12988,9 @@
- 	-rm -f ./$(DEPDIR)/fchown.Po
- 	-rm -f ./$(DEPDIR)/fchown32.Po
- 	-rm -f ./$(DEPDIR)/fchownat.Po
-+	-rm -f ./$(DEPDIR)/fcntl--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/fcntl.Po
-+	-rm -f ./$(DEPDIR)/fcntl64--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/fcntl64.Po
- 	-rm -f ./$(DEPDIR)/fdatasync.Po
- 	-rm -f ./$(DEPDIR)/fflush.Po
-@@ -12420,6 +13001,7 @@
- 	-rm -f ./$(DEPDIR)/filter_seccomp-perf.Po
- 	-rm -f ./$(DEPDIR)/finit_module.Po
- 	-rm -f ./$(DEPDIR)/flock.Po
-+	-rm -f ./$(DEPDIR)/fork--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/fork-f.Po
- 	-rm -f ./$(DEPDIR)/fsconfig-P.Po
- 	-rm -f ./$(DEPDIR)/fsconfig.Po
-@@ -12461,7 +13043,9 @@
- 	-rm -f ./$(DEPDIR)/getgroups.Po
- 	-rm -f ./$(DEPDIR)/getgroups32.Po
- 	-rm -f ./$(DEPDIR)/getpeername.Po
-+	-rm -f ./$(DEPDIR)/getpgrp--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/getpgrp.Po
-+	-rm -f ./$(DEPDIR)/getpid--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/getpid.Po
- 	-rm -f ./$(DEPDIR)/getppid.Po
- 	-rm -f ./$(DEPDIR)/getrandom.Po
-@@ -12471,8 +13055,10 @@
- 	-rm -f ./$(DEPDIR)/getresuid32.Po
- 	-rm -f ./$(DEPDIR)/getrlimit.Po
- 	-rm -f ./$(DEPDIR)/getrusage.Po
-+	-rm -f ./$(DEPDIR)/getsid--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/getsid.Po
- 	-rm -f ./$(DEPDIR)/getsockname.Po
-+	-rm -f ./$(DEPDIR)/gettid--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/gettid.Po
- 	-rm -f ./$(DEPDIR)/getuid.Po
- 	-rm -f ./$(DEPDIR)/getuid32.Po
-@@ -12493,6 +13079,7 @@
- 	-rm -f ./$(DEPDIR)/io_uring_register.Po
- 	-rm -f ./$(DEPDIR)/io_uring_setup.Po
- 	-rm -f ./$(DEPDIR)/ioctl.Po
-+	-rm -f ./$(DEPDIR)/ioctl_block--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/ioctl_block.Po
- 	-rm -f ./$(DEPDIR)/ioctl_dm-v.Po
- 	-rm -f ./$(DEPDIR)/ioctl_dm.Po
-@@ -12568,6 +13155,7 @@
- 	-rm -f ./$(DEPDIR)/ioctl_watchdog.Po
- 	-rm -f ./$(DEPDIR)/ioperm.Po
- 	-rm -f ./$(DEPDIR)/iopl.Po
-+	-rm -f ./$(DEPDIR)/ioprio--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/ioprio-Xabbrev.Po
- 	-rm -f ./$(DEPDIR)/ioprio-Xraw.Po
- 	-rm -f ./$(DEPDIR)/ioprio-Xverbose.Po
-@@ -12591,6 +13179,7 @@
- 	-rm -f ./$(DEPDIR)/ipc_shm-Xverbose.Po
- 	-rm -f ./$(DEPDIR)/ipc_shm.Po
- 	-rm -f ./$(DEPDIR)/is_linux_mips_n64.Po
-+	-rm -f ./$(DEPDIR)/kcmp-y--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/kcmp-y.Po
- 	-rm -f ./$(DEPDIR)/kcmp.Po
- 	-rm -f ./$(DEPDIR)/kern_features.Po
-@@ -12604,6 +13193,7 @@
- 	-rm -f ./$(DEPDIR)/keyctl-Xraw.Po
- 	-rm -f ./$(DEPDIR)/keyctl-Xverbose.Po
- 	-rm -f ./$(DEPDIR)/keyctl.Po
-+	-rm -f ./$(DEPDIR)/kill--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/kill.Po
- 	-rm -f ./$(DEPDIR)/kill_child.Po
- 	-rm -f ./$(DEPDIR)/ksysent.Po
-@@ -12641,6 +13231,7 @@
- 	-rm -f ./$(DEPDIR)/libtests_a-test_printstrn.Po
- 	-rm -f ./$(DEPDIR)/libtests_a-test_ucopy.Po
- 	-rm -f ./$(DEPDIR)/libtests_a-tprintf.Po
-+	-rm -f ./$(DEPDIR)/libtests_a-xmalloc_for_tests.Po
- 	-rm -f ./$(DEPDIR)/link.Po
- 	-rm -f ./$(DEPDIR)/linkat.Po
- 	-rm -f ./$(DEPDIR)/list_sigaction_signum.Po
-@@ -12663,6 +13254,7 @@
- 	-rm -f ./$(DEPDIR)/memfd_create-Xraw.Po
- 	-rm -f ./$(DEPDIR)/memfd_create-Xverbose.Po
- 	-rm -f ./$(DEPDIR)/memfd_create.Po
-+	-rm -f ./$(DEPDIR)/migrate_pages--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/migrate_pages.Po
- 	-rm -f ./$(DEPDIR)/mincore.Po
- 	-rm -f ./$(DEPDIR)/mkdir.Po
-@@ -12691,6 +13283,7 @@
- 	-rm -f ./$(DEPDIR)/mount.Po
- 	-rm -f ./$(DEPDIR)/move_mount-P.Po
- 	-rm -f ./$(DEPDIR)/move_mount.Po
-+	-rm -f ./$(DEPDIR)/move_pages--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/move_pages-Xabbrev.Po
- 	-rm -f ./$(DEPDIR)/move_pages-Xraw.Po
- 	-rm -f ./$(DEPDIR)/move_pages-Xverbose.Po
-@@ -12714,6 +13307,7 @@
- 	-rm -f ./$(DEPDIR)/net-packet_mreq-Xraw.Po
- 	-rm -f ./$(DEPDIR)/net-packet_mreq-Xverbose.Po
- 	-rm -f ./$(DEPDIR)/net-packet_mreq.Po
-+	-rm -f ./$(DEPDIR)/net-sockaddr--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/net-sockaddr.Po
- 	-rm -f ./$(DEPDIR)/net-tpacket_req.Po
- 	-rm -f ./$(DEPDIR)/net-tpacket_stats-success.Po
-@@ -12723,6 +13317,7 @@
- 	-rm -f ./$(DEPDIR)/net-yy-inet6.Po
- 	-rm -f ./$(DEPDIR)/net-yy-netlink.Po
- 	-rm -f ./$(DEPDIR)/net-yy-unix.Po
-+	-rm -f ./$(DEPDIR)/netlink_audit--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/netlink_audit.Po
- 	-rm -f ./$(DEPDIR)/netlink_crypto.Po
- 	-rm -f ./$(DEPDIR)/netlink_generic.Po
-@@ -12827,11 +13422,14 @@
- 	-rm -f ./$(DEPDIR)/pidfd_open--decode-fd-path.Po
- 	-rm -f ./$(DEPDIR)/pidfd_open--decode-fd-pidfd.Po
- 	-rm -f ./$(DEPDIR)/pidfd_open--decode-fd-socket.Po
-+	-rm -f ./$(DEPDIR)/pidfd_open--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/pidfd_open-P.Po
- 	-rm -f ./$(DEPDIR)/pidfd_open-y.Po
- 	-rm -f ./$(DEPDIR)/pidfd_open-yy.Po
- 	-rm -f ./$(DEPDIR)/pidfd_open.Po
-+	-rm -f ./$(DEPDIR)/pidfd_send_signal--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/pidfd_send_signal.Po
-+	-rm -f ./$(DEPDIR)/pidns-cache.Po
- 	-rm -f ./$(DEPDIR)/pipe.Po
- 	-rm -f ./$(DEPDIR)/pipe2.Po
- 	-rm -f ./$(DEPDIR)/pkey_alloc.Po
-@@ -12869,8 +13467,11 @@
- 	-rm -f ./$(DEPDIR)/printstrn-umoven-peekdata.Po
- 	-rm -f ./$(DEPDIR)/printstrn-umoven-undumpable.Po
- 	-rm -f ./$(DEPDIR)/printstrn-umoven.Po
-+	-rm -f ./$(DEPDIR)/prlimit64--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/prlimit64.Po
-+	-rm -f ./$(DEPDIR)/process_vm_readv--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/process_vm_readv.Po
-+	-rm -f ./$(DEPDIR)/process_vm_writev--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/process_vm_writev.Po
- 	-rm -f ./$(DEPDIR)/pselect6.Po
- 	-rm -f ./$(DEPDIR)/ptrace.Po
-@@ -12919,10 +13520,12 @@
- 	-rm -f ./$(DEPDIR)/rt_sigaction.Po
- 	-rm -f ./$(DEPDIR)/rt_sigpending.Po
- 	-rm -f ./$(DEPDIR)/rt_sigprocmask.Po
-+	-rm -f ./$(DEPDIR)/rt_sigqueueinfo--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/rt_sigqueueinfo.Po
- 	-rm -f ./$(DEPDIR)/rt_sigreturn.Po
- 	-rm -f ./$(DEPDIR)/rt_sigsuspend.Po
- 	-rm -f ./$(DEPDIR)/rt_sigtimedwait.Po
-+	-rm -f ./$(DEPDIR)/rt_tgsigqueueinfo--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/rt_tgsigqueueinfo.Po
- 	-rm -f ./$(DEPDIR)/run_expect_termsig.Po
- 	-rm -f ./$(DEPDIR)/s390_guarded_storage-v.Po
-@@ -12933,9 +13536,13 @@
- 	-rm -f ./$(DEPDIR)/s390_sthyi.Po
- 	-rm -f ./$(DEPDIR)/sched_get_priority_mxx.Po
- 	-rm -f ./$(DEPDIR)/sched_rr_get_interval.Po
-+	-rm -f ./$(DEPDIR)/sched_xetaffinity--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/sched_xetaffinity.Po
-+	-rm -f ./$(DEPDIR)/sched_xetattr--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/sched_xetattr.Po
-+	-rm -f ./$(DEPDIR)/sched_xetparam--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/sched_xetparam.Po
-+	-rm -f ./$(DEPDIR)/sched_xetscheduler--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/sched_xetscheduler.Po
- 	-rm -f ./$(DEPDIR)/sched_yield.Po
- 	-rm -f ./$(DEPDIR)/scm_rights.Po
-@@ -12989,6 +13596,7 @@
- 	-rm -f ./$(DEPDIR)/sigaltstack.Po
- 	-rm -f ./$(DEPDIR)/siginfo.Po
- 	-rm -f ./$(DEPDIR)/signal.Po
-+	-rm -f ./$(DEPDIR)/signal_receive--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/signal_receive.Po
- 	-rm -f ./$(DEPDIR)/signalfd4.Po
- 	-rm -f ./$(DEPDIR)/sigpending.Po
-@@ -12998,6 +13606,7 @@
- 	-rm -f ./$(DEPDIR)/sleep.Po
- 	-rm -f ./$(DEPDIR)/so_error.Po
- 	-rm -f ./$(DEPDIR)/so_linger.Po
-+	-rm -f ./$(DEPDIR)/so_peercred--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/so_peercred-Xabbrev.Po
- 	-rm -f ./$(DEPDIR)/so_peercred-Xraw.Po
- 	-rm -f ./$(DEPDIR)/so_peercred-Xverbose.Po
-@@ -13057,6 +13666,7 @@
- 	-rm -f ./$(DEPDIR)/syslog-success.Po
- 	-rm -f ./$(DEPDIR)/syslog.Po
- 	-rm -f ./$(DEPDIR)/tee.Po
-+	-rm -f ./$(DEPDIR)/tgkill--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/tgkill.Po
- 	-rm -f ./$(DEPDIR)/threads-execve--quiet-thread-execve.Po
- 	-rm -f ./$(DEPDIR)/threads-execve-q.Po
-@@ -13069,6 +13679,7 @@
- 	-rm -f ./$(DEPDIR)/timerfd_xettime.Po
- 	-rm -f ./$(DEPDIR)/times-fail.Po
- 	-rm -f ./$(DEPDIR)/times.Po
-+	-rm -f ./$(DEPDIR)/tkill--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/tkill.Po
- 	-rm -f ./$(DEPDIR)/tracer_ppid_pgid_sid.Po
- 	-rm -f ./$(DEPDIR)/truncate.Po
-@@ -13110,14 +13721,26 @@
- 	-rm -f ./$(DEPDIR)/waitpid.Po
- 	-rm -f ./$(DEPDIR)/xattr-strings.Po
- 	-rm -f ./$(DEPDIR)/xattr.Po
-+	-rm -f ./$(DEPDIR)/xet_robust_list--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/xet_robust_list.Po
- 	-rm -f ./$(DEPDIR)/xet_thread_area_x86.Po
- 	-rm -f ./$(DEPDIR)/xetitimer.Po
-+	-rm -f ./$(DEPDIR)/xetpgid--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/xetpgid.Po
-+	-rm -f ./$(DEPDIR)/xetpriority--pidns-translation.Po
- 	-rm -f ./$(DEPDIR)/xetpriority.Po
- 	-rm -f ./$(DEPDIR)/xettimeofday.Po
- 	-rm -f ./$(DEPDIR)/zeroargc.Po
- 	-rm -f Makefile
-+distclean-am: clean-am distclean-compile distclean-generic \
-+	distclean-tags
-+
-+dvi: dvi-am
-+
-+dvi-am:
-+
-+html: html-am
-+	-rm -f Makefile
- maintainer-clean-am: distclean-am maintainer-clean-generic
- 
- mostlyclean: mostlyclean-am
-@@ -13407,9 +14030,15 @@
- $(srcdir)/fcntl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/fcntl--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/fcntl64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/fcntl64--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/fdatasync.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-@@ -13569,9 +14198,15 @@
- $(srcdir)/getpgrp.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/getpgrp--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/getpid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/getpid--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/getppid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-@@ -13599,6 +14234,9 @@
- $(srcdir)/getsid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/getsid--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/getsockname.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-@@ -13878,6 +14516,9 @@
- $(srcdir)/ioprio.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/ioprio--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/ioprio-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-@@ -13944,6 +14585,9 @@
- $(srcdir)/kcmp-y.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/kcmp-y--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/kern_features.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-@@ -13980,6 +14624,9 @@
- $(srcdir)/kill.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/kill--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/ksysent.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-@@ -14043,6 +14690,9 @@
- $(srcdir)/migrate_pages.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/migrate_pages--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/mincore.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-@@ -14133,6 +14783,9 @@
- $(srcdir)/move_pages-Xverbose.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/move_pages--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/mq.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-@@ -14190,6 +14843,9 @@
- $(srcdir)/net-sockaddr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/net-sockaddr--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/net-tpacket_req.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-@@ -14499,9 +15155,15 @@
- $(srcdir)/pidfd_open-yy.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/pidfd_open--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/pidfd_send_signal.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/pidfd_send_signal--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/pipe2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-@@ -14568,12 +15230,21 @@
- $(srcdir)/prlimit64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/prlimit64--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/process_vm_readv.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/process_vm_readv--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/process_vm_writev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/process_vm_writev--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/pselect6.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-@@ -14682,6 +15353,9 @@
- $(srcdir)/rt_sigqueueinfo.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/rt_sigqueueinfo--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/rt_sigreturn.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-@@ -14694,6 +15368,9 @@
- $(srcdir)/rt_tgsigqueueinfo.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/rt_tgsigqueueinfo--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/s390_guarded_storage.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-@@ -14724,15 +15401,27 @@
- $(srcdir)/sched_xetaffinity.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/sched_xetaffinity--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/sched_xetattr.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/sched_xetattr--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/sched_xetparam.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/sched_xetparam--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/sched_xetscheduler.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/sched_xetscheduler--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/sched_yield.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-@@ -14871,6 +15560,9 @@
- $(srcdir)/signal_receive.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/signal_receive--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/signalfd4.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-@@ -14904,6 +15596,9 @@
- $(srcdir)/so_peercred-Xverbose.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/so_peercred--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/sock_filter-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-@@ -15120,6 +15815,9 @@
- $(srcdir)/tgkill.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/tgkill--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/threads-execve--quiet-thread-execve.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-@@ -15153,6 +15851,9 @@
- $(srcdir)/tkill.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/tkill--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/trace_clock.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-@@ -15201,6 +15902,9 @@
- $(srcdir)/trace_statfs_like.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/trie_test.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/truncate.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-@@ -15291,15 +15995,24 @@
- $(srcdir)/xet_robust_list.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/xet_robust_list--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/xetitimer.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
- $(srcdir)/xetpgid.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/xetpgid--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/xetpriority.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/xetpriority--pidns-translation.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/xettimeofday.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
diff --git a/SOURCES/0142-tests-add-fchmod-y-test.patch b/SOURCES/0142-tests-add-fchmod-y-test.patch
deleted file mode 100644
index 527c11c..0000000
--- a/SOURCES/0142-tests-add-fchmod-y-test.patch
+++ /dev/null
@@ -1,1102 +0,0 @@
-From 80e96680db68fb424455180f24cd08089bd8c94b Mon Sep 17 00:00:00 2001
-From: "Dmitry V. Levin" <ldv@strace.io>
-Date: Wed, 31 Mar 2021 08:00:00 +0000
-Subject: [PATCH 142/149] tests: add fchmod-y test
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-* tests/dirfd.c: New file.
-* tests/Makefile.am (libtests_a_SOURCES): Add dirfd.c.
-* tests/tests.h (get_dir_fd, get_fd_path): New function prototypes.
-* tests/fchmod-y.c: New file.
-* tests/fchmod.c (main): Create a sample file, handle YFLAG macro.
-* tests/gen_tests.in (fchmod-y): New entry.
-* tests/pure_executables.list: Add fchmod-y.
-* tests/.gitignore: Likewise.
-
-Co-authored-by: Renaud Métrich <rmetrich@redhat.com>
-
-Conflicts:
-	tests/fchmod.c
----
- tests/.gitignore            |  1 +
- tests/Makefile.am           |  1 +
- tests/dirfd.c               | 43 ++++++++++++++++++++++++++++++++++++++
- tests/fchmod-y.c            | 10 +++++++++
- tests/fchmod.c              | 51 ++++++++++++++++++++++++++++++++++++++-------
- tests/gen_tests.in          |  1 +
- tests/pure_executables.list |  1 +
- tests/tests.h               | 12 +++++++++++
- 8 files changed, 112 insertions(+), 8 deletions(-)
- create mode 100644 tests/dirfd.c
- create mode 100644 tests/fchmod-y.c
-
-Index: strace-5.7/tests/Makefile.am
-===================================================================
---- strace-5.7.orig/tests/Makefile.am	2021-08-24 19:31:43.636872612 +0200
-+++ strace-5.7/tests/Makefile.am	2021-08-24 19:32:04.015700127 +0200
-@@ -31,6 +31,7 @@
- libtests_a_SOURCES = \
- 	create_nl_socket.c \
- 	create_tmpfile.c \
-+	dirfd.c \
- 	errno2name.c \
- 	error_msg.c \
- 	fill_memory.c \
-Index: strace-5.7/tests/dirfd.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests/dirfd.c	2021-08-24 19:32:04.016700119 +0200
-@@ -0,0 +1,43 @@
-+/*
-+ * Copyright (c) 2021 The strace developers.
-+ * All rights reserved.
-+ *
-+ * SPDX-License-Identifier: GPL-2.0-or-later
-+ */
-+
-+#include "tests.h"
-+
-+#include <dirent.h>
-+#include <limits.h>
-+#include <stdlib.h>
-+#include <unistd.h>
-+
-+#include "xmalloc.h"
-+
-+int
-+get_dir_fd(const char *dir_path)
-+{
-+	DIR *dir = opendir(dir_path);
-+	if (dir == NULL)
-+		perror_msg_and_fail("opendir: %s", dir_path);
-+	int dfd = dirfd(dir);
-+	if (dfd == -1)
-+		perror_msg_and_fail("dirfd");
-+	return dfd;
-+}
-+
-+char *
-+get_fd_path(int fd)
-+{
-+	char *proc = xasprintf("/proc/self/fd/%u", fd);
-+	char *buf = xmalloc(PATH_MAX);
-+	ssize_t n = readlink(proc, buf, PATH_MAX);
-+	if (n < 0)
-+		perror_msg_and_skip("readlink: %s", proc);
-+	if (n >= PATH_MAX)
-+		error_msg_and_fail("readlink: %s: %s", proc,
-+				   "symlink value is too long");
-+	buf[n] = '\0';
-+	free(proc);
-+	return buf;
-+}
-Index: strace-5.7/tests/fchmod-y.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests/fchmod-y.c	2021-08-24 19:32:04.016700119 +0200
-@@ -0,0 +1,10 @@
-+/*
-+ * Copyright (c) 2021 The strace developers.
-+ * All rights reserved.
-+ *
-+ * SPDX-License-Identifier: GPL-2.0-or-later
-+ */
-+
-+#define YFLAG
-+
-+#include "fchmod.c"
-Index: strace-5.7/tests/fchmod.c
-===================================================================
---- strace-5.7.orig/tests/fchmod.c	2021-08-24 19:31:43.636872612 +0200
-+++ strace-5.7/tests/fchmod.c	2021-08-24 19:32:04.017700110 +0200
-@@ -2,8 +2,8 @@
-  * Check decoding of fchmod syscall.
-  *
-  * Copyright (c) 2016 Fabien Siron <fabien.siron@epita.fr>
-- * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
-- * Copyright (c) 2016-2020 The strace developers.
-+ * Copyright (c) 2016 Dmitry V. Levin <ldv@strace.io>
-+ * Copyright (c) 2016-2021 The strace developers.
-  * All rights reserved.
-  *
-  * SPDX-License-Identifier: GPL-2.0-or-later
-@@ -15,25 +15,60 @@
- #ifdef __NR_fchmod
- 
- # include <fcntl.h>
--# include <sys/stat.h>
- # include <stdio.h>
- # include <unistd.h>
- 
- int
- main(void)
- {
--	int fd = create_tmpfile(O_RDWR);
-+	static const char sample[] = "fchmod_sample_file";
-+	(void) unlink(sample);
-+	int fd = open(sample, O_CREAT|O_RDONLY, 0400);
-+	if (fd == -1)
-+		perror_msg_and_fail("open");
-+
-+# ifdef YFLAG
-+	char *sample_realpath = get_fd_path(fd);
-+# endif
- 
- 	long rc = syscall(__NR_fchmod, fd, 0600);
--	printf("fchmod(%d, 0600) = %s\n", fd, sprintrc(rc));
-+# ifdef YFLAG
-+	printf("fchmod(%d<%s>, 0600) = %s\n",
-+# else
-+	printf("fchmod(%d, 0600) = %s\n",
-+# endif
-+	       fd,
-+# ifdef YFLAG
-+	       sample_realpath,
-+# endif
-+	       sprintrc(rc));
- 
--	close(fd);
-+	if (unlink(sample))
-+		perror_msg_and_fail("unlink");
- 
- 	rc = syscall(__NR_fchmod, fd, 051);
--	printf("fchmod(%d, 051) = %s\n", fd, sprintrc(rc));
-+# ifdef YFLAG
-+	printf("fchmod(%d<%s (deleted)>, 051) = %s\n",
-+# else
-+	printf("fchmod(%d, 051) = %s\n",
-+# endif
-+	       fd,
-+# ifdef YFLAG
-+	       sample_realpath,
-+# endif
-+	       sprintrc(rc));
- 
- 	rc = syscall(__NR_fchmod, fd, 004);
--	printf("fchmod(%d, 004) = %s\n", fd, sprintrc(rc));
-+# ifdef YFLAG
-+	printf("fchmod(%d<%s (deleted)>, 004) = %s\n",
-+# else
-+	printf("fchmod(%d, 004) = %s\n",
-+# endif
-+	       fd,
-+# ifdef YFLAG
-+	       sample_realpath,
-+# endif
-+	       sprintrc(rc));
- 
- 	puts("+++ exited with 0 +++");
- 	return 0;
-Index: strace-5.7/tests/gen_tests.in
-===================================================================
---- strace-5.7.orig/tests/gen_tests.in	2021-08-24 19:31:43.637872604 +0200
-+++ strace-5.7/tests/gen_tests.in	2021-08-24 19:32:04.017700110 +0200
-@@ -83,6 +83,7 @@
- fanotify_mark-Xverbose	-a32 -Xverbose -e trace=fanotify_mark
- fchdir	-a11
- fchmod	-a15
-+fchmod-y	-y -e trace=fchmod
- fchmodat
- fchown	-a16
- fchown32	-a18
-Index: strace-5.7/tests/pure_executables.list
-===================================================================
---- strace-5.7.orig/tests/pure_executables.list	2021-08-24 19:31:43.637872604 +0200
-+++ strace-5.7/tests/pure_executables.list	2021-08-24 19:32:04.017700110 +0200
-@@ -71,6 +71,7 @@
- fanotify_mark-Xverbose
- fchdir
- fchmod
-+fchmod-y
- fchmodat
- fchown
- fchown32
-Index: strace-5.7/tests/tests.h
-===================================================================
---- strace-5.7.orig/tests/tests.h	2021-08-24 19:31:43.637872604 +0200
-+++ strace-5.7/tests/tests.h	2021-08-24 19:32:04.018700102 +0200
-@@ -149,6 +149,18 @@
- void skip_if_unavailable(const char *);
- 
- /*
-+ * Obtain a file descriptor corresponding to the specified directory name,
-+ * die on failure.
-+ */
-+int get_dir_fd(const char *dir_path);
-+
-+/*
-+ * Obtain a path corresponding to the specified file descriptor,
-+ * die on failure.
-+ */
-+char *get_fd_path(int fd) ATTRIBUTE_MALLOC;
-+
-+/*
-  * Obtain an exclusive lock on dirname(path_name)/lock_name file
-  * using open and flock.
-  */
-Index: strace-5.7/tests-m32/Makefile.am
-===================================================================
---- strace-5.7.orig/tests-m32/Makefile.am	2021-08-24 19:31:43.637872604 +0200
-+++ strace-5.7/tests-m32/Makefile.am	2021-08-24 19:32:04.018700102 +0200
-@@ -31,6 +31,7 @@
- libtests_a_SOURCES = \
- 	create_nl_socket.c \
- 	create_tmpfile.c \
-+	dirfd.c \
- 	errno2name.c \
- 	error_msg.c \
- 	fill_memory.c \
-Index: strace-5.7/tests-m32/dirfd.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-m32/dirfd.c	2021-08-24 19:32:04.018700102 +0200
-@@ -0,0 +1,43 @@
-+/*
-+ * Copyright (c) 2021 The strace developers.
-+ * All rights reserved.
-+ *
-+ * SPDX-License-Identifier: GPL-2.0-or-later
-+ */
-+
-+#include "tests.h"
-+
-+#include <dirent.h>
-+#include <limits.h>
-+#include <stdlib.h>
-+#include <unistd.h>
-+
-+#include "xmalloc.h"
-+
-+int
-+get_dir_fd(const char *dir_path)
-+{
-+	DIR *dir = opendir(dir_path);
-+	if (dir == NULL)
-+		perror_msg_and_fail("opendir: %s", dir_path);
-+	int dfd = dirfd(dir);
-+	if (dfd == -1)
-+		perror_msg_and_fail("dirfd");
-+	return dfd;
-+}
-+
-+char *
-+get_fd_path(int fd)
-+{
-+	char *proc = xasprintf("/proc/self/fd/%u", fd);
-+	char *buf = xmalloc(PATH_MAX);
-+	ssize_t n = readlink(proc, buf, PATH_MAX);
-+	if (n < 0)
-+		perror_msg_and_skip("readlink: %s", proc);
-+	if (n >= PATH_MAX)
-+		error_msg_and_fail("readlink: %s: %s", proc,
-+				   "symlink value is too long");
-+	buf[n] = '\0';
-+	free(proc);
-+	return buf;
-+}
-Index: strace-5.7/tests-m32/fchmod-y.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-m32/fchmod-y.c	2021-08-24 19:32:04.019700094 +0200
-@@ -0,0 +1,10 @@
-+/*
-+ * Copyright (c) 2021 The strace developers.
-+ * All rights reserved.
-+ *
-+ * SPDX-License-Identifier: GPL-2.0-or-later
-+ */
-+
-+#define YFLAG
-+
-+#include "fchmod.c"
-Index: strace-5.7/tests-m32/fchmod.c
-===================================================================
---- strace-5.7.orig/tests-m32/fchmod.c	2021-08-24 19:31:43.638872595 +0200
-+++ strace-5.7/tests-m32/fchmod.c	2021-08-24 19:32:04.019700094 +0200
-@@ -2,8 +2,8 @@
-  * Check decoding of fchmod syscall.
-  *
-  * Copyright (c) 2016 Fabien Siron <fabien.siron@epita.fr>
-- * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
-- * Copyright (c) 2016-2020 The strace developers.
-+ * Copyright (c) 2016 Dmitry V. Levin <ldv@strace.io>
-+ * Copyright (c) 2016-2021 The strace developers.
-  * All rights reserved.
-  *
-  * SPDX-License-Identifier: GPL-2.0-or-later
-@@ -15,25 +15,60 @@
- #ifdef __NR_fchmod
- 
- # include <fcntl.h>
--# include <sys/stat.h>
- # include <stdio.h>
- # include <unistd.h>
- 
- int
- main(void)
- {
--	int fd = create_tmpfile(O_RDWR);
-+	static const char sample[] = "fchmod_sample_file";
-+	(void) unlink(sample);
-+	int fd = open(sample, O_CREAT|O_RDONLY, 0400);
-+	if (fd == -1)
-+		perror_msg_and_fail("open");
-+
-+# ifdef YFLAG
-+	char *sample_realpath = get_fd_path(fd);
-+# endif
- 
- 	long rc = syscall(__NR_fchmod, fd, 0600);
--	printf("fchmod(%d, 0600) = %s\n", fd, sprintrc(rc));
-+# ifdef YFLAG
-+	printf("fchmod(%d<%s>, 0600) = %s\n",
-+# else
-+	printf("fchmod(%d, 0600) = %s\n",
-+# endif
-+	       fd,
-+# ifdef YFLAG
-+	       sample_realpath,
-+# endif
-+	       sprintrc(rc));
- 
--	close(fd);
-+	if (unlink(sample))
-+		perror_msg_and_fail("unlink");
- 
- 	rc = syscall(__NR_fchmod, fd, 051);
--	printf("fchmod(%d, 051) = %s\n", fd, sprintrc(rc));
-+# ifdef YFLAG
-+	printf("fchmod(%d<%s (deleted)>, 051) = %s\n",
-+# else
-+	printf("fchmod(%d, 051) = %s\n",
-+# endif
-+	       fd,
-+# ifdef YFLAG
-+	       sample_realpath,
-+# endif
-+	       sprintrc(rc));
- 
- 	rc = syscall(__NR_fchmod, fd, 004);
--	printf("fchmod(%d, 004) = %s\n", fd, sprintrc(rc));
-+# ifdef YFLAG
-+	printf("fchmod(%d<%s (deleted)>, 004) = %s\n",
-+# else
-+	printf("fchmod(%d, 004) = %s\n",
-+# endif
-+	       fd,
-+# ifdef YFLAG
-+	       sample_realpath,
-+# endif
-+	       sprintrc(rc));
- 
- 	puts("+++ exited with 0 +++");
- 	return 0;
-Index: strace-5.7/tests-m32/gen_tests.in
-===================================================================
---- strace-5.7.orig/tests-m32/gen_tests.in	2021-08-24 19:31:43.638872595 +0200
-+++ strace-5.7/tests-m32/gen_tests.in	2021-08-24 19:32:04.020700085 +0200
-@@ -83,6 +83,7 @@
- fanotify_mark-Xverbose	-a32 -Xverbose -e trace=fanotify_mark
- fchdir	-a11
- fchmod	-a15
-+fchmod-y	-y -e trace=fchmod
- fchmodat
- fchown	-a16
- fchown32	-a18
-Index: strace-5.7/tests-m32/pure_executables.list
-===================================================================
---- strace-5.7.orig/tests-m32/pure_executables.list	2021-08-24 19:31:43.638872595 +0200
-+++ strace-5.7/tests-m32/pure_executables.list	2021-08-24 19:32:04.020700085 +0200
-@@ -71,6 +71,7 @@
- fanotify_mark-Xverbose
- fchdir
- fchmod
-+fchmod-y
- fchmodat
- fchown
- fchown32
-Index: strace-5.7/tests-m32/tests.h
-===================================================================
---- strace-5.7.orig/tests-m32/tests.h	2021-08-24 19:31:43.638872595 +0200
-+++ strace-5.7/tests-m32/tests.h	2021-08-24 19:32:04.020700085 +0200
-@@ -149,6 +149,18 @@
- void skip_if_unavailable(const char *);
- 
- /*
-+ * Obtain a file descriptor corresponding to the specified directory name,
-+ * die on failure.
-+ */
-+int get_dir_fd(const char *dir_path);
-+
-+/*
-+ * Obtain a path corresponding to the specified file descriptor,
-+ * die on failure.
-+ */
-+char *get_fd_path(int fd) ATTRIBUTE_MALLOC;
-+
-+/*
-  * Obtain an exclusive lock on dirname(path_name)/lock_name file
-  * using open and flock.
-  */
-Index: strace-5.7/tests-mx32/Makefile.am
-===================================================================
---- strace-5.7.orig/tests-mx32/Makefile.am	2021-08-24 19:31:43.638872595 +0200
-+++ strace-5.7/tests-mx32/Makefile.am	2021-08-24 19:32:04.021700077 +0200
-@@ -31,6 +31,7 @@
- libtests_a_SOURCES = \
- 	create_nl_socket.c \
- 	create_tmpfile.c \
-+	dirfd.c \
- 	errno2name.c \
- 	error_msg.c \
- 	fill_memory.c \
-Index: strace-5.7/tests-mx32/dirfd.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-mx32/dirfd.c	2021-08-24 19:32:04.021700077 +0200
-@@ -0,0 +1,43 @@
-+/*
-+ * Copyright (c) 2021 The strace developers.
-+ * All rights reserved.
-+ *
-+ * SPDX-License-Identifier: GPL-2.0-or-later
-+ */
-+
-+#include "tests.h"
-+
-+#include <dirent.h>
-+#include <limits.h>
-+#include <stdlib.h>
-+#include <unistd.h>
-+
-+#include "xmalloc.h"
-+
-+int
-+get_dir_fd(const char *dir_path)
-+{
-+	DIR *dir = opendir(dir_path);
-+	if (dir == NULL)
-+		perror_msg_and_fail("opendir: %s", dir_path);
-+	int dfd = dirfd(dir);
-+	if (dfd == -1)
-+		perror_msg_and_fail("dirfd");
-+	return dfd;
-+}
-+
-+char *
-+get_fd_path(int fd)
-+{
-+	char *proc = xasprintf("/proc/self/fd/%u", fd);
-+	char *buf = xmalloc(PATH_MAX);
-+	ssize_t n = readlink(proc, buf, PATH_MAX);
-+	if (n < 0)
-+		perror_msg_and_skip("readlink: %s", proc);
-+	if (n >= PATH_MAX)
-+		error_msg_and_fail("readlink: %s: %s", proc,
-+				   "symlink value is too long");
-+	buf[n] = '\0';
-+	free(proc);
-+	return buf;
-+}
-Index: strace-5.7/tests-mx32/fchmod-y.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-mx32/fchmod-y.c	2021-08-24 19:32:04.021700077 +0200
-@@ -0,0 +1,10 @@
-+/*
-+ * Copyright (c) 2021 The strace developers.
-+ * All rights reserved.
-+ *
-+ * SPDX-License-Identifier: GPL-2.0-or-later
-+ */
-+
-+#define YFLAG
-+
-+#include "fchmod.c"
-Index: strace-5.7/tests-mx32/fchmod.c
-===================================================================
---- strace-5.7.orig/tests-mx32/fchmod.c	2021-08-24 19:31:43.639872587 +0200
-+++ strace-5.7/tests-mx32/fchmod.c	2021-08-24 19:32:04.022700068 +0200
-@@ -2,8 +2,8 @@
-  * Check decoding of fchmod syscall.
-  *
-  * Copyright (c) 2016 Fabien Siron <fabien.siron@epita.fr>
-- * Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
-- * Copyright (c) 2016-2020 The strace developers.
-+ * Copyright (c) 2016 Dmitry V. Levin <ldv@strace.io>
-+ * Copyright (c) 2016-2021 The strace developers.
-  * All rights reserved.
-  *
-  * SPDX-License-Identifier: GPL-2.0-or-later
-@@ -15,25 +15,60 @@
- #ifdef __NR_fchmod
- 
- # include <fcntl.h>
--# include <sys/stat.h>
- # include <stdio.h>
- # include <unistd.h>
- 
- int
- main(void)
- {
--	int fd = create_tmpfile(O_RDWR);
-+	static const char sample[] = "fchmod_sample_file";
-+	(void) unlink(sample);
-+	int fd = open(sample, O_CREAT|O_RDONLY, 0400);
-+	if (fd == -1)
-+		perror_msg_and_fail("open");
-+
-+# ifdef YFLAG
-+	char *sample_realpath = get_fd_path(fd);
-+# endif
- 
- 	long rc = syscall(__NR_fchmod, fd, 0600);
--	printf("fchmod(%d, 0600) = %s\n", fd, sprintrc(rc));
-+# ifdef YFLAG
-+	printf("fchmod(%d<%s>, 0600) = %s\n",
-+# else
-+	printf("fchmod(%d, 0600) = %s\n",
-+# endif
-+	       fd,
-+# ifdef YFLAG
-+	       sample_realpath,
-+# endif
-+	       sprintrc(rc));
- 
--	close(fd);
-+	if (unlink(sample))
-+		perror_msg_and_fail("unlink");
- 
- 	rc = syscall(__NR_fchmod, fd, 051);
--	printf("fchmod(%d, 051) = %s\n", fd, sprintrc(rc));
-+# ifdef YFLAG
-+	printf("fchmod(%d<%s (deleted)>, 051) = %s\n",
-+# else
-+	printf("fchmod(%d, 051) = %s\n",
-+# endif
-+	       fd,
-+# ifdef YFLAG
-+	       sample_realpath,
-+# endif
-+	       sprintrc(rc));
- 
- 	rc = syscall(__NR_fchmod, fd, 004);
--	printf("fchmod(%d, 004) = %s\n", fd, sprintrc(rc));
-+# ifdef YFLAG
-+	printf("fchmod(%d<%s (deleted)>, 004) = %s\n",
-+# else
-+	printf("fchmod(%d, 004) = %s\n",
-+# endif
-+	       fd,
-+# ifdef YFLAG
-+	       sample_realpath,
-+# endif
-+	       sprintrc(rc));
- 
- 	puts("+++ exited with 0 +++");
- 	return 0;
-Index: strace-5.7/tests-mx32/gen_tests.in
-===================================================================
---- strace-5.7.orig/tests-mx32/gen_tests.in	2021-08-24 19:31:43.639872587 +0200
-+++ strace-5.7/tests-mx32/gen_tests.in	2021-08-24 19:32:04.022700068 +0200
-@@ -83,6 +83,7 @@
- fanotify_mark-Xverbose	-a32 -Xverbose -e trace=fanotify_mark
- fchdir	-a11
- fchmod	-a15
-+fchmod-y	-y -e trace=fchmod
- fchmodat
- fchown	-a16
- fchown32	-a18
-Index: strace-5.7/tests-mx32/pure_executables.list
-===================================================================
---- strace-5.7.orig/tests-mx32/pure_executables.list	2021-08-24 19:31:43.639872587 +0200
-+++ strace-5.7/tests-mx32/pure_executables.list	2021-08-24 19:32:04.022700068 +0200
-@@ -71,6 +71,7 @@
- fanotify_mark-Xverbose
- fchdir
- fchmod
-+fchmod-y
- fchmodat
- fchown
- fchown32
-Index: strace-5.7/tests-mx32/tests.h
-===================================================================
---- strace-5.7.orig/tests-mx32/tests.h	2021-08-24 19:31:43.639872587 +0200
-+++ strace-5.7/tests-mx32/tests.h	2021-08-24 19:32:04.022700068 +0200
-@@ -149,6 +149,18 @@
- void skip_if_unavailable(const char *);
- 
- /*
-+ * Obtain a file descriptor corresponding to the specified directory name,
-+ * die on failure.
-+ */
-+int get_dir_fd(const char *dir_path);
-+
-+/*
-+ * Obtain a path corresponding to the specified file descriptor,
-+ * die on failure.
-+ */
-+char *get_fd_path(int fd) ATTRIBUTE_MALLOC;
-+
-+/*
-  * Obtain an exclusive lock on dirname(path_name)/lock_name file
-  * using open and flock.
-  */
-Index: strace-5.7/tests/Makefile.in
-===================================================================
---- strace-5.7.orig/tests/Makefile.in	2021-08-24 19:31:43.647872519 +0200
-+++ strace-5.7/tests/Makefile.in	2021-08-24 19:35:06.722153713 +0200
-@@ -303,7 +303,7 @@
- 	fanotify_init$(EXEEXT) fanotify_mark$(EXEEXT) \
- 	fanotify_mark-Xabbrev$(EXEEXT) fanotify_mark-Xraw$(EXEEXT) \
- 	fanotify_mark-Xverbose$(EXEEXT) fchdir$(EXEEXT) \
--	fchmod$(EXEEXT) fchmodat$(EXEEXT) fchown$(EXEEXT) \
-+	fchmod$(EXEEXT) fchmod-y$(EXEEXT) fchmodat$(EXEEXT) fchown$(EXEEXT) \
- 	fchown32$(EXEEXT) fchownat$(EXEEXT) fcntl$(EXEEXT) \
- 	fcntl64$(EXEEXT) fdatasync$(EXEEXT) fflush$(EXEEXT) \
- 	file_handle$(EXEEXT) file_ioctl$(EXEEXT) finit_module$(EXEEXT) \
-@@ -551,7 +551,7 @@
- libtests_a_AR = $(AR) $(ARFLAGS)
- libtests_a_LIBADD =
- am_libtests_a_OBJECTS = libtests_a-create_nl_socket.$(OBJEXT) \
--	libtests_a-create_tmpfile.$(OBJEXT) \
-+	libtests_a-create_tmpfile.$(OBJEXT) libtests_a-dirfd.$(OBJEXT) \
- 	libtests_a-errno2name.$(OBJEXT) libtests_a-error_msg.$(OBJEXT) \
- 	libtests_a-fill_memory.$(OBJEXT) \
- 	libtests_a-get_page_size.$(OBJEXT) \
-@@ -986,6 +986,10 @@
- fchmod_OBJECTS = fchmod.$(OBJEXT)
- fchmod_LDADD = $(LDADD)
- fchmod_DEPENDENCIES = libtests.a
-+fchmod_y_SOURCES = fchmod-y.c
-+fchmod_y_OBJECTS = fchmod-y.$(OBJEXT)
-+fchmod_y_LDADD = $(LDADD)
-+fchmod_y_DEPENDENCIES = libtests.a
- fchmodat_SOURCES = fchmodat.c
- fchmodat_OBJECTS = fchmodat.$(OBJEXT)
- fchmodat_LDADD = $(LDADD)
-@@ -4508,9 +4512,10 @@
- 	execve-v.c execveat.c execveat-v.c faccessat.c fadvise64.c \
- 	fadvise64_64.c fallocate.c fanotify_init.c fanotify_mark.c \
- 	fanotify_mark-Xabbrev.c fanotify_mark-Xraw.c \
--	fanotify_mark-Xverbose.c fchdir.c fchmod.c fchmodat.c fchown.c \
--	fchown32.c fchownat.c fcntl.c fcntl--pidns-translation.c \
--	fcntl64.c fcntl64--pidns-translation.c fdatasync.c fflush.c \
-+	fanotify_mark-Xverbose.c fchdir.c fchmod.c fchmod-y.c \
-+	fchmodat.c fchown.c fchown32.c fchownat.c fcntl.c \
-+	fcntl--pidns-translation.c fcntl64.c \
-+	fcntl64--pidns-translation.c fdatasync.c fflush.c \
- 	file_handle.c file_ioctl.c filter-unavailable.c \
- 	filter_seccomp-flag.c filter_seccomp-perf.c finit_module.c \
- 	flock.c fork--pidns-translation.c fork-f.c fsconfig.c \
-@@ -4755,9 +4760,10 @@
- 	execve-v.c execveat.c execveat-v.c faccessat.c fadvise64.c \
- 	fadvise64_64.c fallocate.c fanotify_init.c fanotify_mark.c \
- 	fanotify_mark-Xabbrev.c fanotify_mark-Xraw.c \
--	fanotify_mark-Xverbose.c fchdir.c fchmod.c fchmodat.c fchown.c \
--	fchown32.c fchownat.c fcntl.c fcntl--pidns-translation.c \
--	fcntl64.c fcntl64--pidns-translation.c fdatasync.c fflush.c \
-+	fanotify_mark-Xverbose.c fchdir.c fchmod.c fchmod-y.c \
-+	fchmodat.c fchown.c fchown32.c fchownat.c fcntl.c \
-+	fcntl--pidns-translation.c fcntl64.c \
-+	fcntl64--pidns-translation.c fdatasync.c fflush.c \
- 	file_handle.c file_ioctl.c filter-unavailable.c \
- 	filter_seccomp-flag.c filter_seccomp-perf.c finit_module.c \
- 	flock.c fork--pidns-translation.c fork-f.c fsconfig.c \
-@@ -5397,6 +5403,7 @@
- libtests_a_SOURCES = \
- 	create_nl_socket.c \
- 	create_tmpfile.c \
-+	dirfd.c \
- 	errno2name.c \
- 	error_msg.c \
- 	fill_memory.c \
-@@ -5507,6 +5514,7 @@
-   fanotify_mark-Xverbose \
-   fchdir \
-   fchmod \
-+  fchmod-y \
-   fchmodat \
-   fchown \
-   fchown32 \
-@@ -6151,11 +6159,11 @@
- 	fanotify_init.gen.test fanotify_mark.gen.test \
- 	fanotify_mark-Xabbrev.gen.test fanotify_mark-Xraw.gen.test \
- 	fanotify_mark-Xverbose.gen.test fchdir.gen.test \
--	fchmod.gen.test fchmodat.gen.test fchown.gen.test \
--	fchown32.gen.test fchownat.gen.test fcntl.gen.test \
--	fcntl--pidns-translation.gen.test fcntl64.gen.test \
--	fcntl64--pidns-translation.gen.test fdatasync.gen.test \
--	file_handle.gen.test file_ioctl.gen.test \
-+	fchmod.gen.test fchmod-y.gen.test fchmodat.gen.test \
-+	fchown.gen.test fchown32.gen.test fchownat.gen.test \
-+	fcntl.gen.test fcntl--pidns-translation.gen.test \
-+	fcntl64.gen.test fcntl64--pidns-translation.gen.test \
-+	fdatasync.gen.test file_handle.gen.test file_ioctl.gen.test \
- 	filter_seccomp.gen.test filter_seccomp-flag.gen.test \
- 	finit_module.gen.test flock.gen.test fork-f.gen.test \
- 	fsconfig.gen.test fsconfig-P.gen.test fsmount.gen.test \
-@@ -7242,6 +7250,10 @@
- 	@rm -f fchmod$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(fchmod_OBJECTS) $(fchmod_LDADD) $(LIBS)
- 
-+fchmod-y$(EXEEXT): $(fchmod_y_OBJECTS) $(fchmod_y_DEPENDENCIES) $(EXTRA_fchmod_y_DEPENDENCIES) 
-+	@rm -f fchmod-y$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(fchmod_y_OBJECTS) $(fchmod_y_LDADD) $(LIBS)
-+
- fchmodat$(EXEEXT): $(fchmodat_OBJECTS) $(fchmodat_DEPENDENCIES) $(EXTRA_fchmodat_DEPENDENCIES) 
- 	@rm -f fchmodat$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(fchmodat_OBJECTS) $(fchmodat_LDADD) $(LIBS)
-@@ -10176,6 +10188,7 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark-Xverbose.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchdir.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod-y.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmodat.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchown.Po@am__quote@ # am--include-marker
-@@ -10394,6 +10407,7 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lchown32.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-create_nl_socket.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-create_tmpfile.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-dirfd.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-errno2name.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-error_msg.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-fill_memory.Po@am__quote@ # am--include-marker
-@@ -10975,6 +10989,20 @@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-create_tmpfile.obj `if test -f 'create_tmpfile.c'; then $(CYGPATH_W) 'create_tmpfile.c'; else $(CYGPATH_W) '$(srcdir)/create_tmpfile.c'; fi`
- 
-+libtests_a-dirfd.o: dirfd.c
-+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-dirfd.o -MD -MP -MF $(DEPDIR)/libtests_a-dirfd.Tpo -c -o libtests_a-dirfd.o `test -f 'dirfd.c' || echo '$(srcdir)/'`dirfd.c
-+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-dirfd.Tpo $(DEPDIR)/libtests_a-dirfd.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='dirfd.c' object='libtests_a-dirfd.o' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-dirfd.o `test -f 'dirfd.c' || echo '$(srcdir)/'`dirfd.c
-+
-+libtests_a-dirfd.obj: dirfd.c
-+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-dirfd.obj -MD -MP -MF $(DEPDIR)/libtests_a-dirfd.Tpo -c -o libtests_a-dirfd.obj `if test -f 'dirfd.c'; then $(CYGPATH_W) 'dirfd.c'; else $(CYGPATH_W) '$(srcdir)/dirfd.c'; fi`
-+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-dirfd.Tpo $(DEPDIR)/libtests_a-dirfd.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='dirfd.c' object='libtests_a-dirfd.obj' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-dirfd.obj `if test -f 'dirfd.c'; then $(CYGPATH_W) 'dirfd.c'; else $(CYGPATH_W) '$(srcdir)/dirfd.c'; fi`
-+
- libtests_a-errno2name.o: errno2name.c
- @am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-errno2name.o -MD -MP -MF $(DEPDIR)/libtests_a-errno2name.Tpo -c -o libtests_a-errno2name.o `test -f 'errno2name.c' || echo '$(srcdir)/'`errno2name.c
- @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-errno2name.Tpo $(DEPDIR)/libtests_a-errno2name.Po
-@@ -14015,6 +14043,9 @@
- $(srcdir)/fchmod.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/fchmod-y.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/fchmodat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-Index: strace-5.7/tests-m32/Makefile.in
-===================================================================
---- strace-5.7.orig/tests-m32/Makefile.in	2021-08-24 19:31:43.655872452 +0200
-+++ strace-5.7/tests-m32/Makefile.in	2021-08-24 19:32:04.034699967 +0200
-@@ -303,7 +303,7 @@
- 	fanotify_init$(EXEEXT) fanotify_mark$(EXEEXT) \
- 	fanotify_mark-Xabbrev$(EXEEXT) fanotify_mark-Xraw$(EXEEXT) \
- 	fanotify_mark-Xverbose$(EXEEXT) fchdir$(EXEEXT) \
--	fchmod$(EXEEXT) fchmodat$(EXEEXT) fchown$(EXEEXT) \
-+	fchmod$(EXEEXT) fchmod-y$(EXEEXT) fchmodat$(EXEEXT) fchown$(EXEEXT) \
- 	fchown32$(EXEEXT) fchownat$(EXEEXT) fcntl$(EXEEXT) \
- 	fcntl64$(EXEEXT) fdatasync$(EXEEXT) fflush$(EXEEXT) \
- 	file_handle$(EXEEXT) file_ioctl$(EXEEXT) finit_module$(EXEEXT) \
-@@ -551,7 +551,7 @@
- libtests_a_AR = $(AR) $(ARFLAGS)
- libtests_a_LIBADD =
- am_libtests_a_OBJECTS = libtests_a-create_nl_socket.$(OBJEXT) \
--	libtests_a-create_tmpfile.$(OBJEXT) \
-+	libtests_a-create_tmpfile.$(OBJEXT) libtests_a-dirfd.$(OBJEXT) \
- 	libtests_a-errno2name.$(OBJEXT) libtests_a-error_msg.$(OBJEXT) \
- 	libtests_a-fill_memory.$(OBJEXT) \
- 	libtests_a-get_page_size.$(OBJEXT) \
-@@ -986,6 +986,10 @@
- fchmod_OBJECTS = fchmod.$(OBJEXT)
- fchmod_LDADD = $(LDADD)
- fchmod_DEPENDENCIES = libtests.a
-+fchmod_y_SOURCES = fchmod-y.c
-+fchmod_y_OBJECTS = fchmod-y.$(OBJEXT)
-+fchmod_y_LDADD = $(LDADD)
-+fchmod_y_DEPENDENCIES = libtests.a
- fchmodat_SOURCES = fchmodat.c
- fchmodat_OBJECTS = fchmodat.$(OBJEXT)
- fchmodat_LDADD = $(LDADD)
-@@ -4508,9 +4512,10 @@
- 	execve-v.c execveat.c execveat-v.c faccessat.c fadvise64.c \
- 	fadvise64_64.c fallocate.c fanotify_init.c fanotify_mark.c \
- 	fanotify_mark-Xabbrev.c fanotify_mark-Xraw.c \
--	fanotify_mark-Xverbose.c fchdir.c fchmod.c fchmodat.c fchown.c \
--	fchown32.c fchownat.c fcntl.c fcntl--pidns-translation.c \
--	fcntl64.c fcntl64--pidns-translation.c fdatasync.c fflush.c \
-+	fanotify_mark-Xverbose.c fchdir.c fchmod.c fchmod-y.c \
-+	fchmodat.c fchown.c fchown32.c fchownat.c fcntl.c \
-+	fcntl--pidns-translation.c fcntl64.c \
-+	fcntl64--pidns-translation.c fdatasync.c fflush.c \
- 	file_handle.c file_ioctl.c filter-unavailable.c \
- 	filter_seccomp-flag.c filter_seccomp-perf.c finit_module.c \
- 	flock.c fork--pidns-translation.c fork-f.c fsconfig.c \
-@@ -4755,9 +4760,10 @@
- 	execve-v.c execveat.c execveat-v.c faccessat.c fadvise64.c \
- 	fadvise64_64.c fallocate.c fanotify_init.c fanotify_mark.c \
- 	fanotify_mark-Xabbrev.c fanotify_mark-Xraw.c \
--	fanotify_mark-Xverbose.c fchdir.c fchmod.c fchmodat.c fchown.c \
--	fchown32.c fchownat.c fcntl.c fcntl--pidns-translation.c \
--	fcntl64.c fcntl64--pidns-translation.c fdatasync.c fflush.c \
-+	fanotify_mark-Xverbose.c fchdir.c fchmod.c fchmod-y.c \
-+	fchmodat.c fchown.c fchown32.c fchownat.c fcntl.c \
-+	fcntl--pidns-translation.c fcntl64.c \
-+	fcntl64--pidns-translation.c fdatasync.c fflush.c \
- 	file_handle.c file_ioctl.c filter-unavailable.c \
- 	filter_seccomp-flag.c filter_seccomp-perf.c finit_module.c \
- 	flock.c fork--pidns-translation.c fork-f.c fsconfig.c \
-@@ -5397,6 +5403,7 @@
- libtests_a_SOURCES = \
- 	create_nl_socket.c \
- 	create_tmpfile.c \
-+	dirfd.c \
- 	errno2name.c \
- 	error_msg.c \
- 	fill_memory.c \
-@@ -5507,6 +5514,7 @@
-   fanotify_mark-Xverbose \
-   fchdir \
-   fchmod \
-+  fchmod-y \
-   fchmodat \
-   fchown \
-   fchown32 \
-@@ -6151,11 +6159,11 @@
- 	fanotify_init.gen.test fanotify_mark.gen.test \
- 	fanotify_mark-Xabbrev.gen.test fanotify_mark-Xraw.gen.test \
- 	fanotify_mark-Xverbose.gen.test fchdir.gen.test \
--	fchmod.gen.test fchmodat.gen.test fchown.gen.test \
--	fchown32.gen.test fchownat.gen.test fcntl.gen.test \
--	fcntl--pidns-translation.gen.test fcntl64.gen.test \
--	fcntl64--pidns-translation.gen.test fdatasync.gen.test \
--	file_handle.gen.test file_ioctl.gen.test \
-+	fchmod.gen.test fchmod-y.gen.test fchmodat.gen.test \
-+	fchown.gen.test fchown32.gen.test fchownat.gen.test \
-+	fcntl.gen.test fcntl--pidns-translation.gen.test \
-+	fcntl64.gen.test fcntl64--pidns-translation.gen.test \
-+	fdatasync.gen.test file_handle.gen.test file_ioctl.gen.test \
- 	filter_seccomp.gen.test filter_seccomp-flag.gen.test \
- 	finit_module.gen.test flock.gen.test fork-f.gen.test \
- 	fsconfig.gen.test fsconfig-P.gen.test fsmount.gen.test \
-@@ -7242,6 +7250,10 @@
- 	@rm -f fchmod$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(fchmod_OBJECTS) $(fchmod_LDADD) $(LIBS)
- 
-+fchmod-y$(EXEEXT): $(fchmod_y_OBJECTS) $(fchmod_y_DEPENDENCIES) $(EXTRA_fchmod_y_DEPENDENCIES) 
-+	@rm -f fchmod-y$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(fchmod_y_OBJECTS) $(fchmod_y_LDADD) $(LIBS)
-+
- fchmodat$(EXEEXT): $(fchmodat_OBJECTS) $(fchmodat_DEPENDENCIES) $(EXTRA_fchmodat_DEPENDENCIES) 
- 	@rm -f fchmodat$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(fchmodat_OBJECTS) $(fchmodat_LDADD) $(LIBS)
-@@ -10176,6 +10188,7 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark-Xverbose.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchdir.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod-y.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmodat.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchown.Po@am__quote@ # am--include-marker
-@@ -10394,6 +10407,7 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lchown32.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-create_nl_socket.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-create_tmpfile.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-dirfd.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-errno2name.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-error_msg.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-fill_memory.Po@am__quote@ # am--include-marker
-@@ -10975,6 +10987,20 @@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-create_tmpfile.obj `if test -f 'create_tmpfile.c'; then $(CYGPATH_W) 'create_tmpfile.c'; else $(CYGPATH_W) '$(srcdir)/create_tmpfile.c'; fi`
- 
-+libtests_a-dirfd.o: dirfd.c
-+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-dirfd.o -MD -MP -MF $(DEPDIR)/libtests_a-dirfd.Tpo -c -o libtests_a-dirfd.o `test -f 'dirfd.c' || echo '$(srcdir)/'`dirfd.c
-+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-dirfd.Tpo $(DEPDIR)/libtests_a-dirfd.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='dirfd.c' object='libtests_a-dirfd.o' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-dirfd.o `test -f 'dirfd.c' || echo '$(srcdir)/'`dirfd.c
-+
-+libtests_a-dirfd.obj: dirfd.c
-+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-dirfd.obj -MD -MP -MF $(DEPDIR)/libtests_a-dirfd.Tpo -c -o libtests_a-dirfd.obj `if test -f 'dirfd.c'; then $(CYGPATH_W) 'dirfd.c'; else $(CYGPATH_W) '$(srcdir)/dirfd.c'; fi`
-+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-dirfd.Tpo $(DEPDIR)/libtests_a-dirfd.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='dirfd.c' object='libtests_a-dirfd.obj' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-dirfd.obj `if test -f 'dirfd.c'; then $(CYGPATH_W) 'dirfd.c'; else $(CYGPATH_W) '$(srcdir)/dirfd.c'; fi`
-+
- libtests_a-errno2name.o: errno2name.c
- @am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-errno2name.o -MD -MP -MF $(DEPDIR)/libtests_a-errno2name.Tpo -c -o libtests_a-errno2name.o `test -f 'errno2name.c' || echo '$(srcdir)/'`errno2name.c
- @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-errno2name.Tpo $(DEPDIR)/libtests_a-errno2name.Po
-@@ -14015,6 +14041,9 @@
- $(srcdir)/fchmod.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/fchmod-y.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/fchmodat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-Index: strace-5.7/tests-mx32/Makefile.in
-===================================================================
---- strace-5.7.orig/tests-mx32/Makefile.in	2021-08-24 19:31:43.662872392 +0200
-+++ strace-5.7/tests-mx32/Makefile.in	2021-08-24 19:32:04.039699924 +0200
-@@ -303,7 +303,7 @@
- 	fanotify_init$(EXEEXT) fanotify_mark$(EXEEXT) \
- 	fanotify_mark-Xabbrev$(EXEEXT) fanotify_mark-Xraw$(EXEEXT) \
- 	fanotify_mark-Xverbose$(EXEEXT) fchdir$(EXEEXT) \
--	fchmod$(EXEEXT) fchmodat$(EXEEXT) fchown$(EXEEXT) \
-+	fchmod$(EXEEXT) fchmod-y$(EXEEXT) fchmodat$(EXEEXT) fchown$(EXEEXT) \
- 	fchown32$(EXEEXT) fchownat$(EXEEXT) fcntl$(EXEEXT) \
- 	fcntl64$(EXEEXT) fdatasync$(EXEEXT) fflush$(EXEEXT) \
- 	file_handle$(EXEEXT) file_ioctl$(EXEEXT) finit_module$(EXEEXT) \
-@@ -551,7 +551,7 @@
- libtests_a_AR = $(AR) $(ARFLAGS)
- libtests_a_LIBADD =
- am_libtests_a_OBJECTS = libtests_a-create_nl_socket.$(OBJEXT) \
--	libtests_a-create_tmpfile.$(OBJEXT) \
-+	libtests_a-create_tmpfile.$(OBJEXT) libtests_a-dirfd.$(OBJEXT) \
- 	libtests_a-errno2name.$(OBJEXT) libtests_a-error_msg.$(OBJEXT) \
- 	libtests_a-fill_memory.$(OBJEXT) \
- 	libtests_a-get_page_size.$(OBJEXT) \
-@@ -986,6 +986,10 @@
- fchmod_OBJECTS = fchmod.$(OBJEXT)
- fchmod_LDADD = $(LDADD)
- fchmod_DEPENDENCIES = libtests.a
-+fchmod_y_SOURCES = fchmod-y.c
-+fchmod_y_OBJECTS = fchmod-y.$(OBJEXT)
-+fchmod_y_LDADD = $(LDADD)
-+fchmod_y_DEPENDENCIES = libtests.a
- fchmodat_SOURCES = fchmodat.c
- fchmodat_OBJECTS = fchmodat.$(OBJEXT)
- fchmodat_LDADD = $(LDADD)
-@@ -4508,9 +4512,10 @@
- 	execve-v.c execveat.c execveat-v.c faccessat.c fadvise64.c \
- 	fadvise64_64.c fallocate.c fanotify_init.c fanotify_mark.c \
- 	fanotify_mark-Xabbrev.c fanotify_mark-Xraw.c \
--	fanotify_mark-Xverbose.c fchdir.c fchmod.c fchmodat.c fchown.c \
--	fchown32.c fchownat.c fcntl.c fcntl--pidns-translation.c \
--	fcntl64.c fcntl64--pidns-translation.c fdatasync.c fflush.c \
-+	fanotify_mark-Xverbose.c fchdir.c fchmod.c fchmod-y.c \
-+	fchmodat.c fchown.c fchown32.c fchownat.c fcntl.c \
-+	fcntl--pidns-translation.c fcntl64.c \
-+	fcntl64--pidns-translation.c fdatasync.c fflush.c \
- 	file_handle.c file_ioctl.c filter-unavailable.c \
- 	filter_seccomp-flag.c filter_seccomp-perf.c finit_module.c \
- 	flock.c fork--pidns-translation.c fork-f.c fsconfig.c \
-@@ -4755,9 +4760,10 @@
- 	execve-v.c execveat.c execveat-v.c faccessat.c fadvise64.c \
- 	fadvise64_64.c fallocate.c fanotify_init.c fanotify_mark.c \
- 	fanotify_mark-Xabbrev.c fanotify_mark-Xraw.c \
--	fanotify_mark-Xverbose.c fchdir.c fchmod.c fchmodat.c fchown.c \
--	fchown32.c fchownat.c fcntl.c fcntl--pidns-translation.c \
--	fcntl64.c fcntl64--pidns-translation.c fdatasync.c fflush.c \
-+	fanotify_mark-Xverbose.c fchdir.c fchmod.c fchmod-y.c \
-+	fchmodat.c fchown.c fchown32.c fchownat.c fcntl.c \
-+	fcntl--pidns-translation.c fcntl64.c \
-+	fcntl64--pidns-translation.c fdatasync.c fflush.c \
- 	file_handle.c file_ioctl.c filter-unavailable.c \
- 	filter_seccomp-flag.c filter_seccomp-perf.c finit_module.c \
- 	flock.c fork--pidns-translation.c fork-f.c fsconfig.c \
-@@ -5397,6 +5403,7 @@
- libtests_a_SOURCES = \
- 	create_nl_socket.c \
- 	create_tmpfile.c \
-+	dirfd.c \
- 	errno2name.c \
- 	error_msg.c \
- 	fill_memory.c \
-@@ -5507,6 +5514,7 @@
-   fanotify_mark-Xverbose \
-   fchdir \
-   fchmod \
-+  fchmod-y \
-   fchmodat \
-   fchown \
-   fchown32 \
-@@ -6151,11 +6159,11 @@
- 	fanotify_init.gen.test fanotify_mark.gen.test \
- 	fanotify_mark-Xabbrev.gen.test fanotify_mark-Xraw.gen.test \
- 	fanotify_mark-Xverbose.gen.test fchdir.gen.test \
--	fchmod.gen.test fchmodat.gen.test fchown.gen.test \
--	fchown32.gen.test fchownat.gen.test fcntl.gen.test \
--	fcntl--pidns-translation.gen.test fcntl64.gen.test \
--	fcntl64--pidns-translation.gen.test fdatasync.gen.test \
--	file_handle.gen.test file_ioctl.gen.test \
-+	fchmod.gen.test fchmod-y.gen.test fchmodat.gen.test \
-+	fchown.gen.test fchown32.gen.test fchownat.gen.test \
-+	fcntl.gen.test fcntl--pidns-translation.gen.test \
-+	fcntl64.gen.test fcntl64--pidns-translation.gen.test \
-+	fdatasync.gen.test file_handle.gen.test file_ioctl.gen.test \
- 	filter_seccomp.gen.test filter_seccomp-flag.gen.test \
- 	finit_module.gen.test flock.gen.test fork-f.gen.test \
- 	fsconfig.gen.test fsconfig-P.gen.test fsmount.gen.test \
-@@ -7242,6 +7250,10 @@
- 	@rm -f fchmod$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(fchmod_OBJECTS) $(fchmod_LDADD) $(LIBS)
- 
-+fchmod-y$(EXEEXT): $(fchmod_y_OBJECTS) $(fchmod_y_DEPENDENCIES) $(EXTRA_fchmod_y_DEPENDENCIES) 
-+	@rm -f fchmod-y$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(fchmod_y_OBJECTS) $(fchmod_y_LDADD) $(LIBS)
-+
- fchmodat$(EXEEXT): $(fchmodat_OBJECTS) $(fchmodat_DEPENDENCIES) $(EXTRA_fchmodat_DEPENDENCIES) 
- 	@rm -f fchmodat$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(fchmodat_OBJECTS) $(fchmodat_LDADD) $(LIBS)
-@@ -10176,6 +10188,7 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark-Xverbose.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchdir.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod-y.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmodat.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchown.Po@am__quote@ # am--include-marker
-@@ -10394,6 +10407,7 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lchown32.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-create_nl_socket.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-create_tmpfile.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-dirfd.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-errno2name.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-error_msg.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-fill_memory.Po@am__quote@ # am--include-marker
-@@ -10975,6 +10987,20 @@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-create_tmpfile.obj `if test -f 'create_tmpfile.c'; then $(CYGPATH_W) 'create_tmpfile.c'; else $(CYGPATH_W) '$(srcdir)/create_tmpfile.c'; fi`
- 
-+libtests_a-dirfd.o: dirfd.c
-+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-dirfd.o -MD -MP -MF $(DEPDIR)/libtests_a-dirfd.Tpo -c -o libtests_a-dirfd.o `test -f 'dirfd.c' || echo '$(srcdir)/'`dirfd.c
-+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-dirfd.Tpo $(DEPDIR)/libtests_a-dirfd.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='dirfd.c' object='libtests_a-dirfd.o' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-dirfd.o `test -f 'dirfd.c' || echo '$(srcdir)/'`dirfd.c
-+
-+libtests_a-dirfd.obj: dirfd.c
-+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-dirfd.obj -MD -MP -MF $(DEPDIR)/libtests_a-dirfd.Tpo -c -o libtests_a-dirfd.obj `if test -f 'dirfd.c'; then $(CYGPATH_W) 'dirfd.c'; else $(CYGPATH_W) '$(srcdir)/dirfd.c'; fi`
-+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-dirfd.Tpo $(DEPDIR)/libtests_a-dirfd.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='dirfd.c' object='libtests_a-dirfd.obj' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-dirfd.obj `if test -f 'dirfd.c'; then $(CYGPATH_W) 'dirfd.c'; else $(CYGPATH_W) '$(srcdir)/dirfd.c'; fi`
-+
- libtests_a-errno2name.o: errno2name.c
- @am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-errno2name.o -MD -MP -MF $(DEPDIR)/libtests_a-errno2name.Tpo -c -o libtests_a-errno2name.o `test -f 'errno2name.c' || echo '$(srcdir)/'`errno2name.c
- @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-errno2name.Tpo $(DEPDIR)/libtests_a-errno2name.Po
-@@ -14015,6 +14041,9 @@
- $(srcdir)/fchmod.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/fchmod-y.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/fchmodat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
diff --git a/SOURCES/0143-tests-introduce-create_and_enter_subdir-and-leave_an.patch b/SOURCES/0143-tests-introduce-create_and_enter_subdir-and-leave_an.patch
deleted file mode 100644
index d8d067b..0000000
--- a/SOURCES/0143-tests-introduce-create_and_enter_subdir-and-leave_an.patch
+++ /dev/null
@@ -1,1270 +0,0 @@
-From 8f4f1f846588e9016b546889466b8bfb92b8c116 Mon Sep 17 00:00:00 2001
-From: "Dmitry V. Levin" <ldv@strace.io>
-Date: Thu, 1 Apr 2021 08:00:00 +0000
-Subject: [PATCH 143/149] tests: introduce create_and_enter_subdir and
- leave_and_remove_subdir
-
-Introduce the pair of functions that is going to be used to make sure
-the current workdir of the tracee is different from the current workdir
-of the tracer.
-
-Use the new interface in a few tests where the difference is going to be
-relevant with --secontext option.
-
-* tests/subdir.c: New file.
-* tests/Makefile.am (libtests_a_SOURCES): Add subdir.c.
-* tests/tests.h (create_and_enter_subdir, leave_and_remove_subdir):
-New function prototypes.
-* tests/access.c (main): Use create_and_enter_subdir and
-leave_and_remove_subdir.
-* tests/chmod.c (main): Likewise.
-* tests/execve.c (main): Likewise.
-* tests/fchmod.c (main): Likewise.
-* tests/fchmodat.c (main): Likewise.
-* tests/fchownat.c (main): Likewise.
-* tests/linkat.c (main): Likewise.
-* tests/open.c (main): Likewise.
-* tests/openat.c (main): Likewise.
-
-Conflicts:
-	tests/execve.c
----
- tests/Makefile.am |  1 +
- tests/access.c    | 10 +++++++++-
- tests/chmod.c     |  9 ++++++++-
- tests/execve.c    | 12 ++++++++++--
- tests/fchmod.c    |  8 ++++++++
- tests/fchmodat.c  |  9 ++++++++-
- tests/fchownat.c  |  8 ++++++++
- tests/linkat.c    | 10 +++++++++-
- tests/open.c      |  8 ++++++++
- tests/openat.c    | 10 +++++++++-
- tests/subdir.c    | 40 ++++++++++++++++++++++++++++++++++++++++
- tests/tests.h     | 12 ++++++++++++
- 12 files changed, 130 insertions(+), 7 deletions(-)
- create mode 100644 tests/subdir.c
-
-Index: strace-5.7/tests/Makefile.am
-===================================================================
---- strace-5.7.orig/tests/Makefile.am	2021-08-24 19:42:08.850580847 +0200
-+++ strace-5.7/tests/Makefile.am	2021-08-24 19:42:16.041519983 +0200
-@@ -58,6 +58,7 @@
- 	skip_unavailable.c \
- 	sprintrc.c \
- 	status.c \
-+	subdir.c \
- 	tail_alloc.c \
- 	test_netlink.h \
- 	test_nlattr.h \
-Index: strace-5.7/tests/access.c
-===================================================================
---- strace-5.7.orig/tests/access.c	2021-08-24 19:42:08.851580838 +0200
-+++ strace-5.7/tests/access.c	2021-08-24 19:42:16.041519983 +0200
-@@ -1,5 +1,5 @@
- /*
-- * Copyright (c) 2016-2019 The strace developers.
-+ * Copyright (c) 2016-2021 The strace developers.
-  * All rights reserved.
-  *
-  * SPDX-License-Identifier: GPL-2.0-or-later
-@@ -16,6 +16,12 @@
- int
- main(void)
- {
-+	/*
-+	 * Make sure the current workdir of the tracee
-+	 * is different from the current workdir of the tracer.
-+	 */
-+	create_and_enter_subdir("access_subdir");
-+
- 	static const char sample[] = "access_sample";
- 
- 	long rc = syscall(__NR_access, sample, F_OK);
-@@ -26,6 +32,8 @@
- 	printf("access(\"%s\", R_OK|W_OK|X_OK) = %ld %s (%m)\n",
- 	       sample, rc, errno2name());
- 
-+	leave_and_remove_subdir();
-+
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests/chmod.c
-===================================================================
---- strace-5.7.orig/tests/chmod.c	2021-08-24 19:42:08.851580838 +0200
-+++ strace-5.7/tests/chmod.c	2021-08-24 19:42:16.042519974 +0200
-@@ -15,11 +15,16 @@
- # include <fcntl.h>
- # include <stdio.h>
- # include <unistd.h>
--# include <errno.h>
- 
- int
- main(void)
- {
-+	/*
-+	 * Make sure the current workdir of the tracee
-+	 * is different from the current workdir of the tracer.
-+	 */
-+	create_and_enter_subdir("chmod_subdir");
-+
- 	static const char fname[] = "chmod_test_file";
- 
- 	if (open(fname, O_CREAT|O_RDONLY, 0400) < 0)
-@@ -37,6 +42,8 @@
- 	rc = syscall(__NR_chmod, fname, 004);
- 	printf("chmod(\"%s\", 004) = %s\n", fname, sprintrc(rc));
- 
-+	leave_and_remove_subdir();
-+
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests/execve.c
-===================================================================
---- strace-5.7.orig/tests/execve.c	2021-08-24 19:42:08.851580838 +0200
-+++ strace-5.7/tests/execve.c	2021-08-24 19:42:16.042519974 +0200
-@@ -1,8 +1,8 @@
- /*
-  * This file is part of execve strace test.
-  *
-- * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
-- * Copyright (c) 2015-2018 The strace developers.
-+ * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@strace.io>
-+ * Copyright (c) 2015-2021 The strace developers.
-  * All rights reserved.
-  *
-  * SPDX-License-Identifier: GPL-2.0-or-later
-@@ -34,6 +34,12 @@
- int
- main(void)
- {
-+	/*
-+	 * Make sure the current workdir of the tracee
-+	 * is different from the current workdir of the tracer.
-+	 */
-+	create_and_enter_subdir("execve_subdir");
-+
- 	char ** const tail_argv = tail_memdup(argv, sizeof(argv));
- 	char ** const tail_envp = tail_memdup(envp, sizeof(envp));
- 
-@@ -167,5 +173,7 @@
- 	printf("execve(\"%s\", %p, NULL) = -1 ENOENT (%m)\n",
- 	       Q_FILENAME, efault);
- 
-+	leave_and_remove_subdir();
-+
- 	return 0;
- }
-Index: strace-5.7/tests/fchmod.c
-===================================================================
---- strace-5.7.orig/tests/fchmod.c	2021-08-24 19:42:08.851580838 +0200
-+++ strace-5.7/tests/fchmod.c	2021-08-24 19:42:16.042519974 +0200
-@@ -21,6 +21,12 @@
- int
- main(void)
- {
-+	/*
-+	 * Make sure the current workdir of the tracee
-+	 * is different from the current workdir of the tracer.
-+	 */
-+	create_and_enter_subdir("fchmod_subdir");
-+
- 	static const char sample[] = "fchmod_sample_file";
- 	(void) unlink(sample);
- 	int fd = open(sample, O_CREAT|O_RDONLY, 0400);
-@@ -70,6 +76,8 @@
- # endif
- 	       sprintrc(rc));
- 
-+	leave_and_remove_subdir();
-+
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests/fchmodat.c
-===================================================================
---- strace-5.7.orig/tests/fchmodat.c	2021-08-24 19:42:08.851580838 +0200
-+++ strace-5.7/tests/fchmodat.c	2021-08-24 19:42:16.043519966 +0200
-@@ -14,13 +14,18 @@
- #ifdef __NR_fchmodat
- 
- # include <fcntl.h>
--# include <sys/stat.h>
- # include <stdio.h>
- # include <unistd.h>
- 
- int
- main(void)
- {
-+	/*
-+	 * Make sure the current workdir of the tracee
-+	 * is different from the current workdir of the tracer.
-+	 */
-+	create_and_enter_subdir("fchmodat_subdir");
-+
- 	static const char sample[] = "fchmodat_sample";
- 
- 	if (open(sample, O_RDONLY | O_CREAT, 0400) < 0)
-@@ -41,6 +46,8 @@
- 	printf("fchmodat(AT_FDCWD, \"%s\", 004) = %s\n",
- 	       sample, sprintrc(rc));
- 
-+	leave_and_remove_subdir();
-+
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests/fchownat.c
-===================================================================
---- strace-5.7.orig/tests/fchownat.c	2021-08-24 19:42:08.852580830 +0200
-+++ strace-5.7/tests/fchownat.c	2021-08-24 19:42:16.043519966 +0200
-@@ -20,6 +20,12 @@
- int
- main(void)
- {
-+	/*
-+	 * Make sure the current workdir of the tracee
-+	 * is different from the current workdir of the tracer.
-+	 */
-+	create_and_enter_subdir("fchownat_subdir");
-+
- 	static const char sample[] = "fchownat_sample";
- 	uid_t uid = geteuid();
- 	uid_t gid = getegid();
-@@ -39,6 +45,8 @@
- 	printf("fchownat(AT_FDCWD, \"%s\", -1, -1, AT_SYMLINK_NOFOLLOW) = %s\n",
- 	       sample, sprintrc(rc));
- 
-+	leave_and_remove_subdir();
-+
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests/linkat.c
-===================================================================
---- strace-5.7.orig/tests/linkat.c	2021-08-24 19:42:08.852580830 +0200
-+++ strace-5.7/tests/linkat.c	2021-08-24 19:42:16.043519966 +0200
-@@ -1,5 +1,5 @@
- /*
-- * Copyright (c) 2016-2019 The strace developers.
-+ * Copyright (c) 2016-2021 The strace developers.
-  * All rights reserved.
-  *
-  * SPDX-License-Identifier: GPL-2.0-or-later
-@@ -16,6 +16,12 @@
- int
- main(void)
- {
-+	/*
-+	 * Make sure the current workdir of the tracee
-+	 * is different from the current workdir of the tracer.
-+	 */
-+	create_and_enter_subdir("linkat_subdir");
-+
- 	static const char sample_1[] = "linkat_sample_old";
- 	static const char sample_2[] = "linkat_sample_new";
- 	const long fd_old = (long) 0xdeadbeefffffffffULL;
-@@ -33,6 +39,8 @@
- 	       "|AT_NO_AUTOMOUNT|AT_EMPTY_PATH|AT_RECURSIVE|0xffff60ff",
- 	       rc, errno2name());
- 
-+	leave_and_remove_subdir();
-+
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests/open.c
-===================================================================
---- strace-5.7.orig/tests/open.c	2021-08-24 19:42:08.852580830 +0200
-+++ strace-5.7/tests/open.c	2021-08-24 19:42:16.044519958 +0200
-@@ -18,6 +18,12 @@
- int
- main(void)
- {
-+	/*
-+	 * Make sure the current workdir of the tracee
-+	 * is different from the current workdir of the tracer.
-+	 */
-+	create_and_enter_subdir("open_subdir");
-+
- 	static const char sample[] = "open.sample";
- 
- 	long fd = syscall(__NR_open, sample, O_RDONLY|O_CREAT, 0400);
-@@ -43,6 +49,8 @@
- 	       sample, sprintrc(fd));
- # endif /* O_TMPFILE */
- 
-+	leave_and_remove_subdir();
-+
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests/openat.c
-===================================================================
---- strace-5.7.orig/tests/openat.c	2021-08-24 19:42:08.852580830 +0200
-+++ strace-5.7/tests/openat.c	2021-08-24 19:42:16.044519958 +0200
-@@ -1,6 +1,6 @@
- /*
-  * Copyright (c) 2016 Katerina Koukiou <k.koukiou@gmail.com>
-- * Copyright (c) 2016-2019 The strace developers.
-+ * Copyright (c) 2016-2021 The strace developers.
-  * All rights reserved.
-  *
-  * SPDX-License-Identifier: GPL-2.0-or-later
-@@ -39,6 +39,12 @@
- int
- main(void)
- {
-+	/*
-+	 * Make sure the current workdir of the tracee
-+	 * is different from the current workdir of the tracer.
-+	 */
-+	create_and_enter_subdir("openat_subdir");
-+
- 	long fd = syscall(__NR_openat, -100, sample, O_RDONLY|O_CREAT, 0400);
- 	printf("openat(AT_FDCWD, \"%s\", O_RDONLY|O_CREAT, 0400) = %s\n",
- 	       sample, sprintrc(fd));
-@@ -101,6 +107,8 @@
- 			test_mode_flag(modes[m].val, modes[m].str,
- 				       flags[f].val, flags[f].str);
- 
-+	leave_and_remove_subdir();
-+
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests/subdir.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests/subdir.c	2021-08-24 19:42:16.044519958 +0200
-@@ -0,0 +1,40 @@
-+/*
-+ * Copyright (c) 2021 The strace developers.
-+ * All rights reserved.
-+ *
-+ * SPDX-License-Identifier: GPL-2.0-or-later
-+ */
-+
-+#include "tests.h"
-+
-+#include <dirent.h>
-+#include <unistd.h>
-+#include <sys/stat.h>
-+
-+static const char *subdir;
-+static DIR *dirp;
-+
-+void
-+create_and_enter_subdir(const char *name)
-+{
-+	dirp = opendir(".");
-+	if (!dirp)
-+		perror_msg_and_fail("opendir: %s", ".");
-+	(void) mkdir(name, 0700);
-+	if (chdir(name))
-+		perror_msg_and_fail("chdir: %s", name);
-+	subdir = name;
-+}
-+
-+void
-+leave_and_remove_subdir(void)
-+{
-+	if (fchdir(dirfd(dirp)))
-+		perror_msg_and_fail("fchdir: %d", dirfd(dirp));
-+	if (closedir(dirp))
-+		perror_msg_and_fail("closedir");
-+	dirp = 0;
-+	if (rmdir(subdir))
-+		perror_msg_and_fail("rmdir: %s", subdir);
-+	subdir = 0;
-+}
-Index: strace-5.7/tests/tests.h
-===================================================================
---- strace-5.7.orig/tests/tests.h	2021-08-24 19:42:08.852580830 +0200
-+++ strace-5.7/tests/tests.h	2021-08-24 19:42:16.045519949 +0200
-@@ -161,6 +161,18 @@
- char *get_fd_path(int fd) ATTRIBUTE_MALLOC;
- 
- /*
-+ * Create the specified directory and chdir into it,
-+ * die on chdir failure.
-+ */
-+void create_and_enter_subdir(const char *subdir);
-+
-+/*
-+ * Leave from the directory entered by create_and_enter_subdir,
-+ * remove that directory, die on failure.
-+ */
-+void leave_and_remove_subdir(void);
-+
-+/*
-  * Obtain an exclusive lock on dirname(path_name)/lock_name file
-  * using open and flock.
-  */
-Index: strace-5.7/tests-m32/Makefile.am
-===================================================================
---- strace-5.7.orig/tests-m32/Makefile.am	2021-08-24 19:42:08.853580821 +0200
-+++ strace-5.7/tests-m32/Makefile.am	2021-08-24 19:42:16.045519949 +0200
-@@ -58,6 +58,7 @@
- 	skip_unavailable.c \
- 	sprintrc.c \
- 	status.c \
-+	subdir.c \
- 	tail_alloc.c \
- 	test_netlink.h \
- 	test_nlattr.h \
-Index: strace-5.7/tests-m32/access.c
-===================================================================
---- strace-5.7.orig/tests-m32/access.c	2021-08-24 19:42:08.853580821 +0200
-+++ strace-5.7/tests-m32/access.c	2021-08-24 19:42:16.045519949 +0200
-@@ -1,5 +1,5 @@
- /*
-- * Copyright (c) 2016-2019 The strace developers.
-+ * Copyright (c) 2016-2021 The strace developers.
-  * All rights reserved.
-  *
-  * SPDX-License-Identifier: GPL-2.0-or-later
-@@ -16,6 +16,12 @@
- int
- main(void)
- {
-+	/*
-+	 * Make sure the current workdir of the tracee
-+	 * is different from the current workdir of the tracer.
-+	 */
-+	create_and_enter_subdir("access_subdir");
-+
- 	static const char sample[] = "access_sample";
- 
- 	long rc = syscall(__NR_access, sample, F_OK);
-@@ -26,6 +32,8 @@
- 	printf("access(\"%s\", R_OK|W_OK|X_OK) = %ld %s (%m)\n",
- 	       sample, rc, errno2name());
- 
-+	leave_and_remove_subdir();
-+
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests-m32/chmod.c
-===================================================================
---- strace-5.7.orig/tests-m32/chmod.c	2021-08-24 19:42:08.853580821 +0200
-+++ strace-5.7/tests-m32/chmod.c	2021-08-24 19:42:16.046519941 +0200
-@@ -15,11 +15,16 @@
- # include <fcntl.h>
- # include <stdio.h>
- # include <unistd.h>
--# include <errno.h>
- 
- int
- main(void)
- {
-+	/*
-+	 * Make sure the current workdir of the tracee
-+	 * is different from the current workdir of the tracer.
-+	 */
-+	create_and_enter_subdir("chmod_subdir");
-+
- 	static const char fname[] = "chmod_test_file";
- 
- 	if (open(fname, O_CREAT|O_RDONLY, 0400) < 0)
-@@ -37,6 +42,8 @@
- 	rc = syscall(__NR_chmod, fname, 004);
- 	printf("chmod(\"%s\", 004) = %s\n", fname, sprintrc(rc));
- 
-+	leave_and_remove_subdir();
-+
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests-m32/execve.c
-===================================================================
---- strace-5.7.orig/tests-m32/execve.c	2021-08-24 19:42:08.853580821 +0200
-+++ strace-5.7/tests-m32/execve.c	2021-08-24 19:42:16.046519941 +0200
-@@ -1,8 +1,8 @@
- /*
-  * This file is part of execve strace test.
-  *
-- * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
-- * Copyright (c) 2015-2018 The strace developers.
-+ * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@strace.io>
-+ * Copyright (c) 2015-2021 The strace developers.
-  * All rights reserved.
-  *
-  * SPDX-License-Identifier: GPL-2.0-or-later
-@@ -34,6 +34,12 @@
- int
- main(void)
- {
-+	/*
-+	 * Make sure the current workdir of the tracee
-+	 * is different from the current workdir of the tracer.
-+	 */
-+	create_and_enter_subdir("execve_subdir");
-+
- 	char ** const tail_argv = tail_memdup(argv, sizeof(argv));
- 	char ** const tail_envp = tail_memdup(envp, sizeof(envp));
- 
-@@ -167,5 +173,7 @@
- 	printf("execve(\"%s\", %p, NULL) = -1 ENOENT (%m)\n",
- 	       Q_FILENAME, efault);
- 
-+	leave_and_remove_subdir();
-+
- 	return 0;
- }
-Index: strace-5.7/tests-m32/fchmod.c
-===================================================================
---- strace-5.7.orig/tests-m32/fchmod.c	2021-08-24 19:42:08.853580821 +0200
-+++ strace-5.7/tests-m32/fchmod.c	2021-08-24 19:42:16.046519941 +0200
-@@ -21,6 +21,12 @@
- int
- main(void)
- {
-+	/*
-+	 * Make sure the current workdir of the tracee
-+	 * is different from the current workdir of the tracer.
-+	 */
-+	create_and_enter_subdir("fchmod_subdir");
-+
- 	static const char sample[] = "fchmod_sample_file";
- 	(void) unlink(sample);
- 	int fd = open(sample, O_CREAT|O_RDONLY, 0400);
-@@ -70,6 +76,8 @@
- # endif
- 	       sprintrc(rc));
- 
-+	leave_and_remove_subdir();
-+
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests-m32/fchmodat.c
-===================================================================
---- strace-5.7.orig/tests-m32/fchmodat.c	2021-08-24 19:42:08.854580813 +0200
-+++ strace-5.7/tests-m32/fchmodat.c	2021-08-24 19:42:16.046519941 +0200
-@@ -14,13 +14,18 @@
- #ifdef __NR_fchmodat
- 
- # include <fcntl.h>
--# include <sys/stat.h>
- # include <stdio.h>
- # include <unistd.h>
- 
- int
- main(void)
- {
-+	/*
-+	 * Make sure the current workdir of the tracee
-+	 * is different from the current workdir of the tracer.
-+	 */
-+	create_and_enter_subdir("fchmodat_subdir");
-+
- 	static const char sample[] = "fchmodat_sample";
- 
- 	if (open(sample, O_RDONLY | O_CREAT, 0400) < 0)
-@@ -41,6 +46,8 @@
- 	printf("fchmodat(AT_FDCWD, \"%s\", 004) = %s\n",
- 	       sample, sprintrc(rc));
- 
-+	leave_and_remove_subdir();
-+
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests-m32/fchownat.c
-===================================================================
---- strace-5.7.orig/tests-m32/fchownat.c	2021-08-24 19:42:08.854580813 +0200
-+++ strace-5.7/tests-m32/fchownat.c	2021-08-24 19:42:16.047519932 +0200
-@@ -20,6 +20,12 @@
- int
- main(void)
- {
-+	/*
-+	 * Make sure the current workdir of the tracee
-+	 * is different from the current workdir of the tracer.
-+	 */
-+	create_and_enter_subdir("fchownat_subdir");
-+
- 	static const char sample[] = "fchownat_sample";
- 	uid_t uid = geteuid();
- 	uid_t gid = getegid();
-@@ -39,6 +45,8 @@
- 	printf("fchownat(AT_FDCWD, \"%s\", -1, -1, AT_SYMLINK_NOFOLLOW) = %s\n",
- 	       sample, sprintrc(rc));
- 
-+	leave_and_remove_subdir();
-+
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests-m32/linkat.c
-===================================================================
---- strace-5.7.orig/tests-m32/linkat.c	2021-08-24 19:42:08.854580813 +0200
-+++ strace-5.7/tests-m32/linkat.c	2021-08-24 19:42:16.047519932 +0200
-@@ -1,5 +1,5 @@
- /*
-- * Copyright (c) 2016-2019 The strace developers.
-+ * Copyright (c) 2016-2021 The strace developers.
-  * All rights reserved.
-  *
-  * SPDX-License-Identifier: GPL-2.0-or-later
-@@ -16,6 +16,12 @@
- int
- main(void)
- {
-+	/*
-+	 * Make sure the current workdir of the tracee
-+	 * is different from the current workdir of the tracer.
-+	 */
-+	create_and_enter_subdir("linkat_subdir");
-+
- 	static const char sample_1[] = "linkat_sample_old";
- 	static const char sample_2[] = "linkat_sample_new";
- 	const long fd_old = (long) 0xdeadbeefffffffffULL;
-@@ -33,6 +39,8 @@
- 	       "|AT_NO_AUTOMOUNT|AT_EMPTY_PATH|AT_RECURSIVE|0xffff60ff",
- 	       rc, errno2name());
- 
-+	leave_and_remove_subdir();
-+
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests-m32/open.c
-===================================================================
---- strace-5.7.orig/tests-m32/open.c	2021-08-24 19:42:08.854580813 +0200
-+++ strace-5.7/tests-m32/open.c	2021-08-24 19:42:16.047519932 +0200
-@@ -18,6 +18,12 @@
- int
- main(void)
- {
-+	/*
-+	 * Make sure the current workdir of the tracee
-+	 * is different from the current workdir of the tracer.
-+	 */
-+	create_and_enter_subdir("open_subdir");
-+
- 	static const char sample[] = "open.sample";
- 
- 	long fd = syscall(__NR_open, sample, O_RDONLY|O_CREAT, 0400);
-@@ -43,6 +49,8 @@
- 	       sample, sprintrc(fd));
- # endif /* O_TMPFILE */
- 
-+	leave_and_remove_subdir();
-+
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests-m32/openat.c
-===================================================================
---- strace-5.7.orig/tests-m32/openat.c	2021-08-24 19:42:08.854580813 +0200
-+++ strace-5.7/tests-m32/openat.c	2021-08-24 19:42:16.047519932 +0200
-@@ -1,6 +1,6 @@
- /*
-  * Copyright (c) 2016 Katerina Koukiou <k.koukiou@gmail.com>
-- * Copyright (c) 2016-2019 The strace developers.
-+ * Copyright (c) 2016-2021 The strace developers.
-  * All rights reserved.
-  *
-  * SPDX-License-Identifier: GPL-2.0-or-later
-@@ -39,6 +39,12 @@
- int
- main(void)
- {
-+	/*
-+	 * Make sure the current workdir of the tracee
-+	 * is different from the current workdir of the tracer.
-+	 */
-+	create_and_enter_subdir("openat_subdir");
-+
- 	long fd = syscall(__NR_openat, -100, sample, O_RDONLY|O_CREAT, 0400);
- 	printf("openat(AT_FDCWD, \"%s\", O_RDONLY|O_CREAT, 0400) = %s\n",
- 	       sample, sprintrc(fd));
-@@ -101,6 +107,8 @@
- 			test_mode_flag(modes[m].val, modes[m].str,
- 				       flags[f].val, flags[f].str);
- 
-+	leave_and_remove_subdir();
-+
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests-m32/subdir.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-m32/subdir.c	2021-08-24 19:42:16.048519924 +0200
-@@ -0,0 +1,40 @@
-+/*
-+ * Copyright (c) 2021 The strace developers.
-+ * All rights reserved.
-+ *
-+ * SPDX-License-Identifier: GPL-2.0-or-later
-+ */
-+
-+#include "tests.h"
-+
-+#include <dirent.h>
-+#include <unistd.h>
-+#include <sys/stat.h>
-+
-+static const char *subdir;
-+static DIR *dirp;
-+
-+void
-+create_and_enter_subdir(const char *name)
-+{
-+	dirp = opendir(".");
-+	if (!dirp)
-+		perror_msg_and_fail("opendir: %s", ".");
-+	(void) mkdir(name, 0700);
-+	if (chdir(name))
-+		perror_msg_and_fail("chdir: %s", name);
-+	subdir = name;
-+}
-+
-+void
-+leave_and_remove_subdir(void)
-+{
-+	if (fchdir(dirfd(dirp)))
-+		perror_msg_and_fail("fchdir: %d", dirfd(dirp));
-+	if (closedir(dirp))
-+		perror_msg_and_fail("closedir");
-+	dirp = 0;
-+	if (rmdir(subdir))
-+		perror_msg_and_fail("rmdir: %s", subdir);
-+	subdir = 0;
-+}
-Index: strace-5.7/tests-m32/tests.h
-===================================================================
---- strace-5.7.orig/tests-m32/tests.h	2021-08-24 19:42:08.855580804 +0200
-+++ strace-5.7/tests-m32/tests.h	2021-08-24 19:42:16.048519924 +0200
-@@ -161,6 +161,18 @@
- char *get_fd_path(int fd) ATTRIBUTE_MALLOC;
- 
- /*
-+ * Create the specified directory and chdir into it,
-+ * die on chdir failure.
-+ */
-+void create_and_enter_subdir(const char *subdir);
-+
-+/*
-+ * Leave from the directory entered by create_and_enter_subdir,
-+ * remove that directory, die on failure.
-+ */
-+void leave_and_remove_subdir(void);
-+
-+/*
-  * Obtain an exclusive lock on dirname(path_name)/lock_name file
-  * using open and flock.
-  */
-Index: strace-5.7/tests-mx32/Makefile.am
-===================================================================
---- strace-5.7.orig/tests-mx32/Makefile.am	2021-08-24 19:42:08.855580804 +0200
-+++ strace-5.7/tests-mx32/Makefile.am	2021-08-24 19:42:16.048519924 +0200
-@@ -58,6 +58,7 @@
- 	skip_unavailable.c \
- 	sprintrc.c \
- 	status.c \
-+	subdir.c \
- 	tail_alloc.c \
- 	test_netlink.h \
- 	test_nlattr.h \
-Index: strace-5.7/tests-mx32/access.c
-===================================================================
---- strace-5.7.orig/tests-mx32/access.c	2021-08-24 19:42:08.855580804 +0200
-+++ strace-5.7/tests-mx32/access.c	2021-08-24 19:42:16.048519924 +0200
-@@ -1,5 +1,5 @@
- /*
-- * Copyright (c) 2016-2019 The strace developers.
-+ * Copyright (c) 2016-2021 The strace developers.
-  * All rights reserved.
-  *
-  * SPDX-License-Identifier: GPL-2.0-or-later
-@@ -16,6 +16,12 @@
- int
- main(void)
- {
-+	/*
-+	 * Make sure the current workdir of the tracee
-+	 * is different from the current workdir of the tracer.
-+	 */
-+	create_and_enter_subdir("access_subdir");
-+
- 	static const char sample[] = "access_sample";
- 
- 	long rc = syscall(__NR_access, sample, F_OK);
-@@ -26,6 +32,8 @@
- 	printf("access(\"%s\", R_OK|W_OK|X_OK) = %ld %s (%m)\n",
- 	       sample, rc, errno2name());
- 
-+	leave_and_remove_subdir();
-+
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests-mx32/chmod.c
-===================================================================
---- strace-5.7.orig/tests-mx32/chmod.c	2021-08-24 19:42:08.855580804 +0200
-+++ strace-5.7/tests-mx32/chmod.c	2021-08-24 19:42:16.049519915 +0200
-@@ -15,11 +15,16 @@
- # include <fcntl.h>
- # include <stdio.h>
- # include <unistd.h>
--# include <errno.h>
- 
- int
- main(void)
- {
-+	/*
-+	 * Make sure the current workdir of the tracee
-+	 * is different from the current workdir of the tracer.
-+	 */
-+	create_and_enter_subdir("chmod_subdir");
-+
- 	static const char fname[] = "chmod_test_file";
- 
- 	if (open(fname, O_CREAT|O_RDONLY, 0400) < 0)
-@@ -37,6 +42,8 @@
- 	rc = syscall(__NR_chmod, fname, 004);
- 	printf("chmod(\"%s\", 004) = %s\n", fname, sprintrc(rc));
- 
-+	leave_and_remove_subdir();
-+
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests-mx32/execve.c
-===================================================================
---- strace-5.7.orig/tests-mx32/execve.c	2021-08-24 19:42:08.855580804 +0200
-+++ strace-5.7/tests-mx32/execve.c	2021-08-24 19:42:16.049519915 +0200
-@@ -1,8 +1,8 @@
- /*
-  * This file is part of execve strace test.
-  *
-- * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
-- * Copyright (c) 2015-2018 The strace developers.
-+ * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@strace.io>
-+ * Copyright (c) 2015-2021 The strace developers.
-  * All rights reserved.
-  *
-  * SPDX-License-Identifier: GPL-2.0-or-later
-@@ -34,6 +34,12 @@
- int
- main(void)
- {
-+	/*
-+	 * Make sure the current workdir of the tracee
-+	 * is different from the current workdir of the tracer.
-+	 */
-+	create_and_enter_subdir("execve_subdir");
-+
- 	char ** const tail_argv = tail_memdup(argv, sizeof(argv));
- 	char ** const tail_envp = tail_memdup(envp, sizeof(envp));
- 
-@@ -167,5 +173,7 @@
- 	printf("execve(\"%s\", %p, NULL) = -1 ENOENT (%m)\n",
- 	       Q_FILENAME, efault);
- 
-+	leave_and_remove_subdir();
-+
- 	return 0;
- }
-Index: strace-5.7/tests-mx32/fchmod.c
-===================================================================
---- strace-5.7.orig/tests-mx32/fchmod.c	2021-08-24 19:42:08.856580796 +0200
-+++ strace-5.7/tests-mx32/fchmod.c	2021-08-24 19:42:16.049519915 +0200
-@@ -21,6 +21,12 @@
- int
- main(void)
- {
-+	/*
-+	 * Make sure the current workdir of the tracee
-+	 * is different from the current workdir of the tracer.
-+	 */
-+	create_and_enter_subdir("fchmod_subdir");
-+
- 	static const char sample[] = "fchmod_sample_file";
- 	(void) unlink(sample);
- 	int fd = open(sample, O_CREAT|O_RDONLY, 0400);
-@@ -70,6 +76,8 @@
- # endif
- 	       sprintrc(rc));
- 
-+	leave_and_remove_subdir();
-+
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests-mx32/fchmodat.c
-===================================================================
---- strace-5.7.orig/tests-mx32/fchmodat.c	2021-08-24 19:42:08.856580796 +0200
-+++ strace-5.7/tests-mx32/fchmodat.c	2021-08-24 19:42:16.049519915 +0200
-@@ -14,13 +14,18 @@
- #ifdef __NR_fchmodat
- 
- # include <fcntl.h>
--# include <sys/stat.h>
- # include <stdio.h>
- # include <unistd.h>
- 
- int
- main(void)
- {
-+	/*
-+	 * Make sure the current workdir of the tracee
-+	 * is different from the current workdir of the tracer.
-+	 */
-+	create_and_enter_subdir("fchmodat_subdir");
-+
- 	static const char sample[] = "fchmodat_sample";
- 
- 	if (open(sample, O_RDONLY | O_CREAT, 0400) < 0)
-@@ -41,6 +46,8 @@
- 	printf("fchmodat(AT_FDCWD, \"%s\", 004) = %s\n",
- 	       sample, sprintrc(rc));
- 
-+	leave_and_remove_subdir();
-+
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests-mx32/fchownat.c
-===================================================================
---- strace-5.7.orig/tests-mx32/fchownat.c	2021-08-24 19:42:08.856580796 +0200
-+++ strace-5.7/tests-mx32/fchownat.c	2021-08-24 19:42:16.050519907 +0200
-@@ -20,6 +20,12 @@
- int
- main(void)
- {
-+	/*
-+	 * Make sure the current workdir of the tracee
-+	 * is different from the current workdir of the tracer.
-+	 */
-+	create_and_enter_subdir("fchownat_subdir");
-+
- 	static const char sample[] = "fchownat_sample";
- 	uid_t uid = geteuid();
- 	uid_t gid = getegid();
-@@ -39,6 +45,8 @@
- 	printf("fchownat(AT_FDCWD, \"%s\", -1, -1, AT_SYMLINK_NOFOLLOW) = %s\n",
- 	       sample, sprintrc(rc));
- 
-+	leave_and_remove_subdir();
-+
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests-mx32/linkat.c
-===================================================================
---- strace-5.7.orig/tests-mx32/linkat.c	2021-08-24 19:42:08.856580796 +0200
-+++ strace-5.7/tests-mx32/linkat.c	2021-08-24 19:42:16.050519907 +0200
-@@ -1,5 +1,5 @@
- /*
-- * Copyright (c) 2016-2019 The strace developers.
-+ * Copyright (c) 2016-2021 The strace developers.
-  * All rights reserved.
-  *
-  * SPDX-License-Identifier: GPL-2.0-or-later
-@@ -16,6 +16,12 @@
- int
- main(void)
- {
-+	/*
-+	 * Make sure the current workdir of the tracee
-+	 * is different from the current workdir of the tracer.
-+	 */
-+	create_and_enter_subdir("linkat_subdir");
-+
- 	static const char sample_1[] = "linkat_sample_old";
- 	static const char sample_2[] = "linkat_sample_new";
- 	const long fd_old = (long) 0xdeadbeefffffffffULL;
-@@ -33,6 +39,8 @@
- 	       "|AT_NO_AUTOMOUNT|AT_EMPTY_PATH|AT_RECURSIVE|0xffff60ff",
- 	       rc, errno2name());
- 
-+	leave_and_remove_subdir();
-+
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests-mx32/open.c
-===================================================================
---- strace-5.7.orig/tests-mx32/open.c	2021-08-24 19:42:08.856580796 +0200
-+++ strace-5.7/tests-mx32/open.c	2021-08-24 19:42:16.050519907 +0200
-@@ -18,6 +18,12 @@
- int
- main(void)
- {
-+	/*
-+	 * Make sure the current workdir of the tracee
-+	 * is different from the current workdir of the tracer.
-+	 */
-+	create_and_enter_subdir("open_subdir");
-+
- 	static const char sample[] = "open.sample";
- 
- 	long fd = syscall(__NR_open, sample, O_RDONLY|O_CREAT, 0400);
-@@ -43,6 +49,8 @@
- 	       sample, sprintrc(fd));
- # endif /* O_TMPFILE */
- 
-+	leave_and_remove_subdir();
-+
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests-mx32/openat.c
-===================================================================
---- strace-5.7.orig/tests-mx32/openat.c	2021-08-24 19:42:08.856580796 +0200
-+++ strace-5.7/tests-mx32/openat.c	2021-08-24 19:42:16.050519907 +0200
-@@ -1,6 +1,6 @@
- /*
-  * Copyright (c) 2016 Katerina Koukiou <k.koukiou@gmail.com>
-- * Copyright (c) 2016-2019 The strace developers.
-+ * Copyright (c) 2016-2021 The strace developers.
-  * All rights reserved.
-  *
-  * SPDX-License-Identifier: GPL-2.0-or-later
-@@ -39,6 +39,12 @@
- int
- main(void)
- {
-+	/*
-+	 * Make sure the current workdir of the tracee
-+	 * is different from the current workdir of the tracer.
-+	 */
-+	create_and_enter_subdir("openat_subdir");
-+
- 	long fd = syscall(__NR_openat, -100, sample, O_RDONLY|O_CREAT, 0400);
- 	printf("openat(AT_FDCWD, \"%s\", O_RDONLY|O_CREAT, 0400) = %s\n",
- 	       sample, sprintrc(fd));
-@@ -101,6 +107,8 @@
- 			test_mode_flag(modes[m].val, modes[m].str,
- 				       flags[f].val, flags[f].str);
- 
-+	leave_and_remove_subdir();
-+
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests-mx32/subdir.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-mx32/subdir.c	2021-08-24 19:42:16.050519907 +0200
-@@ -0,0 +1,40 @@
-+/*
-+ * Copyright (c) 2021 The strace developers.
-+ * All rights reserved.
-+ *
-+ * SPDX-License-Identifier: GPL-2.0-or-later
-+ */
-+
-+#include "tests.h"
-+
-+#include <dirent.h>
-+#include <unistd.h>
-+#include <sys/stat.h>
-+
-+static const char *subdir;
-+static DIR *dirp;
-+
-+void
-+create_and_enter_subdir(const char *name)
-+{
-+	dirp = opendir(".");
-+	if (!dirp)
-+		perror_msg_and_fail("opendir: %s", ".");
-+	(void) mkdir(name, 0700);
-+	if (chdir(name))
-+		perror_msg_and_fail("chdir: %s", name);
-+	subdir = name;
-+}
-+
-+void
-+leave_and_remove_subdir(void)
-+{
-+	if (fchdir(dirfd(dirp)))
-+		perror_msg_and_fail("fchdir: %d", dirfd(dirp));
-+	if (closedir(dirp))
-+		perror_msg_and_fail("closedir");
-+	dirp = 0;
-+	if (rmdir(subdir))
-+		perror_msg_and_fail("rmdir: %s", subdir);
-+	subdir = 0;
-+}
-Index: strace-5.7/tests-mx32/tests.h
-===================================================================
---- strace-5.7.orig/tests-mx32/tests.h	2021-08-24 19:42:08.857580787 +0200
-+++ strace-5.7/tests-mx32/tests.h	2021-08-24 19:42:16.051519898 +0200
-@@ -161,6 +161,18 @@
- char *get_fd_path(int fd) ATTRIBUTE_MALLOC;
- 
- /*
-+ * Create the specified directory and chdir into it,
-+ * die on chdir failure.
-+ */
-+void create_and_enter_subdir(const char *subdir);
-+
-+/*
-+ * Leave from the directory entered by create_and_enter_subdir,
-+ * remove that directory, die on failure.
-+ */
-+void leave_and_remove_subdir(void);
-+
-+/*
-  * Obtain an exclusive lock on dirname(path_name)/lock_name file
-  * using open and flock.
-  */
-Index: strace-5.7/tests/Makefile.in
-===================================================================
---- strace-5.7.orig/tests/Makefile.in	2021-08-24 19:42:08.862580745 +0200
-+++ strace-5.7/tests/Makefile.in	2021-08-24 19:42:54.720192609 +0200
-@@ -574,7 +574,7 @@
- 	libtests_a-signal2name.$(OBJEXT) \
- 	libtests_a-skip_unavailable.$(OBJEXT) \
- 	libtests_a-sprintrc.$(OBJEXT) libtests_a-status.$(OBJEXT) \
--	libtests_a-tail_alloc.$(OBJEXT) \
-+	libtests_a-subdir.$(OBJEXT) libtests_a-tail_alloc.$(OBJEXT) \
- 	libtests_a-test_printpath.$(OBJEXT) \
- 	libtests_a-test_printstrn.$(OBJEXT) \
- 	libtests_a-test_ucopy.$(OBJEXT) libtests_a-tprintf.$(OBJEXT) \
-@@ -5430,6 +5430,7 @@
- 	skip_unavailable.c \
- 	sprintrc.c \
- 	status.c \
-+	subdir.c \
- 	tail_alloc.c \
- 	test_netlink.h \
- 	test_nlattr.h \
-@@ -10433,6 +10434,7 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-skip_unavailable.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-sprintrc.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-status.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-subdir.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-tail_alloc.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-test_printpath.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-test_printstrn.Po@am__quote@ # am--include-marker
-@@ -11353,6 +11355,20 @@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-status.obj `if test -f 'status.c'; then $(CYGPATH_W) 'status.c'; else $(CYGPATH_W) '$(srcdir)/status.c'; fi`
- 
-+libtests_a-subdir.o: subdir.c
-+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-subdir.o -MD -MP -MF $(DEPDIR)/libtests_a-subdir.Tpo -c -o libtests_a-subdir.o `test -f 'subdir.c' || echo '$(srcdir)/'`subdir.c
-+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-subdir.Tpo $(DEPDIR)/libtests_a-subdir.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='subdir.c' object='libtests_a-subdir.o' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-subdir.o `test -f 'subdir.c' || echo '$(srcdir)/'`subdir.c
-+
-+libtests_a-subdir.obj: subdir.c
-+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-subdir.obj -MD -MP -MF $(DEPDIR)/libtests_a-subdir.Tpo -c -o libtests_a-subdir.obj `if test -f 'subdir.c'; then $(CYGPATH_W) 'subdir.c'; else $(CYGPATH_W) '$(srcdir)/subdir.c'; fi`
-+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-subdir.Tpo $(DEPDIR)/libtests_a-subdir.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='subdir.c' object='libtests_a-subdir.obj' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-subdir.obj `if test -f 'subdir.c'; then $(CYGPATH_W) 'subdir.c'; else $(CYGPATH_W) '$(srcdir)/subdir.c'; fi`
-+
- libtests_a-tail_alloc.o: tail_alloc.c
- @am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-tail_alloc.o -MD -MP -MF $(DEPDIR)/libtests_a-tail_alloc.Tpo -c -o libtests_a-tail_alloc.o `test -f 'tail_alloc.c' || echo '$(srcdir)/'`tail_alloc.c
- @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-tail_alloc.Tpo $(DEPDIR)/libtests_a-tail_alloc.Po
-Index: strace-5.7/tests-m32/Makefile.in
-===================================================================
---- strace-5.7.orig/tests-m32/Makefile.in	2021-08-24 19:42:08.866580711 +0200
-+++ strace-5.7/tests-m32/Makefile.in	2021-08-24 19:43:13.669032228 +0200
-@@ -574,7 +574,7 @@
- 	libtests_a-signal2name.$(OBJEXT) \
- 	libtests_a-skip_unavailable.$(OBJEXT) \
- 	libtests_a-sprintrc.$(OBJEXT) libtests_a-status.$(OBJEXT) \
--	libtests_a-tail_alloc.$(OBJEXT) \
-+	libtests_a-subdir.$(OBJEXT) libtests_a-tail_alloc.$(OBJEXT) \
- 	libtests_a-test_printpath.$(OBJEXT) \
- 	libtests_a-test_printstrn.$(OBJEXT) \
- 	libtests_a-test_ucopy.$(OBJEXT) libtests_a-tprintf.$(OBJEXT) \
-@@ -5430,6 +5430,7 @@
- 	skip_unavailable.c \
- 	sprintrc.c \
- 	status.c \
-+	subdir.c \
- 	tail_alloc.c \
- 	test_netlink.h \
- 	test_nlattr.h \
-@@ -10433,6 +10434,7 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-skip_unavailable.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-sprintrc.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-status.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-subdir.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-tail_alloc.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-test_printpath.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-test_printstrn.Po@am__quote@ # am--include-marker
-@@ -11353,6 +11355,20 @@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-status.obj `if test -f 'status.c'; then $(CYGPATH_W) 'status.c'; else $(CYGPATH_W) '$(srcdir)/status.c'; fi`
- 
-+libtests_a-subdir.o: subdir.c
-+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-subdir.o -MD -MP -MF $(DEPDIR)/libtests_a-subdir.Tpo -c -o libtests_a-subdir.o `test -f 'subdir.c' || echo '$(srcdir)/'`subdir.c
-+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-subdir.Tpo $(DEPDIR)/libtests_a-subdir.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='subdir.c' object='libtests_a-subdir.o' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-subdir.o `test -f 'subdir.c' || echo '$(srcdir)/'`subdir.c
-+
-+libtests_a-subdir.obj: subdir.c
-+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-subdir.obj -MD -MP -MF $(DEPDIR)/libtests_a-subdir.Tpo -c -o libtests_a-subdir.obj `if test -f 'subdir.c'; then $(CYGPATH_W) 'subdir.c'; else $(CYGPATH_W) '$(srcdir)/subdir.c'; fi`
-+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-subdir.Tpo $(DEPDIR)/libtests_a-subdir.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='subdir.c' object='libtests_a-subdir.obj' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-subdir.obj `if test -f 'subdir.c'; then $(CYGPATH_W) 'subdir.c'; else $(CYGPATH_W) '$(srcdir)/subdir.c'; fi`
-+
- libtests_a-tail_alloc.o: tail_alloc.c
- @am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-tail_alloc.o -MD -MP -MF $(DEPDIR)/libtests_a-tail_alloc.Tpo -c -o libtests_a-tail_alloc.o `test -f 'tail_alloc.c' || echo '$(srcdir)/'`tail_alloc.c
- @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-tail_alloc.Tpo $(DEPDIR)/libtests_a-tail_alloc.Po
-Index: strace-5.7/tests-mx32/Makefile.in
-===================================================================
---- strace-5.7.orig/tests-mx32/Makefile.in	2021-08-24 19:42:08.870580677 +0200
-+++ strace-5.7/tests-mx32/Makefile.in	2021-08-24 19:43:32.469873099 +0200
-@@ -574,7 +574,7 @@
- 	libtests_a-signal2name.$(OBJEXT) \
- 	libtests_a-skip_unavailable.$(OBJEXT) \
- 	libtests_a-sprintrc.$(OBJEXT) libtests_a-status.$(OBJEXT) \
--	libtests_a-tail_alloc.$(OBJEXT) \
-+	libtests_a-subdir.$(OBJEXT) libtests_a-tail_alloc.$(OBJEXT) \
- 	libtests_a-test_printpath.$(OBJEXT) \
- 	libtests_a-test_printstrn.$(OBJEXT) \
- 	libtests_a-test_ucopy.$(OBJEXT) libtests_a-tprintf.$(OBJEXT) \
-@@ -5430,6 +5430,7 @@
- 	skip_unavailable.c \
- 	sprintrc.c \
- 	status.c \
-+	subdir.c \
- 	tail_alloc.c \
- 	test_netlink.h \
- 	test_nlattr.h \
-@@ -10433,6 +10434,7 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-skip_unavailable.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-sprintrc.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-status.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-subdir.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-tail_alloc.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-test_printpath.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-test_printstrn.Po@am__quote@ # am--include-marker
-@@ -11353,6 +11355,20 @@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-status.obj `if test -f 'status.c'; then $(CYGPATH_W) 'status.c'; else $(CYGPATH_W) '$(srcdir)/status.c'; fi`
- 
-+libtests_a-subdir.o: subdir.c
-+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-subdir.o -MD -MP -MF $(DEPDIR)/libtests_a-subdir.Tpo -c -o libtests_a-subdir.o `test -f 'subdir.c' || echo '$(srcdir)/'`subdir.c
-+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-subdir.Tpo $(DEPDIR)/libtests_a-subdir.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='subdir.c' object='libtests_a-subdir.o' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-subdir.o `test -f 'subdir.c' || echo '$(srcdir)/'`subdir.c
-+
-+libtests_a-subdir.obj: subdir.c
-+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-subdir.obj -MD -MP -MF $(DEPDIR)/libtests_a-subdir.Tpo -c -o libtests_a-subdir.obj `if test -f 'subdir.c'; then $(CYGPATH_W) 'subdir.c'; else $(CYGPATH_W) '$(srcdir)/subdir.c'; fi`
-+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-subdir.Tpo $(DEPDIR)/libtests_a-subdir.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='subdir.c' object='libtests_a-subdir.obj' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-subdir.obj `if test -f 'subdir.c'; then $(CYGPATH_W) 'subdir.c'; else $(CYGPATH_W) '$(srcdir)/subdir.c'; fi`
-+
- libtests_a-tail_alloc.o: tail_alloc.c
- @am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-tail_alloc.o -MD -MP -MF $(DEPDIR)/libtests_a-tail_alloc.Tpo -c -o libtests_a-tail_alloc.o `test -f 'tail_alloc.c' || echo '$(srcdir)/'`tail_alloc.c
- @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-tail_alloc.Tpo $(DEPDIR)/libtests_a-tail_alloc.Po
diff --git a/SOURCES/0144-tests-check-decoding-of-faccessat-syscall-in-P-y-and.patch b/SOURCES/0144-tests-check-decoding-of-faccessat-syscall-in-P-y-and.patch
deleted file mode 100644
index 5a79ea0..0000000
--- a/SOURCES/0144-tests-check-decoding-of-faccessat-syscall-in-P-y-and.patch
+++ /dev/null
@@ -1,795 +0,0 @@
-From e244ae965b17280313d92baef71165efc00ac51b Mon Sep 17 00:00:00 2001
-From: "Dmitry V. Levin" <ldv@altlinux.org>
-Date: Sat, 4 Jul 2020 08:00:00 +0000
-Subject: [PATCH 144/149] tests: check decoding of faccessat syscall in -P, -y,
- and -yy modes
-
-* tests/faccessat.c: Rewrite.
-* tests/faccessat-P.c: New file.
-* tests/faccessat-y.c: Likewise.
-* tests/faccessat-yy.c: Likewise.
-* tests/faccessat.test: New test.
-* tests/Makefile.am (DECODER_TESTS): Add faccessat.test.
-* tests/gen_tests.in (faccessat): Remove.
-(faccessat-P, faccessat-y, faccessat-yy): New entries.
-* tests/pure_executables.list: Add faccessat-P, faccessat-y,
-and faccessat-yy.
-* tests/.gitignore: Likewise.
----
- tests/.gitignore            |   3 ++
- tests/Makefile.am           |   1 +
- tests/faccessat-P.c         |   4 ++
- tests/faccessat-y.c         |   4 ++
- tests/faccessat-yy.c        |   4 ++
- tests/faccessat.c           | 127 ++++++++++++++++++++++++++++++++++++++++++--
- tests/faccessat.test        |  19 +++++++
- tests/gen_tests.in          |   4 +-
- tests/pure_executables.list |   3 ++
- 9 files changed, 163 insertions(+), 6 deletions(-)
- create mode 100644 tests/faccessat-P.c
- create mode 100644 tests/faccessat-y.c
- create mode 100644 tests/faccessat-yy.c
- create mode 100755 tests/faccessat.test
-
-Index: strace-5.7/tests/Makefile.am
-===================================================================
---- strace-5.7.orig/tests/Makefile.am	2021-08-24 19:42:16.041519983 +0200
-+++ strace-5.7/tests/Makefile.am	2021-08-24 19:46:08.275554370 +0200
-@@ -346,6 +346,7 @@
- 	execve-v.test \
- 	execve.test \
- 	fadvise64.test \
-+	faccessat.test \
- 	futex.test \
- 	getuid.test \
- 	int_0x80.test \
-Index: strace-5.7/tests/faccessat-P.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests/faccessat-P.c	2021-08-24 19:46:08.275554370 +0200
-@@ -0,0 +1,4 @@
-+#define PATH_TRACING
-+#define SKIP_IF_PROC_IS_UNAVAILABLE skip_if_unavailable("/proc/self/fd/")
-+
-+#include "faccessat.c"
-Index: strace-5.7/tests/faccessat-y.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests/faccessat-y.c	2021-08-24 19:46:08.276554362 +0200
-@@ -0,0 +1,4 @@
-+#define FD_PATH "</dev/full>"
-+#define SKIP_IF_PROC_IS_UNAVAILABLE skip_if_unavailable("/proc/self/fd/")
-+
-+#include "faccessat.c"
-Index: strace-5.7/tests/faccessat-yy.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests/faccessat-yy.c	2021-08-24 19:46:08.276554362 +0200
-@@ -0,0 +1,4 @@
-+#define FD_PATH "</dev/full<char 1:7>>"
-+#define SKIP_IF_PROC_IS_UNAVAILABLE skip_if_unavailable("/proc/self/fd/")
-+
-+#include "faccessat.c"
-Index: strace-5.7/tests/faccessat.c
-===================================================================
---- strace-5.7.orig/tests/faccessat.c	2021-08-24 17:01:53.365934740 +0200
-+++ strace-5.7/tests/faccessat.c	2021-08-24 19:46:08.277554353 +0200
-@@ -1,4 +1,6 @@
- /*
-+ * Check decoding of faccessat syscall.
-+ *
-  * Copyright (c) 2016-2019 The strace developers.
-  * All rights reserved.
-  *
-@@ -10,18 +12,133 @@
- 
- #ifdef __NR_faccessat
- 
-+# include <fcntl.h>
- # include <stdio.h>
- # include <unistd.h>
- 
-+# ifndef FD_PATH
-+#  define FD_PATH ""
-+# endif
-+# ifndef SKIP_IF_PROC_IS_UNAVAILABLE
-+#  define SKIP_IF_PROC_IS_UNAVAILABLE
-+# endif
-+
-+static const char *errstr;
-+
-+static long
-+k_faccessat(const unsigned int dirfd,
-+	    const void *const pathname,
-+	    const unsigned int mode)
-+{
-+	const kernel_ulong_t fill = (kernel_ulong_t) 0xdefaced00000000ULL;
-+	const kernel_ulong_t bad = (kernel_ulong_t) 0xbadc0dedbadc0dedULL;
-+
-+	const kernel_ulong_t arg1 = fill | dirfd;
-+	const kernel_ulong_t arg2 = (uintptr_t) pathname;
-+	const kernel_ulong_t arg3 = fill | mode;
-+	const long rc = syscall(__NR_faccessat,
-+				arg1, arg2, arg3, bad, bad, bad);
-+	errstr = sprintrc(rc);
-+	return rc;
-+}
-+
- int
- main(void)
- {
--	static const char sample[] = "faccessat.sample";
--	const long int fd = (long int) 0xdeadbeefffffffffULL;
-+	SKIP_IF_PROC_IS_UNAVAILABLE;
- 
--	long rc = syscall(__NR_faccessat, fd, sample, F_OK);
--	printf("faccessat(%d, \"%s\", F_OK) = %ld %s (%m)\n",
--	       (int) fd, sample, rc, errno2name());
-+	TAIL_ALLOC_OBJECT_CONST_PTR(const char, unterminated);
-+	char *unterminated_str;
-+	if (asprintf(&unterminated_str, "%p", unterminated) < 0)
-+                perror_msg_and_fail("asprintf");
-+	const void *const efault = unterminated + 1;
-+	char *efault_str;
-+	if (asprintf(&efault_str, "%p", efault) < 0)
-+                perror_msg_and_fail("asprintf");
-+
-+	typedef struct {
-+		char sym;
-+		char null;
-+	} sym_null;
-+
-+	TAIL_ALLOC_OBJECT_CONST_PTR(sym_null, dot);
-+	dot->sym = '.';
-+	dot->null = '\0';
-+	const char *const null = &dot->null;
-+
-+	TAIL_ALLOC_OBJECT_CONST_PTR(sym_null, slash);
-+	slash->sym = '/';
-+	slash->null = '\0';
-+
-+	static const char path[] = "/dev/full";
-+	const char *const fd_path = tail_memdup(path, sizeof(path));
-+        int fd = open(path, O_WRONLY);
-+        if (fd < 0)
-+                perror_msg_and_fail("open: %s", path);
-+	char *fd_str;
-+	if (asprintf(&fd_str, "%d%s", fd, FD_PATH) < 0)
-+                perror_msg_and_fail("asprintf");
-+	char *path_quoted;
-+	if (asprintf(&path_quoted, "\"%s\"", path) < 0)
-+                perror_msg_and_fail("asprintf");
-+
-+	struct {
-+		int val;
-+		const char *str;
-+	} dirfds[] = {
-+		{ ARG_STR(-1) },
-+		{ -100, "AT_FDCWD" },
-+		{ fd, fd_str },
-+	}, modes[] = {
-+		{ ARG_STR(F_OK) },
-+		{ ARG_STR(R_OK) },
-+		{ ARG_STR(W_OK) },
-+		{ ARG_STR(X_OK) },
-+		{ ARG_STR(R_OK|W_OK) },
-+		{ ARG_STR(R_OK|X_OK) },
-+		{ ARG_STR(W_OK|X_OK) },
-+		{ ARG_STR(R_OK|W_OK|X_OK) },
-+		{ 8, "0x8 /* ?_OK */" },
-+		{ -1, "R_OK|W_OK|X_OK|0xfffffff8" },
-+	};
-+
-+	struct {
-+		const void *val;
-+		const char *str;
-+	} paths[] = {
-+		{ 0, "NULL" },
-+		{ efault, efault_str },
-+		{ unterminated, unterminated_str },
-+		{ null, "\"\"" },
-+		{ &dot->sym, "\".\"" },
-+		{ &slash->sym, "\"/\"" },
-+		{ fd_path, path_quoted },
-+	};
-+
-+	for (unsigned int dirfd_i = 0;
-+	     dirfd_i < ARRAY_SIZE(dirfds);
-+	     ++dirfd_i) {
-+		for (unsigned int path_i = 0;
-+		     path_i < ARRAY_SIZE(paths);
-+		     ++path_i) {
-+			for (unsigned int mode_i = 0;
-+			     mode_i < ARRAY_SIZE(modes);
-+			     ++mode_i) {
-+				k_faccessat(dirfds[dirfd_i].val,
-+					    paths[path_i].val,
-+					    modes[mode_i].val);
-+# ifdef PATH_TRACING
-+				if (dirfds[dirfd_i].val == fd ||
-+				    paths[path_i].val == fd_path)
-+# endif
-+				printf("faccessat(%s, %s, %s) = %s\n",
-+				       dirfds[dirfd_i].str,
-+				       paths[path_i].str,
-+				       modes[mode_i].str,
-+				       errstr);
-+			}
-+		}
-+	}
- 
- 	puts("+++ exited with 0 +++");
- 	return 0;
-Index: strace-5.7/tests/faccessat.test
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests/faccessat.test	2021-08-24 19:46:08.277554353 +0200
-@@ -0,0 +1,19 @@
-+#!/bin/sh
-+#
-+# Check decoding of faccessat syscall.
-+#
-+# Copyright (c) 2020 Dmitry V. Levin <ldv@altlinux.org>
-+# All rights reserved.
-+#
-+# SPDX-License-Identifier: GPL-2.0-or-later
-+
-+. "${srcdir=.}/init.sh"
-+
-+check_prog sed
-+
-+run_prog > /dev/null
-+run_strace -a23 --trace=faccessat "$@" $args > "$EXP"
-+
-+# Filter out faccessat() calls made by ld.so and libc.
-+sed -n '/^faccessat(-1, NULL,/,$p' < "$LOG" > "$OUT"
-+match_diff "$OUT" "$EXP"
-Index: strace-5.7/tests/gen_tests.in
-===================================================================
---- strace-5.7.orig/tests/gen_tests.in	2021-08-24 19:37:43.192829355 +0200
-+++ strace-5.7/tests/gen_tests.in	2021-08-24 19:46:08.278554345 +0200
-@@ -73,7 +73,9 @@
- erestartsys	-a34 -e signal=none -e trace=recvfrom
- execveat
- execveat-v	-v -e trace=execveat
--faccessat	-P $NAME.sample
-+faccessat-P	-a23 --trace=faccessat -P /dev/full
-+faccessat-y	+faccessat.test -a24 -y
-+faccessat-yy	+faccessat.test -a24 -yy
- fadvise64_64	+fadvise64.test
- fallocate	-a18
- fanotify_init
-Index: strace-5.7/tests/pure_executables.list
-===================================================================
---- strace-5.7.orig/tests/pure_executables.list	2021-08-24 19:37:43.192829355 +0200
-+++ strace-5.7/tests/pure_executables.list	2021-08-24 19:46:08.279554336 +0200
-@@ -61,6 +61,9 @@
- execve
- execveat
- faccessat
-+faccessat-P
-+faccessat-y
-+faccessat-yy
- fadvise64
- fadvise64_64
- fallocate
-Index: strace-5.7/tests-m32/Makefile.am
-===================================================================
---- strace-5.7.orig/tests-m32/Makefile.am	2021-08-24 19:42:16.045519949 +0200
-+++ strace-5.7/tests-m32/Makefile.am	2021-08-24 19:46:08.279554336 +0200
-@@ -346,6 +346,7 @@
- 	execve-v.test \
- 	execve.test \
- 	fadvise64.test \
-+	faccessat.test \
- 	futex.test \
- 	getuid.test \
- 	int_0x80.test \
-Index: strace-5.7/tests-m32/faccessat-P.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-m32/faccessat-P.c	2021-08-24 19:46:08.279554336 +0200
-@@ -0,0 +1,4 @@
-+#define PATH_TRACING
-+#define SKIP_IF_PROC_IS_UNAVAILABLE skip_if_unavailable("/proc/self/fd/")
-+
-+#include "faccessat.c"
-Index: strace-5.7/tests-m32/faccessat-y.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-m32/faccessat-y.c	2021-08-24 19:46:08.280554328 +0200
-@@ -0,0 +1,4 @@
-+#define FD_PATH "</dev/full>"
-+#define SKIP_IF_PROC_IS_UNAVAILABLE skip_if_unavailable("/proc/self/fd/")
-+
-+#include "faccessat.c"
-Index: strace-5.7/tests-m32/faccessat-yy.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-m32/faccessat-yy.c	2021-08-24 19:46:08.280554328 +0200
-@@ -0,0 +1,4 @@
-+#define FD_PATH "</dev/full<char 1:7>>"
-+#define SKIP_IF_PROC_IS_UNAVAILABLE skip_if_unavailable("/proc/self/fd/")
-+
-+#include "faccessat.c"
-Index: strace-5.7/tests-m32/faccessat.c
-===================================================================
---- strace-5.7.orig/tests-m32/faccessat.c	2019-09-25 03:02:03.000000000 +0200
-+++ strace-5.7/tests-m32/faccessat.c	2021-08-24 19:46:08.281554319 +0200
-@@ -1,4 +1,6 @@
- /*
-+ * Check decoding of faccessat syscall.
-+ *
-  * Copyright (c) 2016-2019 The strace developers.
-  * All rights reserved.
-  *
-@@ -10,18 +12,133 @@
- 
- #ifdef __NR_faccessat
- 
-+# include <fcntl.h>
- # include <stdio.h>
- # include <unistd.h>
- 
-+# ifndef FD_PATH
-+#  define FD_PATH ""
-+# endif
-+# ifndef SKIP_IF_PROC_IS_UNAVAILABLE
-+#  define SKIP_IF_PROC_IS_UNAVAILABLE
-+# endif
-+
-+static const char *errstr;
-+
-+static long
-+k_faccessat(const unsigned int dirfd,
-+	    const void *const pathname,
-+	    const unsigned int mode)
-+{
-+	const kernel_ulong_t fill = (kernel_ulong_t) 0xdefaced00000000ULL;
-+	const kernel_ulong_t bad = (kernel_ulong_t) 0xbadc0dedbadc0dedULL;
-+
-+	const kernel_ulong_t arg1 = fill | dirfd;
-+	const kernel_ulong_t arg2 = (uintptr_t) pathname;
-+	const kernel_ulong_t arg3 = fill | mode;
-+	const long rc = syscall(__NR_faccessat,
-+				arg1, arg2, arg3, bad, bad, bad);
-+	errstr = sprintrc(rc);
-+	return rc;
-+}
-+
- int
- main(void)
- {
--	static const char sample[] = "faccessat.sample";
--	const long int fd = (long int) 0xdeadbeefffffffffULL;
-+	SKIP_IF_PROC_IS_UNAVAILABLE;
- 
--	long rc = syscall(__NR_faccessat, fd, sample, F_OK);
--	printf("faccessat(%d, \"%s\", F_OK) = %ld %s (%m)\n",
--	       (int) fd, sample, rc, errno2name());
-+	TAIL_ALLOC_OBJECT_CONST_PTR(const char, unterminated);
-+	char *unterminated_str;
-+	if (asprintf(&unterminated_str, "%p", unterminated) < 0)
-+                perror_msg_and_fail("asprintf");
-+	const void *const efault = unterminated + 1;
-+	char *efault_str;
-+	if (asprintf(&efault_str, "%p", efault) < 0)
-+                perror_msg_and_fail("asprintf");
-+
-+	typedef struct {
-+		char sym;
-+		char null;
-+	} sym_null;
-+
-+	TAIL_ALLOC_OBJECT_CONST_PTR(sym_null, dot);
-+	dot->sym = '.';
-+	dot->null = '\0';
-+	const char *const null = &dot->null;
-+
-+	TAIL_ALLOC_OBJECT_CONST_PTR(sym_null, slash);
-+	slash->sym = '/';
-+	slash->null = '\0';
-+
-+	static const char path[] = "/dev/full";
-+	const char *const fd_path = tail_memdup(path, sizeof(path));
-+        int fd = open(path, O_WRONLY);
-+        if (fd < 0)
-+                perror_msg_and_fail("open: %s", path);
-+	char *fd_str;
-+	if (asprintf(&fd_str, "%d%s", fd, FD_PATH) < 0)
-+                perror_msg_and_fail("asprintf");
-+	char *path_quoted;
-+	if (asprintf(&path_quoted, "\"%s\"", path) < 0)
-+                perror_msg_and_fail("asprintf");
-+
-+	struct {
-+		int val;
-+		const char *str;
-+	} dirfds[] = {
-+		{ ARG_STR(-1) },
-+		{ -100, "AT_FDCWD" },
-+		{ fd, fd_str },
-+	}, modes[] = {
-+		{ ARG_STR(F_OK) },
-+		{ ARG_STR(R_OK) },
-+		{ ARG_STR(W_OK) },
-+		{ ARG_STR(X_OK) },
-+		{ ARG_STR(R_OK|W_OK) },
-+		{ ARG_STR(R_OK|X_OK) },
-+		{ ARG_STR(W_OK|X_OK) },
-+		{ ARG_STR(R_OK|W_OK|X_OK) },
-+		{ 8, "0x8 /* ?_OK */" },
-+		{ -1, "R_OK|W_OK|X_OK|0xfffffff8" },
-+	};
-+
-+	struct {
-+		const void *val;
-+		const char *str;
-+	} paths[] = {
-+		{ 0, "NULL" },
-+		{ efault, efault_str },
-+		{ unterminated, unterminated_str },
-+		{ null, "\"\"" },
-+		{ &dot->sym, "\".\"" },
-+		{ &slash->sym, "\"/\"" },
-+		{ fd_path, path_quoted },
-+	};
-+
-+	for (unsigned int dirfd_i = 0;
-+	     dirfd_i < ARRAY_SIZE(dirfds);
-+	     ++dirfd_i) {
-+		for (unsigned int path_i = 0;
-+		     path_i < ARRAY_SIZE(paths);
-+		     ++path_i) {
-+			for (unsigned int mode_i = 0;
-+			     mode_i < ARRAY_SIZE(modes);
-+			     ++mode_i) {
-+				k_faccessat(dirfds[dirfd_i].val,
-+					    paths[path_i].val,
-+					    modes[mode_i].val);
-+# ifdef PATH_TRACING
-+				if (dirfds[dirfd_i].val == fd ||
-+				    paths[path_i].val == fd_path)
-+# endif
-+				printf("faccessat(%s, %s, %s) = %s\n",
-+				       dirfds[dirfd_i].str,
-+				       paths[path_i].str,
-+				       modes[mode_i].str,
-+				       errstr);
-+			}
-+		}
-+	}
- 
- 	puts("+++ exited with 0 +++");
- 	return 0;
-Index: strace-5.7/tests-m32/faccessat.test
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-m32/faccessat.test	2021-08-24 19:46:08.281554319 +0200
-@@ -0,0 +1,19 @@
-+#!/bin/sh
-+#
-+# Check decoding of faccessat syscall.
-+#
-+# Copyright (c) 2020 Dmitry V. Levin <ldv@altlinux.org>
-+# All rights reserved.
-+#
-+# SPDX-License-Identifier: GPL-2.0-or-later
-+
-+. "${srcdir=.}/init.sh"
-+
-+check_prog sed
-+
-+run_prog > /dev/null
-+run_strace -a23 --trace=faccessat "$@" $args > "$EXP"
-+
-+# Filter out faccessat() calls made by ld.so and libc.
-+sed -n '/^faccessat(-1, NULL,/,$p' < "$LOG" > "$OUT"
-+match_diff "$OUT" "$EXP"
-Index: strace-5.7/tests-m32/gen_tests.in
-===================================================================
---- strace-5.7.orig/tests-m32/gen_tests.in	2021-08-24 19:37:43.193829347 +0200
-+++ strace-5.7/tests-m32/gen_tests.in	2021-08-24 19:46:08.282554311 +0200
-@@ -73,7 +73,9 @@
- erestartsys	-a34 -e signal=none -e trace=recvfrom
- execveat
- execveat-v	-v -e trace=execveat
--faccessat	-P $NAME.sample
-+faccessat-P	-a23 --trace=faccessat -P /dev/full
-+faccessat-y	+faccessat.test -a24 -y
-+faccessat-yy	+faccessat.test -a24 -yy
- fadvise64_64	+fadvise64.test
- fallocate	-a18
- fanotify_init
-Index: strace-5.7/tests-m32/pure_executables.list
-===================================================================
---- strace-5.7.orig/tests-m32/pure_executables.list	2021-08-24 19:37:43.193829347 +0200
-+++ strace-5.7/tests-m32/pure_executables.list	2021-08-24 19:46:08.283554302 +0200
-@@ -61,6 +61,9 @@
- execve
- execveat
- faccessat
-+faccessat-P
-+faccessat-y
-+faccessat-yy
- fadvise64
- fadvise64_64
- fallocate
-Index: strace-5.7/tests-mx32/Makefile.am
-===================================================================
---- strace-5.7.orig/tests-mx32/Makefile.am	2021-08-24 19:42:16.048519924 +0200
-+++ strace-5.7/tests-mx32/Makefile.am	2021-08-24 19:46:08.283554302 +0200
-@@ -346,6 +346,7 @@
- 	execve-v.test \
- 	execve.test \
- 	fadvise64.test \
-+	faccessat.test \
- 	futex.test \
- 	getuid.test \
- 	int_0x80.test \
-Index: strace-5.7/tests-mx32/faccessat-P.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-mx32/faccessat-P.c	2021-08-24 19:46:08.283554302 +0200
-@@ -0,0 +1,4 @@
-+#define PATH_TRACING
-+#define SKIP_IF_PROC_IS_UNAVAILABLE skip_if_unavailable("/proc/self/fd/")
-+
-+#include "faccessat.c"
-Index: strace-5.7/tests-mx32/faccessat-y.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-mx32/faccessat-y.c	2021-08-24 19:46:08.284554294 +0200
-@@ -0,0 +1,4 @@
-+#define FD_PATH "</dev/full>"
-+#define SKIP_IF_PROC_IS_UNAVAILABLE skip_if_unavailable("/proc/self/fd/")
-+
-+#include "faccessat.c"
-Index: strace-5.7/tests-mx32/faccessat-yy.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-mx32/faccessat-yy.c	2021-08-24 19:46:08.284554294 +0200
-@@ -0,0 +1,4 @@
-+#define FD_PATH "</dev/full<char 1:7>>"
-+#define SKIP_IF_PROC_IS_UNAVAILABLE skip_if_unavailable("/proc/self/fd/")
-+
-+#include "faccessat.c"
-Index: strace-5.7/tests-mx32/faccessat.c
-===================================================================
---- strace-5.7.orig/tests-mx32/faccessat.c	2019-09-25 03:02:03.000000000 +0200
-+++ strace-5.7/tests-mx32/faccessat.c	2021-08-24 19:46:08.285554285 +0200
-@@ -1,4 +1,6 @@
- /*
-+ * Check decoding of faccessat syscall.
-+ *
-  * Copyright (c) 2016-2019 The strace developers.
-  * All rights reserved.
-  *
-@@ -10,18 +12,133 @@
- 
- #ifdef __NR_faccessat
- 
-+# include <fcntl.h>
- # include <stdio.h>
- # include <unistd.h>
- 
-+# ifndef FD_PATH
-+#  define FD_PATH ""
-+# endif
-+# ifndef SKIP_IF_PROC_IS_UNAVAILABLE
-+#  define SKIP_IF_PROC_IS_UNAVAILABLE
-+# endif
-+
-+static const char *errstr;
-+
-+static long
-+k_faccessat(const unsigned int dirfd,
-+	    const void *const pathname,
-+	    const unsigned int mode)
-+{
-+	const kernel_ulong_t fill = (kernel_ulong_t) 0xdefaced00000000ULL;
-+	const kernel_ulong_t bad = (kernel_ulong_t) 0xbadc0dedbadc0dedULL;
-+
-+	const kernel_ulong_t arg1 = fill | dirfd;
-+	const kernel_ulong_t arg2 = (uintptr_t) pathname;
-+	const kernel_ulong_t arg3 = fill | mode;
-+	const long rc = syscall(__NR_faccessat,
-+				arg1, arg2, arg3, bad, bad, bad);
-+	errstr = sprintrc(rc);
-+	return rc;
-+}
-+
- int
- main(void)
- {
--	static const char sample[] = "faccessat.sample";
--	const long int fd = (long int) 0xdeadbeefffffffffULL;
-+	SKIP_IF_PROC_IS_UNAVAILABLE;
- 
--	long rc = syscall(__NR_faccessat, fd, sample, F_OK);
--	printf("faccessat(%d, \"%s\", F_OK) = %ld %s (%m)\n",
--	       (int) fd, sample, rc, errno2name());
-+	TAIL_ALLOC_OBJECT_CONST_PTR(const char, unterminated);
-+	char *unterminated_str;
-+	if (asprintf(&unterminated_str, "%p", unterminated) < 0)
-+                perror_msg_and_fail("asprintf");
-+	const void *const efault = unterminated + 1;
-+	char *efault_str;
-+	if (asprintf(&efault_str, "%p", efault) < 0)
-+                perror_msg_and_fail("asprintf");
-+
-+	typedef struct {
-+		char sym;
-+		char null;
-+	} sym_null;
-+
-+	TAIL_ALLOC_OBJECT_CONST_PTR(sym_null, dot);
-+	dot->sym = '.';
-+	dot->null = '\0';
-+	const char *const null = &dot->null;
-+
-+	TAIL_ALLOC_OBJECT_CONST_PTR(sym_null, slash);
-+	slash->sym = '/';
-+	slash->null = '\0';
-+
-+	static const char path[] = "/dev/full";
-+	const char *const fd_path = tail_memdup(path, sizeof(path));
-+        int fd = open(path, O_WRONLY);
-+        if (fd < 0)
-+                perror_msg_and_fail("open: %s", path);
-+	char *fd_str;
-+	if (asprintf(&fd_str, "%d%s", fd, FD_PATH) < 0)
-+                perror_msg_and_fail("asprintf");
-+	char *path_quoted;
-+	if (asprintf(&path_quoted, "\"%s\"", path) < 0)
-+                perror_msg_and_fail("asprintf");
-+
-+	struct {
-+		int val;
-+		const char *str;
-+	} dirfds[] = {
-+		{ ARG_STR(-1) },
-+		{ -100, "AT_FDCWD" },
-+		{ fd, fd_str },
-+	}, modes[] = {
-+		{ ARG_STR(F_OK) },
-+		{ ARG_STR(R_OK) },
-+		{ ARG_STR(W_OK) },
-+		{ ARG_STR(X_OK) },
-+		{ ARG_STR(R_OK|W_OK) },
-+		{ ARG_STR(R_OK|X_OK) },
-+		{ ARG_STR(W_OK|X_OK) },
-+		{ ARG_STR(R_OK|W_OK|X_OK) },
-+		{ 8, "0x8 /* ?_OK */" },
-+		{ -1, "R_OK|W_OK|X_OK|0xfffffff8" },
-+	};
-+
-+	struct {
-+		const void *val;
-+		const char *str;
-+	} paths[] = {
-+		{ 0, "NULL" },
-+		{ efault, efault_str },
-+		{ unterminated, unterminated_str },
-+		{ null, "\"\"" },
-+		{ &dot->sym, "\".\"" },
-+		{ &slash->sym, "\"/\"" },
-+		{ fd_path, path_quoted },
-+	};
-+
-+	for (unsigned int dirfd_i = 0;
-+	     dirfd_i < ARRAY_SIZE(dirfds);
-+	     ++dirfd_i) {
-+		for (unsigned int path_i = 0;
-+		     path_i < ARRAY_SIZE(paths);
-+		     ++path_i) {
-+			for (unsigned int mode_i = 0;
-+			     mode_i < ARRAY_SIZE(modes);
-+			     ++mode_i) {
-+				k_faccessat(dirfds[dirfd_i].val,
-+					    paths[path_i].val,
-+					    modes[mode_i].val);
-+# ifdef PATH_TRACING
-+				if (dirfds[dirfd_i].val == fd ||
-+				    paths[path_i].val == fd_path)
-+# endif
-+				printf("faccessat(%s, %s, %s) = %s\n",
-+				       dirfds[dirfd_i].str,
-+				       paths[path_i].str,
-+				       modes[mode_i].str,
-+				       errstr);
-+			}
-+		}
-+	}
- 
- 	puts("+++ exited with 0 +++");
- 	return 0;
-Index: strace-5.7/tests-mx32/faccessat.test
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-mx32/faccessat.test	2021-08-24 19:46:08.285554285 +0200
-@@ -0,0 +1,19 @@
-+#!/bin/sh
-+#
-+# Check decoding of faccessat syscall.
-+#
-+# Copyright (c) 2020 Dmitry V. Levin <ldv@altlinux.org>
-+# All rights reserved.
-+#
-+# SPDX-License-Identifier: GPL-2.0-or-later
-+
-+. "${srcdir=.}/init.sh"
-+
-+check_prog sed
-+
-+run_prog > /dev/null
-+run_strace -a23 --trace=faccessat "$@" $args > "$EXP"
-+
-+# Filter out faccessat() calls made by ld.so and libc.
-+sed -n '/^faccessat(-1, NULL,/,$p' < "$LOG" > "$OUT"
-+match_diff "$OUT" "$EXP"
-Index: strace-5.7/tests-mx32/gen_tests.in
-===================================================================
---- strace-5.7.orig/tests-mx32/gen_tests.in	2021-08-24 19:37:43.194829339 +0200
-+++ strace-5.7/tests-mx32/gen_tests.in	2021-08-24 19:46:08.286554277 +0200
-@@ -73,7 +73,9 @@
- erestartsys	-a34 -e signal=none -e trace=recvfrom
- execveat
- execveat-v	-v -e trace=execveat
--faccessat	-P $NAME.sample
-+faccessat-P	-a23 --trace=faccessat -P /dev/full
-+faccessat-y	+faccessat.test -a24 -y
-+faccessat-yy	+faccessat.test -a24 -yy
- fadvise64_64	+fadvise64.test
- fallocate	-a18
- fanotify_init
-Index: strace-5.7/tests-mx32/pure_executables.list
-===================================================================
---- strace-5.7.orig/tests-mx32/pure_executables.list	2021-08-24 19:37:43.195829330 +0200
-+++ strace-5.7/tests-mx32/pure_executables.list	2021-08-24 19:46:08.286554277 +0200
-@@ -61,6 +61,9 @@
- execve
- execveat
- faccessat
-+faccessat-P
-+faccessat-y
-+faccessat-yy
- fadvise64
- fadvise64_64
- fallocate
-Index: strace-5.7/tests/Makefile.in
-===================================================================
---- strace-5.7.orig/tests/Makefile.in	2021-08-24 19:42:54.720192609 +0200
-+++ strace-5.7/tests/Makefile.in	2021-08-24 19:46:08.292554226 +0200
-@@ -6523,6 +6523,7 @@
- 	execve-v.test \
- 	execve.test \
- 	fadvise64.test \
-+	faccessat.test \
- 	futex.test \
- 	getuid.test \
- 	int_0x80.test \
-Index: strace-5.7/tests-m32/Makefile.in
-===================================================================
---- strace-5.7.orig/tests-m32/Makefile.in	2021-08-24 19:43:13.669032228 +0200
-+++ strace-5.7/tests-m32/Makefile.in	2021-08-24 19:46:08.296554192 +0200
-@@ -6523,6 +6523,7 @@
- 	execve-v.test \
- 	execve.test \
- 	fadvise64.test \
-+	faccessat.test \
- 	futex.test \
- 	getuid.test \
- 	int_0x80.test \
-Index: strace-5.7/tests-mx32/Makefile.in
-===================================================================
---- strace-5.7.orig/tests-mx32/Makefile.in	2021-08-24 19:43:32.469873099 +0200
-+++ strace-5.7/tests-mx32/Makefile.in	2021-08-24 19:46:08.299554167 +0200
-@@ -6523,6 +6523,7 @@
- 	execve-v.test \
- 	execve.test \
- 	fadvise64.test \
-+	faccessat.test \
- 	futex.test \
- 	getuid.test \
- 	int_0x80.test \
diff --git a/SOURCES/0145-xmalloc-introduce-xasprintf.patch b/SOURCES/0145-xmalloc-introduce-xasprintf.patch
deleted file mode 100644
index 92a88d1..0000000
--- a/SOURCES/0145-xmalloc-introduce-xasprintf.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-From f2b8769e4a9aa99cd5e0aef41a0408c34de3cc8e Mon Sep 17 00:00:00 2001
-From: "Dmitry V. Levin" <ldv@strace.io>
-Date: Mon, 15 Mar 2021 08:00:00 +0000
-Subject: [PATCH 145/149] xmalloc: introduce xasprintf
-
-xasprintf is a trivial wrapper around vasprintf,
-the primary purpose of adding it is to simplify tests.
-
-* xmalloc.h (xasprintf): New function declaration.
-* xmalloc.c: Include <stdarg.h> and <stdio.h>
-(xasprintf): New function.
----
- xmalloc.c | 16 ++++++++++++++++
- xmalloc.h |  6 ++++++
- 2 files changed, 22 insertions(+)
-
-diff --git a/xmalloc.c b/xmalloc.c
-index 8688f91..75019e9 100644
---- a/xmalloc.c
-+++ b/xmalloc.c
-@@ -10,6 +10,8 @@
- # include "config.h"
- #endif
- 
-+#include <stdarg.h>
-+#include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- 
-@@ -146,3 +148,17 @@ xstrndup(const char *str, size_t n)
- 
- 	return p;
- }
-+
-+char *
-+xasprintf(const char *fmt, ...)
-+{
-+	va_list ap;
-+	va_start(ap, fmt);
-+
-+	char *res;
-+	if (vasprintf(&res, fmt, ap) < 0)
-+		die_out_of_memory();
-+
-+	va_end(ap);
-+	return res;
-+}
-diff --git a/xmalloc.h b/xmalloc.h
-index 4bf1e2c..1305a1e 100644
---- a/xmalloc.h
-+++ b/xmalloc.h
-@@ -77,4 +77,10 @@ void *xgrowarray(void *ptr, size_t *nmemb, size_t memb_size);
- char *xstrdup(const char *str) ATTRIBUTE_MALLOC;
- char *xstrndup(const char *str, size_t n) ATTRIBUTE_MALLOC;
- 
-+/**
-+ * Analogous to asprintf, die in case of an error.
-+ */
-+char *xasprintf(const char *fmt, ...)
-+	ATTRIBUTE_FORMAT((printf, 1, 2)) ATTRIBUTE_MALLOC;
-+
- #endif /* !STRACE_XMALLOC_H */
--- 
-2.1.4
-
diff --git a/SOURCES/0146-tests-use-xasprintf-instead-of-asprintf.patch b/SOURCES/0146-tests-use-xasprintf-instead-of-asprintf.patch
deleted file mode 100644
index 931f9da..0000000
--- a/SOURCES/0146-tests-use-xasprintf-instead-of-asprintf.patch
+++ /dev/null
@@ -1,891 +0,0 @@
-From bcd0f3ef964aead4b9e95c10f4c5c75f58ba102c Mon Sep 17 00:00:00 2001
-From: "Dmitry V. Levin" <ldv@strace.io>
-Date: Mon, 15 Mar 2021 08:00:00 +0000
-Subject: [PATCH 146/149] tests: use xasprintf instead of asprintf
-
-* tests/clone-flags.c: Include "xmalloc.h", replace all asprintf
-invocations followed by perror_msg_and_fail with xasprintf.
-* tests/epoll_pwait2.c: Likewise.
-* tests/faccessat.c: Likewise.
-* tests/faccessat2.c: Likewise.
-* tests/ioctl_kvm_run_common.c: Likewise.
-* tests/keyctl.c: Likewise.
-* tests/lock_file.c: Likewise.
-* tests/mq.c: Likewise.
-* tests/mq_sendrecv.c: Likewise.
-* tests/netlink_protocol.c: Likewise.
-* tests/old_mmap.c: Likewise.
-* tests/tracer_ppid_pgid_sid.c: Likewise.
-
-Conflicts:
-	tests/epoll_pwait2.c
-	tests/faccessat2.c
-	tests/mq_sendrecv.c
----
- tests/clone-flags.c          |  5 ++---
- tests/faccessat.c            | 17 +++++------------
- tests/ioctl_kvm_run_common.c |  6 ++----
- tests/keyctl.c               | 29 +++++++++++++----------------
- tests/lock_file.c            |  5 ++---
- tests/mq.c                   |  5 ++---
- tests/mq_sendrecv.c          |  4 ++--
- tests/netlink_protocol.c     |  5 ++---
- tests/old_mmap.c             |  5 ++---
- tests/tracer_ppid_pgid_sid.c |  6 ++----
- 10 files changed, 34 insertions(+), 53 deletions(-)
-
-diff --git a/tests/clone-flags.c b/tests/clone-flags.c
-index 04bb2c7..aa7d48c 100644
---- a/tests/clone-flags.c
-+++ b/tests/clone-flags.c
-@@ -8,6 +8,7 @@
-  */
- 
- #include "tests.h"
-+#include "xmalloc.h"
- 
- #include <errno.h>
- #include <limits.h>
-@@ -134,9 +135,7 @@ main(void)
- 		*ptid = 0;
- 		pid = do_clone(child, child_stack, child_stack_size,
- 			       CLONE_PIDFD|SIGCHLD, 0, ptid);
--		char *fname = 0;
--		if (asprintf(&fname, "/proc/self/fd/%d", *ptid) < 0)
--			perror_msg_and_fail("asprintf");
-+		char *fname = xasprintf("/proc/self/fd/%d", *ptid);
- 		int rc = readlink(fname, buf, sizeof(buf) - 1);
- 		if ((unsigned int) rc >= sizeof(buf))
- 			perror_msg_and_fail("readlink");
-diff --git a/tests/faccessat.c b/tests/faccessat.c
-index c42aa2d..8cda6f3 100644
---- a/tests/faccessat.c
-+++ b/tests/faccessat.c
-@@ -12,6 +12,7 @@
- 
- #ifdef __NR_faccessat
- 
-+# include "xmalloc.h"
- # include <fcntl.h>
- # include <stdio.h>
- # include <unistd.h>
-@@ -48,13 +49,9 @@ main(void)
- 	SKIP_IF_PROC_IS_UNAVAILABLE;
- 
- 	TAIL_ALLOC_OBJECT_CONST_PTR(const char, unterminated);
--	char *unterminated_str;
--	if (asprintf(&unterminated_str, "%p", unterminated) < 0)
--                perror_msg_and_fail("asprintf");
-+	char *unterminated_str = xasprintf("%p", unterminated);
- 	const void *const efault = unterminated + 1;
--	char *efault_str;
--	if (asprintf(&efault_str, "%p", efault) < 0)
--                perror_msg_and_fail("asprintf");
-+	char *efault_str = xasprintf("%p", efault);
- 
- 	typedef struct {
- 		char sym;
-@@ -75,12 +72,8 @@ main(void)
-         int fd = open(path, O_WRONLY);
-         if (fd < 0)
-                 perror_msg_and_fail("open: %s", path);
--	char *fd_str;
--	if (asprintf(&fd_str, "%d%s", fd, FD_PATH) < 0)
--                perror_msg_and_fail("asprintf");
--	char *path_quoted;
--	if (asprintf(&path_quoted, "\"%s\"", path) < 0)
--                perror_msg_and_fail("asprintf");
-+	char *fd_str = xasprintf("%d%s", fd, FD_PATH);
-+	char *path_quoted = xasprintf("\"%s\"", path);
- 
- 	struct {
- 		int val;
-diff --git a/tests/ioctl_kvm_run_common.c b/tests/ioctl_kvm_run_common.c
-index 9107c30..be1190e 100644
---- a/tests/ioctl_kvm_run_common.c
-+++ b/tests/ioctl_kvm_run_common.c
-@@ -48,6 +48,7 @@
- #  define KVM_MAX_CPUID_ENTRIES 80
- # endif
- 
-+# include "xmalloc.h"
- # include "xlat.h"
- # include "xlat/kvm_cpuid_flags.h"
- 
-@@ -254,12 +255,9 @@ static int
- vcpu_dev_should_have_cpuid(int fd)
- {
- 	int r = 0;
--	char *filename = NULL;
-+	char *filename = xasprintf("/proc/%d/fd/%d", getpid(), fd);
- 	char buf[sizeof(vcpu_dev)];
- 
--	if (asprintf(&filename, "/proc/%d/fd/%d", getpid(), fd) < 0)
--		error_msg_and_fail("asprintf");
--
- 	if (readlink(filename, buf, sizeof(buf)) == sizeof(buf) - 1
- 	    && (memcmp(buf, vcpu_dev, sizeof(buf) - 1) == 0))
- 		r = 1;
-diff --git a/tests/keyctl.c b/tests/keyctl.c
-index 6dc30fb..96ac197 100644
---- a/tests/keyctl.c
-+++ b/tests/keyctl.c
-@@ -11,6 +11,7 @@
- #include "tests.h"
- 
- #include "scno.h"
-+#include "xmalloc.h"
- 
- #ifdef __NR_keyctl
- 
-@@ -445,7 +446,6 @@ main(void)
- 	struct iovec *key_iov = tail_alloc(sizeof(*key_iov) * IOV_SIZE);
- 	char *bogus_buf1 = tail_alloc(9);
- 	char *bogus_buf2 = tail_alloc(256);
--	char *key_iov_str1;
- 	char *key_iov_str2 = tail_alloc(4096);
- 	const char *errstr;
- 	ssize_t ret;
-@@ -472,21 +472,18 @@ main(void)
- 			0x100000001ULL * i);
- 	}
- 
--	ret = asprintf(&key_iov_str1, "[{iov_base=%p, iov_len=%zu}, "
--		       "{iov_base=%p, iov_len=%zu}, "
--		       "{iov_base=%p, iov_len=%zu}, "
--		       "{iov_base=%p, iov_len=%zu}]",
--		       key_iov[IOV_SIZE - 4].iov_base,
--		       key_iov[IOV_SIZE - 4].iov_len,
--		       key_iov[IOV_SIZE - 3].iov_base,
--		       key_iov[IOV_SIZE - 3].iov_len,
--		       key_iov[IOV_SIZE - 2].iov_base,
--		       key_iov[IOV_SIZE - 2].iov_len,
--		       key_iov[IOV_SIZE - 1].iov_base,
--		       key_iov[IOV_SIZE - 1].iov_len);
--
--	if (ret < 0)
--		error_msg_and_fail("asprintf");
-+	char *key_iov_str1 = xasprintf("[{iov_base=%p, iov_len=%zu}, "
-+				       "{iov_base=%p, iov_len=%zu}, "
-+				       "{iov_base=%p, iov_len=%zu}, "
-+				       "{iov_base=%p, iov_len=%zu}]",
-+				       key_iov[IOV_SIZE - 4].iov_base,
-+				       key_iov[IOV_SIZE - 4].iov_len,
-+				       key_iov[IOV_SIZE - 3].iov_base,
-+				       key_iov[IOV_SIZE - 3].iov_len,
-+				       key_iov[IOV_SIZE - 2].iov_base,
-+				       key_iov[IOV_SIZE - 2].iov_len,
-+				       key_iov[IOV_SIZE - 1].iov_base,
-+				       key_iov[IOV_SIZE - 1].iov_len);
- 
- 	ret = snprintf(key_iov_str2, IOV_STR_SIZE,
- 		       "[{iov_base=\"%s\\0\", iov_len=%zu}, "
-diff --git a/tests/lock_file.c b/tests/lock_file.c
-index 56cf112..7618552 100644
---- a/tests/lock_file.c
-+++ b/tests/lock_file.c
-@@ -6,6 +6,7 @@
-  */
- 
- #include "tests.h"
-+#include "xmalloc.h"
- 
- #include <fcntl.h>
- #include <stdio.h>
-@@ -21,9 +22,7 @@ lock_file_by_dirname(const char *path_name, const char *lock_name)
- 	const char *slash = path_name ? strrchr(path_name, '/') : NULL;
- 	const int plen = slash ? (int) (slash - path_name) + 1 : 0;
- 
--	char *lock_file = NULL;
--	if (asprintf(&lock_file, "%.*s%s", plen, path_name, lock_name) < 0)
--		perror_msg_and_fail("asprintf");
-+	char *lock_file = xasprintf("%.*s%s", plen, path_name, lock_name);
- 
- 	int lock_fd = open(lock_file, O_RDONLY);
- 	if (lock_fd < 0)
-diff --git a/tests/mq.c b/tests/mq.c
-index a083e5a..7aa0914 100644
---- a/tests/mq.c
-+++ b/tests/mq.c
-@@ -17,6 +17,7 @@
- # include <stdlib.h>
- # include <unistd.h>
- # include <sys/stat.h>
-+# include "xmalloc.h"
- 
- int
- main(void)
-@@ -24,9 +25,7 @@ main(void)
- 	struct mq_attr attr;
- 	(void) close(0);
- 
--	char *name;
--	if (asprintf(&name, "/strace-mq-%u.sample", getpid()) < 0)
--		perror_msg_and_fail("asprintf");
-+	char *name = xasprintf("/strace-mq-%u.sample", getpid());
- 
- 	if (mq_open(name, O_CREAT, 0700, NULL))
- 		perror_msg_and_skip("mq_open");
-diff --git a/tests/mq_sendrecv.c b/tests/mq_sendrecv.c
-index 45ddf5e..5a919c4 100644
---- a/tests/mq_sendrecv.c
-+++ b/tests/mq_sendrecv.c
-@@ -27,6 +27,7 @@
- # include <time.h>
- # include <unistd.h>
- 
-+# include "xmalloc.h"
- # include "sigevent.h"
- 
- # ifndef DUMPIO_READ
-@@ -407,8 +408,7 @@ main(void)
- 
- 	/* Sending and receiving test */
- 
--	if (asprintf(&mq_name, "strace-mq_sendrecv-%u.sample", getpid()) < 0)
--		perror_msg_and_fail("asprintf");
-+	mq_name = xasprintf("strace-mq_sendrecv-%u.sample", getpid());
- 
- # if DUMPIO_READ || DUMPIO_WRITE
- 	close(0);
-diff --git a/tests/netlink_protocol.c b/tests/netlink_protocol.c
-index e632ba3..c37489f 100644
---- a/tests/netlink_protocol.c
-+++ b/tests/netlink_protocol.c
-@@ -22,6 +22,7 @@
- # include "netlink.h"
- # include <linux/sock_diag.h>
- # include <linux/netlink_diag.h>
-+# include "xmalloc.h"
- 
- static void
- send_query(const int fd)
-@@ -388,9 +389,7 @@ int main(void)
- {
- 	const int fd = create_nl_socket(NETLINK_SOCK_DIAG);
- 
--	char *path;
--	if (asprintf(&path, "/proc/self/fd/%u", fd) < 0)
--		perror_msg_and_fail("asprintf");
-+	char *path = xasprintf("/proc/self/fd/%u", fd);
- 	char buf[256];
- 	if (getxattr(path, "system.sockprotoname", buf, sizeof(buf) - 1) < 0)
- 		perror_msg_and_skip("getxattr");
-diff --git a/tests/old_mmap.c b/tests/old_mmap.c
-index f095bc4..bb70359 100644
---- a/tests/old_mmap.c
-+++ b/tests/old_mmap.c
-@@ -27,6 +27,7 @@
- # include <string.h>
- # include <sys/mman.h>
- # include <unistd.h>
-+# include "xmalloc.h"
- 
- # ifndef TEST_FD
- #  define TEST_FD -2LU
-@@ -82,9 +83,7 @@ main(void)
- # ifndef PATH_TRACING
- 	const char *errstr;
- 	if (implemented) {
--		char *str;
--		if (asprintf(&str, "%#lx", rc) < 0)
--			perror_msg_and_fail("asprintf");
-+		char *str = xasprintf("%#lx", rc);
- 		errstr = str;
- 	} else {
- 		errstr = sprintrc(rc);
-diff --git a/tests/tracer_ppid_pgid_sid.c b/tests/tracer_ppid_pgid_sid.c
-index 69687fa..ce9936d 100644
---- a/tests/tracer_ppid_pgid_sid.c
-+++ b/tests/tracer_ppid_pgid_sid.c
-@@ -8,6 +8,7 @@
-  */
- 
- #include "tests.h"
-+#include "xmalloc.h"
- #include <ctype.h>
- #include <stdio.h>
- #include <stdlib.h>
-@@ -55,10 +56,7 @@ get_tracer_pid(void)
- static void
- get_ppid_pgid_sid(int pid, int *ppid, int *pgid, int *sid)
- {
--	char *stat;
--	if (asprintf(&stat, "/proc/%d/stat", pid) < 0)
--		perror_msg_and_fail("asprintf");
--
-+	char *stat = xasprintf("/proc/%d/stat", pid);
- 	FILE *fp = fopen(stat, "r");
- 	if (!fp)
- 		perror_msg_and_fail("fopen: %s", stat);
-diff --git a/tests-m32/clone-flags.c b/tests-m32/clone-flags.c
-index 04bb2c7..aa7d48c 100644
---- a/tests-m32/clone-flags.c
-+++ b/tests-m32/clone-flags.c
-@@ -8,6 +8,7 @@
-  */
- 
- #include "tests.h"
-+#include "xmalloc.h"
- 
- #include <errno.h>
- #include <limits.h>
-@@ -134,9 +135,7 @@ main(void)
- 		*ptid = 0;
- 		pid = do_clone(child, child_stack, child_stack_size,
- 			       CLONE_PIDFD|SIGCHLD, 0, ptid);
--		char *fname = 0;
--		if (asprintf(&fname, "/proc/self/fd/%d", *ptid) < 0)
--			perror_msg_and_fail("asprintf");
-+		char *fname = xasprintf("/proc/self/fd/%d", *ptid);
- 		int rc = readlink(fname, buf, sizeof(buf) - 1);
- 		if ((unsigned int) rc >= sizeof(buf))
- 			perror_msg_and_fail("readlink");
-diff --git a/tests-m32/faccessat.c b/tests-m32/faccessat.c
-index c42aa2d..8cda6f3 100644
---- a/tests-m32/faccessat.c
-+++ b/tests-m32/faccessat.c
-@@ -12,6 +12,7 @@
- 
- #ifdef __NR_faccessat
- 
-+# include "xmalloc.h"
- # include <fcntl.h>
- # include <stdio.h>
- # include <unistd.h>
-@@ -48,13 +49,9 @@ main(void)
- 	SKIP_IF_PROC_IS_UNAVAILABLE;
- 
- 	TAIL_ALLOC_OBJECT_CONST_PTR(const char, unterminated);
--	char *unterminated_str;
--	if (asprintf(&unterminated_str, "%p", unterminated) < 0)
--                perror_msg_and_fail("asprintf");
-+	char *unterminated_str = xasprintf("%p", unterminated);
- 	const void *const efault = unterminated + 1;
--	char *efault_str;
--	if (asprintf(&efault_str, "%p", efault) < 0)
--                perror_msg_and_fail("asprintf");
-+	char *efault_str = xasprintf("%p", efault);
- 
- 	typedef struct {
- 		char sym;
-@@ -75,12 +72,8 @@ main(void)
-         int fd = open(path, O_WRONLY);
-         if (fd < 0)
-                 perror_msg_and_fail("open: %s", path);
--	char *fd_str;
--	if (asprintf(&fd_str, "%d%s", fd, FD_PATH) < 0)
--                perror_msg_and_fail("asprintf");
--	char *path_quoted;
--	if (asprintf(&path_quoted, "\"%s\"", path) < 0)
--                perror_msg_and_fail("asprintf");
-+	char *fd_str = xasprintf("%d%s", fd, FD_PATH);
-+	char *path_quoted = xasprintf("\"%s\"", path);
- 
- 	struct {
- 		int val;
-diff --git a/tests-m32/ioctl_kvm_run_common.c b/tests-m32/ioctl_kvm_run_common.c
-index 9107c30..be1190e 100644
---- a/tests-m32/ioctl_kvm_run_common.c
-+++ b/tests-m32/ioctl_kvm_run_common.c
-@@ -48,6 +48,7 @@
- #  define KVM_MAX_CPUID_ENTRIES 80
- # endif
- 
-+# include "xmalloc.h"
- # include "xlat.h"
- # include "xlat/kvm_cpuid_flags.h"
- 
-@@ -254,12 +255,9 @@ static int
- vcpu_dev_should_have_cpuid(int fd)
- {
- 	int r = 0;
--	char *filename = NULL;
-+	char *filename = xasprintf("/proc/%d/fd/%d", getpid(), fd);
- 	char buf[sizeof(vcpu_dev)];
- 
--	if (asprintf(&filename, "/proc/%d/fd/%d", getpid(), fd) < 0)
--		error_msg_and_fail("asprintf");
--
- 	if (readlink(filename, buf, sizeof(buf)) == sizeof(buf) - 1
- 	    && (memcmp(buf, vcpu_dev, sizeof(buf) - 1) == 0))
- 		r = 1;
-diff --git a/tests-m32/keyctl.c b/tests-m32/keyctl.c
-index 6dc30fb..96ac197 100644
---- a/tests-m32/keyctl.c
-+++ b/tests-m32/keyctl.c
-@@ -11,6 +11,7 @@
- #include "tests.h"
- 
- #include "scno.h"
-+#include "xmalloc.h"
- 
- #ifdef __NR_keyctl
- 
-@@ -445,7 +446,6 @@ main(void)
- 	struct iovec *key_iov = tail_alloc(sizeof(*key_iov) * IOV_SIZE);
- 	char *bogus_buf1 = tail_alloc(9);
- 	char *bogus_buf2 = tail_alloc(256);
--	char *key_iov_str1;
- 	char *key_iov_str2 = tail_alloc(4096);
- 	const char *errstr;
- 	ssize_t ret;
-@@ -472,21 +472,18 @@ main(void)
- 			0x100000001ULL * i);
- 	}
- 
--	ret = asprintf(&key_iov_str1, "[{iov_base=%p, iov_len=%zu}, "
--		       "{iov_base=%p, iov_len=%zu}, "
--		       "{iov_base=%p, iov_len=%zu}, "
--		       "{iov_base=%p, iov_len=%zu}]",
--		       key_iov[IOV_SIZE - 4].iov_base,
--		       key_iov[IOV_SIZE - 4].iov_len,
--		       key_iov[IOV_SIZE - 3].iov_base,
--		       key_iov[IOV_SIZE - 3].iov_len,
--		       key_iov[IOV_SIZE - 2].iov_base,
--		       key_iov[IOV_SIZE - 2].iov_len,
--		       key_iov[IOV_SIZE - 1].iov_base,
--		       key_iov[IOV_SIZE - 1].iov_len);
--
--	if (ret < 0)
--		error_msg_and_fail("asprintf");
-+	char *key_iov_str1 = xasprintf("[{iov_base=%p, iov_len=%zu}, "
-+				       "{iov_base=%p, iov_len=%zu}, "
-+				       "{iov_base=%p, iov_len=%zu}, "
-+				       "{iov_base=%p, iov_len=%zu}]",
-+				       key_iov[IOV_SIZE - 4].iov_base,
-+				       key_iov[IOV_SIZE - 4].iov_len,
-+				       key_iov[IOV_SIZE - 3].iov_base,
-+				       key_iov[IOV_SIZE - 3].iov_len,
-+				       key_iov[IOV_SIZE - 2].iov_base,
-+				       key_iov[IOV_SIZE - 2].iov_len,
-+				       key_iov[IOV_SIZE - 1].iov_base,
-+				       key_iov[IOV_SIZE - 1].iov_len);
- 
- 	ret = snprintf(key_iov_str2, IOV_STR_SIZE,
- 		       "[{iov_base=\"%s\\0\", iov_len=%zu}, "
-diff --git a/tests-m32/lock_file.c b/tests-m32/lock_file.c
-index 56cf112..7618552 100644
---- a/tests-m32/lock_file.c
-+++ b/tests-m32/lock_file.c
-@@ -6,6 +6,7 @@
-  */
- 
- #include "tests.h"
-+#include "xmalloc.h"
- 
- #include <fcntl.h>
- #include <stdio.h>
-@@ -21,9 +22,7 @@ lock_file_by_dirname(const char *path_name, const char *lock_name)
- 	const char *slash = path_name ? strrchr(path_name, '/') : NULL;
- 	const int plen = slash ? (int) (slash - path_name) + 1 : 0;
- 
--	char *lock_file = NULL;
--	if (asprintf(&lock_file, "%.*s%s", plen, path_name, lock_name) < 0)
--		perror_msg_and_fail("asprintf");
-+	char *lock_file = xasprintf("%.*s%s", plen, path_name, lock_name);
- 
- 	int lock_fd = open(lock_file, O_RDONLY);
- 	if (lock_fd < 0)
-diff --git a/tests-m32/mq.c b/tests-m32/mq.c
-index a083e5a..7aa0914 100644
---- a/tests-m32/mq.c
-+++ b/tests-m32/mq.c
-@@ -17,6 +17,7 @@
- # include <stdlib.h>
- # include <unistd.h>
- # include <sys/stat.h>
-+# include "xmalloc.h"
- 
- int
- main(void)
-@@ -24,9 +25,7 @@ main(void)
- 	struct mq_attr attr;
- 	(void) close(0);
- 
--	char *name;
--	if (asprintf(&name, "/strace-mq-%u.sample", getpid()) < 0)
--		perror_msg_and_fail("asprintf");
-+	char *name = xasprintf("/strace-mq-%u.sample", getpid());
- 
- 	if (mq_open(name, O_CREAT, 0700, NULL))
- 		perror_msg_and_skip("mq_open");
-diff --git a/tests-m32/mq_sendrecv.c b/tests-m32/mq_sendrecv.c
-index 45ddf5e..5a919c4 100644
---- a/tests-m32/mq_sendrecv.c
-+++ b/tests-m32/mq_sendrecv.c
-@@ -27,6 +27,7 @@
- # include <time.h>
- # include <unistd.h>
- 
-+# include "xmalloc.h"
- # include "sigevent.h"
- 
- # ifndef DUMPIO_READ
-@@ -407,8 +408,7 @@ main(void)
- 
- 	/* Sending and receiving test */
- 
--	if (asprintf(&mq_name, "strace-mq_sendrecv-%u.sample", getpid()) < 0)
--		perror_msg_and_fail("asprintf");
-+	mq_name = xasprintf("strace-mq_sendrecv-%u.sample", getpid());
- 
- # if DUMPIO_READ || DUMPIO_WRITE
- 	close(0);
-diff --git a/tests-m32/netlink_protocol.c b/tests-m32/netlink_protocol.c
-index e632ba3..c37489f 100644
---- a/tests-m32/netlink_protocol.c
-+++ b/tests-m32/netlink_protocol.c
-@@ -22,6 +22,7 @@
- # include "netlink.h"
- # include <linux/sock_diag.h>
- # include <linux/netlink_diag.h>
-+# include "xmalloc.h"
- 
- static void
- send_query(const int fd)
-@@ -388,9 +389,7 @@ int main(void)
- {
- 	const int fd = create_nl_socket(NETLINK_SOCK_DIAG);
- 
--	char *path;
--	if (asprintf(&path, "/proc/self/fd/%u", fd) < 0)
--		perror_msg_and_fail("asprintf");
-+	char *path = xasprintf("/proc/self/fd/%u", fd);
- 	char buf[256];
- 	if (getxattr(path, "system.sockprotoname", buf, sizeof(buf) - 1) < 0)
- 		perror_msg_and_skip("getxattr");
-diff --git a/tests-m32/old_mmap.c b/tests-m32/old_mmap.c
-index f095bc4..bb70359 100644
---- a/tests-m32/old_mmap.c
-+++ b/tests-m32/old_mmap.c
-@@ -27,6 +27,7 @@
- # include <string.h>
- # include <sys/mman.h>
- # include <unistd.h>
-+# include "xmalloc.h"
- 
- # ifndef TEST_FD
- #  define TEST_FD -2LU
-@@ -82,9 +83,7 @@ main(void)
- # ifndef PATH_TRACING
- 	const char *errstr;
- 	if (implemented) {
--		char *str;
--		if (asprintf(&str, "%#lx", rc) < 0)
--			perror_msg_and_fail("asprintf");
-+		char *str = xasprintf("%#lx", rc);
- 		errstr = str;
- 	} else {
- 		errstr = sprintrc(rc);
-diff --git a/tests-m32/tracer_ppid_pgid_sid.c b/tests-m32/tracer_ppid_pgid_sid.c
-index 69687fa..ce9936d 100644
---- a/tests-m32/tracer_ppid_pgid_sid.c
-+++ b/tests-m32/tracer_ppid_pgid_sid.c
-@@ -8,6 +8,7 @@
-  */
- 
- #include "tests.h"
-+#include "xmalloc.h"
- #include <ctype.h>
- #include <stdio.h>
- #include <stdlib.h>
-@@ -55,10 +56,7 @@ get_tracer_pid(void)
- static void
- get_ppid_pgid_sid(int pid, int *ppid, int *pgid, int *sid)
- {
--	char *stat;
--	if (asprintf(&stat, "/proc/%d/stat", pid) < 0)
--		perror_msg_and_fail("asprintf");
--
-+	char *stat = xasprintf("/proc/%d/stat", pid);
- 	FILE *fp = fopen(stat, "r");
- 	if (!fp)
- 		perror_msg_and_fail("fopen: %s", stat);
-diff --git a/tests-mx32/clone-flags.c b/tests-mx32/clone-flags.c
-index 04bb2c7..aa7d48c 100644
---- a/tests-mx32/clone-flags.c
-+++ b/tests-mx32/clone-flags.c
-@@ -8,6 +8,7 @@
-  */
- 
- #include "tests.h"
-+#include "xmalloc.h"
- 
- #include <errno.h>
- #include <limits.h>
-@@ -134,9 +135,7 @@ main(void)
- 		*ptid = 0;
- 		pid = do_clone(child, child_stack, child_stack_size,
- 			       CLONE_PIDFD|SIGCHLD, 0, ptid);
--		char *fname = 0;
--		if (asprintf(&fname, "/proc/self/fd/%d", *ptid) < 0)
--			perror_msg_and_fail("asprintf");
-+		char *fname = xasprintf("/proc/self/fd/%d", *ptid);
- 		int rc = readlink(fname, buf, sizeof(buf) - 1);
- 		if ((unsigned int) rc >= sizeof(buf))
- 			perror_msg_and_fail("readlink");
-diff --git a/tests-mx32/faccessat.c b/tests-mx32/faccessat.c
-index c42aa2d..8cda6f3 100644
---- a/tests-mx32/faccessat.c
-+++ b/tests-mx32/faccessat.c
-@@ -12,6 +12,7 @@
- 
- #ifdef __NR_faccessat
- 
-+# include "xmalloc.h"
- # include <fcntl.h>
- # include <stdio.h>
- # include <unistd.h>
-@@ -48,13 +49,9 @@ main(void)
- 	SKIP_IF_PROC_IS_UNAVAILABLE;
- 
- 	TAIL_ALLOC_OBJECT_CONST_PTR(const char, unterminated);
--	char *unterminated_str;
--	if (asprintf(&unterminated_str, "%p", unterminated) < 0)
--                perror_msg_and_fail("asprintf");
-+	char *unterminated_str = xasprintf("%p", unterminated);
- 	const void *const efault = unterminated + 1;
--	char *efault_str;
--	if (asprintf(&efault_str, "%p", efault) < 0)
--                perror_msg_and_fail("asprintf");
-+	char *efault_str = xasprintf("%p", efault);
- 
- 	typedef struct {
- 		char sym;
-@@ -75,12 +72,8 @@ main(void)
-         int fd = open(path, O_WRONLY);
-         if (fd < 0)
-                 perror_msg_and_fail("open: %s", path);
--	char *fd_str;
--	if (asprintf(&fd_str, "%d%s", fd, FD_PATH) < 0)
--                perror_msg_and_fail("asprintf");
--	char *path_quoted;
--	if (asprintf(&path_quoted, "\"%s\"", path) < 0)
--                perror_msg_and_fail("asprintf");
-+	char *fd_str = xasprintf("%d%s", fd, FD_PATH);
-+	char *path_quoted = xasprintf("\"%s\"", path);
- 
- 	struct {
- 		int val;
-diff --git a/tests-mx32/ioctl_kvm_run_common.c b/tests-mx32/ioctl_kvm_run_common.c
-index 9107c30..be1190e 100644
---- a/tests-mx32/ioctl_kvm_run_common.c
-+++ b/tests-mx32/ioctl_kvm_run_common.c
-@@ -48,6 +48,7 @@
- #  define KVM_MAX_CPUID_ENTRIES 80
- # endif
- 
-+# include "xmalloc.h"
- # include "xlat.h"
- # include "xlat/kvm_cpuid_flags.h"
- 
-@@ -254,12 +255,9 @@ static int
- vcpu_dev_should_have_cpuid(int fd)
- {
- 	int r = 0;
--	char *filename = NULL;
-+	char *filename = xasprintf("/proc/%d/fd/%d", getpid(), fd);
- 	char buf[sizeof(vcpu_dev)];
- 
--	if (asprintf(&filename, "/proc/%d/fd/%d", getpid(), fd) < 0)
--		error_msg_and_fail("asprintf");
--
- 	if (readlink(filename, buf, sizeof(buf)) == sizeof(buf) - 1
- 	    && (memcmp(buf, vcpu_dev, sizeof(buf) - 1) == 0))
- 		r = 1;
-diff --git a/tests-mx32/keyctl.c b/tests-mx32/keyctl.c
-index 6dc30fb..96ac197 100644
---- a/tests-mx32/keyctl.c
-+++ b/tests-mx32/keyctl.c
-@@ -11,6 +11,7 @@
- #include "tests.h"
- 
- #include "scno.h"
-+#include "xmalloc.h"
- 
- #ifdef __NR_keyctl
- 
-@@ -445,7 +446,6 @@ main(void)
- 	struct iovec *key_iov = tail_alloc(sizeof(*key_iov) * IOV_SIZE);
- 	char *bogus_buf1 = tail_alloc(9);
- 	char *bogus_buf2 = tail_alloc(256);
--	char *key_iov_str1;
- 	char *key_iov_str2 = tail_alloc(4096);
- 	const char *errstr;
- 	ssize_t ret;
-@@ -472,21 +472,18 @@ main(void)
- 			0x100000001ULL * i);
- 	}
- 
--	ret = asprintf(&key_iov_str1, "[{iov_base=%p, iov_len=%zu}, "
--		       "{iov_base=%p, iov_len=%zu}, "
--		       "{iov_base=%p, iov_len=%zu}, "
--		       "{iov_base=%p, iov_len=%zu}]",
--		       key_iov[IOV_SIZE - 4].iov_base,
--		       key_iov[IOV_SIZE - 4].iov_len,
--		       key_iov[IOV_SIZE - 3].iov_base,
--		       key_iov[IOV_SIZE - 3].iov_len,
--		       key_iov[IOV_SIZE - 2].iov_base,
--		       key_iov[IOV_SIZE - 2].iov_len,
--		       key_iov[IOV_SIZE - 1].iov_base,
--		       key_iov[IOV_SIZE - 1].iov_len);
--
--	if (ret < 0)
--		error_msg_and_fail("asprintf");
-+	char *key_iov_str1 = xasprintf("[{iov_base=%p, iov_len=%zu}, "
-+				       "{iov_base=%p, iov_len=%zu}, "
-+				       "{iov_base=%p, iov_len=%zu}, "
-+				       "{iov_base=%p, iov_len=%zu}]",
-+				       key_iov[IOV_SIZE - 4].iov_base,
-+				       key_iov[IOV_SIZE - 4].iov_len,
-+				       key_iov[IOV_SIZE - 3].iov_base,
-+				       key_iov[IOV_SIZE - 3].iov_len,
-+				       key_iov[IOV_SIZE - 2].iov_base,
-+				       key_iov[IOV_SIZE - 2].iov_len,
-+				       key_iov[IOV_SIZE - 1].iov_base,
-+				       key_iov[IOV_SIZE - 1].iov_len);
- 
- 	ret = snprintf(key_iov_str2, IOV_STR_SIZE,
- 		       "[{iov_base=\"%s\\0\", iov_len=%zu}, "
-diff --git a/tests-mx32/lock_file.c b/tests-mx32/lock_file.c
-index 56cf112..7618552 100644
---- a/tests-mx32/lock_file.c
-+++ b/tests-mx32/lock_file.c
-@@ -6,6 +6,7 @@
-  */
- 
- #include "tests.h"
-+#include "xmalloc.h"
- 
- #include <fcntl.h>
- #include <stdio.h>
-@@ -21,9 +22,7 @@ lock_file_by_dirname(const char *path_name, const char *lock_name)
- 	const char *slash = path_name ? strrchr(path_name, '/') : NULL;
- 	const int plen = slash ? (int) (slash - path_name) + 1 : 0;
- 
--	char *lock_file = NULL;
--	if (asprintf(&lock_file, "%.*s%s", plen, path_name, lock_name) < 0)
--		perror_msg_and_fail("asprintf");
-+	char *lock_file = xasprintf("%.*s%s", plen, path_name, lock_name);
- 
- 	int lock_fd = open(lock_file, O_RDONLY);
- 	if (lock_fd < 0)
-diff --git a/tests-mx32/mq.c b/tests-mx32/mq.c
-index a083e5a..7aa0914 100644
---- a/tests-mx32/mq.c
-+++ b/tests-mx32/mq.c
-@@ -17,6 +17,7 @@
- # include <stdlib.h>
- # include <unistd.h>
- # include <sys/stat.h>
-+# include "xmalloc.h"
- 
- int
- main(void)
-@@ -24,9 +25,7 @@ main(void)
- 	struct mq_attr attr;
- 	(void) close(0);
- 
--	char *name;
--	if (asprintf(&name, "/strace-mq-%u.sample", getpid()) < 0)
--		perror_msg_and_fail("asprintf");
-+	char *name = xasprintf("/strace-mq-%u.sample", getpid());
- 
- 	if (mq_open(name, O_CREAT, 0700, NULL))
- 		perror_msg_and_skip("mq_open");
-diff --git a/tests-mx32/mq_sendrecv.c b/tests-mx32/mq_sendrecv.c
-index 45ddf5e..5a919c4 100644
---- a/tests-mx32/mq_sendrecv.c
-+++ b/tests-mx32/mq_sendrecv.c
-@@ -27,6 +27,7 @@
- # include <time.h>
- # include <unistd.h>
- 
-+# include "xmalloc.h"
- # include "sigevent.h"
- 
- # ifndef DUMPIO_READ
-@@ -407,8 +408,7 @@ main(void)
- 
- 	/* Sending and receiving test */
- 
--	if (asprintf(&mq_name, "strace-mq_sendrecv-%u.sample", getpid()) < 0)
--		perror_msg_and_fail("asprintf");
-+	mq_name = xasprintf("strace-mq_sendrecv-%u.sample", getpid());
- 
- # if DUMPIO_READ || DUMPIO_WRITE
- 	close(0);
-diff --git a/tests-mx32/netlink_protocol.c b/tests-mx32/netlink_protocol.c
-index e632ba3..c37489f 100644
---- a/tests-mx32/netlink_protocol.c
-+++ b/tests-mx32/netlink_protocol.c
-@@ -22,6 +22,7 @@
- # include "netlink.h"
- # include <linux/sock_diag.h>
- # include <linux/netlink_diag.h>
-+# include "xmalloc.h"
- 
- static void
- send_query(const int fd)
-@@ -388,9 +389,7 @@ int main(void)
- {
- 	const int fd = create_nl_socket(NETLINK_SOCK_DIAG);
- 
--	char *path;
--	if (asprintf(&path, "/proc/self/fd/%u", fd) < 0)
--		perror_msg_and_fail("asprintf");
-+	char *path = xasprintf("/proc/self/fd/%u", fd);
- 	char buf[256];
- 	if (getxattr(path, "system.sockprotoname", buf, sizeof(buf) - 1) < 0)
- 		perror_msg_and_skip("getxattr");
-diff --git a/tests-mx32/old_mmap.c b/tests-mx32/old_mmap.c
-index f095bc4..bb70359 100644
---- a/tests-mx32/old_mmap.c
-+++ b/tests-mx32/old_mmap.c
-@@ -27,6 +27,7 @@
- # include <string.h>
- # include <sys/mman.h>
- # include <unistd.h>
-+# include "xmalloc.h"
- 
- # ifndef TEST_FD
- #  define TEST_FD -2LU
-@@ -82,9 +83,7 @@ main(void)
- # ifndef PATH_TRACING
- 	const char *errstr;
- 	if (implemented) {
--		char *str;
--		if (asprintf(&str, "%#lx", rc) < 0)
--			perror_msg_and_fail("asprintf");
-+		char *str = xasprintf("%#lx", rc);
- 		errstr = str;
- 	} else {
- 		errstr = sprintrc(rc);
-diff --git a/tests-mx32/tracer_ppid_pgid_sid.c b/tests-mx32/tracer_ppid_pgid_sid.c
-index 69687fa..ce9936d 100644
---- a/tests-mx32/tracer_ppid_pgid_sid.c
-+++ b/tests-mx32/tracer_ppid_pgid_sid.c
-@@ -8,6 +8,7 @@
-  */
- 
- #include "tests.h"
-+#include "xmalloc.h"
- #include <ctype.h>
- #include <stdio.h>
- #include <stdlib.h>
-@@ -55,10 +56,7 @@ get_tracer_pid(void)
- static void
- get_ppid_pgid_sid(int pid, int *ppid, int *pgid, int *sid)
- {
--	char *stat;
--	if (asprintf(&stat, "/proc/%d/stat", pid) < 0)
--		perror_msg_and_fail("asprintf");
--
-+	char *stat = xasprintf("/proc/%d/stat", pid);
- 	FILE *fp = fopen(stat, "r");
- 	if (!fp)
- 		perror_msg_and_fail("fopen: %s", stat);
--- 
-2.1.4
-
diff --git a/SOURCES/0147-file_handle-print-f_handle-as-a-hexadecimal-string.patch b/SOURCES/0147-file_handle-print-f_handle-as-a-hexadecimal-string.patch
deleted file mode 100644
index 1e0c295..0000000
--- a/SOURCES/0147-file_handle-print-f_handle-as-a-hexadecimal-string.patch
+++ /dev/null
@@ -1,276 +0,0 @@
-From 5a8d3bab6f492b3932299d9e80fb247ab00b8102 Mon Sep 17 00:00:00 2001
-From: "Dmitry V. Levin" <ldv@strace.io>
-Date: Sun, 7 Mar 2021 08:00:00 +0000
-Subject: [PATCH 147/149] file_handle: print f_handle as a hexadecimal string
-
-Printing the sequence of bytes as a hexadecimal number is misleading
-because the latter depends on endianness.
-
-* src/file_handle.c (print_f_handle): New function.
-(SYS_FUNC(name_to_handle_at), SYS_FUNC(open_by_handle_at)): Use it
-to print struct file_handle.f_handle.
-* tests/file_handle.c (print_handle_data, do_open_by_handle_at, main):
-Update expected output.
----
- file_handle.c       | 47 ++++++++++++++++++++++-------------------------
- tests/file_handle.c | 26 +++++++++++---------------
- 2 files changed, 33 insertions(+), 40 deletions(-)
-
-diff --git a/file_handle.c b/file_handle.c
-index d82a1bc..343111f 100644
---- a/file_handle.c
-+++ b/file_handle.c
-@@ -19,6 +19,22 @@ typedef struct {
- 	int handle_type;
- } file_handle_header;
- 
-+static void
-+print_f_handle(struct tcb *tcp, kernel_ulong_t addr, unsigned int handle_bytes)
-+{
-+	unsigned int len = MIN(handle_bytes, MAX_HANDLE_SZ);
-+	char f_handle[MAX_HANDLE_SZ];
-+	addr += sizeof(file_handle_header);
-+	if (addr > sizeof(file_handle_header) &&
-+	    !umoven(tcp, addr, len, f_handle)) {
-+		print_quoted_string(f_handle, len, QUOTE_FORCE_HEX);
-+		if (handle_bytes > len)
-+			tprints("...");
-+	} else {
-+		tprints("???");
-+	}
-+}
-+
- SYS_FUNC(name_to_handle_at)
- {
- 	file_handle_header h;
-@@ -53,24 +69,15 @@ SYS_FUNC(name_to_handle_at)
- 
- 		return 0;
- 	} else {
--		unsigned int i = get_tcb_priv_ulong(tcp);
--
- 		if ((!syserror(tcp) || EOVERFLOW == tcp->u_error)
- 		    && !umove(tcp, addr, &h)) {
--			unsigned char f_handle[MAX_HANDLE_SZ];
- 
--			if (i != h.handle_bytes)
-+			if (h.handle_bytes != get_tcb_priv_ulong(tcp))
- 				tprintf(" => %u", h.handle_bytes);
- 			if (!syserror(tcp)) {
--				tprintf(", handle_type=%d", h.handle_type);
--				if (h.handle_bytes > MAX_HANDLE_SZ)
--					h.handle_bytes = MAX_HANDLE_SZ;
--				if (!umoven(tcp, addr + sizeof(h), h.handle_bytes,
--					    f_handle)) {
--					tprints(", f_handle=0x");
--					for (i = 0; i < h.handle_bytes; ++i)
--						tprintf("%02x", f_handle[i]);
--				}
-+				tprintf(", handle_type=%d, f_handle=",
-+					h.handle_type);
-+				print_f_handle(tcp, addr, h.handle_bytes);
- 			}
- 		}
- 		tprints("}, ");
-@@ -96,19 +103,9 @@ SYS_FUNC(open_by_handle_at)
- 
- 	/* handle */
- 	if (!umove_or_printaddr(tcp, addr, &h)) {
--		unsigned char f_handle[MAX_HANDLE_SZ];
--
--		tprintf("{handle_bytes=%u, handle_type=%d",
-+		tprintf("{handle_bytes=%u, handle_type=%d, f_handle=",
- 			h.handle_bytes, h.handle_type);
--		if (h.handle_bytes > MAX_HANDLE_SZ)
--			h.handle_bytes = MAX_HANDLE_SZ;
--		if (!umoven(tcp, addr + sizeof(h), h.handle_bytes, &f_handle)) {
--			unsigned int i;
--
--			tprints(", f_handle=0x");
--			for (i = 0; i < h.handle_bytes; ++i)
--				tprintf("%02x", f_handle[i]);
--		}
-+		print_f_handle(tcp, addr, h.handle_bytes);
- 		tprints("}");
- 	}
- 	tprints(", ");
-diff --git a/tests/file_handle.c b/tests/file_handle.c
-index edabde6..07af7ba 100644
---- a/tests/file_handle.c
-+++ b/tests/file_handle.c
-@@ -42,14 +42,10 @@ struct file_handle {
- void
- print_handle_data(unsigned char *bytes, unsigned int size)
- {
--	unsigned int i;
--
--	if (size > MAX_HANDLE_SZ)
--		size = MAX_HANDLE_SZ;
--
--	printf("0x");
--	for (i = 0; i < size; ++i)
--		printf("%02x", bytes[i]);
-+	unsigned int len = MIN(size, MAX_HANDLE_SZ);
-+	print_quoted_hex(bytes, len);
-+	if (size > len)
-+		printf("...");
- }
- 
- void
-@@ -111,11 +107,13 @@ do_open_by_handle_at(kernel_ulong_t mount_fd,
- 		printf("{handle_bytes=%u, handle_type=%d", fh->handle_bytes,
- 		       fh->handle_type);
- 
-+		printf(", f_handle=");
- 		if (valid_data) {
--			printf(", f_handle=");
- 			print_handle_data((unsigned char *) fh +
- 					  sizeof(struct file_handle),
- 					  fh->handle_bytes);
-+		} else {
-+			printf("???");
- 		}
- 
- 		printf("}");
-@@ -275,16 +273,14 @@ main(void)
- 	assert(syscall(__NR_name_to_handle_at, fdcwd, ".", handle, &mount_id,
- 		flags) == 0);
- 	printf("name_to_handle_at(AT_FDCWD, \".\", {handle_bytes=%u"
--	       ", handle_type=%d, f_handle=0x",
-+	       ", handle_type=%d, f_handle=",
- 	       handle->handle_bytes, handle->handle_type);
--	for (i = 0; i < handle->handle_bytes; ++i)
--		printf("%02x", handle->f_handle[i]);
-+	print_handle_data(handle->f_handle, handle->handle_bytes);
- 	printf("}, [%d], AT_SYMLINK_FOLLOW) = 0\n", mount_id);
- 
- 	printf("open_by_handle_at(-1, {handle_bytes=%u, handle_type=%d"
--	       ", f_handle=0x", handle->handle_bytes, handle->handle_type);
--	for (i = 0; i < handle->handle_bytes; ++i)
--		printf("%02x", handle->f_handle[i]);
-+	       ", f_handle=", handle->handle_bytes, handle->handle_type);
-+	print_handle_data(handle->f_handle, handle->handle_bytes);
- 	int rc = syscall(__NR_open_by_handle_at, -1, handle,
- 		O_RDONLY | O_DIRECTORY);
- 	printf("}, O_RDONLY|O_DIRECTORY) = %d %s (%m)\n", rc, errno2name());
-diff --git a/tests-m32/file_handle.c b/tests-m32/file_handle.c
-index edabde6..07af7ba 100644
---- a/tests-m32/file_handle.c
-+++ b/tests-m32/file_handle.c
-@@ -42,14 +42,10 @@ struct file_handle {
- void
- print_handle_data(unsigned char *bytes, unsigned int size)
- {
--	unsigned int i;
--
--	if (size > MAX_HANDLE_SZ)
--		size = MAX_HANDLE_SZ;
--
--	printf("0x");
--	for (i = 0; i < size; ++i)
--		printf("%02x", bytes[i]);
-+	unsigned int len = MIN(size, MAX_HANDLE_SZ);
-+	print_quoted_hex(bytes, len);
-+	if (size > len)
-+		printf("...");
- }
- 
- void
-@@ -111,11 +107,13 @@ do_open_by_handle_at(kernel_ulong_t mount_fd,
- 		printf("{handle_bytes=%u, handle_type=%d", fh->handle_bytes,
- 		       fh->handle_type);
- 
-+		printf(", f_handle=");
- 		if (valid_data) {
--			printf(", f_handle=");
- 			print_handle_data((unsigned char *) fh +
- 					  sizeof(struct file_handle),
- 					  fh->handle_bytes);
-+		} else {
-+			printf("???");
- 		}
- 
- 		printf("}");
-@@ -275,16 +273,14 @@ main(void)
- 	assert(syscall(__NR_name_to_handle_at, fdcwd, ".", handle, &mount_id,
- 		flags) == 0);
- 	printf("name_to_handle_at(AT_FDCWD, \".\", {handle_bytes=%u"
--	       ", handle_type=%d, f_handle=0x",
-+	       ", handle_type=%d, f_handle=",
- 	       handle->handle_bytes, handle->handle_type);
--	for (i = 0; i < handle->handle_bytes; ++i)
--		printf("%02x", handle->f_handle[i]);
-+	print_handle_data(handle->f_handle, handle->handle_bytes);
- 	printf("}, [%d], AT_SYMLINK_FOLLOW) = 0\n", mount_id);
- 
- 	printf("open_by_handle_at(-1, {handle_bytes=%u, handle_type=%d"
--	       ", f_handle=0x", handle->handle_bytes, handle->handle_type);
--	for (i = 0; i < handle->handle_bytes; ++i)
--		printf("%02x", handle->f_handle[i]);
-+	       ", f_handle=", handle->handle_bytes, handle->handle_type);
-+	print_handle_data(handle->f_handle, handle->handle_bytes);
- 	int rc = syscall(__NR_open_by_handle_at, -1, handle,
- 		O_RDONLY | O_DIRECTORY);
- 	printf("}, O_RDONLY|O_DIRECTORY) = %d %s (%m)\n", rc, errno2name());
-diff --git a/tests-mx32/file_handle.c b/tests-mx32/file_handle.c
-index edabde6..07af7ba 100644
---- a/tests-mx32/file_handle.c
-+++ b/tests-mx32/file_handle.c
-@@ -42,14 +42,10 @@ struct file_handle {
- void
- print_handle_data(unsigned char *bytes, unsigned int size)
- {
--	unsigned int i;
--
--	if (size > MAX_HANDLE_SZ)
--		size = MAX_HANDLE_SZ;
--
--	printf("0x");
--	for (i = 0; i < size; ++i)
--		printf("%02x", bytes[i]);
-+	unsigned int len = MIN(size, MAX_HANDLE_SZ);
-+	print_quoted_hex(bytes, len);
-+	if (size > len)
-+		printf("...");
- }
- 
- void
-@@ -111,11 +107,13 @@ do_open_by_handle_at(kernel_ulong_t mount_fd,
- 		printf("{handle_bytes=%u, handle_type=%d", fh->handle_bytes,
- 		       fh->handle_type);
- 
-+		printf(", f_handle=");
- 		if (valid_data) {
--			printf(", f_handle=");
- 			print_handle_data((unsigned char *) fh +
- 					  sizeof(struct file_handle),
- 					  fh->handle_bytes);
-+		} else {
-+			printf("???");
- 		}
- 
- 		printf("}");
-@@ -275,16 +273,14 @@ main(void)
- 	assert(syscall(__NR_name_to_handle_at, fdcwd, ".", handle, &mount_id,
- 		flags) == 0);
- 	printf("name_to_handle_at(AT_FDCWD, \".\", {handle_bytes=%u"
--	       ", handle_type=%d, f_handle=0x",
-+	       ", handle_type=%d, f_handle=",
- 	       handle->handle_bytes, handle->handle_type);
--	for (i = 0; i < handle->handle_bytes; ++i)
--		printf("%02x", handle->f_handle[i]);
-+	print_handle_data(handle->f_handle, handle->handle_bytes);
- 	printf("}, [%d], AT_SYMLINK_FOLLOW) = 0\n", mount_id);
- 
- 	printf("open_by_handle_at(-1, {handle_bytes=%u, handle_type=%d"
--	       ", f_handle=0x", handle->handle_bytes, handle->handle_type);
--	for (i = 0; i < handle->handle_bytes; ++i)
--		printf("%02x", handle->f_handle[i]);
-+	       ", f_handle=", handle->handle_bytes, handle->handle_type);
-+	print_handle_data(handle->f_handle, handle->handle_bytes);
- 	int rc = syscall(__NR_open_by_handle_at, -1, handle,
- 		O_RDONLY | O_DIRECTORY);
- 	printf("}, O_RDONLY|O_DIRECTORY) = %d %s (%m)\n", rc, errno2name());
--- 
-2.1.4
-
diff --git a/SOURCES/0148-tests-fix-execve-test-with-fresh-linux-kernels.patch b/SOURCES/0148-tests-fix-execve-test-with-fresh-linux-kernels.patch
deleted file mode 100644
index d6338b4..0000000
--- a/SOURCES/0148-tests-fix-execve-test-with-fresh-linux-kernels.patch
+++ /dev/null
@@ -1,486 +0,0 @@
-From 1ec648999d3bf01ae87cac65c810d5d8f19c71c0 Mon Sep 17 00:00:00 2001
-From: Sven Schnelle <svens@stackframe.org>
-Date: Tue, 10 Nov 2020 07:38:34 +0100
-Subject: [PATCH 148/149] tests: fix execve test with fresh linux kernels
-
-Starting with Linux commit v5.9-rc1~164^2^2~2, execve copies syscall
-arguments before trying to find the executable, failing with EFAULT
-in case of a faulty address.  Adjust the test to handle both variants
-of execve behaviour.
-
-* tests/execve.c (errstr): New variable.
-(call_execve): New function.
-(main): Use it instead of execve.  Do not hardcode ENOENT in expected
-output of tests, use errstr instead.
-
-Signed-off-by: Sven Schnelle <svens@stackframe.org>
-Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
----
- tests/execve.c | 54 ++++++++++++++++++++++++++++++++----------------------
- 1 file changed, 32 insertions(+), 22 deletions(-)
-
-diff --git a/tests/execve.c b/tests/execve.c
-index 2f6ae52..961d284 100644
---- a/tests/execve.c
-+++ b/tests/execve.c
-@@ -12,6 +12,16 @@
- #include <stdio.h>
- #include <unistd.h>
- 
-+static const char *errstr;
-+
-+static int
-+call_execve(const char *pathname, char *const *argv, char *const *envp)
-+{
-+	int rc = execve(pathname, argv, envp);
-+	errstr = sprintrc(rc);
-+	return rc;
-+}
-+
- #define FILENAME "test.execve\nfilename"
- #define Q_FILENAME "test.execve\\nfilename"
- 
-@@ -43,7 +53,7 @@ main(void)
- 	char ** const tail_argv = tail_memdup(argv, sizeof(argv));
- 	char ** const tail_envp = tail_memdup(envp, sizeof(envp));
- 
--	execve(FILENAME, tail_argv, tail_envp);
-+	call_execve(FILENAME, tail_argv, tail_envp);
- 	printf("execve(\"%s\""
- 	       ", [\"%s\", \"%s\", \"%s\", %p, %p, %p, ... /* %p */]"
- #if VERBOSE
-@@ -51,7 +61,7 @@ main(void)
- #else
- 	       ", %p /* 5 vars, unterminated */"
- #endif
--	       ") = -1 ENOENT (%m)\n",
-+	       ") = %s\n",
- 	       Q_FILENAME, q_argv[0], q_argv[1], q_argv[2],
- 	       argv[3], argv[4], argv[5], (char *) tail_argv + sizeof(argv)
- #if VERBOSE
-@@ -60,60 +70,60 @@ main(void)
- #else
- 	       , tail_envp
- #endif
--	       );
-+	       , errstr);
- 
- 	tail_argv[ARRAY_SIZE(q_argv)] = NULL;
- 	tail_envp[ARRAY_SIZE(q_envp)] = NULL;
- 	(void) q_envp;	/* workaround for clang bug #33068 */
- 
--	execve(FILENAME, tail_argv, tail_envp);
-+	call_execve(FILENAME, tail_argv, tail_envp);
- 	printf("execve(\"%s\", [\"%s\", \"%s\", \"%s\"]"
- #if VERBOSE
- 	       ", [\"%s\", \"%s\"]"
- #else
- 	       ", %p /* 2 vars */"
- #endif
--	       ") = -1 ENOENT (%m)\n",
-+	       ") = %s\n",
- 	       Q_FILENAME, q_argv[0], q_argv[1], q_argv[2]
- #if VERBOSE
- 	       , q_envp[0], q_envp[1]
- #else
- 	       , tail_envp
- #endif
--	       );
-+	       , errstr);
- 
--	execve(FILENAME, tail_argv + 2, tail_envp + 1);
-+	call_execve(FILENAME, tail_argv + 2, tail_envp + 1);
- 	printf("execve(\"%s\", [\"%s\"]"
- #if VERBOSE
- 	       ", [\"%s\"]"
- #else
- 	       ", %p /* 1 var */"
- #endif
--	       ") = -1 ENOENT (%m)\n",
-+	       ") = %s\n",
- 	       Q_FILENAME, q_argv[2]
- #if VERBOSE
- 	       , q_envp[1]
- #else
- 	       , tail_envp + 1
- #endif
--	       );
-+	       , errstr);
- 
- 	TAIL_ALLOC_OBJECT_CONST_PTR(char *, empty);
- 	char **const efault = empty + 1;
- 	*empty = NULL;
- 
--	execve(FILENAME, empty, empty);
-+	call_execve(FILENAME, empty, empty);
- 	printf("execve(\"%s\", []"
- #if VERBOSE
- 	       ", []"
- #else
- 	       ", %p /* 0 vars */"
- #endif
--	       ") = -1 ENOENT (%m)\n", Q_FILENAME
-+	       ") = %s\n", Q_FILENAME
- #if !VERBOSE
- 	       , empty
- #endif
--	       );
-+	       , errstr);
- 
- 	char *const str_a = tail_alloc(DEFAULT_STRLEN + 2);
- 	fill_memory_ex(str_a, DEFAULT_STRLEN + 1, '0', 10);
-@@ -132,7 +142,7 @@ main(void)
- 	}
- 	a[i] = b[i] = NULL;
- 
--	execve(FILENAME, a, b);
-+	call_execve(FILENAME, a, b);
- 	printf("execve(\"%s\", [\"%.*s\"...", Q_FILENAME, DEFAULT_STRLEN, a[0]);
- 	for (i = 1; i < DEFAULT_STRLEN; ++i)
- 		printf(", \"%s\"", a[i]);
-@@ -149,9 +159,9 @@ main(void)
- #else
- 	printf("], %p /* %u vars */", b, DEFAULT_STRLEN + 1);
- #endif
--	printf(") = -1 ENOENT (%m)\n");
-+	printf(") = %s\n", errstr);
- 
--	execve(FILENAME, a + 1, b + 1);
-+	call_execve(FILENAME, a + 1, b + 1);
- 	printf("execve(\"%s\", [\"%s\"", Q_FILENAME, a[1]);
- 	for (i = 2; i <= DEFAULT_STRLEN; ++i)
- 		printf(", \"%s\"", a[i]);
-@@ -163,15 +173,15 @@ main(void)
- #else
- 	printf("], %p /* %d vars */", b + 1, DEFAULT_STRLEN);
- #endif
--	printf(") = -1 ENOENT (%m)\n");
-+	printf(") = %s\n", errstr);
- 
--	execve(FILENAME, (char **) tail_argv[ARRAY_SIZE(q_argv)], efault);
--	printf("execve(\"%s\", NULL, %p) = -1 ENOENT (%m)\n",
--	       Q_FILENAME, efault);
-+	call_execve(FILENAME, (char **) tail_argv[ARRAY_SIZE(q_argv)], efault);
-+	printf("execve(\"%s\", NULL, %p) = %s\n",
-+	       Q_FILENAME, efault, errstr);
- 
--	execve(FILENAME, efault, NULL);
--	printf("execve(\"%s\", %p, NULL) = -1 ENOENT (%m)\n",
--	       Q_FILENAME, efault);
-+	call_execve(FILENAME, efault, NULL);
-+	printf("execve(\"%s\", %p, NULL) = %s\n",
-+	       Q_FILENAME, efault, errstr);
- 
- 	leave_and_remove_subdir();
- 
-diff --git a/tests-m32/execve.c b/tests-m32/execve.c
-index 2f6ae52..961d284 100644
---- a/tests-m32/execve.c
-+++ b/tests-m32/execve.c
-@@ -12,6 +12,16 @@
- #include <stdio.h>
- #include <unistd.h>
- 
-+static const char *errstr;
-+
-+static int
-+call_execve(const char *pathname, char *const *argv, char *const *envp)
-+{
-+	int rc = execve(pathname, argv, envp);
-+	errstr = sprintrc(rc);
-+	return rc;
-+}
-+
- #define FILENAME "test.execve\nfilename"
- #define Q_FILENAME "test.execve\\nfilename"
- 
-@@ -43,7 +53,7 @@ main(void)
- 	char ** const tail_argv = tail_memdup(argv, sizeof(argv));
- 	char ** const tail_envp = tail_memdup(envp, sizeof(envp));
- 
--	execve(FILENAME, tail_argv, tail_envp);
-+	call_execve(FILENAME, tail_argv, tail_envp);
- 	printf("execve(\"%s\""
- 	       ", [\"%s\", \"%s\", \"%s\", %p, %p, %p, ... /* %p */]"
- #if VERBOSE
-@@ -51,7 +61,7 @@ main(void)
- #else
- 	       ", %p /* 5 vars, unterminated */"
- #endif
--	       ") = -1 ENOENT (%m)\n",
-+	       ") = %s\n",
- 	       Q_FILENAME, q_argv[0], q_argv[1], q_argv[2],
- 	       argv[3], argv[4], argv[5], (char *) tail_argv + sizeof(argv)
- #if VERBOSE
-@@ -60,60 +70,60 @@ main(void)
- #else
- 	       , tail_envp
- #endif
--	       );
-+	       , errstr);
- 
- 	tail_argv[ARRAY_SIZE(q_argv)] = NULL;
- 	tail_envp[ARRAY_SIZE(q_envp)] = NULL;
- 	(void) q_envp;	/* workaround for clang bug #33068 */
- 
--	execve(FILENAME, tail_argv, tail_envp);
-+	call_execve(FILENAME, tail_argv, tail_envp);
- 	printf("execve(\"%s\", [\"%s\", \"%s\", \"%s\"]"
- #if VERBOSE
- 	       ", [\"%s\", \"%s\"]"
- #else
- 	       ", %p /* 2 vars */"
- #endif
--	       ") = -1 ENOENT (%m)\n",
-+	       ") = %s\n",
- 	       Q_FILENAME, q_argv[0], q_argv[1], q_argv[2]
- #if VERBOSE
- 	       , q_envp[0], q_envp[1]
- #else
- 	       , tail_envp
- #endif
--	       );
-+	       , errstr);
- 
--	execve(FILENAME, tail_argv + 2, tail_envp + 1);
-+	call_execve(FILENAME, tail_argv + 2, tail_envp + 1);
- 	printf("execve(\"%s\", [\"%s\"]"
- #if VERBOSE
- 	       ", [\"%s\"]"
- #else
- 	       ", %p /* 1 var */"
- #endif
--	       ") = -1 ENOENT (%m)\n",
-+	       ") = %s\n",
- 	       Q_FILENAME, q_argv[2]
- #if VERBOSE
- 	       , q_envp[1]
- #else
- 	       , tail_envp + 1
- #endif
--	       );
-+	       , errstr);
- 
- 	TAIL_ALLOC_OBJECT_CONST_PTR(char *, empty);
- 	char **const efault = empty + 1;
- 	*empty = NULL;
- 
--	execve(FILENAME, empty, empty);
-+	call_execve(FILENAME, empty, empty);
- 	printf("execve(\"%s\", []"
- #if VERBOSE
- 	       ", []"
- #else
- 	       ", %p /* 0 vars */"
- #endif
--	       ") = -1 ENOENT (%m)\n", Q_FILENAME
-+	       ") = %s\n", Q_FILENAME
- #if !VERBOSE
- 	       , empty
- #endif
--	       );
-+	       , errstr);
- 
- 	char *const str_a = tail_alloc(DEFAULT_STRLEN + 2);
- 	fill_memory_ex(str_a, DEFAULT_STRLEN + 1, '0', 10);
-@@ -132,7 +142,7 @@ main(void)
- 	}
- 	a[i] = b[i] = NULL;
- 
--	execve(FILENAME, a, b);
-+	call_execve(FILENAME, a, b);
- 	printf("execve(\"%s\", [\"%.*s\"...", Q_FILENAME, DEFAULT_STRLEN, a[0]);
- 	for (i = 1; i < DEFAULT_STRLEN; ++i)
- 		printf(", \"%s\"", a[i]);
-@@ -149,9 +159,9 @@ main(void)
- #else
- 	printf("], %p /* %u vars */", b, DEFAULT_STRLEN + 1);
- #endif
--	printf(") = -1 ENOENT (%m)\n");
-+	printf(") = %s\n", errstr);
- 
--	execve(FILENAME, a + 1, b + 1);
-+	call_execve(FILENAME, a + 1, b + 1);
- 	printf("execve(\"%s\", [\"%s\"", Q_FILENAME, a[1]);
- 	for (i = 2; i <= DEFAULT_STRLEN; ++i)
- 		printf(", \"%s\"", a[i]);
-@@ -163,15 +173,15 @@ main(void)
- #else
- 	printf("], %p /* %d vars */", b + 1, DEFAULT_STRLEN);
- #endif
--	printf(") = -1 ENOENT (%m)\n");
-+	printf(") = %s\n", errstr);
- 
--	execve(FILENAME, (char **) tail_argv[ARRAY_SIZE(q_argv)], efault);
--	printf("execve(\"%s\", NULL, %p) = -1 ENOENT (%m)\n",
--	       Q_FILENAME, efault);
-+	call_execve(FILENAME, (char **) tail_argv[ARRAY_SIZE(q_argv)], efault);
-+	printf("execve(\"%s\", NULL, %p) = %s\n",
-+	       Q_FILENAME, efault, errstr);
- 
--	execve(FILENAME, efault, NULL);
--	printf("execve(\"%s\", %p, NULL) = -1 ENOENT (%m)\n",
--	       Q_FILENAME, efault);
-+	call_execve(FILENAME, efault, NULL);
-+	printf("execve(\"%s\", %p, NULL) = %s\n",
-+	       Q_FILENAME, efault, errstr);
- 
- 	leave_and_remove_subdir();
- 
-diff --git a/tests-mx32/execve.c b/tests-mx32/execve.c
-index 2f6ae52..961d284 100644
---- a/tests-mx32/execve.c
-+++ b/tests-mx32/execve.c
-@@ -12,6 +12,16 @@
- #include <stdio.h>
- #include <unistd.h>
- 
-+static const char *errstr;
-+
-+static int
-+call_execve(const char *pathname, char *const *argv, char *const *envp)
-+{
-+	int rc = execve(pathname, argv, envp);
-+	errstr = sprintrc(rc);
-+	return rc;
-+}
-+
- #define FILENAME "test.execve\nfilename"
- #define Q_FILENAME "test.execve\\nfilename"
- 
-@@ -43,7 +53,7 @@ main(void)
- 	char ** const tail_argv = tail_memdup(argv, sizeof(argv));
- 	char ** const tail_envp = tail_memdup(envp, sizeof(envp));
- 
--	execve(FILENAME, tail_argv, tail_envp);
-+	call_execve(FILENAME, tail_argv, tail_envp);
- 	printf("execve(\"%s\""
- 	       ", [\"%s\", \"%s\", \"%s\", %p, %p, %p, ... /* %p */]"
- #if VERBOSE
-@@ -51,7 +61,7 @@ main(void)
- #else
- 	       ", %p /* 5 vars, unterminated */"
- #endif
--	       ") = -1 ENOENT (%m)\n",
-+	       ") = %s\n",
- 	       Q_FILENAME, q_argv[0], q_argv[1], q_argv[2],
- 	       argv[3], argv[4], argv[5], (char *) tail_argv + sizeof(argv)
- #if VERBOSE
-@@ -60,60 +70,60 @@ main(void)
- #else
- 	       , tail_envp
- #endif
--	       );
-+	       , errstr);
- 
- 	tail_argv[ARRAY_SIZE(q_argv)] = NULL;
- 	tail_envp[ARRAY_SIZE(q_envp)] = NULL;
- 	(void) q_envp;	/* workaround for clang bug #33068 */
- 
--	execve(FILENAME, tail_argv, tail_envp);
-+	call_execve(FILENAME, tail_argv, tail_envp);
- 	printf("execve(\"%s\", [\"%s\", \"%s\", \"%s\"]"
- #if VERBOSE
- 	       ", [\"%s\", \"%s\"]"
- #else
- 	       ", %p /* 2 vars */"
- #endif
--	       ") = -1 ENOENT (%m)\n",
-+	       ") = %s\n",
- 	       Q_FILENAME, q_argv[0], q_argv[1], q_argv[2]
- #if VERBOSE
- 	       , q_envp[0], q_envp[1]
- #else
- 	       , tail_envp
- #endif
--	       );
-+	       , errstr);
- 
--	execve(FILENAME, tail_argv + 2, tail_envp + 1);
-+	call_execve(FILENAME, tail_argv + 2, tail_envp + 1);
- 	printf("execve(\"%s\", [\"%s\"]"
- #if VERBOSE
- 	       ", [\"%s\"]"
- #else
- 	       ", %p /* 1 var */"
- #endif
--	       ") = -1 ENOENT (%m)\n",
-+	       ") = %s\n",
- 	       Q_FILENAME, q_argv[2]
- #if VERBOSE
- 	       , q_envp[1]
- #else
- 	       , tail_envp + 1
- #endif
--	       );
-+	       , errstr);
- 
- 	TAIL_ALLOC_OBJECT_CONST_PTR(char *, empty);
- 	char **const efault = empty + 1;
- 	*empty = NULL;
- 
--	execve(FILENAME, empty, empty);
-+	call_execve(FILENAME, empty, empty);
- 	printf("execve(\"%s\", []"
- #if VERBOSE
- 	       ", []"
- #else
- 	       ", %p /* 0 vars */"
- #endif
--	       ") = -1 ENOENT (%m)\n", Q_FILENAME
-+	       ") = %s\n", Q_FILENAME
- #if !VERBOSE
- 	       , empty
- #endif
--	       );
-+	       , errstr);
- 
- 	char *const str_a = tail_alloc(DEFAULT_STRLEN + 2);
- 	fill_memory_ex(str_a, DEFAULT_STRLEN + 1, '0', 10);
-@@ -132,7 +142,7 @@ main(void)
- 	}
- 	a[i] = b[i] = NULL;
- 
--	execve(FILENAME, a, b);
-+	call_execve(FILENAME, a, b);
- 	printf("execve(\"%s\", [\"%.*s\"...", Q_FILENAME, DEFAULT_STRLEN, a[0]);
- 	for (i = 1; i < DEFAULT_STRLEN; ++i)
- 		printf(", \"%s\"", a[i]);
-@@ -149,9 +159,9 @@ main(void)
- #else
- 	printf("], %p /* %u vars */", b, DEFAULT_STRLEN + 1);
- #endif
--	printf(") = -1 ENOENT (%m)\n");
-+	printf(") = %s\n", errstr);
- 
--	execve(FILENAME, a + 1, b + 1);
-+	call_execve(FILENAME, a + 1, b + 1);
- 	printf("execve(\"%s\", [\"%s\"", Q_FILENAME, a[1]);
- 	for (i = 2; i <= DEFAULT_STRLEN; ++i)
- 		printf(", \"%s\"", a[i]);
-@@ -163,15 +173,15 @@ main(void)
- #else
- 	printf("], %p /* %d vars */", b + 1, DEFAULT_STRLEN);
- #endif
--	printf(") = -1 ENOENT (%m)\n");
-+	printf(") = %s\n", errstr);
- 
--	execve(FILENAME, (char **) tail_argv[ARRAY_SIZE(q_argv)], efault);
--	printf("execve(\"%s\", NULL, %p) = -1 ENOENT (%m)\n",
--	       Q_FILENAME, efault);
-+	call_execve(FILENAME, (char **) tail_argv[ARRAY_SIZE(q_argv)], efault);
-+	printf("execve(\"%s\", NULL, %p) = %s\n",
-+	       Q_FILENAME, efault, errstr);
- 
--	execve(FILENAME, efault, NULL);
--	printf("execve(\"%s\", %p, NULL) = -1 ENOENT (%m)\n",
--	       Q_FILENAME, efault);
-+	call_execve(FILENAME, efault, NULL);
-+	printf("execve(\"%s\", %p, NULL) = %s\n",
-+	       Q_FILENAME, efault, errstr);
- 
- 	leave_and_remove_subdir();
- 
--- 
-2.1.4
-
diff --git a/SOURCES/0149-Implement-secontext-full-option-to-display-SELinux-c.patch b/SOURCES/0149-Implement-secontext-full-option-to-display-SELinux-c.patch
deleted file mode 100644
index c09d112..0000000
--- a/SOURCES/0149-Implement-secontext-full-option-to-display-SELinux-c.patch
+++ /dev/null
@@ -1,13901 +0,0 @@
-From 45d71f938a2e92662a14097b7e1c27c13137c5f6 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Renaud=20M=C3=A9trich?= <rmetrich@redhat.com>
-Date: Wed, 29 Jan 2020 15:22:47 +0100
-Subject: [PATCH 149/149] Implement --secontext[=full] option to display
- SELinux contexts
-
-This is very useful when debugging SELinux issues, in particular, when
-a process runs in an unexpected context or didn't transition properly,
-or typically when a file being opened does not have the proper context.
-
-When --secontext=full is specified, strace will print the complete
-context (user, role, type and category) instead of just the type which
-is printed for --secontext option, as shown in the examples below:
-
-Without any "--secontext" options:
------------------------------------------------------------------------
-118104  16:52:11.141122 select(9, [4<TCP:[0.0.0.0:22]> 6<TCPv6:[[::]:22]>], NULL, NULL, NULL) = 1 (in [4]) <1.845416>
-119820  16:52:13.133319 openat(AT_FDCWD, "/home/rmetrich/.ssh/authorized_keys", O_RDONLY|O_NONBLOCK) = 11</home/rmetrich/.ssh/authorized_keys> <0.000399>
------------------------------------------------------------------------
-
-With "--secontext=full" option:
------------------------------------------------------------------------
-118104 [system_u:system_r:sshd_t:s0-s0:c0.c1023] 16:52:11.141122 select(9, [4<TCP:[0.0.0.0:22]> 6<TCPv6:[[::]:22]>], NULL, NULL, NULL) = 1 (in [4]) <1.845416>
-119820 [system_u:system_r:sshd_t:s0-s0:c0.c1023] 16:52:13.133319 openat(AT_FDCWD, "/home/rmetrich/.ssh/authorized_keys" [system_u:object_r:nfs_t:s0], O_RDONLY|O_NONBLOCK) = 11</home/rmetrich/.ssh/authorized_keys> [system_u:object_r:nfs_t:s0] <0.000399>
------------------------------------------------------------------------
-
-With "--secontext" option:
------------------------------------------------------------------------
-118104 [sshd_t] 16:52:11.141122 select(9, [4<TCP:[0.0.0.0:22]> 6<TCPv6:[[::]:22]>], NULL, NULL, NULL) = 1 (in [4]) <1.845416>
-119820 [sshd_t] 16:52:13.133319 openat(AT_FDCWD, "/home/rmetrich/.ssh/authorized_keys" [nfs_t], O_RDONLY|O_NONBLOCK) = 11</home/rmetrich/.ssh/authorized_keys> [nfs_t] <0.000399>
------------------------------------------------------------------------
-
-To implement this, a new "--with-libselinux" configure option has been
-introduced.  It defaults to "check", which means automatic support on
-SELinux aware systems.
-
-Co-authored-by: Dmitry V. Levin <ldv@strace.io>
----
- Makefile.am               |  10 +++
- NEWS                      |   3 +
- bootstrap                 |  11 ++-
- configure.ac              |   2 +
- defs.h                    |   9 ++
- dirent.c                  |   3 +
- m4/mpers.m4               |  26 ++++++
- m4/st_selinux.m4          |  80 ++++++++++++++++++
- open.c                    |   3 +
- secontext.c               | 139 +++++++++++++++++++++++++++++++
- secontext.h               |  21 +++++
- strace.1.in               |   9 ++
- strace.c                  |  53 +++++++++++-
- strace.spec.in            |   3 +
- syscall.c                 |   5 ++
- tests/.gitignore          |   5 ++
- tests/Makefile.am         |  11 +++
- tests/access.c            |  23 +++++-
- tests/chmod.c             |  35 +++++---
- tests/execve.c            |  53 +++++++++---
- tests/execve.test         |   2 +-
- tests/execveat.c          | 122 +++++++++++++++++++++++++--
- tests/faccessat.c         | 137 ++++++++++++++++++++++++++++++-
- tests/faccessat.test      |   2 +-
- tests/fanotify_mark.c     | 121 +++++++++++++++++----------
- tests/fchmod.c            |  23 ++++--
- tests/fchmodat.c          |  67 +++++++++++++--
- tests/fchownat.c          |  73 +++++++++++++++--
- tests/file_handle.c       | 204 +++++++++++++++++++++++++++++++---------------
- tests/gen_secontext.sh    |  72 ++++++++++++++++
- tests/gen_tests.in        |  30 +++++++
- tests/linkat.c            | 150 +++++++++++++++++++++++++++++++++-
- tests/open.c              |  18 ++--
- tests/openat.c            |  91 +++++++++++++++++----
- tests/options-syntax.test |  13 ++-
- tests/secontext.c         | 201 +++++++++++++++++++++++++++++++++++++++++++++
- tests/secontext.h         |  46 +++++++++++
- tests/strace-V.test       |   4 +-
- util.c                    |  16 ++++
- xgetdents.c               |   3 +
- 40 files changed, 1703 insertions(+), 196 deletions(-)
- create mode 100644 m4/st_selinux.m4
- create mode 100644 secontext.c
- create mode 100644 secontext.h
- create mode 100755 tests/gen_secontext.sh
- create mode 100644 tests/secontext.c
- create mode 100644 tests/secontext.h
-
-Index: strace-5.7/Makefile.am
-===================================================================
---- strace-5.7.orig/Makefile.am	2021-08-24 21:08:35.376312714 +0200
-+++ strace-5.7/Makefile.am	2021-08-24 21:08:43.248246086 +0200
-@@ -404,11 +404,21 @@
- endif
- endif
- 
-+if ENABLE_SECONTEXT
-+libstrace_a_SOURCES +=	\
-+	secontext.c	\
-+	secontext.h
-+strace_CPPFLAGS += $(libselinux_CPPFLAGS)
-+strace_LDFLAGS += $(libselinux_LDFLAGS)
-+strace_LDADD += $(libselinux_LIBS)
-+endif
-+
- @CODE_COVERAGE_RULES@
- CODE_COVERAGE_BRANCH_COVERAGE = 1
- CODE_COVERAGE_GENHTML_OPTIONS = $(CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT) \
- 	--prefix $(shell cd $(abs_top_srcdir)/.. && pwd || echo .)
- CODE_COVERAGE_IGNORE_PATTERN = '/usr/include/*' '*/tests/*' '*/tests-m32/*' '*/tests-mx32/*'
-+
- strace_CPPFLAGS += $(CODE_COVERAGE_CPPFLAGS)
- strace_CFLAGS += $(CODE_COVERAGE_CFLAGS)
- strace_LDADD += $(CODE_COVERAGE_LIBS)
-Index: strace-5.7/NEWS
-===================================================================
---- strace-5.7.orig/NEWS	2021-08-24 21:08:35.376312714 +0200
-+++ strace-5.7/NEWS	2021-08-24 21:08:43.249246078 +0200
-@@ -2,6 +2,9 @@
- ==============================================
- 
- * Improvements
-+  * Implemented --secontext[=full] option to display SELinux contexts.
-+  * Added --pidns-translation option for PID namespace translation (addresses
-+    Fedora bug #1035433).
-   * Implemented interval specification in "when=" subexpression of syscall
-     tampering expressions.
-   * Added -e trace=%clock option for tracing syscalls reading of modifying
-Index: strace-5.7/configure.ac
-===================================================================
---- strace-5.7.orig/configure.ac	2021-08-24 21:08:35.376312714 +0200
-+++ strace-5.7/configure.ac	2021-08-24 21:08:43.250246069 +0200
-@@ -764,6 +764,8 @@
- 
- st_STACKTRACE
- 
-+st_SELINUX
-+
- if test "$arch" = mips && test "$no_create" != yes; then
- 	mkdir -p linux/mips
- 	if $srcdir/linux/mips/genstub.sh \
-Index: strace-5.7/defs.h
-===================================================================
---- strace-5.7.orig/defs.h	2021-08-24 21:08:35.377312705 +0200
-+++ strace-5.7/defs.h	2021-08-24 21:08:43.251246061 +0200
-@@ -287,6 +287,10 @@
- 	 */
- 	unsigned int pid_ns;
- 
-+#ifdef ENABLE_SECONTEXT
-+	int last_dirfd; /* Use AT_FDCWD for 'not set' */
-+#endif
-+
- 	struct mmap_cache_t *mmap_cache;
- 
- 	/*
-@@ -1123,6 +1127,11 @@
- extern void print_x25_addr(const void /* struct x25_address */ *addr);
- extern const char *get_sockaddr_by_inode(struct tcb *, int fd, unsigned long inode);
- extern bool print_sockaddr_by_inode(struct tcb *, int fd, unsigned long inode);
-+
-+/**
-+ * Prints dirfd file descriptor and saves it in tcp->last_dirfd,
-+ * the latter is used when printing SELinux contexts.
-+ */
- extern void print_dirfd(struct tcb *, int);
- 
- extern int
-Index: strace-5.7/dirent.c
-===================================================================
---- strace-5.7.orig/dirent.c	2021-08-24 21:08:35.377312705 +0200
-+++ strace-5.7/dirent.c	2021-08-24 21:08:43.251246061 +0200
-@@ -100,6 +100,9 @@
- {
- 	if (entering(tcp)) {
- 		printfd(tcp, tcp->u_arg[0]);
-+#ifdef ENABLE_SECONTEXT
-+		tcp->last_dirfd = (int) tcp->u_arg[0];
-+#endif
- 		tprints(", ");
- 	} else {
- 		if (tcp->u_rval == 0)
-Index: strace-5.7/m4/mpers.m4
-===================================================================
---- strace-5.7.orig/m4/mpers.m4	2021-08-24 21:08:35.377312705 +0200
-+++ strace-5.7/m4/mpers.m4	2021-08-24 21:08:43.252246052 +0200
-@@ -63,9 +63,11 @@
- pushdef([MPERS_NAME], translit([$1], [a-z], [A-Z]))
- pushdef([HAVE_MPERS], [HAVE_]MPERS_NAME[_MPERS])
- pushdef([HAVE_RUNTIME], [HAVE_]MPERS_NAME[_RUNTIME])
-+pushdef([HAVE_SELINUX_RUNTIME], [HAVE_]MPERS_NAME[_SELINUX_RUNTIME])
- pushdef([MPERS_CFLAGS], [$cc_flags_$1])
- pushdef([st_cv_cc], [st_cv_$1_cc])
- pushdef([st_cv_runtime], [st_cv_$1_runtime])
-+pushdef([st_cv_selinux_runtime], [st_cv_$1_selinux_runtime])
- pushdef([st_cv_mpers], [st_cv_$1_mpers])
- 
- pushdef([EXEEXT], MPERS_NAME[_EXEEXT])dnl
-@@ -126,6 +128,26 @@
- 			 else
- 				st_cv_mpers=no
- 			 fi])
-+		AS_IF([test "x$enable_secontext$st_cv_mpers$st_cv_runtime" = xyesyesyes],
-+			[AC_CACHE_CHECK([whether selinux runtime works with mpers_name personality],
-+				[st_cv_selinux_runtime],
-+				[saved_CPPFLAGS="$CPPFLAGS"
-+				 saved_LDFLAGS="$LDFLAGS"
-+				 saved_LIBS="$LIBS"
-+				 CPPFLAGS="$CPPFLAGS $libselinux_CPPFLAGS"
-+				 LDFLAGS="$LDFLAGS $libselinux_LDFLAGS"
-+				 LIBS="$LIBS $libselinux_LIBS"
-+				 AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <selinux/selinux.h>]],
-+								 [[return 0]])],
-+						[st_cv_selinux_runtime=yes],
-+						[st_cv_selinux_runtime=no],
-+						[st_cv_selinux_runtime=no])
-+				 LIBS="$saved_LIBS"
-+				 LDFLAGS="$saved_LDFLAGS"
-+				 CPPFLAGS="$saved_CPPFLAGS"
-+				])
-+			],
-+			[st_cv_selinux_runtime=no])
- 		if test $st_cv_mpers = yes; then
- 			AC_DEFINE(HAVE_MPERS, [1],
- 				  [Define to 1 if you have mpers_name mpers support])
-@@ -165,6 +187,7 @@
- 	*) # case "$enable_mpers"
- 	st_cv_runtime=no
- 	st_cv_mpers=no
-+	st_cv_selinux_runtime=no
- 	;;
- 	esac
- 
-@@ -187,6 +210,7 @@
- esac
- 
- AM_CONDITIONAL(HAVE_RUNTIME, [test "$st_cv_mpers$st_cv_runtime" = yesyes])
-+AM_CONDITIONAL(HAVE_SELINUX_RUNTIME, [test "$st_cv_mpers$st_cv_selinux_runtime" = yesyes])
- AM_CONDITIONAL(HAVE_MPERS, [test "$st_cv_mpers" = yes])
- 
- st_RESTORE_VAR([CC])
-@@ -201,9 +225,11 @@
- 
- popdef([st_cv_mpers])
- popdef([st_cv_runtime])
-+popdef([st_cv_selinux_runtime])
- popdef([st_cv_cc])
- popdef([MPERS_CFLAGS])
- popdef([HAVE_RUNTIME])
-+popdef([HAVE_SELINUX_RUNTIME])
- popdef([HAVE_MPERS])
- popdef([MPERS_NAME])
- popdef([mpers_name])
-Index: strace-5.7/m4/st_selinux.m4
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/m4/st_selinux.m4	2021-08-24 21:08:43.252246052 +0200
-@@ -0,0 +1,80 @@
-+#!/usr/bin/m4
-+#
-+# Copyright (c) 2020 The strace developers.
-+# All rights reserved.
-+#
-+# SPDX-License-Identifier: LGPL-2.1-or-later
-+
-+AC_DEFUN([st_SELINUX], [dnl
-+
-+libselinux_CPPFLAGS=
-+libselinux_LDFLAGS=
-+libselinux_LIBS=
-+enable_secontext=no
-+
-+AC_ARG_WITH([libselinux],
-+	    [AS_HELP_STRING([--with-libselinux],
-+			    [use libselinux to collect security contexts])],
-+	    [case "${withval}" in
-+	     yes|no|check) ;;
-+	     *) with_libselinux=yes
-+		libselinux_CPPFLAGS="-I${withval}/include"
-+		libselinux_LDFLAGS="-L${withval}/lib" ;;
-+	     esac],
-+	    [with_libselinux=check]
-+)
-+
-+AS_IF([test "x$with_libselinux" != xno],
-+      [saved_CPPFLAGS="$CPPFLAGS"
-+       CPPFLAGS="$CPPFLAGS $libselinux_CPPFLAGS"
-+       found_selinux_h=no
-+       AC_CHECK_HEADERS([selinux/selinux.h],
-+			[found_selinux_h=yes])
-+       CPPFLAGS="$saved_CPPFLAGS"
-+       AS_IF([test "x$found_selinux_h" = xyes],
-+	     [saved_LDFLAGS="$LDFLAGS"
-+	      LDFLAGS="$LDFLAGS $libselinux_LDFLAGS"
-+	      AC_CHECK_LIB([selinux],[getpidcon],
-+		[libselinux_LIBS="-lselinux"
-+		 enable_secontext=yes
-+		],
-+		[if test "x$with_libselinux" != xcheck; then
-+		   AC_MSG_FAILURE([failed to find getpidcon in libselinux])
-+		 fi
-+		]
-+	      )
-+	      AC_CHECK_LIB([selinux],[getfilecon],
-+		[libselinux_LIBS="-lselinux"
-+		 enable_secontext=yes
-+		],
-+		[if test "x$with_libselinux" != xcheck; then
-+		   AC_MSG_FAILURE([failed to find getfilecon in libselinux])
-+		 fi
-+		]
-+	      )
-+	      LDFLAGS="$saved_LDFLAGS"
-+	     ],
-+	     [if test "x$with_libselinux" != xcheck; then
-+		AC_MSG_FAILURE([failed to find selinux.h])
-+	      fi
-+	     ]
-+       )
-+      ]
-+)
-+
-+AC_MSG_CHECKING([whether to enable security contexts support])
-+AS_IF([test "x$enable_secontext" = xyes],
-+      [AC_DEFINE([ENABLE_SECONTEXT], [1],
-+			  [Define to enable SELinux security contexts support])
-+       AC_DEFINE([HAVE_SELINUX_RUNTIME], [1],
-+			  [Define to enable SELinux security contexts testing])
-+       AC_SUBST(libselinux_LIBS)
-+       AC_SUBST(libselinux_LDFLAGS)
-+       AC_SUBST(libselinux_CPPFLAGS)
-+       AC_MSG_RESULT([yes])],
-+      [AC_MSG_RESULT([no])])
-+
-+AM_CONDITIONAL([ENABLE_SECONTEXT], [test "x$enable_secontext" = xyes])
-+AM_CONDITIONAL([HAVE_SELINUX_RUNTIME], [test "x$enable_secontext" = xyes])
-+
-+])
-Index: strace-5.7/open.c
-===================================================================
---- strace-5.7.orig/open.c	2021-08-24 21:08:35.378312697 +0200
-+++ strace-5.7/open.c	2021-08-24 21:08:43.253246044 +0200
-@@ -50,6 +50,9 @@
- 		print_xlat_d(AT_FDCWD);
- 	else
- 		printfd(tcp, fd);
-+#ifdef ENABLE_SECONTEXT
-+	tcp->last_dirfd = fd;
-+#endif
- }
- 
- /*
-Index: strace-5.7/secontext.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/secontext.c	2021-08-24 21:08:43.253246044 +0200
-@@ -0,0 +1,139 @@
-+/*
-+ * Copyright (c) 2020-2021 The strace developers.
-+ * All rights reserved.
-+ *
-+ * SPDX-License-Identifier: LGPL-2.1-or-later
-+ */
-+
-+#include "defs.h"
-+
-+#include <stdlib.h>
-+#include <fcntl.h>
-+#include <limits.h>
-+#include <selinux/selinux.h>
-+
-+#include "secontext.h"
-+#include "xstring.h"
-+
-+bool selinux_context = false;
-+bool selinux_context_full = false;
-+
-+static int
-+getcontext(int rc, char **secontext, char **result)
-+{
-+	if (rc < 0)
-+		return rc;
-+
-+	*result = NULL;
-+	if (!selinux_context_full) {
-+		char *saveptr = NULL;
-+		char *secontext_copy = xstrdup(*secontext);
-+		const char *token;
-+		unsigned int i;
-+
-+		/*
-+		 * We only want to keep the type (3rd field, ':' separator).
-+		 */
-+		for (token = strtok_r(secontext_copy, ":", &saveptr), i = 0;
-+		     token; token = strtok_r(NULL, ":", &saveptr), i++) {
-+			if (i == 2) {
-+				*result = xstrdup(token);
-+				break;
-+			}
-+		}
-+		free(secontext_copy);
-+	}
-+
-+	if (*result == NULL) {
-+		/*
-+		 * On the CI at least, the context may have a trailing \n,
-+		 * let's remove it just in case.
-+		 */
-+		size_t len = strlen(*secontext);
-+		for (; len > 0; --len) {
-+			if ((*secontext)[len - 1] != '\n')
-+				break;
-+		}
-+		*result = xstrndup(*secontext, len);
-+	}
-+	freecon(*secontext);
-+	return 0;
-+}
-+/*
-+ * Retrieves the SELinux context of the given PID (extracted from the tcb).
-+ * Memory must be freed.
-+ * Returns 0 on success, -1 on failure.
-+ */
-+int
-+selinux_getpidcon(struct tcb *tcp, char **result)
-+{
-+	if (!selinux_context)
-+		return -1;
-+
-+	int proc_pid = 0;
-+	translate_pid(NULL, tcp->pid, PT_TID, &proc_pid);
-+	if (!proc_pid)
-+		return -1;
-+
-+	char *secontext;
-+	return getcontext(getpidcon(proc_pid, &secontext), &secontext, result);
-+}
-+
-+/*
-+ * Retrieves the SELinux context of the given pid and descriptor.
-+ * Memory must be freed.
-+ * Returns 0 on success, -1 on failure.
-+ */
-+int
-+selinux_getfdcon(pid_t pid, int fd, char **result)
-+{
-+	if (!selinux_context || pid <= 0 || fd < 0)
-+		return -1;
-+
-+	int proc_pid = 0;
-+	translate_pid(NULL, pid, PT_TID, &proc_pid);
-+	if (!proc_pid)
-+		return -1;
-+
-+	char linkpath[sizeof("/proc/%u/fd/%u") + 2 * sizeof(int)*3];
-+	xsprintf(linkpath, "/proc/%u/fd/%u", proc_pid, fd);
-+
-+	char *secontext;
-+	return getcontext(getfilecon(linkpath, &secontext), &secontext, result);
-+}
-+
-+/*
-+ * Retrieves the SELinux context of the given path.
-+ * Memory must be freed.
-+ * Returns 0 on success, -1 on failure.
-+ */
-+int
-+selinux_getfilecon(struct tcb *tcp, const char *path, char **result)
-+{
-+	if (!selinux_context)
-+		return -1;
-+
-+	int proc_pid = 0;
-+	translate_pid(NULL, tcp->pid, PT_TID, &proc_pid);
-+	if (!proc_pid)
-+		return -1;
-+
-+	int ret = -1;
-+	char fname[PATH_MAX];
-+
-+	if (path[0] == '/')
-+		ret = snprintf(fname, sizeof(fname), "/proc/%u/root%s",
-+			       proc_pid, path);
-+	else if (tcp->last_dirfd == AT_FDCWD)
-+		ret = snprintf(fname, sizeof(fname), "/proc/%u/cwd/%s",
-+			       proc_pid, path);
-+	else if (tcp->last_dirfd >= 0 )
-+		ret = snprintf(fname, sizeof(fname), "/proc/%u/fd/%u/%s",
-+			       proc_pid, tcp->last_dirfd, path);
-+
-+	if ((unsigned int) ret >= sizeof(fname))
-+		return -1;
-+
-+	char *secontext;
-+	return getcontext(getfilecon(fname, &secontext), &secontext, result);
-+}
-Index: strace-5.7/secontext.h
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/secontext.h	2021-08-24 21:08:43.253246044 +0200
-@@ -0,0 +1,21 @@
-+/*
-+ * SELinux interface.
-+ *
-+ * Copyright (c) 2020-2021 The strace developers.
-+ *
-+ * SPDX-License-Identifier: LGPL-2.1-or-later
-+ */
-+
-+#ifndef STRACE_SECONTEXT_H
-+#define STRACE_SECONTEXT_H
-+
-+#include "defs.h"
-+
-+extern bool selinux_context;
-+extern bool selinux_context_full;
-+
-+int selinux_getfdcon(pid_t pid, int fd, char **context);
-+int selinux_getfilecon(struct tcb *tcp, const char *path, char **context);
-+int selinux_getpidcon(struct tcb *tcp, char **context);
-+
-+#endif /* !STRACE_SECONTEXT_H */
-Index: strace-5.7/strace.1.in
-===================================================================
---- strace-5.7.orig/strace.1.in	2021-08-24 21:08:35.379312688 +0200
-+++ strace-5.7/strace.1.in	2021-08-24 21:08:43.254246035 +0200
-@@ -53,6 +53,7 @@
- .OM \-P path
- .OM \-p pid
- .OP \-\-seccomp\-bpf
-+.if '@ENABLE_SECONTEXT_FALSE@'#' .OP \-\-secontext\fR[=full]
- .BR "" {
- .OR \-p pid
- .BR "" |
-@@ -1079,6 +1080,14 @@
- .B \-\-pidns\-translation
- If strace and tracee are in different PID namespaces, print PIDs in
- strace's namespace, too.
-+.if '@ENABLE_SECONTEXT_FALSE@'#' .TP
-+.if '@ENABLE_SECONTEXT_FALSE@'#' .BR \-\-secontext "[=full]"
-+.if '@ENABLE_SECONTEXT_FALSE@'#' When SELinux is available and is not disabled,
-+.if '@ENABLE_SECONTEXT_FALSE@'#' print in square brackets SELinux contexts of
-+.if '@ENABLE_SECONTEXT_FALSE@'#' processes, files, and descriptors.  When
-+.if '@ENABLE_SECONTEXT_FALSE@'#' .B full
-+.if '@ENABLE_SECONTEXT_FALSE@'#' is specified, print the complete context (user,
-+.if '@ENABLE_SECONTEXT_FALSE@'#' role, type and category) instead of just the type.
- .SS Statistics
- .TP 12
- .B \-c
-Index: strace-5.7/strace.c
-===================================================================
---- strace-5.7.orig/strace.c	2021-08-24 21:08:35.380312680 +0200
-+++ strace-5.7/strace.c	2021-08-24 21:08:43.255246027 +0200
-@@ -40,6 +40,7 @@
- #include "xstring.h"
- #include "delay.h"
- #include "wait.h"
-+#include "secontext.h"
- 
- /* In some libc, these aren't declared. Do it ourself: */
- extern char **environ;
-@@ -239,6 +240,9 @@
- 		" no-mx32-mpers"
- # endif
- #endif /* SUPPORTED_PERSONALITIES > 2 */
-+#ifdef ENABLE_SECONTEXT
-+		" secontext"
-+#endif
- 		"";
- 
- 	printf("%s -- version %s\n"
-@@ -258,11 +262,17 @@
- #else
- # define K_OPT ""
- #endif
-+#ifdef ENABLE_SECONTEXT
-+# define SECONTEXT_OPT "[--secontext[=full]]\n"
-+#else
-+# define SECONTEXT_OPT ""
-+#endif
- 
- 	printf("\
- Usage: strace [-ACdffhi" K_OPT "qqrtttTvVwxxyyzZ] [-I N] [-b execve] [-e EXPR]...\n\
-               [-a COLUMN] [-o FILE] [-s STRSIZE] [-X FORMAT] [-O OVERHEAD]\n\
--              [-S SORTBY] [-P PATH]... [-p PID]... [-U COLUMNS] [--seccomp-bpf]\n\
-+              [-S SORTBY] [-P PATH]... [-p PID]... [-U COLUMNS] [--seccomp-bpf]\n"\
-+              SECONTEXT_OPT "\
-               { -p PID | [-DDD] [-E VAR=VAL]... [-u USERNAME] PROG [ARGS] }\n\
-    or: strace -c[dfwzZ] [-I N] [-b execve] [-e EXPR]... [-O OVERHEAD]\n\
-               [-S SORTBY] [-P PATH]... [-p PID]... [-U COLUMNS] [--seccomp-bpf]\n\
-@@ -401,6 +411,14 @@
-   -yy, --decode-fds=all\n\
-                  print all available information associated with file\n\
-                  descriptors in addition to paths\n\
-+"
-+#ifdef ENABLE_SECONTEXT
-+"\
-+  --secontext[=full]\n\
-+                 print SELinux contexts (type only unless 'full' is specified)\n\
-+"
-+#endif
-+"\
- \n\
- Statistics:\n\
-   -c, --summary-only\n\
-@@ -774,6 +792,14 @@
- 	else if (nprocs > 1 && !outfname)
- 		tprintf("[pid %5u] ", tcp->pid);
- 
-+#ifdef ENABLE_SECONTEXT
-+	char *context;
-+	if (!selinux_getpidcon(tcp, &context)) {
-+		tprintf("[%s] ", context);
-+		free(context);
-+	}
-+#endif
-+
- 	if (tflag_format) {
- 		struct timespec ts;
- 		clock_gettime(CLOCK_REALTIME, &ts);
-@@ -885,6 +911,9 @@
- #if SUPPORTED_PERSONALITIES > 1
- 			tcp->currpers = current_personality;
- #endif
-+#ifdef ENABLE_SECONTEXT
-+			tcp->last_dirfd = AT_FDCWD;
-+#endif
- 			nprocs++;
- 			debug_msg("new tcb for pid %d, active tcbs:%d",
- 				  tcp->pid, nprocs);
-@@ -2027,6 +2056,9 @@
- 		GETOPT_OUTPUT_SEPARATELY,
- 		GETOPT_TS,
- 		GETOPT_PIDNS_TRANSLATION,
-+#ifdef ENABLE_SECONTEXT
-+		GETOPT_SECONTEXT,
-+#endif
- 
- 		GETOPT_QUAL_TRACE,
- 		GETOPT_QUAL_ABBREV,
-@@ -2082,6 +2114,9 @@
- 		{ "failed-only",	no_argument,	   0, 'Z' },
- 		{ "failing-only",	no_argument,	   0, 'Z' },
- 		{ "seccomp-bpf",	no_argument,	   0, GETOPT_SECCOMP },
-+#ifdef ENABLE_SECONTEXT
-+		{ "secontext",		optional_argument, 0, GETOPT_SECONTEXT },
-+#endif
- 
- 		{ "trace",	required_argument, 0, GETOPT_QUAL_TRACE },
- 		{ "abbrev",	required_argument, 0, GETOPT_QUAL_ABBREV },
-@@ -2307,6 +2342,17 @@
- 		case GETOPT_SECCOMP:
- 			seccomp_filtering = true;
- 			break;
-+#ifdef ENABLE_SECONTEXT
-+		case GETOPT_SECONTEXT:
-+			selinux_context = true;
-+			if (optarg) {
-+				if (!strcmp(optarg, "full"))
-+					selinux_context_full = true;
-+				else
-+					error_opt_arg(c, lopt, optarg);
-+			}
-+			break;
-+#endif
- 		case GETOPT_QUAL_TRACE:
- 			qualify_trace(optarg);
- 			break;
-@@ -2486,6 +2532,11 @@
- 		if (!number_set_array_is_empty(decode_fd_set, 0))
- 			error_msg("-y/--decode-fds has no effect "
- 				  "with -c/--summary-only");
-+#ifdef ENABLE_SECONTEXT
-+		if (selinux_context)
-+			error_msg("--secontext has no effect with "
-+				  "-c/--summary-only");
-+#endif
- 	}
- 
- 	if (!outfname) {
-Index: strace-5.7/strace.spec.in
-===================================================================
---- strace-5.7.orig/strace.spec.in	2021-08-24 21:08:35.380312680 +0200
-+++ strace-5.7/strace.spec.in	2021-08-24 21:08:43.255246027 +0200
-@@ -29,11 +29,14 @@
- # Install binutils-devel to enable symbol demangling.
- %if 0%{?fedora} >= 20 || 0%{?centos} >= 6 || 0%{?rhel} >= 6
- %define buildrequires_stacktrace BuildRequires: elfutils-devel binutils-devel
-+%define buildrequires_selinux BuildRequires: libselinux-devel
- %endif
- %if 0%{?suse_version} >= 1100
- %define buildrequires_stacktrace BuildRequires: libdw-devel binutils-devel
-+%define buildrequires_selinux BuildRequires: libselinux-devel
- %endif
- %{?buildrequires_stacktrace}
-+%{?buildrequires_selinux}
- 
- # OBS compatibility
- %{?!buildroot:BuildRoot: %_tmppath/buildroot-%name-%version-%release}
-Index: strace-5.7/syscall.c
-===================================================================
---- strace-5.7.orig/syscall.c	2021-08-24 21:08:35.381312671 +0200
-+++ strace-5.7/syscall.c	2021-08-24 21:08:43.256246018 +0200
-@@ -23,6 +23,7 @@
- #include "delay.h"
- #include "retval.h"
- #include <limits.h>
-+#include <fcntl.h>
- 
- /* for struct iovec */
- #include <sys/uio.h>
-@@ -982,6 +983,10 @@
- 	tcp->sys_func_rval = 0;
- 	free_tcb_priv_data(tcp);
- 
-+#ifdef ENABLE_SECONTEXT
-+	tcp->last_dirfd = AT_FDCWD;
-+#endif
-+
- 	if (cflag)
- 		tcp->ltime = tcp->stime;
- }
-Index: strace-5.7/tests/Makefile.am
-===================================================================
---- strace-5.7.orig/tests/Makefile.am	2021-08-24 21:08:35.381312671 +0200
-+++ strace-5.7/tests/Makefile.am	2021-08-24 21:08:43.257246010 +0200
-@@ -28,6 +28,12 @@
- 	      -DTESTS_SIZEOF_LONG=$(SIZEOF_LONG)
- AM_LDFLAGS = $(ARCH_MFLAGS)
- 
-+if HAVE_SELINUX_RUNTIME
-+libselinux_LDADD = $(libselinux_LIBS)
-+else
-+libselinux_LDADD =
-+endif
-+
- libtests_a_SOURCES = \
- 	create_nl_socket.c \
- 	create_tmpfile.c \
-@@ -54,6 +60,8 @@
- 	printxval-Xabbrev.c \
- 	printxval-Xraw.c \
- 	printxval-Xverbose.c \
-+	secontext.c \
-+	secontext.h \
- 	signal2name.c \
- 	skip_unavailable.c \
- 	sprintrc.c \
-@@ -76,7 +84,10 @@
- 
- include pure_executables.am
- 
-+include secontext.am
-+
- check_PROGRAMS = $(PURE_EXECUTABLES) \
-+	$(secontext_EXECUTABLES) \
- 	_newselect-P \
- 	answer \
- 	attach-f-p \
-Index: strace-5.7/tests/access.c
-===================================================================
---- strace-5.7.orig/tests/access.c	2021-08-24 21:08:35.381312671 +0200
-+++ strace-5.7/tests/access.c	2021-08-24 21:08:43.257246010 +0200
-@@ -10,9 +10,12 @@
- 
- #ifdef __NR_access
- 
-+# include <fcntl.h>
- # include <stdio.h>
- # include <unistd.h>
- 
-+# include "secontext.h"
-+
- int
- main(void)
- {
-@@ -22,15 +25,27 @@
- 	 */
- 	create_and_enter_subdir("access_subdir");
- 
-+	char *my_secontext = SECONTEXT_PID_MY();
-+
- 	static const char sample[] = "access_sample";
-+	(void) unlink(sample);
-+	if (open(sample, O_CREAT|O_RDONLY, 0400) == -1)
-+		perror_msg_and_fail("open: %s", sample);
- 
- 	long rc = syscall(__NR_access, sample, F_OK);
--	printf("access(\"%s\", F_OK) = %ld %s (%m)\n",
--	       sample, rc, errno2name());
-+	printf("%s%s(\"%s\"%s, F_OK) = %s\n",
-+	       my_secontext, "access",
-+	       sample, SECONTEXT_FILE(sample),
-+	       sprintrc(rc));
-+
-+	if (unlink(sample))
-+		perror_msg_and_fail("unlink: %s", sample);
- 
- 	rc = syscall(__NR_access, sample, R_OK|W_OK|X_OK);
--	printf("access(\"%s\", R_OK|W_OK|X_OK) = %ld %s (%m)\n",
--	       sample, rc, errno2name());
-+	printf("%s%s(\"%s\", R_OK|W_OK|X_OK) = %s\n",
-+	       my_secontext, "access",
-+	       sample,
-+	       sprintrc(rc));
- 
- 	leave_and_remove_subdir();
- 
-Index: strace-5.7/tests/chmod.c
-===================================================================
---- strace-5.7.orig/tests/chmod.c	2021-08-24 21:08:35.382312663 +0200
-+++ strace-5.7/tests/chmod.c	2021-08-24 21:08:43.257246010 +0200
-@@ -16,6 +16,8 @@
- # include <stdio.h>
- # include <unistd.h>
- 
-+# include "secontext.h"
-+
- int
- main(void)
- {
-@@ -25,22 +27,33 @@
- 	 */
- 	create_and_enter_subdir("chmod_subdir");
- 
--	static const char fname[] = "chmod_test_file";
--
--	if (open(fname, O_CREAT|O_RDONLY, 0400) < 0)
--		perror_msg_and_fail("open");
--
--	long rc = syscall(__NR_chmod, fname, 0600);
--	printf("chmod(\"%s\", 0600) = %s\n", fname, sprintrc(rc));
--
--	if (unlink(fname))
--		perror_msg_and_fail("unlink");
--
--	rc = syscall(__NR_chmod, fname, 051);
--	printf("chmod(\"%s\", 051) = %s\n", fname, sprintrc(rc));
-+	char *my_secontext = SECONTEXT_PID_MY();
- 
--	rc = syscall(__NR_chmod, fname, 004);
--	printf("chmod(\"%s\", 004) = %s\n", fname, sprintrc(rc));
-+	static const char sample[] = "chmod_test_file";
-+	(void) unlink(sample);
-+	if (open(sample, O_CREAT|O_RDONLY, 0400) < 0)
-+		perror_msg_and_fail("open: %s", sample);
-+
-+	long rc = syscall(__NR_chmod, sample, 0600);
-+	printf("%s%s(\"%s\"%s, 0600) = %s\n",
-+	       my_secontext, "chmod",
-+	       sample, SECONTEXT_FILE(sample),
-+	       sprintrc(rc));
-+
-+	if (unlink(sample))
-+		perror_msg_and_fail("unlink: %s", sample);
-+
-+	rc = syscall(__NR_chmod, sample, 051);
-+	printf("%s%s(\"%s\", 051) = %s\n",
-+	       my_secontext, "chmod",
-+	       sample,
-+	       sprintrc(rc));
-+
-+	rc = syscall(__NR_chmod, sample, 004);
-+	printf("%s%s(\"%s\", 004) = %s\n",
-+	       my_secontext, "chmod",
-+	       sample,
-+	       sprintrc(rc));
- 
- 	leave_and_remove_subdir();
- 
-Index: strace-5.7/tests/execve.c
-===================================================================
---- strace-5.7.orig/tests/execve.c	2021-08-24 21:08:35.382312663 +0200
-+++ strace-5.7/tests/execve.c	2021-08-24 21:08:43.258246001 +0200
-@@ -9,9 +9,12 @@
-  */
- 
- #include "tests.h"
-+#include <fcntl.h>
- #include <stdio.h>
- #include <unistd.h>
- 
-+#include "secontext.h"
-+
- static const char *errstr;
- 
- static int
-@@ -52,9 +55,16 @@
- 
- 	char ** const tail_argv = tail_memdup(argv, sizeof(argv));
- 	char ** const tail_envp = tail_memdup(envp, sizeof(envp));
-+	char *my_secontext = SECONTEXT_PID_MY();
-+
-+	(void) unlink(FILENAME);
-+	if (open(FILENAME, O_RDONLY | O_CREAT, 0400) < 0)
-+		perror_msg_and_fail("open");
-+
-+	char *FILENAME_secontext = SECONTEXT_FILE(FILENAME);
- 
- 	call_execve(FILENAME, tail_argv, tail_envp);
--	printf("execve(\"%s\""
-+	printf("%s%s(\"%s\"%s"
- 	       ", [\"%s\", \"%s\", \"%s\", %p, %p, %p, ... /* %p */]"
- #if VERBOSE
- 	       ", [\"%s\", \"%s\", %p, %p, %p, ... /* %p */]"
-@@ -62,7 +72,9 @@
- 	       ", %p /* 5 vars, unterminated */"
- #endif
- 	       ") = %s\n",
--	       Q_FILENAME, q_argv[0], q_argv[1], q_argv[2],
-+	       my_secontext, "execve",
-+	       Q_FILENAME, FILENAME_secontext,
-+	       q_argv[0], q_argv[1], q_argv[2],
- 	       argv[3], argv[4], argv[5], (char *) tail_argv + sizeof(argv)
- #if VERBOSE
- 	       , q_envp[0], q_envp[1], envp[2], envp[3], envp[4],
-@@ -77,14 +89,16 @@
- 	(void) q_envp;	/* workaround for clang bug #33068 */
- 
- 	call_execve(FILENAME, tail_argv, tail_envp);
--	printf("execve(\"%s\", [\"%s\", \"%s\", \"%s\"]"
-+	printf("%s%s(\"%s\"%s, [\"%s\", \"%s\", \"%s\"]"
- #if VERBOSE
- 	       ", [\"%s\", \"%s\"]"
- #else
- 	       ", %p /* 2 vars */"
- #endif
- 	       ") = %s\n",
--	       Q_FILENAME, q_argv[0], q_argv[1], q_argv[2]
-+	       my_secontext, "execve",
-+	       Q_FILENAME, FILENAME_secontext,
-+	       q_argv[0], q_argv[1], q_argv[2]
- #if VERBOSE
- 	       , q_envp[0], q_envp[1]
- #else
-@@ -93,14 +107,16 @@
- 	       , errstr);
- 
- 	call_execve(FILENAME, tail_argv + 2, tail_envp + 1);
--	printf("execve(\"%s\", [\"%s\"]"
-+	printf("%s%s(\"%s\"%s, [\"%s\"]"
- #if VERBOSE
- 	       ", [\"%s\"]"
- #else
- 	       ", %p /* 1 var */"
- #endif
- 	       ") = %s\n",
--	       Q_FILENAME, q_argv[2]
-+	       my_secontext, "execve",
-+	       Q_FILENAME, FILENAME_secontext,
-+	       q_argv[2]
- #if VERBOSE
- 	       , q_envp[1]
- #else
-@@ -113,13 +129,15 @@
- 	*empty = NULL;
- 
- 	call_execve(FILENAME, empty, empty);
--	printf("execve(\"%s\", []"
-+	printf("%s%s(\"%s\"%s, []"
- #if VERBOSE
- 	       ", []"
- #else
- 	       ", %p /* 0 vars */"
- #endif
--	       ") = %s\n", Q_FILENAME
-+	       ") = %s\n",
-+	       my_secontext, "execve",
-+	       Q_FILENAME, FILENAME_secontext
- #if !VERBOSE
- 	       , empty
- #endif
-@@ -143,7 +161,10 @@
- 	a[i] = b[i] = NULL;
- 
- 	call_execve(FILENAME, a, b);
--	printf("execve(\"%s\", [\"%.*s\"...", Q_FILENAME, DEFAULT_STRLEN, a[0]);
-+	printf("%s%s(\"%s\"%s, [\"%.*s\"...",
-+	       my_secontext, "execve",
-+	       Q_FILENAME, FILENAME_secontext,
-+	       DEFAULT_STRLEN, a[0]);
- 	for (i = 1; i < DEFAULT_STRLEN; ++i)
- 		printf(", \"%s\"", a[i]);
- #if VERBOSE
-@@ -162,7 +183,10 @@
- 	printf(") = %s\n", errstr);
- 
- 	call_execve(FILENAME, a + 1, b + 1);
--	printf("execve(\"%s\", [\"%s\"", Q_FILENAME, a[1]);
-+	printf("%s%s(\"%s\"%s, [\"%s\"",
-+	       my_secontext, "execve",
-+	       Q_FILENAME, FILENAME_secontext,
-+	       a[1]);
- 	for (i = 2; i <= DEFAULT_STRLEN; ++i)
- 		printf(", \"%s\"", a[i]);
- #if VERBOSE
-@@ -175,12 +199,17 @@
- #endif
- 	printf(") = %s\n", errstr);
- 
-+	if (unlink(FILENAME))
-+		perror_msg_and_fail("unlink");
-+
- 	call_execve(FILENAME, (char **) tail_argv[ARRAY_SIZE(q_argv)], efault);
--	printf("execve(\"%s\", NULL, %p) = %s\n",
-+	printf("%s%s(\"%s\", NULL, %p) = %s\n",
-+	       my_secontext, "execve",
- 	       Q_FILENAME, efault, errstr);
- 
- 	call_execve(FILENAME, efault, NULL);
--	printf("execve(\"%s\", %p, NULL) = %s\n",
-+	printf("%s%s(\"%s\", %p, NULL) = %s\n",
-+	       my_secontext, "execve",
- 	       Q_FILENAME, efault, errstr);
- 
- 	leave_and_remove_subdir();
-Index: strace-5.7/tests/execve.test
-===================================================================
---- strace-5.7.orig/tests/execve.test	2021-08-24 21:08:35.382312663 +0200
-+++ strace-5.7/tests/execve.test	2021-08-24 21:08:43.258246001 +0200
-@@ -11,7 +11,7 @@
- 
- check_prog grep
- run_prog > /dev/null
--run_strace -eexecve $args > "$EXP"
-+run_strace -eexecve "$@" $args > "$EXP"
- 
- # Filter out execve() call made by strace.
- grep -F test.execve < "$LOG" > "$OUT"
-Index: strace-5.7/tests/execveat.c
-===================================================================
---- strace-5.7.orig/tests/execveat.c	2021-08-24 21:08:35.383312654 +0200
-+++ strace-5.7/tests/execveat.c	2021-08-24 21:08:43.259245993 +0200
-@@ -13,9 +13,102 @@
- 
- #ifdef __NR_execveat
- 
-+# include <fcntl.h>
- # include <stdio.h>
- # include <unistd.h>
- 
-+# include "secontext.h"
-+
-+static void
-+tests_with_existing_file(void)
-+{
-+	/*
-+	 * Make sure the current workdir of the tracee
-+	 * is different from the current workdir of the tracer.
-+	 */
-+	create_and_enter_subdir("execveat_subdir");
-+
-+	char *my_secontext = SECONTEXT_PID_MY();
-+
-+	static const char sample[] = "execveat_sample";
-+	(void) unlink(sample);
-+	if (open(sample, O_RDONLY | O_CREAT, 0400) < 0)
-+		perror_msg_and_fail("open");
-+
-+	char *sample_secontext = SECONTEXT_FILE(sample);
-+	static const char *argv[] = { sample, NULL };
-+
-+	/*
-+	 * Tests with AT_FDCWD.
-+	 */
-+
-+	long rc = syscall(__NR_execveat, -100, sample, argv, NULL, 0);
-+	printf("%s%s(AT_FDCWD, \"%s\"%s, [\"%s\"], NULL, 0) = %s\n",
-+	       my_secontext, "execveat",
-+	       sample, sample_secontext,
-+	       argv[0],
-+	       sprintrc(rc));
-+
-+	if (unlink(sample))
-+		perror_msg_and_fail("unlink");
-+
-+	rc = syscall(__NR_execveat, -100, sample, argv, NULL, 0);
-+	printf("%s%s(AT_FDCWD, \"%s\", [\"%s\"], NULL, 0) = %s\n",
-+	       my_secontext, "execveat",
-+	       sample,
-+	       argv[0],
-+	       sprintrc(rc));
-+
-+	/*
-+	 * Tests with dirfd.
-+	 */
-+
-+	int cwd_fd = get_dir_fd(".");
-+	char *cwd = get_fd_path(cwd_fd);
-+	char *cwd_secontext = SECONTEXT_FILE(".");
-+	char *sample_realpath = xasprintf("%s/%s", cwd, sample);
-+
-+	/* no file */
-+	rc = syscall(__NR_execveat, cwd_fd, sample, argv, NULL, 0);
-+	printf("%s%s(%d%s, \"%s\", [\"%s\"], NULL, 0) = %s\n",
-+	       my_secontext, "execveat",
-+	       cwd_fd, cwd_secontext,
-+	       sample,
-+	       argv[0],
-+	       sprintrc(rc));
-+
-+	if (open(sample, O_RDONLY | O_CREAT, 0400) < 0)
-+		perror_msg_and_fail("open");
-+
-+	rc = syscall(__NR_execveat, cwd_fd, sample, argv, NULL, 0);
-+	printf("%s%s(%d%s, \"%s\"%s, [\"%s\"], NULL, 0) = %s\n",
-+	       my_secontext, "execveat",
-+	       cwd_fd, cwd_secontext,
-+	       sample, sample_secontext,
-+	       argv[0],
-+	       sprintrc(rc));
-+
-+	/* cwd_fd ignored when path is absolute */
-+	if (chdir("../.."))
-+		perror_msg_and_fail("chdir");
-+
-+	rc = syscall(__NR_execveat, cwd_fd, sample_realpath, argv, NULL, 0);
-+	printf("%s%s(%d%s, \"%s\"%s, [\"%s\"], NULL, 0) = %s\n",
-+	       my_secontext, "execveat",
-+	       cwd_fd, cwd_secontext,
-+	       sample_realpath, sample_secontext,
-+	       argv[0],
-+	       sprintrc(rc));
-+
-+	if (fchdir(cwd_fd))
-+		perror_msg_and_fail("fchdir");
-+
-+	if (unlink(sample))
-+		perror_msg_and_fail("unlink");
-+
-+	leave_and_remove_subdir();
-+}
-+
- # define FILENAME "test.execveat\nfilename"
- # define Q_FILENAME "test.execveat\\nfilename"
- 
-@@ -40,9 +133,10 @@
- {
- 	const char ** const tail_argv = tail_memdup(argv, sizeof(argv));
- 	const char ** const tail_envp = tail_memdup(envp, sizeof(envp));
-+	char *my_secontext = SECONTEXT_PID_MY();
- 
- 	syscall(__NR_execveat, -100, FILENAME, tail_argv, tail_envp, 0x1100);
--	printf("execveat(AT_FDCWD, \"%s\""
-+	printf("%s%s(AT_FDCWD, \"%s\""
- 	       ", [\"%s\", \"%s\", \"%s\", %p, %p, %p, ... /* %p */]"
- # if VERBOSE
- 	       ", [\"%s\", \"%s\", %p, %p, %p, ... /* %p */]"
-@@ -50,6 +144,7 @@
- 	       ", %p /* 5 vars, unterminated */"
- # endif
- 	       ", AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) = -1 %s (%m)\n",
-+	       my_secontext, "execveat",
- 	       Q_FILENAME, q_argv[0], q_argv[1], q_argv[2],
- 	       argv[3], argv[4], argv[5], (char *) tail_argv + sizeof(argv),
- # if VERBOSE
-@@ -65,13 +160,14 @@
- 	(void) q_envp;	/* workaround for clang bug #33068 */
- 
- 	syscall(__NR_execveat, -100, FILENAME, tail_argv, tail_envp, 0x1100);
--	printf("execveat(AT_FDCWD, \"%s\", [\"%s\", \"%s\", \"%s\"]"
-+	printf("%s%s(AT_FDCWD, \"%s\", [\"%s\", \"%s\", \"%s\"]"
- # if VERBOSE
- 	       ", [\"%s\", \"%s\"]"
- # else
- 	       ", %p /* 2 vars */"
- # endif
- 	       ", AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) = -1 %s (%m)\n",
-+	       my_secontext, "execveat",
- 	       Q_FILENAME, q_argv[0], q_argv[1], q_argv[2],
- # if VERBOSE
- 	       q_envp[0], q_envp[1],
-@@ -81,13 +177,14 @@
- 	       errno2name());
- 
- 	syscall(__NR_execveat, -100, FILENAME, tail_argv + 2, tail_envp + 1, 0x1100);
--	printf("execveat(AT_FDCWD, \"%s\", [\"%s\"]"
-+	printf("%s%s(AT_FDCWD, \"%s\", [\"%s\"]"
- # if VERBOSE
- 	       ", [\"%s\"]"
- # else
- 	       ", %p /* 1 var */"
- # endif
- 	       ", AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) = -1 %s (%m)\n",
-+	       my_secontext, "execveat",
- 	       Q_FILENAME, q_argv[2],
- # if VERBOSE
- 	       q_envp[1],
-@@ -101,13 +198,14 @@
- 	*empty = NULL;
- 
- 	syscall(__NR_execveat, -100, FILENAME, empty, empty, 0x1100);
--	printf("execveat(AT_FDCWD, \"%s\", []"
-+	printf("%s%s(AT_FDCWD, \"%s\", []"
- # if VERBOSE
- 	       ", []"
- # else
- 	       ", %p /* 0 vars */"
- # endif
- 	       ", AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) = -1 %s (%m)\n",
-+	       my_secontext, "execveat",
- 	       Q_FILENAME,
- # if !VERBOSE
- 	       empty,
-@@ -132,7 +230,9 @@
- 	a[i] = b[i] = NULL;
- 
- 	syscall(__NR_execveat, -100, FILENAME, a, b, 0x1100);
--	printf("execveat(AT_FDCWD, \"%s\", [\"%.*s\"...", Q_FILENAME, DEFAULT_STRLEN, a[0]);
-+	printf("%s%s(AT_FDCWD, \"%s\", [\"%.*s\"...",
-+	       my_secontext, "execveat",
-+	       Q_FILENAME, DEFAULT_STRLEN, a[0]);
- 	for (i = 1; i < DEFAULT_STRLEN; ++i)
- 		printf(", \"%s\"", a[i]);
- # if VERBOSE
-@@ -152,7 +252,9 @@
- 	       errno2name());
- 
- 	syscall(__NR_execveat, -100, FILENAME, a + 1, b + 1, 0x1100);
--	printf("execveat(AT_FDCWD, \"%s\", [\"%s\"", Q_FILENAME, a[1]);
-+	printf("%s%s(AT_FDCWD, \"%s\", [\"%s\"",
-+	       my_secontext, "execveat",
-+	       Q_FILENAME, a[1]);
- 	for (i = 2; i <= DEFAULT_STRLEN; ++i)
- 		printf(", \"%s\"", a[i]);
- # if VERBOSE
-@@ -167,15 +269,19 @@
- 	       errno2name());
- 
- 	syscall(__NR_execveat, -100, FILENAME, NULL, efault, 0x1100);
--	printf("execveat(AT_FDCWD, \"%s\", NULL, %p"
-+	printf("%s%s(AT_FDCWD, \"%s\", NULL, %p"
- 	       ", AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) = -1 %s (%m)\n",
-+	       my_secontext, "execveat",
- 	       Q_FILENAME, efault, errno2name());
- 
- 	syscall(__NR_execveat, -100, FILENAME, efault, NULL, 0x1100);
--	printf("execveat(AT_FDCWD, \"%s\", %p, NULL"
-+	printf("%s%s(AT_FDCWD, \"%s\", %p, NULL"
- 	       ", AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) = -1 %s (%m)\n",
-+	       my_secontext, "execveat",
- 	       Q_FILENAME, efault, errno2name());
- 
-+	tests_with_existing_file();
-+
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests/faccessat.c
-===================================================================
---- strace-5.7.orig/tests/faccessat.c	2021-08-24 21:08:35.383312654 +0200
-+++ strace-5.7/tests/faccessat.c	2021-08-24 21:08:43.260245984 +0200
-@@ -12,12 +12,16 @@
- 
- #ifdef __NR_faccessat
- 
--# include "xmalloc.h"
- # include <fcntl.h>
- # include <stdio.h>
- # include <unistd.h>
- 
--# ifndef FD_PATH
-+# include "secontext.h"
-+# include "xmalloc.h"
-+
-+# ifdef FD_PATH
-+#  define YFLAG
-+# else
- #  define FD_PATH ""
- # endif
- # ifndef SKIP_IF_PROC_IS_UNAVAILABLE
-@@ -43,11 +47,130 @@
- 	return rc;
- }
- 
-+# ifndef PATH_TRACING
-+static void
-+tests_with_existing_file(void)
-+{
-+	/*
-+	 * Make sure the current workdir of the tracee
-+	 * is different from the current workdir of the tracer.
-+	 */
-+	create_and_enter_subdir("faccessat_subdir");
-+
-+	char *my_secontext = SECONTEXT_PID_MY();
-+
-+	k_faccessat(-1, NULL, F_OK);
-+	printf("%s%s(-1, NULL, F_OK) = %s\n",
-+	       my_secontext, "faccessat", errstr);
-+
-+	static const char sample[] = "faccessat_sample";
-+	(void) unlink(sample);
-+	int fd = open(sample, O_CREAT|O_RDONLY, 0400);
-+	if (fd == -1)
-+		perror_msg_and_fail("open");
-+	close(fd);
-+	char *sample_secontext = SECONTEXT_FILE(sample);
-+
-+	/*
-+	 * Tests with AT_FDCWD.
-+	 */
-+
-+	k_faccessat(-100, sample, F_OK);
-+	printf("%s%s(AT_FDCWD, \"%s\"%s, F_OK) = %s\n",
-+	       my_secontext, "faccessat",
-+	       sample, sample_secontext,
-+	       errstr);
-+
-+	if (unlink(sample))
-+		perror_msg_and_fail("unlink");
-+
-+	k_faccessat(-100, sample, F_OK);
-+	printf("%s%s(AT_FDCWD, \"%s\", F_OK) = %s\n",
-+	       my_secontext, "faccessat",
-+	       sample,
-+	       errstr);
-+
-+	/*
-+	 * Tests with dirfd.
-+	 */
-+
-+	int cwd_fd = get_dir_fd(".");
-+	char *cwd = get_fd_path(cwd_fd);
-+	char *cwd_secontext = SECONTEXT_FILE(".");
-+	char *sample_realpath = xasprintf("%s/%s", cwd, sample);
-+
-+	/* no file */
-+	k_faccessat(cwd_fd, sample, F_OK);
-+#  ifdef YFLAG
-+	printf("%s%s(%d<%s>%s, \"%s\", F_OK) = %s\n",
-+#  else
-+	printf("%s%s(%d%s, \"%s\", F_OK) = %s\n",
-+#  endif
-+	       my_secontext, "faccessat",
-+	       cwd_fd,
-+#  ifdef YFLAG
-+	       cwd,
-+#  endif
-+	       cwd_secontext,
-+	       sample,
-+	       errstr);
-+
-+	fd = open(sample, O_CREAT|O_RDONLY, 0400);
-+	if (fd == -1)
-+		perror_msg_and_fail("open");
-+	close(fd);
-+
-+	k_faccessat(cwd_fd, sample, F_OK);
-+#  ifdef YFLAG
-+	printf("%s%s(%d<%s>%s, \"%s\"%s, F_OK) = %s\n",
-+#  else
-+	printf("%s%s(%d%s, \"%s\"%s, F_OK) = %s\n",
-+#  endif
-+	       my_secontext, "faccessat",
-+	       cwd_fd,
-+#  ifdef YFLAG
-+	       cwd,
-+#  endif
-+	       cwd_secontext,
-+	       sample, sample_secontext,
-+	       errstr);
-+
-+	/* cwd_fd ignored when path is absolute */
-+	if (chdir("../.."))
-+		perror_msg_and_fail("chdir");
-+
-+	k_faccessat(cwd_fd, sample_realpath, F_OK);
-+#  ifdef YFLAG
-+	printf("%s%s(%d<%s>%s, \"%s\"%s, F_OK) = %s\n",
-+#  else
-+	printf("%s%s(%d%s, \"%s\"%s, F_OK) = %s\n",
-+#  endif
-+	       my_secontext, "faccessat",
-+	       cwd_fd,
-+#  ifdef YFLAG
-+	       cwd,
-+#  endif
-+	       cwd_secontext,
-+	       sample_realpath, sample_secontext,
-+	       errstr);
-+
-+	if (fchdir(cwd_fd))
-+		perror_msg_and_fail("fchdir");
-+
-+	if (unlink(sample))
-+		perror_msg_and_fail("unlink");
-+
-+	leave_and_remove_subdir();
-+}
-+# endif
-+
- int
- main(void)
- {
- 	SKIP_IF_PROC_IS_UNAVAILABLE;
- 
-+# ifndef TEST_SECONTEXT
-+
- 	TAIL_ALLOC_OBJECT_CONST_PTR(const char, unterminated);
- 	char *unterminated_str = xasprintf("%p", unterminated);
- 	const void *const efault = unterminated + 1;
-@@ -120,10 +243,10 @@
- 				k_faccessat(dirfds[dirfd_i].val,
- 					    paths[path_i].val,
- 					    modes[mode_i].val);
--# ifdef PATH_TRACING
-+#  ifdef PATH_TRACING
- 				if (dirfds[dirfd_i].val == fd ||
- 				    paths[path_i].val == fd_path)
--# endif
-+#  endif
- 				printf("faccessat(%s, %s, %s) = %s\n",
- 				       dirfds[dirfd_i].str,
- 				       paths[path_i].str,
-@@ -133,6 +256,12 @@
- 		}
- 	}
- 
-+# endif /* !TEST_SECONTEXT */
-+
-+# ifndef PATH_TRACING
-+	tests_with_existing_file();
-+# endif
-+
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests/faccessat.test
-===================================================================
---- strace-5.7.orig/tests/faccessat.test	2021-08-24 21:08:35.383312654 +0200
-+++ strace-5.7/tests/faccessat.test	2021-08-24 21:08:43.260245984 +0200
-@@ -15,5 +15,5 @@
- run_strace -a23 --trace=faccessat "$@" $args > "$EXP"
- 
- # Filter out faccessat() calls made by ld.so and libc.
--sed -n '/^faccessat(-1, NULL,/,$p' < "$LOG" > "$OUT"
-+sed -n '/faccessat(-1, NULL,/,$p' < "$LOG" > "$OUT"
- match_diff "$OUT" "$EXP"
-Index: strace-5.7/tests/fanotify_mark.c
-===================================================================
---- strace-5.7.orig/tests/fanotify_mark.c	2021-08-24 21:07:01.122112055 +0200
-+++ strace-5.7/tests/fanotify_mark.c	2021-08-24 21:08:43.261245976 +0200
-@@ -3,7 +3,7 @@
-  *
-  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
-  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
-- * Copyright (c) 2015-2020 The strace developers.
-+ * Copyright (c) 2015-2021 The strace developers.
-  * All rights reserved.
-  *
-  * SPDX-License-Identifier: GPL-2.0-or-later
-@@ -21,6 +21,8 @@
- # include <unistd.h>
- # include <sys/fanotify.h>
- 
-+# include "secontext.h"
-+
- # if XLAT_RAW
- #  define str_fan_mark_add	"0x1"
- #  define str_fan_modify_ondir	"0x40000002"
-@@ -35,6 +37,7 @@
- #  define str_at_fdcwd		"AT_FDCWD"
- # endif
- 
-+# ifndef TEST_SECONTEXT
- /* Performs fanotify_mark call via the syscall interface. */
- static void
- do_call(kernel_ulong_t fd, kernel_ulong_t flags, const char *flags_str,
-@@ -44,18 +47,18 @@
- 	long rc;
- 
- 	rc = syscall(__NR_fanotify_mark, fd, flags,
--# if (LONG_MAX > INT_MAX) \
--  || (defined __x86_64__ && defined __ILP32__) \
--  || defined LINUX_MIPSN32
-+#  if (LONG_MAX > INT_MAX) \
-+   || (defined __x86_64__ && defined __ILP32__) \
-+   || defined LINUX_MIPSN32
- 		mask,
--# else
-+#  else
- /* arch/parisc/kernel/sys_parisc32.c, commit ab8a261b */
--#  ifdef HPPA
-+#   ifdef HPPA
- 		LL_VAL_TO_PAIR((mask << 32) | (mask >> 32)),
--#  else
-+#   else
- 		LL_VAL_TO_PAIR(mask),
-+#   endif
- #  endif
--# endif
- 		dirfd, path);
- 
- 	printf("fanotify_mark(%d, %s, %s, %s, %s) = %s\n",
-@@ -68,12 +71,14 @@
- 	const char *str;
- };
- 
--# define STR16 "0123456789abcdef"
--# define STR64 STR16 STR16 STR16 STR16
-+#  define STR16 "0123456789abcdef"
-+#  define STR64 STR16 STR16 STR16 STR16
-+# endif /* !TEST_SECONTEXT */
- 
- int
- main(void)
- {
-+# ifndef TEST_SECONTEXT
- 	enum {
- 		PATH1_SIZE = 64,
- 	};
-@@ -87,47 +92,47 @@
- 		{ F8ILL_KULONG_MASK, "0" },
- 		{ (kernel_ulong_t) 0xdec0deddefacec00ULL,
- 			"0xefacec00"
--# if !XLAT_RAW
-+#  if !XLAT_RAW
- 			" /* FAN_MARK_??? */"
--# endif
-+#  endif
- 			},
- 		{ (kernel_ulong_t) 0xda7a105700000040ULL,
--# if XLAT_RAW
-+#  if XLAT_RAW
- 			"0x40"
--# elif XLAT_VERBOSE
-+#  elif XLAT_VERBOSE
- 			"0x40 /* FAN_MARK_IGNORED_SURV_MODIFY */"
--# else
-+#  else
- 			"FAN_MARK_IGNORED_SURV_MODIFY"
--# endif
-+#  endif
- 			},
- 		{ (kernel_ulong_t) 0xbadc0deddeadffffULL,
--# if XLAT_RAW || XLAT_VERBOSE
-+#  if XLAT_RAW || XLAT_VERBOSE
- 			"0xdeadffff"
--# endif
--# if XLAT_VERBOSE
-+#  endif
-+#  if XLAT_VERBOSE
- 			" /* "
--# endif
--# if !XLAT_RAW
-+#  endif
-+#  if !XLAT_RAW
- 			"FAN_MARK_ADD|FAN_MARK_REMOVE|FAN_MARK_DONT_FOLLOW|"
- 			"FAN_MARK_ONLYDIR|FAN_MARK_MOUNT|FAN_MARK_IGNORED_MASK|"
- 			"FAN_MARK_IGNORED_SURV_MODIFY|FAN_MARK_FLUSH|"
- 			"FAN_MARK_FILESYSTEM|0xdeadfe00"
--# endif
--# if XLAT_VERBOSE
-+#  endif
-+#  if XLAT_VERBOSE
- 			" */"
--# endif
-+#  endif
- 			},
- 	};
- 	static const struct strval64 masks[] = {
- 		{ ARG_ULL_STR(0) },
- 		{ 0xdeadfeedffffffffULL,
--# if XLAT_RAW || XLAT_VERBOSE
-+#  if XLAT_RAW || XLAT_VERBOSE
- 			"0xdeadfeedffffffff"
--# endif
--# if XLAT_VERBOSE
-+#  endif
-+#  if XLAT_VERBOSE
- 			" /* "
--# endif
--# if !XLAT_RAW
-+#  endif
-+#  if !XLAT_RAW
- 			"FAN_ACCESS|"
- 			"FAN_MODIFY|"
- 			"FAN_ATTRIB|"
-@@ -149,27 +154,27 @@
- 			"FAN_ONDIR|"
- 			"FAN_EVENT_ON_CHILD|"
- 			"0xdeadfeedb7f0a000"
--# endif
--# if XLAT_VERBOSE
-+#  endif
-+#  if XLAT_VERBOSE
- 			" */"
--# endif
-+#  endif
- 			},
- 		{ ARG_ULL_STR(0xffffffffb7f0a000)
--# if !XLAT_RAW
-+#  if !XLAT_RAW
- 			" /* FAN_??? */"
--# endif
-+#  endif
- 			},
- 	};
- 	static const struct strval dirfds[] = {
- 		{ (kernel_ulong_t) 0xfacefeed00000001ULL, "1" },
- 		{ (kernel_ulong_t) 0xdec0ded0ffffffffULL,
--# if XLAT_RAW
-+#  if XLAT_RAW
- 			"-1"
--# elif XLAT_VERBOSE
-+#  elif XLAT_VERBOSE
- 			"-1 /* FAN_NOFD */"
--# else
-+#  else
- 			"FAN_NOFD"
--# endif
-+#  endif
- 			},
- 		{ (kernel_ulong_t) 0xbadfacedffffff9cULL, str_at_fdcwd },
- 		{ (kernel_ulong_t) 0xdefaced1beeff00dULL, "-1091571699" },
-@@ -202,12 +207,6 @@
- 	snprintf(bogus_path1_after_addr, sizeof(bogus_path1_after_addr), "%p",
- 		bogus_path1 + PATH1_SIZE);
- 
--	rc = fanotify_mark(-1, FAN_MARK_ADD, FAN_MODIFY | FAN_ONDIR,
--			       -100, ".");
--	printf("fanotify_mark(-1, %s, %s, %s, \".\") = %s\n",
--	       str_fan_mark_add, str_fan_modify_ondir, str_at_fdcwd,
--	       sprintrc(rc));
--
- 	for (i = 0; i < ARRAY_SIZE(fds); i++) {
- 		for (j = 0; j < ARRAY_SIZE(flags); j++) {
- 			for (k = 0; k < ARRAY_SIZE(masks); k++) {
-@@ -226,6 +225,40 @@
- 			}
- 		}
- 	}
-+# else /* TEST_SECONTEXT */
-+	int rc;
-+# endif
-+	/*
-+	 * Test with AT_FDCWD.
-+	 */
-+
-+	char *my_secontext = SECONTEXT_PID_MY();
-+	char path[] = ".";
-+	char *path_secontext = SECONTEXT_FILE(path);
-+
-+	rc = fanotify_mark(-1, FAN_MARK_ADD, FAN_MODIFY | FAN_ONDIR,
-+			   -100, path);
-+	printf("%s%s(-1, %s, %s, %s, \"%s\"%s) = %s\n",
-+	       my_secontext, "fanotify_mark",
-+	       str_fan_mark_add, str_fan_modify_ondir, str_at_fdcwd,
-+	       path, path_secontext,
-+	       sprintrc(rc));
-+
-+	/*
-+	 * Test with dirfd.
-+	 */
-+
-+	int cwd_fd = get_dir_fd(".");
-+	char *cwd_secontext = SECONTEXT_FILE(".");
-+
-+	rc = fanotify_mark(-1, FAN_MARK_ADD, FAN_MODIFY | FAN_ONDIR,
-+			   cwd_fd, path);
-+	printf("%s%s(-1, %s, %s, %d%s, \"%s\"%s) = %s\n",
-+	       my_secontext, "fanotify_mark",
-+	       str_fan_mark_add, str_fan_modify_ondir,
-+	       cwd_fd, cwd_secontext,
-+	       path, path_secontext,
-+	       sprintrc(rc));
- 
- 	puts("+++ exited with 0 +++");
- 	return 0;
-Index: strace-5.7/tests/fchmod.c
-===================================================================
---- strace-5.7.orig/tests/fchmod.c	2021-08-24 21:08:35.384312646 +0200
-+++ strace-5.7/tests/fchmod.c	2021-08-24 21:08:43.261245976 +0200
-@@ -18,6 +18,8 @@
- # include <stdio.h>
- # include <unistd.h>
- 
-+# include "secontext.h"
-+
- int
- main(void)
- {
-@@ -27,6 +29,8 @@
- 	 */
- 	create_and_enter_subdir("fchmod_subdir");
- 
-+	char *my_secontext = SECONTEXT_PID_MY();
-+
- 	static const char sample[] = "fchmod_sample_file";
- 	(void) unlink(sample);
- 	int fd = open(sample, O_CREAT|O_RDONLY, 0400);
-@@ -37,16 +41,19 @@
- 	char *sample_realpath = get_fd_path(fd);
- # endif
- 
-+	const char *sample_secontext = SECONTEXT_FILE(sample);
- 	long rc = syscall(__NR_fchmod, fd, 0600);
- # ifdef YFLAG
--	printf("fchmod(%d<%s>, 0600) = %s\n",
-+	printf("%s%s(%d<%s>%s, 0600) = %s\n",
- # else
--	printf("fchmod(%d, 0600) = %s\n",
-+	printf("%s%s(%d%s, 0600) = %s\n",
- # endif
-+	       my_secontext, "fchmod",
- 	       fd,
- # ifdef YFLAG
- 	       sample_realpath,
- # endif
-+	       sample_secontext,
- 	       sprintrc(rc));
- 
- 	if (unlink(sample))
-@@ -54,26 +61,30 @@
- 
- 	rc = syscall(__NR_fchmod, fd, 051);
- # ifdef YFLAG
--	printf("fchmod(%d<%s (deleted)>, 051) = %s\n",
-+	printf("%s%s(%d<%s (deleted)>%s, 051) = %s\n",
- # else
--	printf("fchmod(%d, 051) = %s\n",
-+	printf("%s%s(%d%s, 051) = %s\n",
- # endif
-+	       my_secontext, "fchmod",
- 	       fd,
- # ifdef YFLAG
- 	       sample_realpath,
- # endif
-+	       sample_secontext,
- 	       sprintrc(rc));
- 
- 	rc = syscall(__NR_fchmod, fd, 004);
- # ifdef YFLAG
--	printf("fchmod(%d<%s (deleted)>, 004) = %s\n",
-+	printf("%s%s(%d<%s (deleted)>%s, 004) = %s\n",
- # else
--	printf("fchmod(%d, 004) = %s\n",
-+	printf("%s%s(%d%s, 004) = %s\n",
- # endif
-+	       my_secontext, "fchmod",
- 	       fd,
- # ifdef YFLAG
- 	       sample_realpath,
- # endif
-+	       sample_secontext,
- 	       sprintrc(rc));
- 
- 	leave_and_remove_subdir();
-Index: strace-5.7/tests/fchmodat.c
-===================================================================
---- strace-5.7.orig/tests/fchmodat.c	2021-08-24 21:08:35.384312646 +0200
-+++ strace-5.7/tests/fchmodat.c	2021-08-24 21:08:43.261245976 +0200
-@@ -17,6 +17,8 @@
- # include <stdio.h>
- # include <unistd.h>
- 
-+# include "secontext.h"
-+
- int
- main(void)
- {
-@@ -26,26 +28,81 @@
- 	 */
- 	create_and_enter_subdir("fchmodat_subdir");
- 
--	static const char sample[] = "fchmodat_sample";
-+	char *my_secontext = SECONTEXT_PID_MY();
- 
-+	static const char sample[] = "fchmodat_sample_file";
- 	if (open(sample, O_RDONLY | O_CREAT, 0400) < 0)
- 		perror_msg_and_fail("open");
- 
-+	char *sample_secontext = SECONTEXT_FILE(sample);
-+
-+	/*
-+	 * Tests with AT_FDCWD.
-+	 */
-+
- 	long rc = syscall(__NR_fchmodat, -100, sample, 0600);
--	printf("fchmodat(AT_FDCWD, \"%s\", 0600) = %s\n",
--	       sample, sprintrc(rc));
-+	printf("%s%s(AT_FDCWD, \"%s\"%s, 0600) = %s\n",
-+	       my_secontext, "fchmodat",
-+	       sample, sample_secontext,
-+	       sprintrc(rc));
- 
- 	if (unlink(sample))
- 		perror_msg_and_fail("unlink");
- 
- 	rc = syscall(__NR_fchmodat, -100, sample, 051);
--	printf("fchmodat(AT_FDCWD, \"%s\", 051) = %s\n",
-+	printf("%s%s(AT_FDCWD, \"%s\", 051) = %s\n",
-+	       my_secontext, "fchmodat",
- 	       sample, sprintrc(rc));
- 
- 	rc = syscall(__NR_fchmodat, -100, sample, 004);
--	printf("fchmodat(AT_FDCWD, \"%s\", 004) = %s\n",
-+	printf("%s%s(AT_FDCWD, \"%s\", 004) = %s\n",
-+	       my_secontext, "fchmodat",
- 	       sample, sprintrc(rc));
- 
-+	/*
-+	 * Tests with dirfd.
-+	 */
-+
-+	int cwd_fd = get_dir_fd(".");
-+	char *cwd = get_fd_path(cwd_fd);
-+	char *cwd_secontext = SECONTEXT_FILE(".");
-+	char *sample_realpath = xasprintf("%s/%s", cwd, sample);
-+
-+	/* no file */
-+	rc = syscall(__NR_fchmodat, cwd_fd, sample, 0400);
-+	printf("%s%s(%d%s, \"%s\", 0400) = %s\n",
-+	       my_secontext, "fchmodat",
-+	       cwd_fd, cwd_secontext,
-+	       sample,
-+	       sprintrc(rc));
-+
-+	if (open(sample, O_RDONLY | O_CREAT, 0400) < 0)
-+		perror_msg_and_fail("open");
-+
-+	rc = syscall(__NR_fchmodat, cwd_fd, sample, 0400);
-+	printf("%s%s(%d%s, \"%s\"%s, 0400) = %s\n",
-+	       my_secontext, "fchmodat",
-+	       cwd_fd, cwd_secontext,
-+	       sample, sample_secontext,
-+	       sprintrc(rc));
-+
-+	/* cwd_fd ignored when path is absolute */
-+	if (chdir("../.."))
-+		perror_msg_and_fail("chdir");
-+
-+	rc = syscall(__NR_fchmodat, cwd_fd, sample_realpath, 0400);
-+	printf("%s%s(%d%s, \"%s\"%s, 0400) = %s\n",
-+	       my_secontext, "fchmodat",
-+	       cwd_fd, cwd_secontext,
-+	       sample_realpath, sample_secontext,
-+	       sprintrc(rc));
-+
-+	if (fchdir(cwd_fd))
-+		perror_msg_and_fail("fchdir");
-+
-+	if (unlink(sample))
-+		perror_msg_and_fail("unlink");
-+
- 	leave_and_remove_subdir();
- 
- 	puts("+++ exited with 0 +++");
-Index: strace-5.7/tests/fchownat.c
-===================================================================
---- strace-5.7.orig/tests/fchownat.c	2021-08-24 21:08:35.384312646 +0200
-+++ strace-5.7/tests/fchownat.c	2021-08-24 21:08:43.262245968 +0200
-@@ -17,6 +17,8 @@
- # include <stdio.h>
- # include <unistd.h>
- 
-+# include "secontext.h"
-+
- int
- main(void)
- {
-@@ -26,25 +28,86 @@
- 	 */
- 	create_and_enter_subdir("fchownat_subdir");
- 
--	static const char sample[] = "fchownat_sample";
-+	char *my_secontext = SECONTEXT_PID_MY();
- 	uid_t uid = geteuid();
- 	uid_t gid = getegid();
- 
--	if (open(sample, O_RDONLY | O_CREAT, 0400) == -1)
-+	static const char sample[] = "fchownat_sample";
-+	int fd = open(sample, O_RDONLY | O_CREAT, 0400);
-+	if (fd == -1)
- 		perror_msg_and_fail("open");
-+	close(fd);
-+
-+	char *sample_secontext = SECONTEXT_FILE(sample);
-+
-+	/*
-+	 * Tests with AT_FDCWD.
-+	 */
- 
- 	long rc = syscall(__NR_fchownat, AT_FDCWD, sample, uid, gid, 0);
--	printf("fchownat(AT_FDCWD, \"%s\", %d, %d, 0) = %s\n",
--	       sample, uid, gid, sprintrc(rc));
-+	printf("%s%s(AT_FDCWD, \"%s\"%s, %d, %d, 0) = %s\n",
-+	       my_secontext, "fchownat",
-+	       sample, sample_secontext,
-+	       uid, gid, sprintrc(rc));
- 
- 	if (unlink(sample))
- 		perror_msg_and_fail("unlink");
- 
- 	rc = syscall(__NR_fchownat, AT_FDCWD,
- 		     sample, -1, -1L, AT_SYMLINK_NOFOLLOW);
--	printf("fchownat(AT_FDCWD, \"%s\", -1, -1, AT_SYMLINK_NOFOLLOW) = %s\n",
-+	printf("%s%s(AT_FDCWD, \"%s\", -1, -1, AT_SYMLINK_NOFOLLOW) = %s\n",
-+	       my_secontext, "fchownat",
- 	       sample, sprintrc(rc));
- 
-+	/*
-+	 * Tests with dirfd.
-+	 */
-+
-+	int cwd_fd = get_dir_fd(".");
-+	char *cwd = get_fd_path(cwd_fd);
-+	char *cwd_secontext = SECONTEXT_FILE(".");
-+	char *sample_realpath = xasprintf("%s/%s", cwd, sample);
-+
-+	/* no file */
-+	rc = syscall(__NR_fchownat, cwd_fd, sample, uid, gid, 0);
-+	printf("%s%s(%d%s, \"%s\", %d, %d, 0) = %s\n",
-+	       my_secontext, "fchownat",
-+	       cwd_fd, cwd_secontext,
-+	       sample,
-+	       uid, gid,
-+	       sprintrc(rc));
-+
-+	fd = open(sample, O_RDONLY | O_CREAT, 0400);
-+	if (fd == -1)
-+		perror_msg_and_fail("open");
-+	close(fd);
-+
-+	rc = syscall(__NR_fchownat, cwd_fd, sample, uid, gid, 0);
-+	printf("%s%s(%d%s, \"%s\"%s, %d, %d, 0) = %s\n",
-+	       my_secontext, "fchownat",
-+	       cwd_fd, cwd_secontext,
-+	       sample, sample_secontext,
-+	       uid, gid,
-+	       sprintrc(rc));
-+
-+	/* cwd_fd ignored when path is absolute */
-+	if (chdir("../.."))
-+		perror_msg_and_fail("chdir");
-+
-+	rc = syscall(__NR_fchownat, cwd_fd, sample_realpath, uid, gid, 0);
-+	printf("%s%s(%d%s, \"%s\"%s, %d, %d, 0) = %s\n",
-+	       my_secontext, "fchownat",
-+	       cwd_fd, cwd_secontext,
-+	       sample_realpath, sample_secontext,
-+	       uid, gid,
-+	       sprintrc(rc));
-+
-+	if (fchdir(cwd_fd))
-+		perror_msg_and_fail("fchdir");
-+
-+	if (unlink(sample))
-+		perror_msg_and_fail("unlink");
-+
- 	leave_and_remove_subdir();
- 
- 	puts("+++ exited with 0 +++");
-Index: strace-5.7/tests/file_handle.c
-===================================================================
---- strace-5.7.orig/tests/file_handle.c	2021-08-24 21:08:35.385312637 +0200
-+++ strace-5.7/tests/file_handle.c	2021-08-24 21:08:43.263245959 +0200
-@@ -21,6 +21,8 @@
- # include <stdio.h>
- # include <unistd.h>
- 
-+# include "secontext.h"
-+
- enum assert_rc {
- 	ASSERT_NONE,
- 	ASSERT_SUCCESS,
-@@ -48,6 +50,7 @@
- 		printf("...");
- }
- 
-+# ifndef TEST_SECONTEXT
- void
- do_name_to_handle_at(kernel_ulong_t dirfd, const char *dirfd_str,
- 		     kernel_ulong_t pathname, const char *pathname_str,
-@@ -129,6 +132,7 @@
- 
- 	printf("%s\n", sprintrc(rc));
- }
-+# endif /* !TEST_SECONTEXT */
- 
- struct strval {
- 	kernel_ulong_t val;
-@@ -141,12 +145,86 @@
- int
- main(void)
- {
-+	char *my_secontext = SECONTEXT_PID_MY();
- 	enum {
- 		PATH1_SIZE = 64,
- 	};
- 
- 	static const kernel_ulong_t fdcwd =
- 		(kernel_ulong_t) 0x87654321ffffff9cULL;
-+
-+	struct file_handle *handle =
-+		tail_alloc(sizeof(struct file_handle) + MAX_HANDLE_SZ);
-+	struct file_handle *handle_0 =
-+		tail_alloc(sizeof(struct file_handle) + 0);
-+	struct file_handle *handle_8 =
-+		tail_alloc(sizeof(struct file_handle) + 8);
-+	struct file_handle *handle_128 =
-+		tail_alloc(sizeof(struct file_handle) + 128);
-+	struct file_handle *handle_256 =
-+		tail_alloc(sizeof(struct file_handle) + 256);
-+	TAIL_ALLOC_OBJECT_CONST_PTR(int, bogus_mount_id);
-+
-+	char handle_0_addr[sizeof("0x") + sizeof(void *) * 2];
-+
-+	const int flags = 0x400;
-+	int mount_id;
-+
-+	handle_0->handle_bytes = 256;
-+	handle_8->handle_bytes = 0;
-+	handle_128->handle_bytes = 128;
-+	handle_256->handle_bytes = 256;
-+
-+	fill_memory((char *) handle_128 + sizeof(struct file_handle), 128);
-+	fill_memory((char *) handle_256 + sizeof(struct file_handle), 256);
-+
-+	snprintf(handle_0_addr, sizeof(handle_0_addr), "%p",
-+		handle_0 + sizeof(struct file_handle));
-+
-+	handle->handle_bytes = 0;
-+
-+	char path[] = ".";
-+	char *path_secontext = SECONTEXT_FILE(path);
-+
-+	assert(syscall(__NR_name_to_handle_at, fdcwd, path, handle, &mount_id,
-+		flags | 1) == -1);
-+	if (EINVAL != errno)
-+		perror_msg_and_skip("name_to_handle_at");
-+	printf("%s%s(AT_FDCWD, \"%s\"%s, {handle_bytes=0}, %p"
-+	       ", AT_SYMLINK_FOLLOW|0x1) = -1 EINVAL (%m)\n",
-+	       my_secontext, "name_to_handle_at",
-+	       path, path_secontext,
-+	       &mount_id);
-+
-+	assert(syscall(__NR_name_to_handle_at, fdcwd, path, handle, &mount_id,
-+		flags) == -1);
-+	if (EOVERFLOW != errno)
-+		perror_msg_and_skip("name_to_handle_at");
-+	printf("%s%s(AT_FDCWD, \"%s\"%s, {handle_bytes=0 => %u}"
-+	       ", %p, AT_SYMLINK_FOLLOW) = -1 EOVERFLOW (%m)\n",
-+	       my_secontext, "name_to_handle_at",
-+	       path, path_secontext,
-+	       handle->handle_bytes, &mount_id);
-+
-+	assert(syscall(__NR_name_to_handle_at, fdcwd, path, handle, &mount_id,
-+		flags) == 0);
-+	printf("%s%s(AT_FDCWD, \"%s\"%s, {handle_bytes=%u"
-+	       ", handle_type=%d, f_handle=",
-+	       my_secontext, "name_to_handle_at",
-+	       path, path_secontext,
-+	       handle->handle_bytes, handle->handle_type);
-+	print_handle_data(handle->f_handle, handle->handle_bytes);
-+	printf("}, [%d], AT_SYMLINK_FOLLOW) = 0\n", mount_id);
-+
-+	printf("%s%s(-1, {handle_bytes=%u, handle_type=%d, f_handle=",
-+	       my_secontext, "open_by_handle_at",
-+	       handle->handle_bytes, handle->handle_type);
-+	print_handle_data(handle->f_handle, handle->handle_bytes);
-+	int rc = syscall(__NR_open_by_handle_at, -1, handle,
-+		O_RDONLY | O_DIRECTORY);
-+	printf("}, O_RDONLY|O_DIRECTORY) = %d %s (%m)\n", rc, errno2name());
-+
-+# ifndef TEST_SECONTEXT
- 	static const struct strval dirfds[] = {
- 		{ (kernel_ulong_t) 0xdeadca57badda7a1ULL, "-1159878751" },
- 		{ (kernel_ulong_t) 0x12345678ffffff9cULL, "AT_FDCWD" },
-@@ -171,29 +249,11 @@
- 	};
- 
- 	static const char str64[] = STR64;
--
--
- 	char *bogus_path1 = tail_memdup(str64, PATH1_SIZE);
- 	char *bogus_path2 = tail_memdup(str64, sizeof(str64));
--
--	struct file_handle *handle =
--		tail_alloc(sizeof(struct file_handle) + MAX_HANDLE_SZ);
--	struct file_handle *handle_0 =
--		tail_alloc(sizeof(struct file_handle) + 0);
--	struct file_handle *handle_8 =
--		tail_alloc(sizeof(struct file_handle) + 8);
--	struct file_handle *handle_128 =
--		tail_alloc(sizeof(struct file_handle) + 128);
--	struct file_handle *handle_256 =
--		tail_alloc(sizeof(struct file_handle) + 256);
--	TAIL_ALLOC_OBJECT_CONST_PTR(int, bogus_mount_id);
--
--	char handle_0_addr[sizeof("0x") + sizeof(void *) * 2];
--
- 	char bogus_path1_addr[sizeof("0x") + sizeof(void *) * 2];
- 	char bogus_path1_after_addr[sizeof("0x") + sizeof(void *) * 2];
- 
--
- 	struct strval paths[] = {
- 		{ (kernel_ulong_t) 0, "NULL" },
- 		{ (kernel_ulong_t) (uintptr_t) (bogus_path1 + PATH1_SIZE),
-@@ -229,62 +289,16 @@
- 		(kernel_ulong_t) (uintptr_t) bogus_mount_id,
- 	};
- 
--	const int flags = 0x400;
--	int mount_id;
- 	unsigned int i;
- 	unsigned int j;
- 	unsigned int k;
- 	unsigned int l;
- 	unsigned int m;
- 
--
- 	snprintf(bogus_path1_addr, sizeof(bogus_path1_addr), "%p", bogus_path1);
- 	snprintf(bogus_path1_after_addr, sizeof(bogus_path1_after_addr), "%p",
- 		bogus_path1 + PATH1_SIZE);
- 
--	handle_0->handle_bytes = 256;
--	handle_8->handle_bytes = 0;
--	handle_128->handle_bytes = 128;
--	handle_256->handle_bytes = 256;
--
--	fill_memory((char *) handle_128 + sizeof(struct file_handle), 128);
--	fill_memory((char *) handle_256 + sizeof(struct file_handle), 256);
--
--	snprintf(handle_0_addr, sizeof(handle_0_addr), "%p",
--		handle_0 + sizeof(struct file_handle));
--
--	handle->handle_bytes = 0;
--
--	assert(syscall(__NR_name_to_handle_at, fdcwd, ".", handle, &mount_id,
--		flags | 1) == -1);
--	if (EINVAL != errno)
--		perror_msg_and_skip("name_to_handle_at");
--	printf("name_to_handle_at(AT_FDCWD, \".\", {handle_bytes=0}, %p"
--	       ", AT_SYMLINK_FOLLOW|0x1) = -1 EINVAL (%m)\n", &mount_id);
--
--	assert(syscall(__NR_name_to_handle_at, fdcwd, ".", handle, &mount_id,
--		flags) == -1);
--	if (EOVERFLOW != errno)
--		perror_msg_and_skip("name_to_handle_at");
--	printf("name_to_handle_at(AT_FDCWD, \".\", {handle_bytes=0 => %u}"
--	       ", %p, AT_SYMLINK_FOLLOW) = -1 EOVERFLOW (%m)\n",
--	       handle->handle_bytes, &mount_id);
--
--	assert(syscall(__NR_name_to_handle_at, fdcwd, ".", handle, &mount_id,
--		flags) == 0);
--	printf("name_to_handle_at(AT_FDCWD, \".\", {handle_bytes=%u"
--	       ", handle_type=%d, f_handle=",
--	       handle->handle_bytes, handle->handle_type);
--	print_handle_data(handle->f_handle, handle->handle_bytes);
--	printf("}, [%d], AT_SYMLINK_FOLLOW) = 0\n", mount_id);
--
--	printf("open_by_handle_at(-1, {handle_bytes=%u, handle_type=%d"
--	       ", f_handle=", handle->handle_bytes, handle->handle_type);
--	print_handle_data(handle->f_handle, handle->handle_bytes);
--	int rc = syscall(__NR_open_by_handle_at, -1, handle,
--		O_RDONLY | O_DIRECTORY);
--	printf("}, O_RDONLY|O_DIRECTORY) = %d %s (%m)\n", rc, errno2name());
--
- 	for (i = 0; i < ARRAY_SIZE(dirfds); i++) {
- 		for (j = 0; j < ARRAY_SIZE(paths); j++) {
- 			for (k = 0; k < ARRAY_SIZE(name_handles); k++) {
-@@ -320,6 +334,68 @@
- 			}
- 		}
- 	}
-+# endif
-+
-+	/*
-+	 * Tests with dirfd.
-+	 */
-+
-+	int cwd_fd = get_dir_fd(".");
-+	char *cwd = get_fd_path(cwd_fd);
-+	char *cwd_secontext = SECONTEXT_FILE(".");
-+
-+	assert(syscall(__NR_name_to_handle_at, cwd_fd, path, handle, &mount_id,
-+		flags) == 0);
-+	printf("%s%s(%d%s, \"%s\"%s, {handle_bytes=%u, handle_type=%d"
-+	       ", f_handle=",
-+	       my_secontext, "name_to_handle_at",
-+	       cwd_fd, cwd_secontext,
-+	       path, path_secontext,
-+	       handle->handle_bytes, handle->handle_type);
-+	print_handle_data((unsigned char *) handle +
-+			  sizeof(struct file_handle),
-+			  handle->handle_bytes);
-+	printf("}, [%d], AT_SYMLINK_FOLLOW) = 0\n", mount_id);
-+
-+	printf("%s%s(-1, {handle_bytes=%u, handle_type=%d, f_handle=",
-+	       my_secontext, "open_by_handle_at",
-+	       handle->handle_bytes, handle->handle_type);
-+	print_handle_data((unsigned char *) handle +
-+			  sizeof(struct file_handle),
-+			  handle->handle_bytes);
-+	rc = syscall(__NR_open_by_handle_at, -1, handle,
-+		O_RDONLY | O_DIRECTORY);
-+	printf("}, O_RDONLY|O_DIRECTORY) = %s\n", sprintrc(rc));
-+
-+	/* cwd_fd ignored when path is absolute */
-+	if (chdir(".."))
-+		perror_msg_and_fail("chdir");
-+
-+	assert(syscall(__NR_name_to_handle_at, cwd_fd, cwd, handle, &mount_id,
-+		flags) == 0);
-+	printf("%s%s(%d%s, \"%s\"%s, {handle_bytes=%u"
-+	       ", handle_type=%d, f_handle=",
-+	       my_secontext, "name_to_handle_at",
-+	       cwd_fd, cwd_secontext,
-+	       cwd, cwd_secontext,
-+	       handle->handle_bytes, handle->handle_type);
-+	print_handle_data((unsigned char *) handle +
-+			  sizeof(struct file_handle),
-+			  handle->handle_bytes);
-+	printf("}, [%d], AT_SYMLINK_FOLLOW) = 0\n", mount_id);
-+
-+	printf("%s%s(-1, {handle_bytes=%u, handle_type=%d, f_handle=",
-+	       my_secontext, "open_by_handle_at",
-+	       handle->handle_bytes, handle->handle_type);
-+	print_handle_data((unsigned char *) handle +
-+			  sizeof(struct file_handle),
-+			  handle->handle_bytes);
-+	rc = syscall(__NR_open_by_handle_at, -1, handle,
-+		O_RDONLY | O_DIRECTORY);
-+	printf("}, O_RDONLY|O_DIRECTORY) = %s\n", sprintrc(rc));
-+
-+	if (fchdir(cwd_fd))
-+		perror_msg_and_fail("fchdir");
- 
- 	puts("+++ exited with 0 +++");
- 	return 0;
-Index: strace-5.7/tests/gen_secontext.sh
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests/gen_secontext.sh	2021-08-24 21:08:43.263245959 +0200
-@@ -0,0 +1,72 @@
-+#!/bin/sh -efu
-+#
-+# Copyright (c) 2021 The strace developers.
-+# All rights reserved.
-+#
-+# SPDX-License-Identifier: GPL-2.0-or-later
-+
-+usage()
-+{
-+	cat >&2 <<EOF
-+Usage: $0 [<input>]
-+
-+Generate secontext files from <input> list.
-+EOF
-+	exit 1
-+}
-+
-+if [ $# -eq 0 ]; then
-+	input="${0%/*}/gen_tests.in"
-+else
-+	input="$1"
-+	shift
-+fi
-+dir="$(dirname "$input")"
-+[ $# -eq 0 ] || usage
-+
-+{
-+	cat <<EOF
-+# Generated by $0 from $input; do not edit.
-+
-+secontext_EXECUTABLES = \\
-+EOF
-+	sed -r -n 's/^([^#[:space:]]+--secontext(_full)?)[[:space:]].*/  \1 \\/p' < "$input"
-+	cat <<EOF
-+  #
-+
-+EOF
-+	sed -r -n 's/-/_/g; s/^([^#[:space:]]+__secontext(_full)?)[[:space:]].*/\1_LDADD = \$(LDADD) \$(libselinux_LDADD)/p' < "$input"
-+} > "$dir/secontext.am"
-+
-+sed -r -n 's/^([^#[:space:]]+--secontext)[[:space:]].*/\1/p' < "$input" |
-+while read -r name; do {
-+	cat <<-EOF > "$dir/$name.c"
-+		/*
-+		 * Copyright (c) 2021 The strace developers.
-+		 * All rights reserved.
-+		 *
-+		 * SPDX-License-Identifier: GPL-2.0-or-later
-+		 */
-+
-+		#include "tests.h"
-+
-+		#ifdef HAVE_SELINUX_RUNTIME
-+
-+		# define TEST_SECONTEXT
-+		# include "${name%--secontext}.c"
-+
-+		#else
-+
-+		SKIP_MAIN_UNDEFINED("HAVE_SELINUX_RUNTIME")
-+
-+		#endif
-+	EOF
-+} < /dev/null; done
-+
-+sed -r -n 's/^([^#[:space:]]+--secontext_full)[[:space:]].*/\1/p' < "$input" |
-+while read -r name; do {
-+	cat <<-EOF > "$dir/$name.c"
-+		#define PRINT_SECONTEXT_FULL
-+		#include "${name%_full}.c"
-+	EOF
-+} < /dev/null; done
-Index: strace-5.7/tests/gen_tests.in
-===================================================================
---- strace-5.7.orig/tests/gen_tests.in	2021-08-24 21:08:35.385312637 +0200
-+++ strace-5.7/tests/gen_tests.in	2021-08-24 21:08:43.263245959 +0200
-@@ -10,6 +10,8 @@
- accept	-a22
- accept4	-a37
- access	-a30 --trace-path=access_sample
-+access--secontext	-a30 --secontext --trace-path=access_sample -e trace=access
-+access--secontext_full	-a30 --secontext=full --trace-path=access_sample -e trace=access
- acct	-a20
- add_key	-a30 -s12
- adjtimex	-a15
-@@ -24,6 +26,8 @@
- bpf-v	-a20 -v -e trace=bpf
- btrfs	+ioctl.test
- chmod	-a28
-+chmod--secontext	-a28 --secontext -e trace=chmod
-+chmod--secontext_full	-a28 --secontext=full -e trace=chmod
- chown	-a28
- chown32	-a31
- chroot	-a24
-@@ -71,25 +75,43 @@
- epoll_pwait
- epoll_wait	-a26
- erestartsys	-a34 -e signal=none -e trace=recvfrom
-+execve--secontext	+execve.test --secontext
-+execve--secontext_full	+execve.test --secontext=full
- execveat
-+execveat--secontext	--secontext --trace=execveat
-+execveat--secontext_full	--secontext=full --trace=execveat
- execveat-v	-v -e trace=execveat
-+faccessat--secontext	+faccessat.test -a24 --secontext
-+faccessat--secontext_full	+faccessat.test -a24 --secontext=full
- faccessat-P	-a23 --trace=faccessat -P /dev/full
- faccessat-y	+faccessat.test -a24 -y
-+faccessat-y--secontext	+faccessat.test -a24 -y --secontext
-+faccessat-y--secontext_full	+faccessat.test -a24 -y --secontext=full
- faccessat-yy	+faccessat.test -a24 -yy
- fadvise64_64	+fadvise64.test
- fallocate	-a18
- fanotify_init
- fanotify_mark	-a32
-+fanotify_mark--secontext	-a32 --secontext -e trace=fanotify_mark
-+fanotify_mark--secontext_full	-a32 --secontext=full -e trace=fanotify_mark
- fanotify_mark-Xabbrev	-a32 -Xabbrev -e trace=fanotify_mark
- fanotify_mark-Xraw	-a32 -Xraw -e trace=fanotify_mark
- fanotify_mark-Xverbose	-a32 -Xverbose -e trace=fanotify_mark
- fchdir	-a11
- fchmod	-a15
-+fchmod--secontext	-a15 --secontext -e trace=fchmod
-+fchmod--secontext_full	-a15 --secontext=full -e trace=fchmod
- fchmod-y	-y -e trace=fchmod
-+fchmod-y--secontext	-a15 -y --secontext -e trace=fchmod
-+fchmod-y--secontext_full	-a15 -y --secontext=full -e trace=fchmod
- fchmodat
-+fchmodat--secontext	--secontext -e trace=fchmodat
-+fchmodat--secontext_full	--secontext=full -e trace=fchmodat
- fchown	-a16
- fchown32	-a18
- fchownat
-+fchownat--secontext	--secontext -e trace=fchownat
-+fchownat--secontext_full	--secontext=full -e trace=fchownat
- fcntl	-a8
- fcntl--pidns-translation	test_pidns -a8 -e trace=fcntl
- fcntl64	-a8
-@@ -97,6 +119,8 @@
- fdatasync	-a14
- file_handle	-e trace=name_to_handle_at,open_by_handle_at
- file_ioctl	+ioctl.test
-+file_handle--secontext	--secontext -e trace=name_to_handle_at,open_by_handle_at
-+file_handle--secontext_full	--secontext=full -e trace=name_to_handle_at,open_by_handle_at
- filter_seccomp	. "${srcdir=.}/filter_seccomp.sh"; test_prog_set --seccomp-bpf -f
- filter_seccomp-flag	../$NAME
- finit_module	-a25
-@@ -295,6 +319,8 @@
- lchown32	-a32
- link
- linkat
-+linkat--secontext	--secontext -e trace=linkat
-+linkat--secontext_full	--secontext=full -e trace=linkat
- lookup_dcookie	-a27
- lstat	-a31 --no-abbrev --trace-path=stat.sample --trace-path=/dev/full
- lstat64	-a32 --no-abbrev --trace-path=stat.sample --trace-path=/dev/full
-@@ -434,9 +460,13 @@
- oldselect-efault-P	-a13 -e trace=select -P /dev/full 9>>/dev/full
- oldstat	-a32 -v -P stat.sample -P /dev/full
- open	-a30 -P $NAME.sample
-+open--secontext		-a30 -P open.sample --secontext --trace=open
-+open--secontext_full	-a30 -P open.sample --secontext=full --trace=open
- open_tree -a30 -y
- open_tree-P -a30 --decode-fds -P /dev/full -e trace=open_tree
- openat	-a36 -P $NAME.sample
-+openat--secontext	-a36 -P openat.sample -P $PWD/openat.sample --secontext -e trace=openat
-+openat--secontext_full	-a36 -P openat.sample -P $PWD/openat.sample --secontext=full -e trace=openat
- openat2	-a35
- openat2-Xabbrev	--trace=openat2 -a35 -Xabbrev
- openat2-Xraw	--trace=openat2 -a32 -Xraw
-Index: strace-5.7/tests/linkat.c
-===================================================================
---- strace-5.7.orig/tests/linkat.c	2021-08-24 21:08:35.385312637 +0200
-+++ strace-5.7/tests/linkat.c	2021-08-24 21:08:43.264245951 +0200
-@@ -10,8 +10,14 @@
- 
- #ifdef __NR_linkat
- 
-+# include <fcntl.h>
- # include <stdio.h>
-+# include <stdlib.h>
- # include <unistd.h>
-+# include <sys/stat.h>
-+
-+# include "secontext.h"
-+# include "xmalloc.h"
- 
- int
- main(void)
-@@ -27,18 +33,158 @@
- 	const long fd_old = (long) 0xdeadbeefffffffffULL;
- 	const long fd_new = (long) 0xdeadbeeffffffffeULL;
- 
-+	char *my_secontext = SECONTEXT_PID_MY();
-+
-+	(void) unlink(sample_1);
-+	(void) unlink(sample_2);
-+
- 	long rc = syscall(__NR_linkat, fd_old, sample_1, fd_new, sample_2, 0);
--	printf("linkat(%d, \"%s\", %d, \"%s\", 0) = %ld %s (%m)\n",
-+	printf("%s%s(%d, \"%s\", %d, \"%s\", 0) = %ld %s (%m)\n",
-+	       my_secontext, "linkat",
- 	       (int) fd_old, sample_1, (int) fd_new, sample_2,
- 	       rc, errno2name());
- 
- 	rc = syscall(__NR_linkat, -100, sample_1, -100, sample_2, -1L);
--	printf("linkat(%s, \"%s\", %s, \"%s\", %s) = %ld %s (%m)\n",
-+	printf("%s%s(%s, \"%s\", %s, \"%s\", %s) = %ld %s (%m)\n",
-+	       my_secontext, "linkat",
- 	       "AT_FDCWD", sample_1, "AT_FDCWD", sample_2,
- 	       "AT_SYMLINK_NOFOLLOW|AT_REMOVEDIR|AT_SYMLINK_FOLLOW"
- 	       "|AT_NO_AUTOMOUNT|AT_EMPTY_PATH|AT_RECURSIVE|0xffff60ff",
- 	       rc, errno2name());
- 
-+	/*
-+	 * Tests with AT_FDCWD.
-+	 */
-+
-+	int fd_sample_1 = open(sample_1, O_RDONLY | O_CREAT, 0400);
-+	if (fd_sample_1 < 0)
-+		perror_msg_and_fail("open");
-+	if (close(fd_sample_1))
-+		perror_msg_and_fail("close");
-+
-+	char *sample_1_secontext = SECONTEXT_FILE(sample_1);
-+
-+	rc = syscall(__NR_linkat, -100, sample_1, -100, sample_2, 0);
-+	/* no context printed for sample_2 since file doesn't exist yet */
-+	printf("%s%s(AT_FDCWD, \"%s\"%s, AT_FDCWD, \"%s\", 0) = %s\n",
-+	       my_secontext, "linkat",
-+	       sample_1, sample_1_secontext,
-+	       sample_2,
-+	       sprintrc(rc));
-+
-+	const char *sample_2_secontext = sample_1_secontext;
-+
-+	rc = syscall(__NR_linkat, -100, sample_1, -100, sample_2, 0);
-+	printf("%s%s(AT_FDCWD, \"%s\"%s, AT_FDCWD, \"%s\"%s, 0) = %s\n",
-+	       my_secontext, "linkat",
-+	       sample_1, sample_1_secontext,
-+	       sample_2, sample_2_secontext,
-+	       sprintrc(rc));
-+
-+	int fd_sample_2 = open(sample_2, O_RDONLY | O_CREAT, 0400);
-+	if (fd_sample_2 < 0)
-+		perror_msg_and_fail("open");
-+	if (close(fd_sample_2))
-+		perror_msg_and_fail("close");
-+
-+	free(sample_1_secontext);
-+	update_secontext_type(sample_1, "default_t");
-+	sample_1_secontext = SECONTEXT_FILE(sample_1);
-+	sample_2_secontext = sample_1_secontext;
-+
-+	rc = syscall(__NR_linkat, -100, sample_1, -100, sample_2, 0);
-+	printf("%s%s(AT_FDCWD, \"%s\"%s, AT_FDCWD, \"%s\"%s, 0) = %s\n",
-+	       my_secontext, "linkat",
-+	       sample_1, sample_1_secontext,
-+	       sample_2, sample_2_secontext,
-+	       sprintrc(rc));
-+
-+	if (unlink(sample_2))
-+		perror_msg_and_fail("unlink: %s", sample_2);
-+
-+	/*
-+	 * Tests with dirfd.
-+	 */
-+
-+	int dfd_old = get_dir_fd(".");
-+	char *cwd = get_fd_path(dfd_old);
-+	char *dfd_old_secontext = SECONTEXT_FILE(".");
-+
-+	rc = syscall(__NR_linkat, dfd_old, sample_1, -100, sample_2, 0);
-+	/* no context printed for sample_2 since file doesn't exist yet */
-+	printf("%s%s(%d%s, \"%s\"%s, AT_FDCWD, \"%s\", 0) = %s\n",
-+	       my_secontext, "linkat",
-+	       dfd_old, dfd_old_secontext,
-+	       sample_1, sample_1_secontext,
-+	       sample_2,
-+	       sprintrc(rc));
-+
-+	rc = syscall(__NR_linkat, dfd_old, sample_1, -100, sample_2, 0);
-+	printf("%s%s(%d%s, \"%s\"%s, AT_FDCWD, \"%s\"%s, 0) = %s\n",
-+	       my_secontext, "linkat",
-+	       dfd_old, dfd_old_secontext,
-+	       sample_1, sample_1_secontext,
-+	       sample_2, sample_2_secontext,
-+	       sprintrc(rc));
-+
-+	if (unlink(sample_2))
-+		perror_msg_and_fail("unlink: %s", sample_2);
-+
-+	static const char new_dir[] = "new";
-+	char *new_sample_2 = xasprintf("%s/%s", new_dir, sample_2);
-+
-+	(void) unlink(new_sample_2);
-+	(void) rmdir(new_dir);
-+
-+	if (mkdir(new_dir, 0700))
-+		perror_msg_and_fail("mkdir");
-+	char *new_dir_realpath = xasprintf("%s/%s", cwd, new_dir);
-+	char *new_dir_secontext = SECONTEXT_FILE(new_dir);
-+	int dfd_new = get_dir_fd(new_dir);
-+
-+	rc = syscall(__NR_linkat, dfd_old, sample_1, dfd_new, sample_2, 0);
-+	/* no context printed for sample_2 since file doesn't exist yet */
-+	printf("%s%s(%d%s, \"%s\"%s, %d%s, \"%s\", 0) = %s\n",
-+	       my_secontext, "linkat",
-+	       dfd_old, dfd_old_secontext,
-+	       sample_1, sample_1_secontext,
-+	       dfd_new, new_dir_secontext,
-+	       sample_2,
-+	       sprintrc(rc));
-+
-+	rc = syscall(__NR_linkat, dfd_old, sample_1, dfd_new, sample_2, 0);
-+	printf("%s%s(%d%s, \"%s\"%s, %d%s, \"%s\"%s, 0) = %s\n",
-+	       my_secontext, "linkat",
-+	       dfd_old, dfd_old_secontext,
-+	       sample_1, sample_1_secontext,
-+	       dfd_new, new_dir_secontext,
-+	       sample_2, SECONTEXT_FILE(new_sample_2),
-+	       sprintrc(rc));
-+
-+	char *new_sample_2_realpath = xasprintf("%s/%s", new_dir_realpath, sample_2);
-+
-+	/* dfd ignored when path is absolute */
-+	if (chdir("../.."))
-+		perror_msg_and_fail("chdir");
-+
-+	rc = syscall(__NR_linkat, dfd_old, sample_1, -100, new_sample_2_realpath, 0);
-+	printf("%s%s(%d%s, \"%s\"%s, AT_FDCWD, \"%s\"%s, 0) = %s\n",
-+	       my_secontext, "linkat",
-+	       dfd_old, dfd_old_secontext,
-+	       sample_1, sample_1_secontext,
-+	       new_sample_2_realpath, SECONTEXT_FILE(new_sample_2_realpath),
-+	       sprintrc(rc));
-+
-+	if (fchdir(dfd_old))
-+		perror_msg_and_fail("fchdir");
-+
-+	if (unlink(sample_1))
-+		perror_msg_and_fail("unlink: %s", sample_1);
-+	if (unlink(new_sample_2))
-+		perror_msg_and_fail("unlink: %s", new_sample_2);
-+	if (rmdir(new_dir))
-+		perror_msg_and_fail("rmdir: %s", new_dir);
-+
- 	leave_and_remove_subdir();
- 
- 	puts("+++ exited with 0 +++");
-Index: strace-5.7/tests/open.c
-===================================================================
---- strace-5.7.orig/tests/open.c	2021-08-24 21:08:35.386312629 +0200
-+++ strace-5.7/tests/open.c	2021-08-24 21:08:43.264245951 +0200
-@@ -15,6 +15,8 @@
- # include <stdio.h>
- # include <unistd.h>
- 
-+# include "secontext.h"
-+
- int
- main(void)
- {
-@@ -25,10 +27,12 @@
- 	create_and_enter_subdir("open_subdir");
- 
- 	static const char sample[] = "open.sample";
-+	char *my_secontext = SECONTEXT_PID_MY();
- 
- 	long fd = syscall(__NR_open, sample, O_RDONLY|O_CREAT, 0400);
--	printf("open(\"%s\", O_RDONLY|O_CREAT, 0400) = %s\n",
--	       sample, sprintrc(fd));
-+	printf("%s%s(\"%s\", O_RDONLY|O_CREAT, 0400) = %s%s\n",
-+	       my_secontext, "open",
-+	       sample, sprintrc(fd), SECONTEXT_FILE(sample));
- 
- 	if (fd != -1) {
- 		close(fd);
-@@ -36,16 +40,18 @@
- 			perror_msg_and_fail("unlink");
- 
- 		fd = syscall(__NR_open, sample, O_RDONLY);
--		printf("open(\"%s\", O_RDONLY) = %s\n", sample, sprintrc(fd));
-+		printf("%s%s(\"%s\", O_RDONLY) = %s\n",
-+		       my_secontext, "open", sample, sprintrc(fd));
- 
- 		fd = syscall(__NR_open, sample, O_WRONLY|O_NONBLOCK|0x80000000);
--		printf("open(\"%s\", O_WRONLY|O_NONBLOCK|0x80000000) = %s\n",
--		       sample, sprintrc(fd));
-+		printf("%s%s(\"%s\", O_WRONLY|O_NONBLOCK|0x80000000) = %s\n",
-+		       my_secontext, "open", sample, sprintrc(fd));
- 	}
- 
- # ifdef O_TMPFILE
- 	fd = syscall(__NR_open, sample, O_WRONLY|O_TMPFILE, 0600);
--	printf("open(\"%s\", O_WRONLY|O_TMPFILE, 0600) = %s\n",
-+	printf("%s%s(\"%s\", O_WRONLY|O_TMPFILE, 0600) = %s\n",
-+	       my_secontext, "open",
- 	       sample, sprintrc(fd));
- # endif /* O_TMPFILE */
- 
-Index: strace-5.7/tests/openat.c
-===================================================================
---- strace-5.7.orig/tests/openat.c	2021-08-24 21:08:35.386312629 +0200
-+++ strace-5.7/tests/openat.c	2021-08-24 21:08:43.264245951 +0200
-@@ -15,6 +15,8 @@
- # include <stdio.h>
- # include <unistd.h>
- 
-+# include "secontext.h"
-+
- # ifdef O_TMPFILE
- /* The kernel & C libraries often inline O_DIRECTORY. */
- #  define STRACE_O_TMPFILE (O_TMPFILE & ~O_DIRECTORY)
-@@ -26,10 +28,12 @@
- 
- static void
- test_mode_flag(unsigned int mode_val, const char *mode_str,
--	       unsigned int flag_val, const char *flag_str)
-+	       unsigned int flag_val, const char *flag_str,
-+	       const char *my_secontext)
- {
- 	long rc = syscall(__NR_openat, -1, sample, mode_val | flag_val, 0);
--	printf("openat(-1, \"%s\", %s%s%s%s) = %s\n",
-+	printf("%s%s(-1, \"%s\", %s%s%s%s) = %s\n",
-+	       my_secontext, "openat",
- 	       sample, mode_str,
- 	       flag_val ? "|" : "", flag_str,
- 	       flag_val & (O_CREAT | STRACE_O_TMPFILE) ? ", 000" : "",
-@@ -45,20 +49,7 @@
- 	 */
- 	create_and_enter_subdir("openat_subdir");
- 
--	long fd = syscall(__NR_openat, -100, sample, O_RDONLY|O_CREAT, 0400);
--	printf("openat(AT_FDCWD, \"%s\", O_RDONLY|O_CREAT, 0400) = %s\n",
--	       sample, sprintrc(fd));
--
--	if (fd != -1) {
--		close(fd);
--		if (unlink(sample) == -1)
--			perror_msg_and_fail("unlink");
--
--		fd = syscall(__NR_openat, -100, sample, O_RDONLY);
--		printf("openat(AT_FDCWD, \"%s\", O_RDONLY) = %s\n",
--		       sample, sprintrc(fd));
--	}
--
-+	char *my_secontext = SECONTEXT_PID_MY();
- 	struct {
- 		unsigned int val;
- 		const char *str;
-@@ -105,7 +96,73 @@
- 	for (unsigned int m = 0; m < ARRAY_SIZE(modes); ++m)
- 		for (unsigned int f = 0; f < ARRAY_SIZE(flags); ++f)
- 			test_mode_flag(modes[m].val, modes[m].str,
--				       flags[f].val, flags[f].str);
-+				       flags[f].val, flags[f].str,
-+				       my_secontext);
-+
-+	/*
-+	 * Tests with AT_FDCWD.
-+	 */
-+
-+	(void) unlink(sample);
-+	long fd = syscall(__NR_openat, -100, sample, O_RDONLY|O_CREAT, 0400);
-+
-+	char *sample_secontext = SECONTEXT_FILE(sample);
-+
-+	/*
-+	 * File context in openat() is not displayed because file doesn't exist
-+	 * yet, but is displayed in return value since the file got created.
-+	 */
-+	printf("%s%s(AT_FDCWD, \"%s\", O_RDONLY|O_CREAT, 0400) = %s%s\n",
-+	       my_secontext, "openat",
-+	       sample,
-+	       sprintrc(fd), sample_secontext);
-+
-+	close(fd);
-+
-+	fd = syscall(__NR_openat, -100, sample, O_RDONLY);
-+	printf("%s%s(AT_FDCWD, \"%s\"%s, O_RDONLY) = %s%s\n",
-+	       my_secontext, "openat",
-+	       sample, sample_secontext,
-+	       sprintrc(fd), sample_secontext);
-+	if (fd != -1) {
-+		close(fd);
-+		if (unlink(sample))
-+			perror_msg_and_fail("unlink");
-+	}
-+
-+	/*
-+	 * Tests with dirfd.
-+	 */
-+
-+	int cwd_fd = get_dir_fd(".");
-+	char *cwd_secontext = SECONTEXT_FILE(".");
-+
-+	fd = syscall(__NR_openat, cwd_fd, sample, O_RDONLY|O_CREAT, 0400);
-+	if (fd == -1)
-+		perror_msg_and_fail("openat");
-+	close(fd);
-+
-+	/*
-+	 * File context in openat() is not displayed because file doesn't exist
-+	 * yet, but is displayed in return value since the file got created.
-+	 */
-+	printf("%s%s(%d%s, \"%s\", O_RDONLY|O_CREAT, 0400) = %s%s\n",
-+	       my_secontext, "openat",
-+	       cwd_fd, cwd_secontext,
-+	       sample,
-+	       sprintrc(fd), sample_secontext);
-+
-+	fd = syscall(__NR_openat, cwd_fd, sample, O_RDONLY);
-+	printf("%s%s(%d%s, \"%s\"%s, O_RDONLY) = %s%s\n",
-+	       my_secontext, "openat",
-+	       cwd_fd, cwd_secontext,
-+	       sample, sample_secontext,
-+	       sprintrc(fd), sample_secontext);
-+	if (fd != -1) {
-+		close(fd);
-+		if (unlink(sample))
-+			perror_msg_and_fail("unlink");
-+	}
- 
- 	leave_and_remove_subdir();
- 
-Index: strace-5.7/tests/options-syntax.test
-===================================================================
---- strace-5.7.orig/tests/options-syntax.test	2021-08-24 21:08:35.386312629 +0200
-+++ strace-5.7/tests/options-syntax.test	2021-08-24 21:08:43.265245942 +0200
-@@ -2,14 +2,16 @@
- #
- # Check strace options syntax.
- #
--# Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
--# Copyright (c) 2016-2020 The strace developers.
-+# Copyright (c) 2016 Dmitry V. Levin <ldv@strace.io>
-+# Copyright (c) 2016-2021 The strace developers.
- # All rights reserved.
- #
- # SPDX-License-Identifier: GPL-2.0-or-later
- 
- . "${srcdir=.}/syntax.sh"
- 
-+compiled_with_secontext=$(get_config_option ENABLE_SECONTEXT "y")
-+
- check_e "Invalid process id: '0'" -p 0
- check_e "Invalid process id: '0'" --attach=0
- check_e "Invalid process id: '-42'" -p -42
-@@ -46,6 +48,8 @@
- check_e '-t and --absolute-timestamps cannot be provided simultaneously' --absolute-timestamps -ttt -p $$
- check_e '-t and --absolute-timestamps cannot be provided simultaneously' -t --timestamps=ns -t -p $$
- check_e '-t and --absolute-timestamps cannot be provided simultaneously' --timestamps=ns -t --absolute-timestamps=unix -p $$
-+[ -z "$compiled_with_secontext" ] ||
-+	check_h "invalid --secontext argument: 'ss'" --secontext=ss
- check_h 'PROG [ARGS] must be specified with -D/--daemonize' -D -p $$
- check_h 'PROG [ARGS] must be specified with -D/--daemonize' -DD -p $$
- check_h 'PROG [ARGS] must be specified with -D/--daemonize' -DDD -p $$
-@@ -281,6 +285,11 @@
- $STRACE_EXE: Only the last of -z/--successful-only/-Z/--failed-only options will take effect. See status qualifier for more complex filters.
- $STRACE_EXE: $umsg" -u :nosuchuser: -cirtTyzZ true
- 
-+	if [ -n "$compiled_with_secontext" ]; then
-+		check_e "--secontext has no effect with -c/--summary-only
-+$STRACE_EXE: $umsg" -u :nosuchuser: -c --secontext true
-+	fi
-+
- 	for c in --output-separately -A/--output-append-mode; do
- 		check_e "$c has no effect without -o/--output
- $STRACE_EXE: $umsg" -u :nosuchuser: ${c%%/*} true
-Index: strace-5.7/tests/secontext.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests/secontext.c	2021-08-24 21:08:43.265245942 +0200
-@@ -0,0 +1,201 @@
-+/*
-+ * Copyright (c) 2021 The strace developers.
-+ * All rights reserved.
-+ *
-+ * SPDX-License-Identifier: GPL-2.0-or-later
-+ */
-+
-+#include "tests.h"
-+
-+#ifdef HAVE_SELINUX_RUNTIME
-+
-+# include <assert.h>
-+# include <errno.h>
-+# include <stdlib.h>
-+# include <string.h>
-+# include <unistd.h>
-+# include <selinux/selinux.h>
-+
-+# include "xmalloc.h"
-+
-+# define TEST_SECONTEXT
-+# include "secontext.h"
-+
-+static char *
-+secontext_format(char *context, const char *fmt)
-+	ATTRIBUTE_FORMAT((printf, 2, 0)) ATTRIBUTE_MALLOC;
-+
-+static char *
-+secontext_format(char *context, const char *fmt)
-+{
-+	int saved_errno = errno;
-+	char *res = context ? xasprintf(fmt, context) : xstrdup("");
-+	free(context);
-+	errno = saved_errno;
-+	return res;
-+}
-+
-+# define FORMAT_SPACE_BEFORE(string)	secontext_format(string, " [%s]")
-+# define FORMAT_SPACE_AFTER(string)	secontext_format(string, "[%s] ")
-+
-+static char *
-+strip_trailing_newlines(char *context)
-+{
-+	/*
-+	 * On the CI at least, the context may have a trailing \n,
-+	 * let's remove it just in case.
-+	 */
-+	size_t len = strlen(context);
-+	for (; len > 0; --len) {
-+		if (context[len - 1] != '\n')
-+			break;
-+	}
-+	context[len] = '\0';
-+	return context;
-+}
-+
-+static char *
-+raw_secontext_full_file(const char *filename)
-+{
-+	int saved_errno = errno;
-+	char *full_secontext = NULL;
-+	char *secontext;
-+
-+	if (getfilecon(filename, &secontext) >= 0) {
-+		full_secontext = strip_trailing_newlines(xstrdup(secontext));
-+		freecon(secontext);
-+	}
-+	errno = saved_errno;
-+	return full_secontext;
-+}
-+
-+static char *
-+raw_secontext_short_file(const char *filename)
-+{
-+	int saved_errno = errno;
-+
-+	char *ctx = raw_secontext_full_file(filename);
-+	if (ctx == NULL)
-+		return ctx;
-+
-+	char *saveptr = NULL;
-+	const char *token;
-+	unsigned int i;
-+
-+	char *ctx_copy = xstrdup(ctx);
-+	char *context = NULL;
-+	for (token = strtok_r(ctx_copy, ":", &saveptr), i = 0;
-+	     token; token = strtok_r(NULL, ":", &saveptr), i++) {
-+		if (i == 2) {
-+			context = xstrdup(token);
-+			break;
-+		}
-+	}
-+	if (context == NULL)
-+		context = xstrdup(ctx);
-+	free(ctx_copy);
-+	free(ctx);
-+
-+	errno = saved_errno;
-+	return context;
-+}
-+
-+static char *
-+raw_secontext_full_pid(pid_t pid)
-+{
-+	int saved_errno = errno;
-+	char *full_secontext = NULL;
-+	char *secontext;
-+
-+	if (getpidcon(pid, &secontext) == 0) {
-+		full_secontext = strip_trailing_newlines(xstrdup(secontext));
-+		freecon(secontext);
-+	}
-+	errno = saved_errno;
-+	return full_secontext;
-+}
-+
-+static char *
-+raw_secontext_short_pid(pid_t pid)
-+{
-+	int saved_errno = errno;
-+
-+	char *ctx = raw_secontext_full_pid(pid);
-+	if (ctx == NULL)
-+		return ctx;
-+
-+	char *saveptr = NULL;
-+	const char *token;
-+	int i;
-+
-+	char *ctx_copy = xstrdup(ctx);
-+	char *context = NULL;
-+	for (token = strtok_r(ctx_copy, ":", &saveptr), i = 0;
-+	     token; token = strtok_r(NULL, ":", &saveptr), i++) {
-+		if (i == 2) {
-+			context = xstrdup(token);
-+			break;
-+		}
-+	}
-+	if (context == NULL)
-+		context = xstrdup(ctx);
-+	free(ctx_copy);
-+	free(ctx);
-+
-+	errno = saved_errno;
-+	return context;
-+}
-+
-+char *
-+secontext_full_file(const char *filename)
-+{
-+	return FORMAT_SPACE_BEFORE(raw_secontext_full_file(filename));
-+}
-+
-+char *
-+secontext_full_pid(pid_t pid)
-+{
-+	return FORMAT_SPACE_AFTER(raw_secontext_full_pid(pid));
-+}
-+
-+char *
-+secontext_short_file(const char *filename)
-+{
-+	return FORMAT_SPACE_BEFORE(raw_secontext_short_file(filename));
-+}
-+
-+char *
-+secontext_short_pid(pid_t pid)
-+{
-+	return FORMAT_SPACE_AFTER(raw_secontext_short_pid(pid));
-+}
-+
-+void
-+update_secontext_type(const char *file, const char *newtype)
-+{
-+	char *ctx = raw_secontext_full_file(file);
-+	if (ctx == NULL)
-+		return;
-+
-+	char *saveptr = NULL;
-+	char *token;
-+	int field;
-+	char *split[4];
-+
-+	for (token = strtok_r(ctx, ":", &saveptr), field = 0;
-+	     token; token = strtok_r(NULL, ":", &saveptr), field++) {
-+		assert(field < 4);
-+		split[field] = token;
-+	}
-+	assert(field == 4);
-+
-+	char *newcontext = xasprintf("%s:%s:%s:%s", split[0], split[1],
-+				     newtype, split[3]);
-+
-+	(void) setfilecon(file, newcontext);
-+
-+	free(newcontext);
-+	free(ctx);
-+}
-+
-+#endif /* HAVE_SELINUX_RUNTIME */
-Index: strace-5.7/tests/secontext.h
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests/secontext.h	2021-08-24 21:08:43.265245942 +0200
-@@ -0,0 +1,46 @@
-+/*
-+ * Copyright (c) 2021 The strace developers.
-+ * All rights reserved.
-+ *
-+ * SPDX-License-Identifier: GPL-2.0-or-later
-+ */
-+
-+#include "tests.h"
-+#include "xmalloc.h"
-+#include <unistd.h>
-+
-+#if defined TEST_SECONTEXT && defined HAVE_SELINUX_RUNTIME
-+
-+void update_secontext_type(const char *file, const char *newtype);
-+
-+# ifdef PRINT_SECONTEXT_FULL
-+
-+char *secontext_full_file(const char *) ATTRIBUTE_MALLOC;
-+char *secontext_full_pid(pid_t) ATTRIBUTE_MALLOC;
-+
-+#  define SECONTEXT_FILE(filename)	secontext_full_file(filename)
-+#  define SECONTEXT_PID(pid)		secontext_full_pid(pid)
-+
-+# else
-+
-+char *secontext_short_file(const char *) ATTRIBUTE_MALLOC;
-+char *secontext_short_pid(pid_t) ATTRIBUTE_MALLOC;
-+
-+#  define SECONTEXT_FILE(filename)	secontext_short_file(filename)
-+#  define SECONTEXT_PID(pid)		secontext_short_pid(pid)
-+
-+# endif
-+
-+#else
-+
-+static inline void
-+update_secontext_type(const char *file, const char *newtype)
-+{
-+}
-+
-+# define SECONTEXT_FILE(filename)		xstrdup("")
-+# define SECONTEXT_PID(pid)			xstrdup("")
-+
-+#endif
-+
-+#define SECONTEXT_PID_MY()		SECONTEXT_PID(getpid())
-Index: strace-5.7/tests/strace-V.test
-===================================================================
---- strace-5.7.orig/tests/strace-V.test	2021-08-24 21:08:35.387312620 +0200
-+++ strace-5.7/tests/strace-V.test	2021-08-24 21:08:43.266245934 +0200
-@@ -33,7 +33,9 @@
- 	;;
- esac
- 
--features="${option_unwind}${option_demangle}${option_m32}${option_mx32}"
-+option_secontext=$(get_config_option ENABLE_SECONTEXT " secontext")
-+
-+features="${option_unwind}${option_demangle}${option_m32}${option_mx32}${option_secontext}"
- [ -n "$features" ] || features=" (none)"
- 
- cat > "$EXP" << __EOF__
-Index: strace-5.7/tests-m32/Makefile.am
-===================================================================
---- strace-5.7.orig/tests-m32/Makefile.am	2021-08-24 21:08:35.387312620 +0200
-+++ strace-5.7/tests-m32/Makefile.am	2021-08-24 21:08:43.266245934 +0200
-@@ -28,6 +28,12 @@
- 	      -DTESTS_SIZEOF_LONG=$(SIZEOF_LONG)
- AM_LDFLAGS = $(ARCH_MFLAGS)
- 
-+if HAVE_SELINUX_RUNTIME
-+libselinux_LDADD = $(libselinux_LIBS)
-+else
-+libselinux_LDADD =
-+endif
-+
- libtests_a_SOURCES = \
- 	create_nl_socket.c \
- 	create_tmpfile.c \
-@@ -54,6 +60,8 @@
- 	printxval-Xabbrev.c \
- 	printxval-Xraw.c \
- 	printxval-Xverbose.c \
-+	secontext.c \
-+	secontext.h \
- 	signal2name.c \
- 	skip_unavailable.c \
- 	sprintrc.c \
-@@ -76,7 +84,10 @@
- 
- include pure_executables.am
- 
-+include secontext.am
-+
- check_PROGRAMS = $(PURE_EXECUTABLES) \
-+	$(secontext_EXECUTABLES) \
- 	_newselect-P \
- 	answer \
- 	attach-f-p \
-Index: strace-5.7/tests-m32/access.c
-===================================================================
---- strace-5.7.orig/tests-m32/access.c	2021-08-24 21:08:35.387312620 +0200
-+++ strace-5.7/tests-m32/access.c	2021-08-24 21:08:43.266245934 +0200
-@@ -10,9 +10,12 @@
- 
- #ifdef __NR_access
- 
-+# include <fcntl.h>
- # include <stdio.h>
- # include <unistd.h>
- 
-+# include "secontext.h"
-+
- int
- main(void)
- {
-@@ -22,15 +25,27 @@
- 	 */
- 	create_and_enter_subdir("access_subdir");
- 
-+	char *my_secontext = SECONTEXT_PID_MY();
-+
- 	static const char sample[] = "access_sample";
-+	(void) unlink(sample);
-+	if (open(sample, O_CREAT|O_RDONLY, 0400) == -1)
-+		perror_msg_and_fail("open: %s", sample);
- 
- 	long rc = syscall(__NR_access, sample, F_OK);
--	printf("access(\"%s\", F_OK) = %ld %s (%m)\n",
--	       sample, rc, errno2name());
-+	printf("%s%s(\"%s\"%s, F_OK) = %s\n",
-+	       my_secontext, "access",
-+	       sample, SECONTEXT_FILE(sample),
-+	       sprintrc(rc));
-+
-+	if (unlink(sample))
-+		perror_msg_and_fail("unlink: %s", sample);
- 
- 	rc = syscall(__NR_access, sample, R_OK|W_OK|X_OK);
--	printf("access(\"%s\", R_OK|W_OK|X_OK) = %ld %s (%m)\n",
--	       sample, rc, errno2name());
-+	printf("%s%s(\"%s\", R_OK|W_OK|X_OK) = %s\n",
-+	       my_secontext, "access",
-+	       sample,
-+	       sprintrc(rc));
- 
- 	leave_and_remove_subdir();
- 
-Index: strace-5.7/tests-m32/chmod.c
-===================================================================
---- strace-5.7.orig/tests-m32/chmod.c	2021-08-24 21:08:35.387312620 +0200
-+++ strace-5.7/tests-m32/chmod.c	2021-08-24 21:08:43.267245925 +0200
-@@ -16,6 +16,8 @@
- # include <stdio.h>
- # include <unistd.h>
- 
-+# include "secontext.h"
-+
- int
- main(void)
- {
-@@ -25,22 +27,33 @@
- 	 */
- 	create_and_enter_subdir("chmod_subdir");
- 
--	static const char fname[] = "chmod_test_file";
--
--	if (open(fname, O_CREAT|O_RDONLY, 0400) < 0)
--		perror_msg_and_fail("open");
--
--	long rc = syscall(__NR_chmod, fname, 0600);
--	printf("chmod(\"%s\", 0600) = %s\n", fname, sprintrc(rc));
--
--	if (unlink(fname))
--		perror_msg_and_fail("unlink");
--
--	rc = syscall(__NR_chmod, fname, 051);
--	printf("chmod(\"%s\", 051) = %s\n", fname, sprintrc(rc));
-+	char *my_secontext = SECONTEXT_PID_MY();
- 
--	rc = syscall(__NR_chmod, fname, 004);
--	printf("chmod(\"%s\", 004) = %s\n", fname, sprintrc(rc));
-+	static const char sample[] = "chmod_test_file";
-+	(void) unlink(sample);
-+	if (open(sample, O_CREAT|O_RDONLY, 0400) < 0)
-+		perror_msg_and_fail("open: %s", sample);
-+
-+	long rc = syscall(__NR_chmod, sample, 0600);
-+	printf("%s%s(\"%s\"%s, 0600) = %s\n",
-+	       my_secontext, "chmod",
-+	       sample, SECONTEXT_FILE(sample),
-+	       sprintrc(rc));
-+
-+	if (unlink(sample))
-+		perror_msg_and_fail("unlink: %s", sample);
-+
-+	rc = syscall(__NR_chmod, sample, 051);
-+	printf("%s%s(\"%s\", 051) = %s\n",
-+	       my_secontext, "chmod",
-+	       sample,
-+	       sprintrc(rc));
-+
-+	rc = syscall(__NR_chmod, sample, 004);
-+	printf("%s%s(\"%s\", 004) = %s\n",
-+	       my_secontext, "chmod",
-+	       sample,
-+	       sprintrc(rc));
- 
- 	leave_and_remove_subdir();
- 
-Index: strace-5.7/tests-m32/execve.c
-===================================================================
---- strace-5.7.orig/tests-m32/execve.c	2021-08-24 21:08:35.388312612 +0200
-+++ strace-5.7/tests-m32/execve.c	2021-08-24 21:08:43.267245925 +0200
-@@ -9,9 +9,12 @@
-  */
- 
- #include "tests.h"
-+#include <fcntl.h>
- #include <stdio.h>
- #include <unistd.h>
- 
-+#include "secontext.h"
-+
- static const char *errstr;
- 
- static int
-@@ -52,9 +55,16 @@
- 
- 	char ** const tail_argv = tail_memdup(argv, sizeof(argv));
- 	char ** const tail_envp = tail_memdup(envp, sizeof(envp));
-+	char *my_secontext = SECONTEXT_PID_MY();
-+
-+	(void) unlink(FILENAME);
-+	if (open(FILENAME, O_RDONLY | O_CREAT, 0400) < 0)
-+		perror_msg_and_fail("open");
-+
-+	char *FILENAME_secontext = SECONTEXT_FILE(FILENAME);
- 
- 	call_execve(FILENAME, tail_argv, tail_envp);
--	printf("execve(\"%s\""
-+	printf("%s%s(\"%s\"%s"
- 	       ", [\"%s\", \"%s\", \"%s\", %p, %p, %p, ... /* %p */]"
- #if VERBOSE
- 	       ", [\"%s\", \"%s\", %p, %p, %p, ... /* %p */]"
-@@ -62,7 +72,9 @@
- 	       ", %p /* 5 vars, unterminated */"
- #endif
- 	       ") = %s\n",
--	       Q_FILENAME, q_argv[0], q_argv[1], q_argv[2],
-+	       my_secontext, "execve",
-+	       Q_FILENAME, FILENAME_secontext,
-+	       q_argv[0], q_argv[1], q_argv[2],
- 	       argv[3], argv[4], argv[5], (char *) tail_argv + sizeof(argv)
- #if VERBOSE
- 	       , q_envp[0], q_envp[1], envp[2], envp[3], envp[4],
-@@ -77,14 +89,16 @@
- 	(void) q_envp;	/* workaround for clang bug #33068 */
- 
- 	call_execve(FILENAME, tail_argv, tail_envp);
--	printf("execve(\"%s\", [\"%s\", \"%s\", \"%s\"]"
-+	printf("%s%s(\"%s\"%s, [\"%s\", \"%s\", \"%s\"]"
- #if VERBOSE
- 	       ", [\"%s\", \"%s\"]"
- #else
- 	       ", %p /* 2 vars */"
- #endif
- 	       ") = %s\n",
--	       Q_FILENAME, q_argv[0], q_argv[1], q_argv[2]
-+	       my_secontext, "execve",
-+	       Q_FILENAME, FILENAME_secontext,
-+	       q_argv[0], q_argv[1], q_argv[2]
- #if VERBOSE
- 	       , q_envp[0], q_envp[1]
- #else
-@@ -93,14 +107,16 @@
- 	       , errstr);
- 
- 	call_execve(FILENAME, tail_argv + 2, tail_envp + 1);
--	printf("execve(\"%s\", [\"%s\"]"
-+	printf("%s%s(\"%s\"%s, [\"%s\"]"
- #if VERBOSE
- 	       ", [\"%s\"]"
- #else
- 	       ", %p /* 1 var */"
- #endif
- 	       ") = %s\n",
--	       Q_FILENAME, q_argv[2]
-+	       my_secontext, "execve",
-+	       Q_FILENAME, FILENAME_secontext,
-+	       q_argv[2]
- #if VERBOSE
- 	       , q_envp[1]
- #else
-@@ -113,13 +129,15 @@
- 	*empty = NULL;
- 
- 	call_execve(FILENAME, empty, empty);
--	printf("execve(\"%s\", []"
-+	printf("%s%s(\"%s\"%s, []"
- #if VERBOSE
- 	       ", []"
- #else
- 	       ", %p /* 0 vars */"
- #endif
--	       ") = %s\n", Q_FILENAME
-+	       ") = %s\n",
-+	       my_secontext, "execve",
-+	       Q_FILENAME, FILENAME_secontext
- #if !VERBOSE
- 	       , empty
- #endif
-@@ -143,7 +161,10 @@
- 	a[i] = b[i] = NULL;
- 
- 	call_execve(FILENAME, a, b);
--	printf("execve(\"%s\", [\"%.*s\"...", Q_FILENAME, DEFAULT_STRLEN, a[0]);
-+	printf("%s%s(\"%s\"%s, [\"%.*s\"...",
-+	       my_secontext, "execve",
-+	       Q_FILENAME, FILENAME_secontext,
-+	       DEFAULT_STRLEN, a[0]);
- 	for (i = 1; i < DEFAULT_STRLEN; ++i)
- 		printf(", \"%s\"", a[i]);
- #if VERBOSE
-@@ -162,7 +183,10 @@
- 	printf(") = %s\n", errstr);
- 
- 	call_execve(FILENAME, a + 1, b + 1);
--	printf("execve(\"%s\", [\"%s\"", Q_FILENAME, a[1]);
-+	printf("%s%s(\"%s\"%s, [\"%s\"",
-+	       my_secontext, "execve",
-+	       Q_FILENAME, FILENAME_secontext,
-+	       a[1]);
- 	for (i = 2; i <= DEFAULT_STRLEN; ++i)
- 		printf(", \"%s\"", a[i]);
- #if VERBOSE
-@@ -175,12 +199,17 @@
- #endif
- 	printf(") = %s\n", errstr);
- 
-+	if (unlink(FILENAME))
-+		perror_msg_and_fail("unlink");
-+
- 	call_execve(FILENAME, (char **) tail_argv[ARRAY_SIZE(q_argv)], efault);
--	printf("execve(\"%s\", NULL, %p) = %s\n",
-+	printf("%s%s(\"%s\", NULL, %p) = %s\n",
-+	       my_secontext, "execve",
- 	       Q_FILENAME, efault, errstr);
- 
- 	call_execve(FILENAME, efault, NULL);
--	printf("execve(\"%s\", %p, NULL) = %s\n",
-+	printf("%s%s(\"%s\", %p, NULL) = %s\n",
-+	       my_secontext, "execve",
- 	       Q_FILENAME, efault, errstr);
- 
- 	leave_and_remove_subdir();
-Index: strace-5.7/tests-m32/execve.test
-===================================================================
---- strace-5.7.orig/tests-m32/execve.test	2021-08-24 21:08:35.388312612 +0200
-+++ strace-5.7/tests-m32/execve.test	2021-08-24 21:08:43.268245917 +0200
-@@ -11,7 +11,7 @@
- 
- check_prog grep
- run_prog > /dev/null
--run_strace -eexecve $args > "$EXP"
-+run_strace -eexecve "$@" $args > "$EXP"
- 
- # Filter out execve() call made by strace.
- grep -F test.execve < "$LOG" > "$OUT"
-Index: strace-5.7/tests-m32/execveat.c
-===================================================================
---- strace-5.7.orig/tests-m32/execveat.c	2021-08-24 21:08:35.388312612 +0200
-+++ strace-5.7/tests-m32/execveat.c	2021-08-24 21:08:43.268245917 +0200
-@@ -13,9 +13,102 @@
- 
- #ifdef __NR_execveat
- 
-+# include <fcntl.h>
- # include <stdio.h>
- # include <unistd.h>
- 
-+# include "secontext.h"
-+
-+static void
-+tests_with_existing_file(void)
-+{
-+	/*
-+	 * Make sure the current workdir of the tracee
-+	 * is different from the current workdir of the tracer.
-+	 */
-+	create_and_enter_subdir("execveat_subdir");
-+
-+	char *my_secontext = SECONTEXT_PID_MY();
-+
-+	static const char sample[] = "execveat_sample";
-+	(void) unlink(sample);
-+	if (open(sample, O_RDONLY | O_CREAT, 0400) < 0)
-+		perror_msg_and_fail("open");
-+
-+	char *sample_secontext = SECONTEXT_FILE(sample);
-+	static const char *argv[] = { sample, NULL };
-+
-+	/*
-+	 * Tests with AT_FDCWD.
-+	 */
-+
-+	long rc = syscall(__NR_execveat, -100, sample, argv, NULL, 0);
-+	printf("%s%s(AT_FDCWD, \"%s\"%s, [\"%s\"], NULL, 0) = %s\n",
-+	       my_secontext, "execveat",
-+	       sample, sample_secontext,
-+	       argv[0],
-+	       sprintrc(rc));
-+
-+	if (unlink(sample))
-+		perror_msg_and_fail("unlink");
-+
-+	rc = syscall(__NR_execveat, -100, sample, argv, NULL, 0);
-+	printf("%s%s(AT_FDCWD, \"%s\", [\"%s\"], NULL, 0) = %s\n",
-+	       my_secontext, "execveat",
-+	       sample,
-+	       argv[0],
-+	       sprintrc(rc));
-+
-+	/*
-+	 * Tests with dirfd.
-+	 */
-+
-+	int cwd_fd = get_dir_fd(".");
-+	char *cwd = get_fd_path(cwd_fd);
-+	char *cwd_secontext = SECONTEXT_FILE(".");
-+	char *sample_realpath = xasprintf("%s/%s", cwd, sample);
-+
-+	/* no file */
-+	rc = syscall(__NR_execveat, cwd_fd, sample, argv, NULL, 0);
-+	printf("%s%s(%d%s, \"%s\", [\"%s\"], NULL, 0) = %s\n",
-+	       my_secontext, "execveat",
-+	       cwd_fd, cwd_secontext,
-+	       sample,
-+	       argv[0],
-+	       sprintrc(rc));
-+
-+	if (open(sample, O_RDONLY | O_CREAT, 0400) < 0)
-+		perror_msg_and_fail("open");
-+
-+	rc = syscall(__NR_execveat, cwd_fd, sample, argv, NULL, 0);
-+	printf("%s%s(%d%s, \"%s\"%s, [\"%s\"], NULL, 0) = %s\n",
-+	       my_secontext, "execveat",
-+	       cwd_fd, cwd_secontext,
-+	       sample, sample_secontext,
-+	       argv[0],
-+	       sprintrc(rc));
-+
-+	/* cwd_fd ignored when path is absolute */
-+	if (chdir("../.."))
-+		perror_msg_and_fail("chdir");
-+
-+	rc = syscall(__NR_execveat, cwd_fd, sample_realpath, argv, NULL, 0);
-+	printf("%s%s(%d%s, \"%s\"%s, [\"%s\"], NULL, 0) = %s\n",
-+	       my_secontext, "execveat",
-+	       cwd_fd, cwd_secontext,
-+	       sample_realpath, sample_secontext,
-+	       argv[0],
-+	       sprintrc(rc));
-+
-+	if (fchdir(cwd_fd))
-+		perror_msg_and_fail("fchdir");
-+
-+	if (unlink(sample))
-+		perror_msg_and_fail("unlink");
-+
-+	leave_and_remove_subdir();
-+}
-+
- # define FILENAME "test.execveat\nfilename"
- # define Q_FILENAME "test.execveat\\nfilename"
- 
-@@ -40,9 +133,10 @@
- {
- 	const char ** const tail_argv = tail_memdup(argv, sizeof(argv));
- 	const char ** const tail_envp = tail_memdup(envp, sizeof(envp));
-+	char *my_secontext = SECONTEXT_PID_MY();
- 
- 	syscall(__NR_execveat, -100, FILENAME, tail_argv, tail_envp, 0x1100);
--	printf("execveat(AT_FDCWD, \"%s\""
-+	printf("%s%s(AT_FDCWD, \"%s\""
- 	       ", [\"%s\", \"%s\", \"%s\", %p, %p, %p, ... /* %p */]"
- # if VERBOSE
- 	       ", [\"%s\", \"%s\", %p, %p, %p, ... /* %p */]"
-@@ -50,6 +144,7 @@
- 	       ", %p /* 5 vars, unterminated */"
- # endif
- 	       ", AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) = -1 %s (%m)\n",
-+	       my_secontext, "execveat",
- 	       Q_FILENAME, q_argv[0], q_argv[1], q_argv[2],
- 	       argv[3], argv[4], argv[5], (char *) tail_argv + sizeof(argv),
- # if VERBOSE
-@@ -65,13 +160,14 @@
- 	(void) q_envp;	/* workaround for clang bug #33068 */
- 
- 	syscall(__NR_execveat, -100, FILENAME, tail_argv, tail_envp, 0x1100);
--	printf("execveat(AT_FDCWD, \"%s\", [\"%s\", \"%s\", \"%s\"]"
-+	printf("%s%s(AT_FDCWD, \"%s\", [\"%s\", \"%s\", \"%s\"]"
- # if VERBOSE
- 	       ", [\"%s\", \"%s\"]"
- # else
- 	       ", %p /* 2 vars */"
- # endif
- 	       ", AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) = -1 %s (%m)\n",
-+	       my_secontext, "execveat",
- 	       Q_FILENAME, q_argv[0], q_argv[1], q_argv[2],
- # if VERBOSE
- 	       q_envp[0], q_envp[1],
-@@ -81,13 +177,14 @@
- 	       errno2name());
- 
- 	syscall(__NR_execveat, -100, FILENAME, tail_argv + 2, tail_envp + 1, 0x1100);
--	printf("execveat(AT_FDCWD, \"%s\", [\"%s\"]"
-+	printf("%s%s(AT_FDCWD, \"%s\", [\"%s\"]"
- # if VERBOSE
- 	       ", [\"%s\"]"
- # else
- 	       ", %p /* 1 var */"
- # endif
- 	       ", AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) = -1 %s (%m)\n",
-+	       my_secontext, "execveat",
- 	       Q_FILENAME, q_argv[2],
- # if VERBOSE
- 	       q_envp[1],
-@@ -101,13 +198,14 @@
- 	*empty = NULL;
- 
- 	syscall(__NR_execveat, -100, FILENAME, empty, empty, 0x1100);
--	printf("execveat(AT_FDCWD, \"%s\", []"
-+	printf("%s%s(AT_FDCWD, \"%s\", []"
- # if VERBOSE
- 	       ", []"
- # else
- 	       ", %p /* 0 vars */"
- # endif
- 	       ", AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) = -1 %s (%m)\n",
-+	       my_secontext, "execveat",
- 	       Q_FILENAME,
- # if !VERBOSE
- 	       empty,
-@@ -132,7 +230,9 @@
- 	a[i] = b[i] = NULL;
- 
- 	syscall(__NR_execveat, -100, FILENAME, a, b, 0x1100);
--	printf("execveat(AT_FDCWD, \"%s\", [\"%.*s\"...", Q_FILENAME, DEFAULT_STRLEN, a[0]);
-+	printf("%s%s(AT_FDCWD, \"%s\", [\"%.*s\"...",
-+	       my_secontext, "execveat",
-+	       Q_FILENAME, DEFAULT_STRLEN, a[0]);
- 	for (i = 1; i < DEFAULT_STRLEN; ++i)
- 		printf(", \"%s\"", a[i]);
- # if VERBOSE
-@@ -152,7 +252,9 @@
- 	       errno2name());
- 
- 	syscall(__NR_execveat, -100, FILENAME, a + 1, b + 1, 0x1100);
--	printf("execveat(AT_FDCWD, \"%s\", [\"%s\"", Q_FILENAME, a[1]);
-+	printf("%s%s(AT_FDCWD, \"%s\", [\"%s\"",
-+	       my_secontext, "execveat",
-+	       Q_FILENAME, a[1]);
- 	for (i = 2; i <= DEFAULT_STRLEN; ++i)
- 		printf(", \"%s\"", a[i]);
- # if VERBOSE
-@@ -167,15 +269,19 @@
- 	       errno2name());
- 
- 	syscall(__NR_execveat, -100, FILENAME, NULL, efault, 0x1100);
--	printf("execveat(AT_FDCWD, \"%s\", NULL, %p"
-+	printf("%s%s(AT_FDCWD, \"%s\", NULL, %p"
- 	       ", AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) = -1 %s (%m)\n",
-+	       my_secontext, "execveat",
- 	       Q_FILENAME, efault, errno2name());
- 
- 	syscall(__NR_execveat, -100, FILENAME, efault, NULL, 0x1100);
--	printf("execveat(AT_FDCWD, \"%s\", %p, NULL"
-+	printf("%s%s(AT_FDCWD, \"%s\", %p, NULL"
- 	       ", AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) = -1 %s (%m)\n",
-+	       my_secontext, "execveat",
- 	       Q_FILENAME, efault, errno2name());
- 
-+	tests_with_existing_file();
-+
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests-m32/faccessat.c
-===================================================================
---- strace-5.7.orig/tests-m32/faccessat.c	2021-08-24 21:08:35.389312604 +0200
-+++ strace-5.7/tests-m32/faccessat.c	2021-08-24 21:08:43.269245908 +0200
-@@ -12,12 +12,16 @@
- 
- #ifdef __NR_faccessat
- 
--# include "xmalloc.h"
- # include <fcntl.h>
- # include <stdio.h>
- # include <unistd.h>
- 
--# ifndef FD_PATH
-+# include "secontext.h"
-+# include "xmalloc.h"
-+
-+# ifdef FD_PATH
-+#  define YFLAG
-+# else
- #  define FD_PATH ""
- # endif
- # ifndef SKIP_IF_PROC_IS_UNAVAILABLE
-@@ -43,11 +47,130 @@
- 	return rc;
- }
- 
-+# ifndef PATH_TRACING
-+static void
-+tests_with_existing_file(void)
-+{
-+	/*
-+	 * Make sure the current workdir of the tracee
-+	 * is different from the current workdir of the tracer.
-+	 */
-+	create_and_enter_subdir("faccessat_subdir");
-+
-+	char *my_secontext = SECONTEXT_PID_MY();
-+
-+	k_faccessat(-1, NULL, F_OK);
-+	printf("%s%s(-1, NULL, F_OK) = %s\n",
-+	       my_secontext, "faccessat", errstr);
-+
-+	static const char sample[] = "faccessat_sample";
-+	(void) unlink(sample);
-+	int fd = open(sample, O_CREAT|O_RDONLY, 0400);
-+	if (fd == -1)
-+		perror_msg_and_fail("open");
-+	close(fd);
-+	char *sample_secontext = SECONTEXT_FILE(sample);
-+
-+	/*
-+	 * Tests with AT_FDCWD.
-+	 */
-+
-+	k_faccessat(-100, sample, F_OK);
-+	printf("%s%s(AT_FDCWD, \"%s\"%s, F_OK) = %s\n",
-+	       my_secontext, "faccessat",
-+	       sample, sample_secontext,
-+	       errstr);
-+
-+	if (unlink(sample))
-+		perror_msg_and_fail("unlink");
-+
-+	k_faccessat(-100, sample, F_OK);
-+	printf("%s%s(AT_FDCWD, \"%s\", F_OK) = %s\n",
-+	       my_secontext, "faccessat",
-+	       sample,
-+	       errstr);
-+
-+	/*
-+	 * Tests with dirfd.
-+	 */
-+
-+	int cwd_fd = get_dir_fd(".");
-+	char *cwd = get_fd_path(cwd_fd);
-+	char *cwd_secontext = SECONTEXT_FILE(".");
-+	char *sample_realpath = xasprintf("%s/%s", cwd, sample);
-+
-+	/* no file */
-+	k_faccessat(cwd_fd, sample, F_OK);
-+#  ifdef YFLAG
-+	printf("%s%s(%d<%s>%s, \"%s\", F_OK) = %s\n",
-+#  else
-+	printf("%s%s(%d%s, \"%s\", F_OK) = %s\n",
-+#  endif
-+	       my_secontext, "faccessat",
-+	       cwd_fd,
-+#  ifdef YFLAG
-+	       cwd,
-+#  endif
-+	       cwd_secontext,
-+	       sample,
-+	       errstr);
-+
-+	fd = open(sample, O_CREAT|O_RDONLY, 0400);
-+	if (fd == -1)
-+		perror_msg_and_fail("open");
-+	close(fd);
-+
-+	k_faccessat(cwd_fd, sample, F_OK);
-+#  ifdef YFLAG
-+	printf("%s%s(%d<%s>%s, \"%s\"%s, F_OK) = %s\n",
-+#  else
-+	printf("%s%s(%d%s, \"%s\"%s, F_OK) = %s\n",
-+#  endif
-+	       my_secontext, "faccessat",
-+	       cwd_fd,
-+#  ifdef YFLAG
-+	       cwd,
-+#  endif
-+	       cwd_secontext,
-+	       sample, sample_secontext,
-+	       errstr);
-+
-+	/* cwd_fd ignored when path is absolute */
-+	if (chdir("../.."))
-+		perror_msg_and_fail("chdir");
-+
-+	k_faccessat(cwd_fd, sample_realpath, F_OK);
-+#  ifdef YFLAG
-+	printf("%s%s(%d<%s>%s, \"%s\"%s, F_OK) = %s\n",
-+#  else
-+	printf("%s%s(%d%s, \"%s\"%s, F_OK) = %s\n",
-+#  endif
-+	       my_secontext, "faccessat",
-+	       cwd_fd,
-+#  ifdef YFLAG
-+	       cwd,
-+#  endif
-+	       cwd_secontext,
-+	       sample_realpath, sample_secontext,
-+	       errstr);
-+
-+	if (fchdir(cwd_fd))
-+		perror_msg_and_fail("fchdir");
-+
-+	if (unlink(sample))
-+		perror_msg_and_fail("unlink");
-+
-+	leave_and_remove_subdir();
-+}
-+# endif
-+
- int
- main(void)
- {
- 	SKIP_IF_PROC_IS_UNAVAILABLE;
- 
-+# ifndef TEST_SECONTEXT
-+
- 	TAIL_ALLOC_OBJECT_CONST_PTR(const char, unterminated);
- 	char *unterminated_str = xasprintf("%p", unterminated);
- 	const void *const efault = unterminated + 1;
-@@ -120,10 +243,10 @@
- 				k_faccessat(dirfds[dirfd_i].val,
- 					    paths[path_i].val,
- 					    modes[mode_i].val);
--# ifdef PATH_TRACING
-+#  ifdef PATH_TRACING
- 				if (dirfds[dirfd_i].val == fd ||
- 				    paths[path_i].val == fd_path)
--# endif
-+#  endif
- 				printf("faccessat(%s, %s, %s) = %s\n",
- 				       dirfds[dirfd_i].str,
- 				       paths[path_i].str,
-@@ -133,6 +256,12 @@
- 		}
- 	}
- 
-+# endif /* !TEST_SECONTEXT */
-+
-+# ifndef PATH_TRACING
-+	tests_with_existing_file();
-+# endif
-+
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests-m32/faccessat.test
-===================================================================
---- strace-5.7.orig/tests-m32/faccessat.test	2021-08-24 21:08:35.389312604 +0200
-+++ strace-5.7/tests-m32/faccessat.test	2021-08-24 21:08:43.269245908 +0200
-@@ -15,5 +15,5 @@
- run_strace -a23 --trace=faccessat "$@" $args > "$EXP"
- 
- # Filter out faccessat() calls made by ld.so and libc.
--sed -n '/^faccessat(-1, NULL,/,$p' < "$LOG" > "$OUT"
-+sed -n '/faccessat(-1, NULL,/,$p' < "$LOG" > "$OUT"
- match_diff "$OUT" "$EXP"
-Index: strace-5.7/tests-m32/fanotify_mark.c
-===================================================================
---- strace-5.7.orig/tests-m32/fanotify_mark.c	2021-08-24 21:07:01.122112055 +0200
-+++ strace-5.7/tests-m32/fanotify_mark.c	2021-08-24 21:08:43.269245908 +0200
-@@ -3,7 +3,7 @@
-  *
-  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
-  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
-- * Copyright (c) 2015-2020 The strace developers.
-+ * Copyright (c) 2015-2021 The strace developers.
-  * All rights reserved.
-  *
-  * SPDX-License-Identifier: GPL-2.0-or-later
-@@ -21,6 +21,8 @@
- # include <unistd.h>
- # include <sys/fanotify.h>
- 
-+# include "secontext.h"
-+
- # if XLAT_RAW
- #  define str_fan_mark_add	"0x1"
- #  define str_fan_modify_ondir	"0x40000002"
-@@ -35,6 +37,7 @@
- #  define str_at_fdcwd		"AT_FDCWD"
- # endif
- 
-+# ifndef TEST_SECONTEXT
- /* Performs fanotify_mark call via the syscall interface. */
- static void
- do_call(kernel_ulong_t fd, kernel_ulong_t flags, const char *flags_str,
-@@ -44,18 +47,18 @@
- 	long rc;
- 
- 	rc = syscall(__NR_fanotify_mark, fd, flags,
--# if (LONG_MAX > INT_MAX) \
--  || (defined __x86_64__ && defined __ILP32__) \
--  || defined LINUX_MIPSN32
-+#  if (LONG_MAX > INT_MAX) \
-+   || (defined __x86_64__ && defined __ILP32__) \
-+   || defined LINUX_MIPSN32
- 		mask,
--# else
-+#  else
- /* arch/parisc/kernel/sys_parisc32.c, commit ab8a261b */
--#  ifdef HPPA
-+#   ifdef HPPA
- 		LL_VAL_TO_PAIR((mask << 32) | (mask >> 32)),
--#  else
-+#   else
- 		LL_VAL_TO_PAIR(mask),
-+#   endif
- #  endif
--# endif
- 		dirfd, path);
- 
- 	printf("fanotify_mark(%d, %s, %s, %s, %s) = %s\n",
-@@ -68,12 +71,14 @@
- 	const char *str;
- };
- 
--# define STR16 "0123456789abcdef"
--# define STR64 STR16 STR16 STR16 STR16
-+#  define STR16 "0123456789abcdef"
-+#  define STR64 STR16 STR16 STR16 STR16
-+# endif /* !TEST_SECONTEXT */
- 
- int
- main(void)
- {
-+# ifndef TEST_SECONTEXT
- 	enum {
- 		PATH1_SIZE = 64,
- 	};
-@@ -87,47 +92,47 @@
- 		{ F8ILL_KULONG_MASK, "0" },
- 		{ (kernel_ulong_t) 0xdec0deddefacec00ULL,
- 			"0xefacec00"
--# if !XLAT_RAW
-+#  if !XLAT_RAW
- 			" /* FAN_MARK_??? */"
--# endif
-+#  endif
- 			},
- 		{ (kernel_ulong_t) 0xda7a105700000040ULL,
--# if XLAT_RAW
-+#  if XLAT_RAW
- 			"0x40"
--# elif XLAT_VERBOSE
-+#  elif XLAT_VERBOSE
- 			"0x40 /* FAN_MARK_IGNORED_SURV_MODIFY */"
--# else
-+#  else
- 			"FAN_MARK_IGNORED_SURV_MODIFY"
--# endif
-+#  endif
- 			},
- 		{ (kernel_ulong_t) 0xbadc0deddeadffffULL,
--# if XLAT_RAW || XLAT_VERBOSE
-+#  if XLAT_RAW || XLAT_VERBOSE
- 			"0xdeadffff"
--# endif
--# if XLAT_VERBOSE
-+#  endif
-+#  if XLAT_VERBOSE
- 			" /* "
--# endif
--# if !XLAT_RAW
-+#  endif
-+#  if !XLAT_RAW
- 			"FAN_MARK_ADD|FAN_MARK_REMOVE|FAN_MARK_DONT_FOLLOW|"
- 			"FAN_MARK_ONLYDIR|FAN_MARK_MOUNT|FAN_MARK_IGNORED_MASK|"
- 			"FAN_MARK_IGNORED_SURV_MODIFY|FAN_MARK_FLUSH|"
- 			"FAN_MARK_FILESYSTEM|0xdeadfe00"
--# endif
--# if XLAT_VERBOSE
-+#  endif
-+#  if XLAT_VERBOSE
- 			" */"
--# endif
-+#  endif
- 			},
- 	};
- 	static const struct strval64 masks[] = {
- 		{ ARG_ULL_STR(0) },
- 		{ 0xdeadfeedffffffffULL,
--# if XLAT_RAW || XLAT_VERBOSE
-+#  if XLAT_RAW || XLAT_VERBOSE
- 			"0xdeadfeedffffffff"
--# endif
--# if XLAT_VERBOSE
-+#  endif
-+#  if XLAT_VERBOSE
- 			" /* "
--# endif
--# if !XLAT_RAW
-+#  endif
-+#  if !XLAT_RAW
- 			"FAN_ACCESS|"
- 			"FAN_MODIFY|"
- 			"FAN_ATTRIB|"
-@@ -149,27 +154,27 @@
- 			"FAN_ONDIR|"
- 			"FAN_EVENT_ON_CHILD|"
- 			"0xdeadfeedb7f0a000"
--# endif
--# if XLAT_VERBOSE
-+#  endif
-+#  if XLAT_VERBOSE
- 			" */"
--# endif
-+#  endif
- 			},
- 		{ ARG_ULL_STR(0xffffffffb7f0a000)
--# if !XLAT_RAW
-+#  if !XLAT_RAW
- 			" /* FAN_??? */"
--# endif
-+#  endif
- 			},
- 	};
- 	static const struct strval dirfds[] = {
- 		{ (kernel_ulong_t) 0xfacefeed00000001ULL, "1" },
- 		{ (kernel_ulong_t) 0xdec0ded0ffffffffULL,
--# if XLAT_RAW
-+#  if XLAT_RAW
- 			"-1"
--# elif XLAT_VERBOSE
-+#  elif XLAT_VERBOSE
- 			"-1 /* FAN_NOFD */"
--# else
-+#  else
- 			"FAN_NOFD"
--# endif
-+#  endif
- 			},
- 		{ (kernel_ulong_t) 0xbadfacedffffff9cULL, str_at_fdcwd },
- 		{ (kernel_ulong_t) 0xdefaced1beeff00dULL, "-1091571699" },
-@@ -202,12 +207,6 @@
- 	snprintf(bogus_path1_after_addr, sizeof(bogus_path1_after_addr), "%p",
- 		bogus_path1 + PATH1_SIZE);
- 
--	rc = fanotify_mark(-1, FAN_MARK_ADD, FAN_MODIFY | FAN_ONDIR,
--			       -100, ".");
--	printf("fanotify_mark(-1, %s, %s, %s, \".\") = %s\n",
--	       str_fan_mark_add, str_fan_modify_ondir, str_at_fdcwd,
--	       sprintrc(rc));
--
- 	for (i = 0; i < ARRAY_SIZE(fds); i++) {
- 		for (j = 0; j < ARRAY_SIZE(flags); j++) {
- 			for (k = 0; k < ARRAY_SIZE(masks); k++) {
-@@ -226,6 +225,40 @@
- 			}
- 		}
- 	}
-+# else /* TEST_SECONTEXT */
-+	int rc;
-+# endif
-+	/*
-+	 * Test with AT_FDCWD.
-+	 */
-+
-+	char *my_secontext = SECONTEXT_PID_MY();
-+	char path[] = ".";
-+	char *path_secontext = SECONTEXT_FILE(path);
-+
-+	rc = fanotify_mark(-1, FAN_MARK_ADD, FAN_MODIFY | FAN_ONDIR,
-+			   -100, path);
-+	printf("%s%s(-1, %s, %s, %s, \"%s\"%s) = %s\n",
-+	       my_secontext, "fanotify_mark",
-+	       str_fan_mark_add, str_fan_modify_ondir, str_at_fdcwd,
-+	       path, path_secontext,
-+	       sprintrc(rc));
-+
-+	/*
-+	 * Test with dirfd.
-+	 */
-+
-+	int cwd_fd = get_dir_fd(".");
-+	char *cwd_secontext = SECONTEXT_FILE(".");
-+
-+	rc = fanotify_mark(-1, FAN_MARK_ADD, FAN_MODIFY | FAN_ONDIR,
-+			   cwd_fd, path);
-+	printf("%s%s(-1, %s, %s, %d%s, \"%s\"%s) = %s\n",
-+	       my_secontext, "fanotify_mark",
-+	       str_fan_mark_add, str_fan_modify_ondir,
-+	       cwd_fd, cwd_secontext,
-+	       path, path_secontext,
-+	       sprintrc(rc));
- 
- 	puts("+++ exited with 0 +++");
- 	return 0;
-Index: strace-5.7/tests-m32/fchmod.c
-===================================================================
---- strace-5.7.orig/tests-m32/fchmod.c	2021-08-24 21:08:35.389312604 +0200
-+++ strace-5.7/tests-m32/fchmod.c	2021-08-24 21:08:43.270245900 +0200
-@@ -18,6 +18,8 @@
- # include <stdio.h>
- # include <unistd.h>
- 
-+# include "secontext.h"
-+
- int
- main(void)
- {
-@@ -27,6 +29,8 @@
- 	 */
- 	create_and_enter_subdir("fchmod_subdir");
- 
-+	char *my_secontext = SECONTEXT_PID_MY();
-+
- 	static const char sample[] = "fchmod_sample_file";
- 	(void) unlink(sample);
- 	int fd = open(sample, O_CREAT|O_RDONLY, 0400);
-@@ -37,16 +41,19 @@
- 	char *sample_realpath = get_fd_path(fd);
- # endif
- 
-+	const char *sample_secontext = SECONTEXT_FILE(sample);
- 	long rc = syscall(__NR_fchmod, fd, 0600);
- # ifdef YFLAG
--	printf("fchmod(%d<%s>, 0600) = %s\n",
-+	printf("%s%s(%d<%s>%s, 0600) = %s\n",
- # else
--	printf("fchmod(%d, 0600) = %s\n",
-+	printf("%s%s(%d%s, 0600) = %s\n",
- # endif
-+	       my_secontext, "fchmod",
- 	       fd,
- # ifdef YFLAG
- 	       sample_realpath,
- # endif
-+	       sample_secontext,
- 	       sprintrc(rc));
- 
- 	if (unlink(sample))
-@@ -54,26 +61,30 @@
- 
- 	rc = syscall(__NR_fchmod, fd, 051);
- # ifdef YFLAG
--	printf("fchmod(%d<%s (deleted)>, 051) = %s\n",
-+	printf("%s%s(%d<%s (deleted)>%s, 051) = %s\n",
- # else
--	printf("fchmod(%d, 051) = %s\n",
-+	printf("%s%s(%d%s, 051) = %s\n",
- # endif
-+	       my_secontext, "fchmod",
- 	       fd,
- # ifdef YFLAG
- 	       sample_realpath,
- # endif
-+	       sample_secontext,
- 	       sprintrc(rc));
- 
- 	rc = syscall(__NR_fchmod, fd, 004);
- # ifdef YFLAG
--	printf("fchmod(%d<%s (deleted)>, 004) = %s\n",
-+	printf("%s%s(%d<%s (deleted)>%s, 004) = %s\n",
- # else
--	printf("fchmod(%d, 004) = %s\n",
-+	printf("%s%s(%d%s, 004) = %s\n",
- # endif
-+	       my_secontext, "fchmod",
- 	       fd,
- # ifdef YFLAG
- 	       sample_realpath,
- # endif
-+	       sample_secontext,
- 	       sprintrc(rc));
- 
- 	leave_and_remove_subdir();
-Index: strace-5.7/tests-m32/fchmodat.c
-===================================================================
---- strace-5.7.orig/tests-m32/fchmodat.c	2021-08-24 21:08:35.390312595 +0200
-+++ strace-5.7/tests-m32/fchmodat.c	2021-08-24 21:08:43.270245900 +0200
-@@ -17,6 +17,8 @@
- # include <stdio.h>
- # include <unistd.h>
- 
-+# include "secontext.h"
-+
- int
- main(void)
- {
-@@ -26,26 +28,81 @@
- 	 */
- 	create_and_enter_subdir("fchmodat_subdir");
- 
--	static const char sample[] = "fchmodat_sample";
-+	char *my_secontext = SECONTEXT_PID_MY();
- 
-+	static const char sample[] = "fchmodat_sample_file";
- 	if (open(sample, O_RDONLY | O_CREAT, 0400) < 0)
- 		perror_msg_and_fail("open");
- 
-+	char *sample_secontext = SECONTEXT_FILE(sample);
-+
-+	/*
-+	 * Tests with AT_FDCWD.
-+	 */
-+
- 	long rc = syscall(__NR_fchmodat, -100, sample, 0600);
--	printf("fchmodat(AT_FDCWD, \"%s\", 0600) = %s\n",
--	       sample, sprintrc(rc));
-+	printf("%s%s(AT_FDCWD, \"%s\"%s, 0600) = %s\n",
-+	       my_secontext, "fchmodat",
-+	       sample, sample_secontext,
-+	       sprintrc(rc));
- 
- 	if (unlink(sample))
- 		perror_msg_and_fail("unlink");
- 
- 	rc = syscall(__NR_fchmodat, -100, sample, 051);
--	printf("fchmodat(AT_FDCWD, \"%s\", 051) = %s\n",
-+	printf("%s%s(AT_FDCWD, \"%s\", 051) = %s\n",
-+	       my_secontext, "fchmodat",
- 	       sample, sprintrc(rc));
- 
- 	rc = syscall(__NR_fchmodat, -100, sample, 004);
--	printf("fchmodat(AT_FDCWD, \"%s\", 004) = %s\n",
-+	printf("%s%s(AT_FDCWD, \"%s\", 004) = %s\n",
-+	       my_secontext, "fchmodat",
- 	       sample, sprintrc(rc));
- 
-+	/*
-+	 * Tests with dirfd.
-+	 */
-+
-+	int cwd_fd = get_dir_fd(".");
-+	char *cwd = get_fd_path(cwd_fd);
-+	char *cwd_secontext = SECONTEXT_FILE(".");
-+	char *sample_realpath = xasprintf("%s/%s", cwd, sample);
-+
-+	/* no file */
-+	rc = syscall(__NR_fchmodat, cwd_fd, sample, 0400);
-+	printf("%s%s(%d%s, \"%s\", 0400) = %s\n",
-+	       my_secontext, "fchmodat",
-+	       cwd_fd, cwd_secontext,
-+	       sample,
-+	       sprintrc(rc));
-+
-+	if (open(sample, O_RDONLY | O_CREAT, 0400) < 0)
-+		perror_msg_and_fail("open");
-+
-+	rc = syscall(__NR_fchmodat, cwd_fd, sample, 0400);
-+	printf("%s%s(%d%s, \"%s\"%s, 0400) = %s\n",
-+	       my_secontext, "fchmodat",
-+	       cwd_fd, cwd_secontext,
-+	       sample, sample_secontext,
-+	       sprintrc(rc));
-+
-+	/* cwd_fd ignored when path is absolute */
-+	if (chdir("../.."))
-+		perror_msg_and_fail("chdir");
-+
-+	rc = syscall(__NR_fchmodat, cwd_fd, sample_realpath, 0400);
-+	printf("%s%s(%d%s, \"%s\"%s, 0400) = %s\n",
-+	       my_secontext, "fchmodat",
-+	       cwd_fd, cwd_secontext,
-+	       sample_realpath, sample_secontext,
-+	       sprintrc(rc));
-+
-+	if (fchdir(cwd_fd))
-+		perror_msg_and_fail("fchdir");
-+
-+	if (unlink(sample))
-+		perror_msg_and_fail("unlink");
-+
- 	leave_and_remove_subdir();
- 
- 	puts("+++ exited with 0 +++");
-Index: strace-5.7/tests-m32/fchownat.c
-===================================================================
---- strace-5.7.orig/tests-m32/fchownat.c	2021-08-24 21:08:35.390312595 +0200
-+++ strace-5.7/tests-m32/fchownat.c	2021-08-24 21:08:43.270245900 +0200
-@@ -17,6 +17,8 @@
- # include <stdio.h>
- # include <unistd.h>
- 
-+# include "secontext.h"
-+
- int
- main(void)
- {
-@@ -26,25 +28,86 @@
- 	 */
- 	create_and_enter_subdir("fchownat_subdir");
- 
--	static const char sample[] = "fchownat_sample";
-+	char *my_secontext = SECONTEXT_PID_MY();
- 	uid_t uid = geteuid();
- 	uid_t gid = getegid();
- 
--	if (open(sample, O_RDONLY | O_CREAT, 0400) == -1)
-+	static const char sample[] = "fchownat_sample";
-+	int fd = open(sample, O_RDONLY | O_CREAT, 0400);
-+	if (fd == -1)
- 		perror_msg_and_fail("open");
-+	close(fd);
-+
-+	char *sample_secontext = SECONTEXT_FILE(sample);
-+
-+	/*
-+	 * Tests with AT_FDCWD.
-+	 */
- 
- 	long rc = syscall(__NR_fchownat, AT_FDCWD, sample, uid, gid, 0);
--	printf("fchownat(AT_FDCWD, \"%s\", %d, %d, 0) = %s\n",
--	       sample, uid, gid, sprintrc(rc));
-+	printf("%s%s(AT_FDCWD, \"%s\"%s, %d, %d, 0) = %s\n",
-+	       my_secontext, "fchownat",
-+	       sample, sample_secontext,
-+	       uid, gid, sprintrc(rc));
- 
- 	if (unlink(sample))
- 		perror_msg_and_fail("unlink");
- 
- 	rc = syscall(__NR_fchownat, AT_FDCWD,
- 		     sample, -1, -1L, AT_SYMLINK_NOFOLLOW);
--	printf("fchownat(AT_FDCWD, \"%s\", -1, -1, AT_SYMLINK_NOFOLLOW) = %s\n",
-+	printf("%s%s(AT_FDCWD, \"%s\", -1, -1, AT_SYMLINK_NOFOLLOW) = %s\n",
-+	       my_secontext, "fchownat",
- 	       sample, sprintrc(rc));
- 
-+	/*
-+	 * Tests with dirfd.
-+	 */
-+
-+	int cwd_fd = get_dir_fd(".");
-+	char *cwd = get_fd_path(cwd_fd);
-+	char *cwd_secontext = SECONTEXT_FILE(".");
-+	char *sample_realpath = xasprintf("%s/%s", cwd, sample);
-+
-+	/* no file */
-+	rc = syscall(__NR_fchownat, cwd_fd, sample, uid, gid, 0);
-+	printf("%s%s(%d%s, \"%s\", %d, %d, 0) = %s\n",
-+	       my_secontext, "fchownat",
-+	       cwd_fd, cwd_secontext,
-+	       sample,
-+	       uid, gid,
-+	       sprintrc(rc));
-+
-+	fd = open(sample, O_RDONLY | O_CREAT, 0400);
-+	if (fd == -1)
-+		perror_msg_and_fail("open");
-+	close(fd);
-+
-+	rc = syscall(__NR_fchownat, cwd_fd, sample, uid, gid, 0);
-+	printf("%s%s(%d%s, \"%s\"%s, %d, %d, 0) = %s\n",
-+	       my_secontext, "fchownat",
-+	       cwd_fd, cwd_secontext,
-+	       sample, sample_secontext,
-+	       uid, gid,
-+	       sprintrc(rc));
-+
-+	/* cwd_fd ignored when path is absolute */
-+	if (chdir("../.."))
-+		perror_msg_and_fail("chdir");
-+
-+	rc = syscall(__NR_fchownat, cwd_fd, sample_realpath, uid, gid, 0);
-+	printf("%s%s(%d%s, \"%s\"%s, %d, %d, 0) = %s\n",
-+	       my_secontext, "fchownat",
-+	       cwd_fd, cwd_secontext,
-+	       sample_realpath, sample_secontext,
-+	       uid, gid,
-+	       sprintrc(rc));
-+
-+	if (fchdir(cwd_fd))
-+		perror_msg_and_fail("fchdir");
-+
-+	if (unlink(sample))
-+		perror_msg_and_fail("unlink");
-+
- 	leave_and_remove_subdir();
- 
- 	puts("+++ exited with 0 +++");
-Index: strace-5.7/tests-m32/file_handle.c
-===================================================================
---- strace-5.7.orig/tests-m32/file_handle.c	2021-08-24 21:08:35.390312595 +0200
-+++ strace-5.7/tests-m32/file_handle.c	2021-08-24 21:08:43.271245891 +0200
-@@ -21,6 +21,8 @@
- # include <stdio.h>
- # include <unistd.h>
- 
-+# include "secontext.h"
-+
- enum assert_rc {
- 	ASSERT_NONE,
- 	ASSERT_SUCCESS,
-@@ -48,6 +50,7 @@
- 		printf("...");
- }
- 
-+# ifndef TEST_SECONTEXT
- void
- do_name_to_handle_at(kernel_ulong_t dirfd, const char *dirfd_str,
- 		     kernel_ulong_t pathname, const char *pathname_str,
-@@ -129,6 +132,7 @@
- 
- 	printf("%s\n", sprintrc(rc));
- }
-+# endif /* !TEST_SECONTEXT */
- 
- struct strval {
- 	kernel_ulong_t val;
-@@ -141,12 +145,86 @@
- int
- main(void)
- {
-+	char *my_secontext = SECONTEXT_PID_MY();
- 	enum {
- 		PATH1_SIZE = 64,
- 	};
- 
- 	static const kernel_ulong_t fdcwd =
- 		(kernel_ulong_t) 0x87654321ffffff9cULL;
-+
-+	struct file_handle *handle =
-+		tail_alloc(sizeof(struct file_handle) + MAX_HANDLE_SZ);
-+	struct file_handle *handle_0 =
-+		tail_alloc(sizeof(struct file_handle) + 0);
-+	struct file_handle *handle_8 =
-+		tail_alloc(sizeof(struct file_handle) + 8);
-+	struct file_handle *handle_128 =
-+		tail_alloc(sizeof(struct file_handle) + 128);
-+	struct file_handle *handle_256 =
-+		tail_alloc(sizeof(struct file_handle) + 256);
-+	TAIL_ALLOC_OBJECT_CONST_PTR(int, bogus_mount_id);
-+
-+	char handle_0_addr[sizeof("0x") + sizeof(void *) * 2];
-+
-+	const int flags = 0x400;
-+	int mount_id;
-+
-+	handle_0->handle_bytes = 256;
-+	handle_8->handle_bytes = 0;
-+	handle_128->handle_bytes = 128;
-+	handle_256->handle_bytes = 256;
-+
-+	fill_memory((char *) handle_128 + sizeof(struct file_handle), 128);
-+	fill_memory((char *) handle_256 + sizeof(struct file_handle), 256);
-+
-+	snprintf(handle_0_addr, sizeof(handle_0_addr), "%p",
-+		handle_0 + sizeof(struct file_handle));
-+
-+	handle->handle_bytes = 0;
-+
-+	char path[] = ".";
-+	char *path_secontext = SECONTEXT_FILE(path);
-+
-+	assert(syscall(__NR_name_to_handle_at, fdcwd, path, handle, &mount_id,
-+		flags | 1) == -1);
-+	if (EINVAL != errno)
-+		perror_msg_and_skip("name_to_handle_at");
-+	printf("%s%s(AT_FDCWD, \"%s\"%s, {handle_bytes=0}, %p"
-+	       ", AT_SYMLINK_FOLLOW|0x1) = -1 EINVAL (%m)\n",
-+	       my_secontext, "name_to_handle_at",
-+	       path, path_secontext,
-+	       &mount_id);
-+
-+	assert(syscall(__NR_name_to_handle_at, fdcwd, path, handle, &mount_id,
-+		flags) == -1);
-+	if (EOVERFLOW != errno)
-+		perror_msg_and_skip("name_to_handle_at");
-+	printf("%s%s(AT_FDCWD, \"%s\"%s, {handle_bytes=0 => %u}"
-+	       ", %p, AT_SYMLINK_FOLLOW) = -1 EOVERFLOW (%m)\n",
-+	       my_secontext, "name_to_handle_at",
-+	       path, path_secontext,
-+	       handle->handle_bytes, &mount_id);
-+
-+	assert(syscall(__NR_name_to_handle_at, fdcwd, path, handle, &mount_id,
-+		flags) == 0);
-+	printf("%s%s(AT_FDCWD, \"%s\"%s, {handle_bytes=%u"
-+	       ", handle_type=%d, f_handle=",
-+	       my_secontext, "name_to_handle_at",
-+	       path, path_secontext,
-+	       handle->handle_bytes, handle->handle_type);
-+	print_handle_data(handle->f_handle, handle->handle_bytes);
-+	printf("}, [%d], AT_SYMLINK_FOLLOW) = 0\n", mount_id);
-+
-+	printf("%s%s(-1, {handle_bytes=%u, handle_type=%d, f_handle=",
-+	       my_secontext, "open_by_handle_at",
-+	       handle->handle_bytes, handle->handle_type);
-+	print_handle_data(handle->f_handle, handle->handle_bytes);
-+	int rc = syscall(__NR_open_by_handle_at, -1, handle,
-+		O_RDONLY | O_DIRECTORY);
-+	printf("}, O_RDONLY|O_DIRECTORY) = %d %s (%m)\n", rc, errno2name());
-+
-+# ifndef TEST_SECONTEXT
- 	static const struct strval dirfds[] = {
- 		{ (kernel_ulong_t) 0xdeadca57badda7a1ULL, "-1159878751" },
- 		{ (kernel_ulong_t) 0x12345678ffffff9cULL, "AT_FDCWD" },
-@@ -171,29 +249,11 @@
- 	};
- 
- 	static const char str64[] = STR64;
--
--
- 	char *bogus_path1 = tail_memdup(str64, PATH1_SIZE);
- 	char *bogus_path2 = tail_memdup(str64, sizeof(str64));
--
--	struct file_handle *handle =
--		tail_alloc(sizeof(struct file_handle) + MAX_HANDLE_SZ);
--	struct file_handle *handle_0 =
--		tail_alloc(sizeof(struct file_handle) + 0);
--	struct file_handle *handle_8 =
--		tail_alloc(sizeof(struct file_handle) + 8);
--	struct file_handle *handle_128 =
--		tail_alloc(sizeof(struct file_handle) + 128);
--	struct file_handle *handle_256 =
--		tail_alloc(sizeof(struct file_handle) + 256);
--	TAIL_ALLOC_OBJECT_CONST_PTR(int, bogus_mount_id);
--
--	char handle_0_addr[sizeof("0x") + sizeof(void *) * 2];
--
- 	char bogus_path1_addr[sizeof("0x") + sizeof(void *) * 2];
- 	char bogus_path1_after_addr[sizeof("0x") + sizeof(void *) * 2];
- 
--
- 	struct strval paths[] = {
- 		{ (kernel_ulong_t) 0, "NULL" },
- 		{ (kernel_ulong_t) (uintptr_t) (bogus_path1 + PATH1_SIZE),
-@@ -229,62 +289,16 @@
- 		(kernel_ulong_t) (uintptr_t) bogus_mount_id,
- 	};
- 
--	const int flags = 0x400;
--	int mount_id;
- 	unsigned int i;
- 	unsigned int j;
- 	unsigned int k;
- 	unsigned int l;
- 	unsigned int m;
- 
--
- 	snprintf(bogus_path1_addr, sizeof(bogus_path1_addr), "%p", bogus_path1);
- 	snprintf(bogus_path1_after_addr, sizeof(bogus_path1_after_addr), "%p",
- 		bogus_path1 + PATH1_SIZE);
- 
--	handle_0->handle_bytes = 256;
--	handle_8->handle_bytes = 0;
--	handle_128->handle_bytes = 128;
--	handle_256->handle_bytes = 256;
--
--	fill_memory((char *) handle_128 + sizeof(struct file_handle), 128);
--	fill_memory((char *) handle_256 + sizeof(struct file_handle), 256);
--
--	snprintf(handle_0_addr, sizeof(handle_0_addr), "%p",
--		handle_0 + sizeof(struct file_handle));
--
--	handle->handle_bytes = 0;
--
--	assert(syscall(__NR_name_to_handle_at, fdcwd, ".", handle, &mount_id,
--		flags | 1) == -1);
--	if (EINVAL != errno)
--		perror_msg_and_skip("name_to_handle_at");
--	printf("name_to_handle_at(AT_FDCWD, \".\", {handle_bytes=0}, %p"
--	       ", AT_SYMLINK_FOLLOW|0x1) = -1 EINVAL (%m)\n", &mount_id);
--
--	assert(syscall(__NR_name_to_handle_at, fdcwd, ".", handle, &mount_id,
--		flags) == -1);
--	if (EOVERFLOW != errno)
--		perror_msg_and_skip("name_to_handle_at");
--	printf("name_to_handle_at(AT_FDCWD, \".\", {handle_bytes=0 => %u}"
--	       ", %p, AT_SYMLINK_FOLLOW) = -1 EOVERFLOW (%m)\n",
--	       handle->handle_bytes, &mount_id);
--
--	assert(syscall(__NR_name_to_handle_at, fdcwd, ".", handle, &mount_id,
--		flags) == 0);
--	printf("name_to_handle_at(AT_FDCWD, \".\", {handle_bytes=%u"
--	       ", handle_type=%d, f_handle=",
--	       handle->handle_bytes, handle->handle_type);
--	print_handle_data(handle->f_handle, handle->handle_bytes);
--	printf("}, [%d], AT_SYMLINK_FOLLOW) = 0\n", mount_id);
--
--	printf("open_by_handle_at(-1, {handle_bytes=%u, handle_type=%d"
--	       ", f_handle=", handle->handle_bytes, handle->handle_type);
--	print_handle_data(handle->f_handle, handle->handle_bytes);
--	int rc = syscall(__NR_open_by_handle_at, -1, handle,
--		O_RDONLY | O_DIRECTORY);
--	printf("}, O_RDONLY|O_DIRECTORY) = %d %s (%m)\n", rc, errno2name());
--
- 	for (i = 0; i < ARRAY_SIZE(dirfds); i++) {
- 		for (j = 0; j < ARRAY_SIZE(paths); j++) {
- 			for (k = 0; k < ARRAY_SIZE(name_handles); k++) {
-@@ -320,6 +334,68 @@
- 			}
- 		}
- 	}
-+# endif
-+
-+	/*
-+	 * Tests with dirfd.
-+	 */
-+
-+	int cwd_fd = get_dir_fd(".");
-+	char *cwd = get_fd_path(cwd_fd);
-+	char *cwd_secontext = SECONTEXT_FILE(".");
-+
-+	assert(syscall(__NR_name_to_handle_at, cwd_fd, path, handle, &mount_id,
-+		flags) == 0);
-+	printf("%s%s(%d%s, \"%s\"%s, {handle_bytes=%u, handle_type=%d"
-+	       ", f_handle=",
-+	       my_secontext, "name_to_handle_at",
-+	       cwd_fd, cwd_secontext,
-+	       path, path_secontext,
-+	       handle->handle_bytes, handle->handle_type);
-+	print_handle_data((unsigned char *) handle +
-+			  sizeof(struct file_handle),
-+			  handle->handle_bytes);
-+	printf("}, [%d], AT_SYMLINK_FOLLOW) = 0\n", mount_id);
-+
-+	printf("%s%s(-1, {handle_bytes=%u, handle_type=%d, f_handle=",
-+	       my_secontext, "open_by_handle_at",
-+	       handle->handle_bytes, handle->handle_type);
-+	print_handle_data((unsigned char *) handle +
-+			  sizeof(struct file_handle),
-+			  handle->handle_bytes);
-+	rc = syscall(__NR_open_by_handle_at, -1, handle,
-+		O_RDONLY | O_DIRECTORY);
-+	printf("}, O_RDONLY|O_DIRECTORY) = %s\n", sprintrc(rc));
-+
-+	/* cwd_fd ignored when path is absolute */
-+	if (chdir(".."))
-+		perror_msg_and_fail("chdir");
-+
-+	assert(syscall(__NR_name_to_handle_at, cwd_fd, cwd, handle, &mount_id,
-+		flags) == 0);
-+	printf("%s%s(%d%s, \"%s\"%s, {handle_bytes=%u"
-+	       ", handle_type=%d, f_handle=",
-+	       my_secontext, "name_to_handle_at",
-+	       cwd_fd, cwd_secontext,
-+	       cwd, cwd_secontext,
-+	       handle->handle_bytes, handle->handle_type);
-+	print_handle_data((unsigned char *) handle +
-+			  sizeof(struct file_handle),
-+			  handle->handle_bytes);
-+	printf("}, [%d], AT_SYMLINK_FOLLOW) = 0\n", mount_id);
-+
-+	printf("%s%s(-1, {handle_bytes=%u, handle_type=%d, f_handle=",
-+	       my_secontext, "open_by_handle_at",
-+	       handle->handle_bytes, handle->handle_type);
-+	print_handle_data((unsigned char *) handle +
-+			  sizeof(struct file_handle),
-+			  handle->handle_bytes);
-+	rc = syscall(__NR_open_by_handle_at, -1, handle,
-+		O_RDONLY | O_DIRECTORY);
-+	printf("}, O_RDONLY|O_DIRECTORY) = %s\n", sprintrc(rc));
-+
-+	if (fchdir(cwd_fd))
-+		perror_msg_and_fail("fchdir");
- 
- 	puts("+++ exited with 0 +++");
- 	return 0;
-Index: strace-5.7/tests-m32/gen_secontext.sh
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-m32/gen_secontext.sh	2021-08-24 21:08:43.271245891 +0200
-@@ -0,0 +1,72 @@
-+#!/bin/sh -efu
-+#
-+# Copyright (c) 2021 The strace developers.
-+# All rights reserved.
-+#
-+# SPDX-License-Identifier: GPL-2.0-or-later
-+
-+usage()
-+{
-+	cat >&2 <<EOF
-+Usage: $0 [<input>]
-+
-+Generate secontext files from <input> list.
-+EOF
-+	exit 1
-+}
-+
-+if [ $# -eq 0 ]; then
-+	input="${0%/*}/gen_tests.in"
-+else
-+	input="$1"
-+	shift
-+fi
-+dir="$(dirname "$input")"
-+[ $# -eq 0 ] || usage
-+
-+{
-+	cat <<EOF
-+# Generated by $0 from $input; do not edit.
-+
-+secontext_EXECUTABLES = \\
-+EOF
-+	sed -r -n 's/^([^#[:space:]]+--secontext(_full)?)[[:space:]].*/  \1 \\/p' < "$input"
-+	cat <<EOF
-+  #
-+
-+EOF
-+	sed -r -n 's/-/_/g; s/^([^#[:space:]]+__secontext(_full)?)[[:space:]].*/\1_LDADD = \$(LDADD) \$(libselinux_LDADD)/p' < "$input"
-+} > "$dir/secontext.am"
-+
-+sed -r -n 's/^([^#[:space:]]+--secontext)[[:space:]].*/\1/p' < "$input" |
-+while read -r name; do {
-+	cat <<-EOF > "$dir/$name.c"
-+		/*
-+		 * Copyright (c) 2021 The strace developers.
-+		 * All rights reserved.
-+		 *
-+		 * SPDX-License-Identifier: GPL-2.0-or-later
-+		 */
-+
-+		#include "tests.h"
-+
-+		#ifdef HAVE_SELINUX_RUNTIME
-+
-+		# define TEST_SECONTEXT
-+		# include "${name%--secontext}.c"
-+
-+		#else
-+
-+		SKIP_MAIN_UNDEFINED("HAVE_SELINUX_RUNTIME")
-+
-+		#endif
-+	EOF
-+} < /dev/null; done
-+
-+sed -r -n 's/^([^#[:space:]]+--secontext_full)[[:space:]].*/\1/p' < "$input" |
-+while read -r name; do {
-+	cat <<-EOF > "$dir/$name.c"
-+		#define PRINT_SECONTEXT_FULL
-+		#include "${name%_full}.c"
-+	EOF
-+} < /dev/null; done
-Index: strace-5.7/tests-m32/gen_tests.in
-===================================================================
---- strace-5.7.orig/tests-m32/gen_tests.in	2021-08-24 21:08:35.391312587 +0200
-+++ strace-5.7/tests-m32/gen_tests.in	2021-08-24 21:08:43.272245883 +0200
-@@ -10,6 +10,8 @@
- accept	-a22
- accept4	-a37
- access	-a30 --trace-path=access_sample
-+access--secontext	-a30 --secontext --trace-path=access_sample -e trace=access
-+access--secontext_full	-a30 --secontext=full --trace-path=access_sample -e trace=access
- acct	-a20
- add_key	-a30 -s12
- adjtimex	-a15
-@@ -24,6 +26,8 @@
- bpf-v	-a20 -v -e trace=bpf
- btrfs	+ioctl.test
- chmod	-a28
-+chmod--secontext	-a28 --secontext -e trace=chmod
-+chmod--secontext_full	-a28 --secontext=full -e trace=chmod
- chown	-a28
- chown32	-a31
- chroot	-a24
-@@ -71,25 +75,43 @@
- epoll_pwait
- epoll_wait	-a26
- erestartsys	-a34 -e signal=none -e trace=recvfrom
-+execve--secontext	+execve.test --secontext
-+execve--secontext_full	+execve.test --secontext=full
- execveat
-+execveat--secontext	--secontext --trace=execveat
-+execveat--secontext_full	--secontext=full --trace=execveat
- execveat-v	-v -e trace=execveat
-+faccessat--secontext	+faccessat.test -a24 --secontext
-+faccessat--secontext_full	+faccessat.test -a24 --secontext=full
- faccessat-P	-a23 --trace=faccessat -P /dev/full
- faccessat-y	+faccessat.test -a24 -y
-+faccessat-y--secontext	+faccessat.test -a24 -y --secontext
-+faccessat-y--secontext_full	+faccessat.test -a24 -y --secontext=full
- faccessat-yy	+faccessat.test -a24 -yy
- fadvise64_64	+fadvise64.test
- fallocate	-a18
- fanotify_init
- fanotify_mark	-a32
-+fanotify_mark--secontext	-a32 --secontext -e trace=fanotify_mark
-+fanotify_mark--secontext_full	-a32 --secontext=full -e trace=fanotify_mark
- fanotify_mark-Xabbrev	-a32 -Xabbrev -e trace=fanotify_mark
- fanotify_mark-Xraw	-a32 -Xraw -e trace=fanotify_mark
- fanotify_mark-Xverbose	-a32 -Xverbose -e trace=fanotify_mark
- fchdir	-a11
- fchmod	-a15
-+fchmod--secontext	-a15 --secontext -e trace=fchmod
-+fchmod--secontext_full	-a15 --secontext=full -e trace=fchmod
- fchmod-y	-y -e trace=fchmod
-+fchmod-y--secontext	-a15 -y --secontext -e trace=fchmod
-+fchmod-y--secontext_full	-a15 -y --secontext=full -e trace=fchmod
- fchmodat
-+fchmodat--secontext	--secontext -e trace=fchmodat
-+fchmodat--secontext_full	--secontext=full -e trace=fchmodat
- fchown	-a16
- fchown32	-a18
- fchownat
-+fchownat--secontext	--secontext -e trace=fchownat
-+fchownat--secontext_full	--secontext=full -e trace=fchownat
- fcntl	-a8
- fcntl--pidns-translation	test_pidns -a8 -e trace=fcntl
- fcntl64	-a8
-@@ -97,6 +119,8 @@
- fdatasync	-a14
- file_handle	-e trace=name_to_handle_at,open_by_handle_at
- file_ioctl	+ioctl.test
-+file_handle--secontext	--secontext -e trace=name_to_handle_at,open_by_handle_at
-+file_handle--secontext_full	--secontext=full -e trace=name_to_handle_at,open_by_handle_at
- filter_seccomp	. "${srcdir=.}/filter_seccomp.sh"; test_prog_set --seccomp-bpf -f
- filter_seccomp-flag	../$NAME
- finit_module	-a25
-@@ -295,6 +319,8 @@
- lchown32	-a32
- link
- linkat
-+linkat--secontext	--secontext -e trace=linkat
-+linkat--secontext_full	--secontext=full -e trace=linkat
- lookup_dcookie	-a27
- lstat	-a31 --no-abbrev --trace-path=stat.sample --trace-path=/dev/full
- lstat64	-a32 --no-abbrev --trace-path=stat.sample --trace-path=/dev/full
-@@ -434,9 +460,13 @@
- oldselect-efault-P	-a13 -e trace=select -P /dev/full 9>>/dev/full
- oldstat	-a32 -v -P stat.sample -P /dev/full
- open	-a30 -P $NAME.sample
-+open--secontext		-a30 -P open.sample --secontext --trace=open
-+open--secontext_full	-a30 -P open.sample --secontext=full --trace=open
- open_tree -a30 -y
- open_tree-P -a30 --decode-fds -P /dev/full -e trace=open_tree
- openat	-a36 -P $NAME.sample
-+openat--secontext	-a36 -P openat.sample -P $PWD/openat.sample --secontext -e trace=openat
-+openat--secontext_full	-a36 -P openat.sample -P $PWD/openat.sample --secontext=full -e trace=openat
- openat2	-a35
- openat2-Xabbrev	--trace=openat2 -a35 -Xabbrev
- openat2-Xraw	--trace=openat2 -a32 -Xraw
-Index: strace-5.7/tests-m32/linkat.c
-===================================================================
---- strace-5.7.orig/tests-m32/linkat.c	2021-08-24 21:08:35.391312587 +0200
-+++ strace-5.7/tests-m32/linkat.c	2021-08-24 21:08:43.272245883 +0200
-@@ -10,8 +10,14 @@
- 
- #ifdef __NR_linkat
- 
-+# include <fcntl.h>
- # include <stdio.h>
-+# include <stdlib.h>
- # include <unistd.h>
-+# include <sys/stat.h>
-+
-+# include "secontext.h"
-+# include "xmalloc.h"
- 
- int
- main(void)
-@@ -27,18 +33,158 @@
- 	const long fd_old = (long) 0xdeadbeefffffffffULL;
- 	const long fd_new = (long) 0xdeadbeeffffffffeULL;
- 
-+	char *my_secontext = SECONTEXT_PID_MY();
-+
-+	(void) unlink(sample_1);
-+	(void) unlink(sample_2);
-+
- 	long rc = syscall(__NR_linkat, fd_old, sample_1, fd_new, sample_2, 0);
--	printf("linkat(%d, \"%s\", %d, \"%s\", 0) = %ld %s (%m)\n",
-+	printf("%s%s(%d, \"%s\", %d, \"%s\", 0) = %ld %s (%m)\n",
-+	       my_secontext, "linkat",
- 	       (int) fd_old, sample_1, (int) fd_new, sample_2,
- 	       rc, errno2name());
- 
- 	rc = syscall(__NR_linkat, -100, sample_1, -100, sample_2, -1L);
--	printf("linkat(%s, \"%s\", %s, \"%s\", %s) = %ld %s (%m)\n",
-+	printf("%s%s(%s, \"%s\", %s, \"%s\", %s) = %ld %s (%m)\n",
-+	       my_secontext, "linkat",
- 	       "AT_FDCWD", sample_1, "AT_FDCWD", sample_2,
- 	       "AT_SYMLINK_NOFOLLOW|AT_REMOVEDIR|AT_SYMLINK_FOLLOW"
- 	       "|AT_NO_AUTOMOUNT|AT_EMPTY_PATH|AT_RECURSIVE|0xffff60ff",
- 	       rc, errno2name());
- 
-+	/*
-+	 * Tests with AT_FDCWD.
-+	 */
-+
-+	int fd_sample_1 = open(sample_1, O_RDONLY | O_CREAT, 0400);
-+	if (fd_sample_1 < 0)
-+		perror_msg_and_fail("open");
-+	if (close(fd_sample_1))
-+		perror_msg_and_fail("close");
-+
-+	char *sample_1_secontext = SECONTEXT_FILE(sample_1);
-+
-+	rc = syscall(__NR_linkat, -100, sample_1, -100, sample_2, 0);
-+	/* no context printed for sample_2 since file doesn't exist yet */
-+	printf("%s%s(AT_FDCWD, \"%s\"%s, AT_FDCWD, \"%s\", 0) = %s\n",
-+	       my_secontext, "linkat",
-+	       sample_1, sample_1_secontext,
-+	       sample_2,
-+	       sprintrc(rc));
-+
-+	const char *sample_2_secontext = sample_1_secontext;
-+
-+	rc = syscall(__NR_linkat, -100, sample_1, -100, sample_2, 0);
-+	printf("%s%s(AT_FDCWD, \"%s\"%s, AT_FDCWD, \"%s\"%s, 0) = %s\n",
-+	       my_secontext, "linkat",
-+	       sample_1, sample_1_secontext,
-+	       sample_2, sample_2_secontext,
-+	       sprintrc(rc));
-+
-+	int fd_sample_2 = open(sample_2, O_RDONLY | O_CREAT, 0400);
-+	if (fd_sample_2 < 0)
-+		perror_msg_and_fail("open");
-+	if (close(fd_sample_2))
-+		perror_msg_and_fail("close");
-+
-+	free(sample_1_secontext);
-+	update_secontext_type(sample_1, "default_t");
-+	sample_1_secontext = SECONTEXT_FILE(sample_1);
-+	sample_2_secontext = sample_1_secontext;
-+
-+	rc = syscall(__NR_linkat, -100, sample_1, -100, sample_2, 0);
-+	printf("%s%s(AT_FDCWD, \"%s\"%s, AT_FDCWD, \"%s\"%s, 0) = %s\n",
-+	       my_secontext, "linkat",
-+	       sample_1, sample_1_secontext,
-+	       sample_2, sample_2_secontext,
-+	       sprintrc(rc));
-+
-+	if (unlink(sample_2))
-+		perror_msg_and_fail("unlink: %s", sample_2);
-+
-+	/*
-+	 * Tests with dirfd.
-+	 */
-+
-+	int dfd_old = get_dir_fd(".");
-+	char *cwd = get_fd_path(dfd_old);
-+	char *dfd_old_secontext = SECONTEXT_FILE(".");
-+
-+	rc = syscall(__NR_linkat, dfd_old, sample_1, -100, sample_2, 0);
-+	/* no context printed for sample_2 since file doesn't exist yet */
-+	printf("%s%s(%d%s, \"%s\"%s, AT_FDCWD, \"%s\", 0) = %s\n",
-+	       my_secontext, "linkat",
-+	       dfd_old, dfd_old_secontext,
-+	       sample_1, sample_1_secontext,
-+	       sample_2,
-+	       sprintrc(rc));
-+
-+	rc = syscall(__NR_linkat, dfd_old, sample_1, -100, sample_2, 0);
-+	printf("%s%s(%d%s, \"%s\"%s, AT_FDCWD, \"%s\"%s, 0) = %s\n",
-+	       my_secontext, "linkat",
-+	       dfd_old, dfd_old_secontext,
-+	       sample_1, sample_1_secontext,
-+	       sample_2, sample_2_secontext,
-+	       sprintrc(rc));
-+
-+	if (unlink(sample_2))
-+		perror_msg_and_fail("unlink: %s", sample_2);
-+
-+	static const char new_dir[] = "new";
-+	char *new_sample_2 = xasprintf("%s/%s", new_dir, sample_2);
-+
-+	(void) unlink(new_sample_2);
-+	(void) rmdir(new_dir);
-+
-+	if (mkdir(new_dir, 0700))
-+		perror_msg_and_fail("mkdir");
-+	char *new_dir_realpath = xasprintf("%s/%s", cwd, new_dir);
-+	char *new_dir_secontext = SECONTEXT_FILE(new_dir);
-+	int dfd_new = get_dir_fd(new_dir);
-+
-+	rc = syscall(__NR_linkat, dfd_old, sample_1, dfd_new, sample_2, 0);
-+	/* no context printed for sample_2 since file doesn't exist yet */
-+	printf("%s%s(%d%s, \"%s\"%s, %d%s, \"%s\", 0) = %s\n",
-+	       my_secontext, "linkat",
-+	       dfd_old, dfd_old_secontext,
-+	       sample_1, sample_1_secontext,
-+	       dfd_new, new_dir_secontext,
-+	       sample_2,
-+	       sprintrc(rc));
-+
-+	rc = syscall(__NR_linkat, dfd_old, sample_1, dfd_new, sample_2, 0);
-+	printf("%s%s(%d%s, \"%s\"%s, %d%s, \"%s\"%s, 0) = %s\n",
-+	       my_secontext, "linkat",
-+	       dfd_old, dfd_old_secontext,
-+	       sample_1, sample_1_secontext,
-+	       dfd_new, new_dir_secontext,
-+	       sample_2, SECONTEXT_FILE(new_sample_2),
-+	       sprintrc(rc));
-+
-+	char *new_sample_2_realpath = xasprintf("%s/%s", new_dir_realpath, sample_2);
-+
-+	/* dfd ignored when path is absolute */
-+	if (chdir("../.."))
-+		perror_msg_and_fail("chdir");
-+
-+	rc = syscall(__NR_linkat, dfd_old, sample_1, -100, new_sample_2_realpath, 0);
-+	printf("%s%s(%d%s, \"%s\"%s, AT_FDCWD, \"%s\"%s, 0) = %s\n",
-+	       my_secontext, "linkat",
-+	       dfd_old, dfd_old_secontext,
-+	       sample_1, sample_1_secontext,
-+	       new_sample_2_realpath, SECONTEXT_FILE(new_sample_2_realpath),
-+	       sprintrc(rc));
-+
-+	if (fchdir(dfd_old))
-+		perror_msg_and_fail("fchdir");
-+
-+	if (unlink(sample_1))
-+		perror_msg_and_fail("unlink: %s", sample_1);
-+	if (unlink(new_sample_2))
-+		perror_msg_and_fail("unlink: %s", new_sample_2);
-+	if (rmdir(new_dir))
-+		perror_msg_and_fail("rmdir: %s", new_dir);
-+
- 	leave_and_remove_subdir();
- 
- 	puts("+++ exited with 0 +++");
-Index: strace-5.7/tests-m32/open.c
-===================================================================
---- strace-5.7.orig/tests-m32/open.c	2021-08-24 21:08:35.391312587 +0200
-+++ strace-5.7/tests-m32/open.c	2021-08-24 21:08:43.272245883 +0200
-@@ -15,6 +15,8 @@
- # include <stdio.h>
- # include <unistd.h>
- 
-+# include "secontext.h"
-+
- int
- main(void)
- {
-@@ -25,10 +27,12 @@
- 	create_and_enter_subdir("open_subdir");
- 
- 	static const char sample[] = "open.sample";
-+	char *my_secontext = SECONTEXT_PID_MY();
- 
- 	long fd = syscall(__NR_open, sample, O_RDONLY|O_CREAT, 0400);
--	printf("open(\"%s\", O_RDONLY|O_CREAT, 0400) = %s\n",
--	       sample, sprintrc(fd));
-+	printf("%s%s(\"%s\", O_RDONLY|O_CREAT, 0400) = %s%s\n",
-+	       my_secontext, "open",
-+	       sample, sprintrc(fd), SECONTEXT_FILE(sample));
- 
- 	if (fd != -1) {
- 		close(fd);
-@@ -36,16 +40,18 @@
- 			perror_msg_and_fail("unlink");
- 
- 		fd = syscall(__NR_open, sample, O_RDONLY);
--		printf("open(\"%s\", O_RDONLY) = %s\n", sample, sprintrc(fd));
-+		printf("%s%s(\"%s\", O_RDONLY) = %s\n",
-+		       my_secontext, "open", sample, sprintrc(fd));
- 
- 		fd = syscall(__NR_open, sample, O_WRONLY|O_NONBLOCK|0x80000000);
--		printf("open(\"%s\", O_WRONLY|O_NONBLOCK|0x80000000) = %s\n",
--		       sample, sprintrc(fd));
-+		printf("%s%s(\"%s\", O_WRONLY|O_NONBLOCK|0x80000000) = %s\n",
-+		       my_secontext, "open", sample, sprintrc(fd));
- 	}
- 
- # ifdef O_TMPFILE
- 	fd = syscall(__NR_open, sample, O_WRONLY|O_TMPFILE, 0600);
--	printf("open(\"%s\", O_WRONLY|O_TMPFILE, 0600) = %s\n",
-+	printf("%s%s(\"%s\", O_WRONLY|O_TMPFILE, 0600) = %s\n",
-+	       my_secontext, "open",
- 	       sample, sprintrc(fd));
- # endif /* O_TMPFILE */
- 
-Index: strace-5.7/tests-m32/openat.c
-===================================================================
---- strace-5.7.orig/tests-m32/openat.c	2021-08-24 21:08:35.392312578 +0200
-+++ strace-5.7/tests-m32/openat.c	2021-08-24 21:08:43.273245874 +0200
-@@ -15,6 +15,8 @@
- # include <stdio.h>
- # include <unistd.h>
- 
-+# include "secontext.h"
-+
- # ifdef O_TMPFILE
- /* The kernel & C libraries often inline O_DIRECTORY. */
- #  define STRACE_O_TMPFILE (O_TMPFILE & ~O_DIRECTORY)
-@@ -26,10 +28,12 @@
- 
- static void
- test_mode_flag(unsigned int mode_val, const char *mode_str,
--	       unsigned int flag_val, const char *flag_str)
-+	       unsigned int flag_val, const char *flag_str,
-+	       const char *my_secontext)
- {
- 	long rc = syscall(__NR_openat, -1, sample, mode_val | flag_val, 0);
--	printf("openat(-1, \"%s\", %s%s%s%s) = %s\n",
-+	printf("%s%s(-1, \"%s\", %s%s%s%s) = %s\n",
-+	       my_secontext, "openat",
- 	       sample, mode_str,
- 	       flag_val ? "|" : "", flag_str,
- 	       flag_val & (O_CREAT | STRACE_O_TMPFILE) ? ", 000" : "",
-@@ -45,20 +49,7 @@
- 	 */
- 	create_and_enter_subdir("openat_subdir");
- 
--	long fd = syscall(__NR_openat, -100, sample, O_RDONLY|O_CREAT, 0400);
--	printf("openat(AT_FDCWD, \"%s\", O_RDONLY|O_CREAT, 0400) = %s\n",
--	       sample, sprintrc(fd));
--
--	if (fd != -1) {
--		close(fd);
--		if (unlink(sample) == -1)
--			perror_msg_and_fail("unlink");
--
--		fd = syscall(__NR_openat, -100, sample, O_RDONLY);
--		printf("openat(AT_FDCWD, \"%s\", O_RDONLY) = %s\n",
--		       sample, sprintrc(fd));
--	}
--
-+	char *my_secontext = SECONTEXT_PID_MY();
- 	struct {
- 		unsigned int val;
- 		const char *str;
-@@ -105,7 +96,73 @@
- 	for (unsigned int m = 0; m < ARRAY_SIZE(modes); ++m)
- 		for (unsigned int f = 0; f < ARRAY_SIZE(flags); ++f)
- 			test_mode_flag(modes[m].val, modes[m].str,
--				       flags[f].val, flags[f].str);
-+				       flags[f].val, flags[f].str,
-+				       my_secontext);
-+
-+	/*
-+	 * Tests with AT_FDCWD.
-+	 */
-+
-+	(void) unlink(sample);
-+	long fd = syscall(__NR_openat, -100, sample, O_RDONLY|O_CREAT, 0400);
-+
-+	char *sample_secontext = SECONTEXT_FILE(sample);
-+
-+	/*
-+	 * File context in openat() is not displayed because file doesn't exist
-+	 * yet, but is displayed in return value since the file got created.
-+	 */
-+	printf("%s%s(AT_FDCWD, \"%s\", O_RDONLY|O_CREAT, 0400) = %s%s\n",
-+	       my_secontext, "openat",
-+	       sample,
-+	       sprintrc(fd), sample_secontext);
-+
-+	close(fd);
-+
-+	fd = syscall(__NR_openat, -100, sample, O_RDONLY);
-+	printf("%s%s(AT_FDCWD, \"%s\"%s, O_RDONLY) = %s%s\n",
-+	       my_secontext, "openat",
-+	       sample, sample_secontext,
-+	       sprintrc(fd), sample_secontext);
-+	if (fd != -1) {
-+		close(fd);
-+		if (unlink(sample))
-+			perror_msg_and_fail("unlink");
-+	}
-+
-+	/*
-+	 * Tests with dirfd.
-+	 */
-+
-+	int cwd_fd = get_dir_fd(".");
-+	char *cwd_secontext = SECONTEXT_FILE(".");
-+
-+	fd = syscall(__NR_openat, cwd_fd, sample, O_RDONLY|O_CREAT, 0400);
-+	if (fd == -1)
-+		perror_msg_and_fail("openat");
-+	close(fd);
-+
-+	/*
-+	 * File context in openat() is not displayed because file doesn't exist
-+	 * yet, but is displayed in return value since the file got created.
-+	 */
-+	printf("%s%s(%d%s, \"%s\", O_RDONLY|O_CREAT, 0400) = %s%s\n",
-+	       my_secontext, "openat",
-+	       cwd_fd, cwd_secontext,
-+	       sample,
-+	       sprintrc(fd), sample_secontext);
-+
-+	fd = syscall(__NR_openat, cwd_fd, sample, O_RDONLY);
-+	printf("%s%s(%d%s, \"%s\"%s, O_RDONLY) = %s%s\n",
-+	       my_secontext, "openat",
-+	       cwd_fd, cwd_secontext,
-+	       sample, sample_secontext,
-+	       sprintrc(fd), sample_secontext);
-+	if (fd != -1) {
-+		close(fd);
-+		if (unlink(sample))
-+			perror_msg_and_fail("unlink");
-+	}
- 
- 	leave_and_remove_subdir();
- 
-Index: strace-5.7/tests-m32/options-syntax.test
-===================================================================
---- strace-5.7.orig/tests-m32/options-syntax.test	2021-08-24 21:08:35.392312578 +0200
-+++ strace-5.7/tests-m32/options-syntax.test	2021-08-24 21:08:43.273245874 +0200
-@@ -2,14 +2,16 @@
- #
- # Check strace options syntax.
- #
--# Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
--# Copyright (c) 2016-2020 The strace developers.
-+# Copyright (c) 2016 Dmitry V. Levin <ldv@strace.io>
-+# Copyright (c) 2016-2021 The strace developers.
- # All rights reserved.
- #
- # SPDX-License-Identifier: GPL-2.0-or-later
- 
- . "${srcdir=.}/syntax.sh"
- 
-+compiled_with_secontext=$(get_config_option ENABLE_SECONTEXT "y")
-+
- check_e "Invalid process id: '0'" -p 0
- check_e "Invalid process id: '0'" --attach=0
- check_e "Invalid process id: '-42'" -p -42
-@@ -46,6 +48,8 @@
- check_e '-t and --absolute-timestamps cannot be provided simultaneously' --absolute-timestamps -ttt -p $$
- check_e '-t and --absolute-timestamps cannot be provided simultaneously' -t --timestamps=ns -t -p $$
- check_e '-t and --absolute-timestamps cannot be provided simultaneously' --timestamps=ns -t --absolute-timestamps=unix -p $$
-+[ -z "$compiled_with_secontext" ] ||
-+	check_h "invalid --secontext argument: 'ss'" --secontext=ss
- check_h 'PROG [ARGS] must be specified with -D/--daemonize' -D -p $$
- check_h 'PROG [ARGS] must be specified with -D/--daemonize' -DD -p $$
- check_h 'PROG [ARGS] must be specified with -D/--daemonize' -DDD -p $$
-@@ -281,6 +285,11 @@
- $STRACE_EXE: Only the last of -z/--successful-only/-Z/--failed-only options will take effect. See status qualifier for more complex filters.
- $STRACE_EXE: $umsg" -u :nosuchuser: -cirtTyzZ true
- 
-+	if [ -n "$compiled_with_secontext" ]; then
-+		check_e "--secontext has no effect with -c/--summary-only
-+$STRACE_EXE: $umsg" -u :nosuchuser: -c --secontext true
-+	fi
-+
- 	for c in --output-separately -A/--output-append-mode; do
- 		check_e "$c has no effect without -o/--output
- $STRACE_EXE: $umsg" -u :nosuchuser: ${c%%/*} true
-Index: strace-5.7/tests-m32/secontext.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-m32/secontext.c	2021-08-24 21:08:43.274245866 +0200
-@@ -0,0 +1,201 @@
-+/*
-+ * Copyright (c) 2021 The strace developers.
-+ * All rights reserved.
-+ *
-+ * SPDX-License-Identifier: GPL-2.0-or-later
-+ */
-+
-+#include "tests.h"
-+
-+#ifdef HAVE_SELINUX_RUNTIME
-+
-+# include <assert.h>
-+# include <errno.h>
-+# include <stdlib.h>
-+# include <string.h>
-+# include <unistd.h>
-+# include <selinux/selinux.h>
-+
-+# include "xmalloc.h"
-+
-+# define TEST_SECONTEXT
-+# include "secontext.h"
-+
-+static char *
-+secontext_format(char *context, const char *fmt)
-+	ATTRIBUTE_FORMAT((printf, 2, 0)) ATTRIBUTE_MALLOC;
-+
-+static char *
-+secontext_format(char *context, const char *fmt)
-+{
-+	int saved_errno = errno;
-+	char *res = context ? xasprintf(fmt, context) : xstrdup("");
-+	free(context);
-+	errno = saved_errno;
-+	return res;
-+}
-+
-+# define FORMAT_SPACE_BEFORE(string)	secontext_format(string, " [%s]")
-+# define FORMAT_SPACE_AFTER(string)	secontext_format(string, "[%s] ")
-+
-+static char *
-+strip_trailing_newlines(char *context)
-+{
-+	/*
-+	 * On the CI at least, the context may have a trailing \n,
-+	 * let's remove it just in case.
-+	 */
-+	size_t len = strlen(context);
-+	for (; len > 0; --len) {
-+		if (context[len - 1] != '\n')
-+			break;
-+	}
-+	context[len] = '\0';
-+	return context;
-+}
-+
-+static char *
-+raw_secontext_full_file(const char *filename)
-+{
-+	int saved_errno = errno;
-+	char *full_secontext = NULL;
-+	char *secontext;
-+
-+	if (getfilecon(filename, &secontext) >= 0) {
-+		full_secontext = strip_trailing_newlines(xstrdup(secontext));
-+		freecon(secontext);
-+	}
-+	errno = saved_errno;
-+	return full_secontext;
-+}
-+
-+static char *
-+raw_secontext_short_file(const char *filename)
-+{
-+	int saved_errno = errno;
-+
-+	char *ctx = raw_secontext_full_file(filename);
-+	if (ctx == NULL)
-+		return ctx;
-+
-+	char *saveptr = NULL;
-+	const char *token;
-+	unsigned int i;
-+
-+	char *ctx_copy = xstrdup(ctx);
-+	char *context = NULL;
-+	for (token = strtok_r(ctx_copy, ":", &saveptr), i = 0;
-+	     token; token = strtok_r(NULL, ":", &saveptr), i++) {
-+		if (i == 2) {
-+			context = xstrdup(token);
-+			break;
-+		}
-+	}
-+	if (context == NULL)
-+		context = xstrdup(ctx);
-+	free(ctx_copy);
-+	free(ctx);
-+
-+	errno = saved_errno;
-+	return context;
-+}
-+
-+static char *
-+raw_secontext_full_pid(pid_t pid)
-+{
-+	int saved_errno = errno;
-+	char *full_secontext = NULL;
-+	char *secontext;
-+
-+	if (getpidcon(pid, &secontext) == 0) {
-+		full_secontext = strip_trailing_newlines(xstrdup(secontext));
-+		freecon(secontext);
-+	}
-+	errno = saved_errno;
-+	return full_secontext;
-+}
-+
-+static char *
-+raw_secontext_short_pid(pid_t pid)
-+{
-+	int saved_errno = errno;
-+
-+	char *ctx = raw_secontext_full_pid(pid);
-+	if (ctx == NULL)
-+		return ctx;
-+
-+	char *saveptr = NULL;
-+	const char *token;
-+	int i;
-+
-+	char *ctx_copy = xstrdup(ctx);
-+	char *context = NULL;
-+	for (token = strtok_r(ctx_copy, ":", &saveptr), i = 0;
-+	     token; token = strtok_r(NULL, ":", &saveptr), i++) {
-+		if (i == 2) {
-+			context = xstrdup(token);
-+			break;
-+		}
-+	}
-+	if (context == NULL)
-+		context = xstrdup(ctx);
-+	free(ctx_copy);
-+	free(ctx);
-+
-+	errno = saved_errno;
-+	return context;
-+}
-+
-+char *
-+secontext_full_file(const char *filename)
-+{
-+	return FORMAT_SPACE_BEFORE(raw_secontext_full_file(filename));
-+}
-+
-+char *
-+secontext_full_pid(pid_t pid)
-+{
-+	return FORMAT_SPACE_AFTER(raw_secontext_full_pid(pid));
-+}
-+
-+char *
-+secontext_short_file(const char *filename)
-+{
-+	return FORMAT_SPACE_BEFORE(raw_secontext_short_file(filename));
-+}
-+
-+char *
-+secontext_short_pid(pid_t pid)
-+{
-+	return FORMAT_SPACE_AFTER(raw_secontext_short_pid(pid));
-+}
-+
-+void
-+update_secontext_type(const char *file, const char *newtype)
-+{
-+	char *ctx = raw_secontext_full_file(file);
-+	if (ctx == NULL)
-+		return;
-+
-+	char *saveptr = NULL;
-+	char *token;
-+	int field;
-+	char *split[4];
-+
-+	for (token = strtok_r(ctx, ":", &saveptr), field = 0;
-+	     token; token = strtok_r(NULL, ":", &saveptr), field++) {
-+		assert(field < 4);
-+		split[field] = token;
-+	}
-+	assert(field == 4);
-+
-+	char *newcontext = xasprintf("%s:%s:%s:%s", split[0], split[1],
-+				     newtype, split[3]);
-+
-+	(void) setfilecon(file, newcontext);
-+
-+	free(newcontext);
-+	free(ctx);
-+}
-+
-+#endif /* HAVE_SELINUX_RUNTIME */
-Index: strace-5.7/tests-m32/secontext.h
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-m32/secontext.h	2021-08-24 21:08:43.274245866 +0200
-@@ -0,0 +1,46 @@
-+/*
-+ * Copyright (c) 2021 The strace developers.
-+ * All rights reserved.
-+ *
-+ * SPDX-License-Identifier: GPL-2.0-or-later
-+ */
-+
-+#include "tests.h"
-+#include "xmalloc.h"
-+#include <unistd.h>
-+
-+#if defined TEST_SECONTEXT && defined HAVE_SELINUX_RUNTIME
-+
-+void update_secontext_type(const char *file, const char *newtype);
-+
-+# ifdef PRINT_SECONTEXT_FULL
-+
-+char *secontext_full_file(const char *) ATTRIBUTE_MALLOC;
-+char *secontext_full_pid(pid_t) ATTRIBUTE_MALLOC;
-+
-+#  define SECONTEXT_FILE(filename)	secontext_full_file(filename)
-+#  define SECONTEXT_PID(pid)		secontext_full_pid(pid)
-+
-+# else
-+
-+char *secontext_short_file(const char *) ATTRIBUTE_MALLOC;
-+char *secontext_short_pid(pid_t) ATTRIBUTE_MALLOC;
-+
-+#  define SECONTEXT_FILE(filename)	secontext_short_file(filename)
-+#  define SECONTEXT_PID(pid)		secontext_short_pid(pid)
-+
-+# endif
-+
-+#else
-+
-+static inline void
-+update_secontext_type(const char *file, const char *newtype)
-+{
-+}
-+
-+# define SECONTEXT_FILE(filename)		xstrdup("")
-+# define SECONTEXT_PID(pid)			xstrdup("")
-+
-+#endif
-+
-+#define SECONTEXT_PID_MY()		SECONTEXT_PID(getpid())
-Index: strace-5.7/tests-m32/strace-V.test
-===================================================================
---- strace-5.7.orig/tests-m32/strace-V.test	2021-08-24 21:08:35.392312578 +0200
-+++ strace-5.7/tests-m32/strace-V.test	2021-08-24 21:08:43.274245866 +0200
-@@ -33,7 +33,9 @@
- 	;;
- esac
- 
--features="${option_unwind}${option_demangle}${option_m32}${option_mx32}"
-+option_secontext=$(get_config_option ENABLE_SECONTEXT " secontext")
-+
-+features="${option_unwind}${option_demangle}${option_m32}${option_mx32}${option_secontext}"
- [ -n "$features" ] || features=" (none)"
- 
- cat > "$EXP" << __EOF__
-Index: strace-5.7/tests-mx32/Makefile.am
-===================================================================
---- strace-5.7.orig/tests-mx32/Makefile.am	2021-08-24 21:08:35.393312570 +0200
-+++ strace-5.7/tests-mx32/Makefile.am	2021-08-24 21:08:43.274245866 +0200
-@@ -28,6 +28,12 @@
- 	      -DTESTS_SIZEOF_LONG=$(SIZEOF_LONG)
- AM_LDFLAGS = $(ARCH_MFLAGS)
- 
-+if HAVE_SELINUX_RUNTIME
-+libselinux_LDADD = $(libselinux_LIBS)
-+else
-+libselinux_LDADD =
-+endif
-+
- libtests_a_SOURCES = \
- 	create_nl_socket.c \
- 	create_tmpfile.c \
-@@ -54,6 +60,8 @@
- 	printxval-Xabbrev.c \
- 	printxval-Xraw.c \
- 	printxval-Xverbose.c \
-+	secontext.c \
-+	secontext.h \
- 	signal2name.c \
- 	skip_unavailable.c \
- 	sprintrc.c \
-@@ -76,7 +84,10 @@
- 
- include pure_executables.am
- 
-+include secontext.am
-+
- check_PROGRAMS = $(PURE_EXECUTABLES) \
-+	$(secontext_EXECUTABLES) \
- 	_newselect-P \
- 	answer \
- 	attach-f-p \
-Index: strace-5.7/tests-mx32/access.c
-===================================================================
---- strace-5.7.orig/tests-mx32/access.c	2021-08-24 21:08:35.393312570 +0200
-+++ strace-5.7/tests-mx32/access.c	2021-08-24 21:08:43.275245858 +0200
-@@ -10,9 +10,12 @@
- 
- #ifdef __NR_access
- 
-+# include <fcntl.h>
- # include <stdio.h>
- # include <unistd.h>
- 
-+# include "secontext.h"
-+
- int
- main(void)
- {
-@@ -22,15 +25,27 @@
- 	 */
- 	create_and_enter_subdir("access_subdir");
- 
-+	char *my_secontext = SECONTEXT_PID_MY();
-+
- 	static const char sample[] = "access_sample";
-+	(void) unlink(sample);
-+	if (open(sample, O_CREAT|O_RDONLY, 0400) == -1)
-+		perror_msg_and_fail("open: %s", sample);
- 
- 	long rc = syscall(__NR_access, sample, F_OK);
--	printf("access(\"%s\", F_OK) = %ld %s (%m)\n",
--	       sample, rc, errno2name());
-+	printf("%s%s(\"%s\"%s, F_OK) = %s\n",
-+	       my_secontext, "access",
-+	       sample, SECONTEXT_FILE(sample),
-+	       sprintrc(rc));
-+
-+	if (unlink(sample))
-+		perror_msg_and_fail("unlink: %s", sample);
- 
- 	rc = syscall(__NR_access, sample, R_OK|W_OK|X_OK);
--	printf("access(\"%s\", R_OK|W_OK|X_OK) = %ld %s (%m)\n",
--	       sample, rc, errno2name());
-+	printf("%s%s(\"%s\", R_OK|W_OK|X_OK) = %s\n",
-+	       my_secontext, "access",
-+	       sample,
-+	       sprintrc(rc));
- 
- 	leave_and_remove_subdir();
- 
-Index: strace-5.7/tests-mx32/chmod.c
-===================================================================
---- strace-5.7.orig/tests-mx32/chmod.c	2021-08-24 21:08:35.393312570 +0200
-+++ strace-5.7/tests-mx32/chmod.c	2021-08-24 21:08:43.275245858 +0200
-@@ -16,6 +16,8 @@
- # include <stdio.h>
- # include <unistd.h>
- 
-+# include "secontext.h"
-+
- int
- main(void)
- {
-@@ -25,22 +27,33 @@
- 	 */
- 	create_and_enter_subdir("chmod_subdir");
- 
--	static const char fname[] = "chmod_test_file";
--
--	if (open(fname, O_CREAT|O_RDONLY, 0400) < 0)
--		perror_msg_and_fail("open");
--
--	long rc = syscall(__NR_chmod, fname, 0600);
--	printf("chmod(\"%s\", 0600) = %s\n", fname, sprintrc(rc));
--
--	if (unlink(fname))
--		perror_msg_and_fail("unlink");
--
--	rc = syscall(__NR_chmod, fname, 051);
--	printf("chmod(\"%s\", 051) = %s\n", fname, sprintrc(rc));
-+	char *my_secontext = SECONTEXT_PID_MY();
- 
--	rc = syscall(__NR_chmod, fname, 004);
--	printf("chmod(\"%s\", 004) = %s\n", fname, sprintrc(rc));
-+	static const char sample[] = "chmod_test_file";
-+	(void) unlink(sample);
-+	if (open(sample, O_CREAT|O_RDONLY, 0400) < 0)
-+		perror_msg_and_fail("open: %s", sample);
-+
-+	long rc = syscall(__NR_chmod, sample, 0600);
-+	printf("%s%s(\"%s\"%s, 0600) = %s\n",
-+	       my_secontext, "chmod",
-+	       sample, SECONTEXT_FILE(sample),
-+	       sprintrc(rc));
-+
-+	if (unlink(sample))
-+		perror_msg_and_fail("unlink: %s", sample);
-+
-+	rc = syscall(__NR_chmod, sample, 051);
-+	printf("%s%s(\"%s\", 051) = %s\n",
-+	       my_secontext, "chmod",
-+	       sample,
-+	       sprintrc(rc));
-+
-+	rc = syscall(__NR_chmod, sample, 004);
-+	printf("%s%s(\"%s\", 004) = %s\n",
-+	       my_secontext, "chmod",
-+	       sample,
-+	       sprintrc(rc));
- 
- 	leave_and_remove_subdir();
- 
-Index: strace-5.7/tests-mx32/execve.c
-===================================================================
---- strace-5.7.orig/tests-mx32/execve.c	2021-08-24 21:08:35.394312561 +0200
-+++ strace-5.7/tests-mx32/execve.c	2021-08-24 21:08:43.275245858 +0200
-@@ -9,9 +9,12 @@
-  */
- 
- #include "tests.h"
-+#include <fcntl.h>
- #include <stdio.h>
- #include <unistd.h>
- 
-+#include "secontext.h"
-+
- static const char *errstr;
- 
- static int
-@@ -52,9 +55,16 @@
- 
- 	char ** const tail_argv = tail_memdup(argv, sizeof(argv));
- 	char ** const tail_envp = tail_memdup(envp, sizeof(envp));
-+	char *my_secontext = SECONTEXT_PID_MY();
-+
-+	(void) unlink(FILENAME);
-+	if (open(FILENAME, O_RDONLY | O_CREAT, 0400) < 0)
-+		perror_msg_and_fail("open");
-+
-+	char *FILENAME_secontext = SECONTEXT_FILE(FILENAME);
- 
- 	call_execve(FILENAME, tail_argv, tail_envp);
--	printf("execve(\"%s\""
-+	printf("%s%s(\"%s\"%s"
- 	       ", [\"%s\", \"%s\", \"%s\", %p, %p, %p, ... /* %p */]"
- #if VERBOSE
- 	       ", [\"%s\", \"%s\", %p, %p, %p, ... /* %p */]"
-@@ -62,7 +72,9 @@
- 	       ", %p /* 5 vars, unterminated */"
- #endif
- 	       ") = %s\n",
--	       Q_FILENAME, q_argv[0], q_argv[1], q_argv[2],
-+	       my_secontext, "execve",
-+	       Q_FILENAME, FILENAME_secontext,
-+	       q_argv[0], q_argv[1], q_argv[2],
- 	       argv[3], argv[4], argv[5], (char *) tail_argv + sizeof(argv)
- #if VERBOSE
- 	       , q_envp[0], q_envp[1], envp[2], envp[3], envp[4],
-@@ -77,14 +89,16 @@
- 	(void) q_envp;	/* workaround for clang bug #33068 */
- 
- 	call_execve(FILENAME, tail_argv, tail_envp);
--	printf("execve(\"%s\", [\"%s\", \"%s\", \"%s\"]"
-+	printf("%s%s(\"%s\"%s, [\"%s\", \"%s\", \"%s\"]"
- #if VERBOSE
- 	       ", [\"%s\", \"%s\"]"
- #else
- 	       ", %p /* 2 vars */"
- #endif
- 	       ") = %s\n",
--	       Q_FILENAME, q_argv[0], q_argv[1], q_argv[2]
-+	       my_secontext, "execve",
-+	       Q_FILENAME, FILENAME_secontext,
-+	       q_argv[0], q_argv[1], q_argv[2]
- #if VERBOSE
- 	       , q_envp[0], q_envp[1]
- #else
-@@ -93,14 +107,16 @@
- 	       , errstr);
- 
- 	call_execve(FILENAME, tail_argv + 2, tail_envp + 1);
--	printf("execve(\"%s\", [\"%s\"]"
-+	printf("%s%s(\"%s\"%s, [\"%s\"]"
- #if VERBOSE
- 	       ", [\"%s\"]"
- #else
- 	       ", %p /* 1 var */"
- #endif
- 	       ") = %s\n",
--	       Q_FILENAME, q_argv[2]
-+	       my_secontext, "execve",
-+	       Q_FILENAME, FILENAME_secontext,
-+	       q_argv[2]
- #if VERBOSE
- 	       , q_envp[1]
- #else
-@@ -113,13 +129,15 @@
- 	*empty = NULL;
- 
- 	call_execve(FILENAME, empty, empty);
--	printf("execve(\"%s\", []"
-+	printf("%s%s(\"%s\"%s, []"
- #if VERBOSE
- 	       ", []"
- #else
- 	       ", %p /* 0 vars */"
- #endif
--	       ") = %s\n", Q_FILENAME
-+	       ") = %s\n",
-+	       my_secontext, "execve",
-+	       Q_FILENAME, FILENAME_secontext
- #if !VERBOSE
- 	       , empty
- #endif
-@@ -143,7 +161,10 @@
- 	a[i] = b[i] = NULL;
- 
- 	call_execve(FILENAME, a, b);
--	printf("execve(\"%s\", [\"%.*s\"...", Q_FILENAME, DEFAULT_STRLEN, a[0]);
-+	printf("%s%s(\"%s\"%s, [\"%.*s\"...",
-+	       my_secontext, "execve",
-+	       Q_FILENAME, FILENAME_secontext,
-+	       DEFAULT_STRLEN, a[0]);
- 	for (i = 1; i < DEFAULT_STRLEN; ++i)
- 		printf(", \"%s\"", a[i]);
- #if VERBOSE
-@@ -162,7 +183,10 @@
- 	printf(") = %s\n", errstr);
- 
- 	call_execve(FILENAME, a + 1, b + 1);
--	printf("execve(\"%s\", [\"%s\"", Q_FILENAME, a[1]);
-+	printf("%s%s(\"%s\"%s, [\"%s\"",
-+	       my_secontext, "execve",
-+	       Q_FILENAME, FILENAME_secontext,
-+	       a[1]);
- 	for (i = 2; i <= DEFAULT_STRLEN; ++i)
- 		printf(", \"%s\"", a[i]);
- #if VERBOSE
-@@ -175,12 +199,17 @@
- #endif
- 	printf(") = %s\n", errstr);
- 
-+	if (unlink(FILENAME))
-+		perror_msg_and_fail("unlink");
-+
- 	call_execve(FILENAME, (char **) tail_argv[ARRAY_SIZE(q_argv)], efault);
--	printf("execve(\"%s\", NULL, %p) = %s\n",
-+	printf("%s%s(\"%s\", NULL, %p) = %s\n",
-+	       my_secontext, "execve",
- 	       Q_FILENAME, efault, errstr);
- 
- 	call_execve(FILENAME, efault, NULL);
--	printf("execve(\"%s\", %p, NULL) = %s\n",
-+	printf("%s%s(\"%s\", %p, NULL) = %s\n",
-+	       my_secontext, "execve",
- 	       Q_FILENAME, efault, errstr);
- 
- 	leave_and_remove_subdir();
-Index: strace-5.7/tests-mx32/execve.test
-===================================================================
---- strace-5.7.orig/tests-mx32/execve.test	2021-08-24 21:08:35.394312561 +0200
-+++ strace-5.7/tests-mx32/execve.test	2021-08-24 21:08:43.275245858 +0200
-@@ -11,7 +11,7 @@
- 
- check_prog grep
- run_prog > /dev/null
--run_strace -eexecve $args > "$EXP"
-+run_strace -eexecve "$@" $args > "$EXP"
- 
- # Filter out execve() call made by strace.
- grep -F test.execve < "$LOG" > "$OUT"
-Index: strace-5.7/tests-mx32/execveat.c
-===================================================================
---- strace-5.7.orig/tests-mx32/execveat.c	2021-08-24 21:08:35.394312561 +0200
-+++ strace-5.7/tests-mx32/execveat.c	2021-08-24 21:08:43.276245849 +0200
-@@ -13,9 +13,102 @@
- 
- #ifdef __NR_execveat
- 
-+# include <fcntl.h>
- # include <stdio.h>
- # include <unistd.h>
- 
-+# include "secontext.h"
-+
-+static void
-+tests_with_existing_file(void)
-+{
-+	/*
-+	 * Make sure the current workdir of the tracee
-+	 * is different from the current workdir of the tracer.
-+	 */
-+	create_and_enter_subdir("execveat_subdir");
-+
-+	char *my_secontext = SECONTEXT_PID_MY();
-+
-+	static const char sample[] = "execveat_sample";
-+	(void) unlink(sample);
-+	if (open(sample, O_RDONLY | O_CREAT, 0400) < 0)
-+		perror_msg_and_fail("open");
-+
-+	char *sample_secontext = SECONTEXT_FILE(sample);
-+	static const char *argv[] = { sample, NULL };
-+
-+	/*
-+	 * Tests with AT_FDCWD.
-+	 */
-+
-+	long rc = syscall(__NR_execveat, -100, sample, argv, NULL, 0);
-+	printf("%s%s(AT_FDCWD, \"%s\"%s, [\"%s\"], NULL, 0) = %s\n",
-+	       my_secontext, "execveat",
-+	       sample, sample_secontext,
-+	       argv[0],
-+	       sprintrc(rc));
-+
-+	if (unlink(sample))
-+		perror_msg_and_fail("unlink");
-+
-+	rc = syscall(__NR_execveat, -100, sample, argv, NULL, 0);
-+	printf("%s%s(AT_FDCWD, \"%s\", [\"%s\"], NULL, 0) = %s\n",
-+	       my_secontext, "execveat",
-+	       sample,
-+	       argv[0],
-+	       sprintrc(rc));
-+
-+	/*
-+	 * Tests with dirfd.
-+	 */
-+
-+	int cwd_fd = get_dir_fd(".");
-+	char *cwd = get_fd_path(cwd_fd);
-+	char *cwd_secontext = SECONTEXT_FILE(".");
-+	char *sample_realpath = xasprintf("%s/%s", cwd, sample);
-+
-+	/* no file */
-+	rc = syscall(__NR_execveat, cwd_fd, sample, argv, NULL, 0);
-+	printf("%s%s(%d%s, \"%s\", [\"%s\"], NULL, 0) = %s\n",
-+	       my_secontext, "execveat",
-+	       cwd_fd, cwd_secontext,
-+	       sample,
-+	       argv[0],
-+	       sprintrc(rc));
-+
-+	if (open(sample, O_RDONLY | O_CREAT, 0400) < 0)
-+		perror_msg_and_fail("open");
-+
-+	rc = syscall(__NR_execveat, cwd_fd, sample, argv, NULL, 0);
-+	printf("%s%s(%d%s, \"%s\"%s, [\"%s\"], NULL, 0) = %s\n",
-+	       my_secontext, "execveat",
-+	       cwd_fd, cwd_secontext,
-+	       sample, sample_secontext,
-+	       argv[0],
-+	       sprintrc(rc));
-+
-+	/* cwd_fd ignored when path is absolute */
-+	if (chdir("../.."))
-+		perror_msg_and_fail("chdir");
-+
-+	rc = syscall(__NR_execveat, cwd_fd, sample_realpath, argv, NULL, 0);
-+	printf("%s%s(%d%s, \"%s\"%s, [\"%s\"], NULL, 0) = %s\n",
-+	       my_secontext, "execveat",
-+	       cwd_fd, cwd_secontext,
-+	       sample_realpath, sample_secontext,
-+	       argv[0],
-+	       sprintrc(rc));
-+
-+	if (fchdir(cwd_fd))
-+		perror_msg_and_fail("fchdir");
-+
-+	if (unlink(sample))
-+		perror_msg_and_fail("unlink");
-+
-+	leave_and_remove_subdir();
-+}
-+
- # define FILENAME "test.execveat\nfilename"
- # define Q_FILENAME "test.execveat\\nfilename"
- 
-@@ -40,9 +133,10 @@
- {
- 	const char ** const tail_argv = tail_memdup(argv, sizeof(argv));
- 	const char ** const tail_envp = tail_memdup(envp, sizeof(envp));
-+	char *my_secontext = SECONTEXT_PID_MY();
- 
- 	syscall(__NR_execveat, -100, FILENAME, tail_argv, tail_envp, 0x1100);
--	printf("execveat(AT_FDCWD, \"%s\""
-+	printf("%s%s(AT_FDCWD, \"%s\""
- 	       ", [\"%s\", \"%s\", \"%s\", %p, %p, %p, ... /* %p */]"
- # if VERBOSE
- 	       ", [\"%s\", \"%s\", %p, %p, %p, ... /* %p */]"
-@@ -50,6 +144,7 @@
- 	       ", %p /* 5 vars, unterminated */"
- # endif
- 	       ", AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) = -1 %s (%m)\n",
-+	       my_secontext, "execveat",
- 	       Q_FILENAME, q_argv[0], q_argv[1], q_argv[2],
- 	       argv[3], argv[4], argv[5], (char *) tail_argv + sizeof(argv),
- # if VERBOSE
-@@ -65,13 +160,14 @@
- 	(void) q_envp;	/* workaround for clang bug #33068 */
- 
- 	syscall(__NR_execveat, -100, FILENAME, tail_argv, tail_envp, 0x1100);
--	printf("execveat(AT_FDCWD, \"%s\", [\"%s\", \"%s\", \"%s\"]"
-+	printf("%s%s(AT_FDCWD, \"%s\", [\"%s\", \"%s\", \"%s\"]"
- # if VERBOSE
- 	       ", [\"%s\", \"%s\"]"
- # else
- 	       ", %p /* 2 vars */"
- # endif
- 	       ", AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) = -1 %s (%m)\n",
-+	       my_secontext, "execveat",
- 	       Q_FILENAME, q_argv[0], q_argv[1], q_argv[2],
- # if VERBOSE
- 	       q_envp[0], q_envp[1],
-@@ -81,13 +177,14 @@
- 	       errno2name());
- 
- 	syscall(__NR_execveat, -100, FILENAME, tail_argv + 2, tail_envp + 1, 0x1100);
--	printf("execveat(AT_FDCWD, \"%s\", [\"%s\"]"
-+	printf("%s%s(AT_FDCWD, \"%s\", [\"%s\"]"
- # if VERBOSE
- 	       ", [\"%s\"]"
- # else
- 	       ", %p /* 1 var */"
- # endif
- 	       ", AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) = -1 %s (%m)\n",
-+	       my_secontext, "execveat",
- 	       Q_FILENAME, q_argv[2],
- # if VERBOSE
- 	       q_envp[1],
-@@ -101,13 +198,14 @@
- 	*empty = NULL;
- 
- 	syscall(__NR_execveat, -100, FILENAME, empty, empty, 0x1100);
--	printf("execveat(AT_FDCWD, \"%s\", []"
-+	printf("%s%s(AT_FDCWD, \"%s\", []"
- # if VERBOSE
- 	       ", []"
- # else
- 	       ", %p /* 0 vars */"
- # endif
- 	       ", AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) = -1 %s (%m)\n",
-+	       my_secontext, "execveat",
- 	       Q_FILENAME,
- # if !VERBOSE
- 	       empty,
-@@ -132,7 +230,9 @@
- 	a[i] = b[i] = NULL;
- 
- 	syscall(__NR_execveat, -100, FILENAME, a, b, 0x1100);
--	printf("execveat(AT_FDCWD, \"%s\", [\"%.*s\"...", Q_FILENAME, DEFAULT_STRLEN, a[0]);
-+	printf("%s%s(AT_FDCWD, \"%s\", [\"%.*s\"...",
-+	       my_secontext, "execveat",
-+	       Q_FILENAME, DEFAULT_STRLEN, a[0]);
- 	for (i = 1; i < DEFAULT_STRLEN; ++i)
- 		printf(", \"%s\"", a[i]);
- # if VERBOSE
-@@ -152,7 +252,9 @@
- 	       errno2name());
- 
- 	syscall(__NR_execveat, -100, FILENAME, a + 1, b + 1, 0x1100);
--	printf("execveat(AT_FDCWD, \"%s\", [\"%s\"", Q_FILENAME, a[1]);
-+	printf("%s%s(AT_FDCWD, \"%s\", [\"%s\"",
-+	       my_secontext, "execveat",
-+	       Q_FILENAME, a[1]);
- 	for (i = 2; i <= DEFAULT_STRLEN; ++i)
- 		printf(", \"%s\"", a[i]);
- # if VERBOSE
-@@ -167,15 +269,19 @@
- 	       errno2name());
- 
- 	syscall(__NR_execveat, -100, FILENAME, NULL, efault, 0x1100);
--	printf("execveat(AT_FDCWD, \"%s\", NULL, %p"
-+	printf("%s%s(AT_FDCWD, \"%s\", NULL, %p"
- 	       ", AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) = -1 %s (%m)\n",
-+	       my_secontext, "execveat",
- 	       Q_FILENAME, efault, errno2name());
- 
- 	syscall(__NR_execveat, -100, FILENAME, efault, NULL, 0x1100);
--	printf("execveat(AT_FDCWD, \"%s\", %p, NULL"
-+	printf("%s%s(AT_FDCWD, \"%s\", %p, NULL"
- 	       ", AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) = -1 %s (%m)\n",
-+	       my_secontext, "execveat",
- 	       Q_FILENAME, efault, errno2name());
- 
-+	tests_with_existing_file();
-+
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests-mx32/faccessat.c
-===================================================================
---- strace-5.7.orig/tests-mx32/faccessat.c	2021-08-24 21:08:35.394312561 +0200
-+++ strace-5.7/tests-mx32/faccessat.c	2021-08-24 21:08:43.276245849 +0200
-@@ -12,12 +12,16 @@
- 
- #ifdef __NR_faccessat
- 
--# include "xmalloc.h"
- # include <fcntl.h>
- # include <stdio.h>
- # include <unistd.h>
- 
--# ifndef FD_PATH
-+# include "secontext.h"
-+# include "xmalloc.h"
-+
-+# ifdef FD_PATH
-+#  define YFLAG
-+# else
- #  define FD_PATH ""
- # endif
- # ifndef SKIP_IF_PROC_IS_UNAVAILABLE
-@@ -43,11 +47,130 @@
- 	return rc;
- }
- 
-+# ifndef PATH_TRACING
-+static void
-+tests_with_existing_file(void)
-+{
-+	/*
-+	 * Make sure the current workdir of the tracee
-+	 * is different from the current workdir of the tracer.
-+	 */
-+	create_and_enter_subdir("faccessat_subdir");
-+
-+	char *my_secontext = SECONTEXT_PID_MY();
-+
-+	k_faccessat(-1, NULL, F_OK);
-+	printf("%s%s(-1, NULL, F_OK) = %s\n",
-+	       my_secontext, "faccessat", errstr);
-+
-+	static const char sample[] = "faccessat_sample";
-+	(void) unlink(sample);
-+	int fd = open(sample, O_CREAT|O_RDONLY, 0400);
-+	if (fd == -1)
-+		perror_msg_and_fail("open");
-+	close(fd);
-+	char *sample_secontext = SECONTEXT_FILE(sample);
-+
-+	/*
-+	 * Tests with AT_FDCWD.
-+	 */
-+
-+	k_faccessat(-100, sample, F_OK);
-+	printf("%s%s(AT_FDCWD, \"%s\"%s, F_OK) = %s\n",
-+	       my_secontext, "faccessat",
-+	       sample, sample_secontext,
-+	       errstr);
-+
-+	if (unlink(sample))
-+		perror_msg_and_fail("unlink");
-+
-+	k_faccessat(-100, sample, F_OK);
-+	printf("%s%s(AT_FDCWD, \"%s\", F_OK) = %s\n",
-+	       my_secontext, "faccessat",
-+	       sample,
-+	       errstr);
-+
-+	/*
-+	 * Tests with dirfd.
-+	 */
-+
-+	int cwd_fd = get_dir_fd(".");
-+	char *cwd = get_fd_path(cwd_fd);
-+	char *cwd_secontext = SECONTEXT_FILE(".");
-+	char *sample_realpath = xasprintf("%s/%s", cwd, sample);
-+
-+	/* no file */
-+	k_faccessat(cwd_fd, sample, F_OK);
-+#  ifdef YFLAG
-+	printf("%s%s(%d<%s>%s, \"%s\", F_OK) = %s\n",
-+#  else
-+	printf("%s%s(%d%s, \"%s\", F_OK) = %s\n",
-+#  endif
-+	       my_secontext, "faccessat",
-+	       cwd_fd,
-+#  ifdef YFLAG
-+	       cwd,
-+#  endif
-+	       cwd_secontext,
-+	       sample,
-+	       errstr);
-+
-+	fd = open(sample, O_CREAT|O_RDONLY, 0400);
-+	if (fd == -1)
-+		perror_msg_and_fail("open");
-+	close(fd);
-+
-+	k_faccessat(cwd_fd, sample, F_OK);
-+#  ifdef YFLAG
-+	printf("%s%s(%d<%s>%s, \"%s\"%s, F_OK) = %s\n",
-+#  else
-+	printf("%s%s(%d%s, \"%s\"%s, F_OK) = %s\n",
-+#  endif
-+	       my_secontext, "faccessat",
-+	       cwd_fd,
-+#  ifdef YFLAG
-+	       cwd,
-+#  endif
-+	       cwd_secontext,
-+	       sample, sample_secontext,
-+	       errstr);
-+
-+	/* cwd_fd ignored when path is absolute */
-+	if (chdir("../.."))
-+		perror_msg_and_fail("chdir");
-+
-+	k_faccessat(cwd_fd, sample_realpath, F_OK);
-+#  ifdef YFLAG
-+	printf("%s%s(%d<%s>%s, \"%s\"%s, F_OK) = %s\n",
-+#  else
-+	printf("%s%s(%d%s, \"%s\"%s, F_OK) = %s\n",
-+#  endif
-+	       my_secontext, "faccessat",
-+	       cwd_fd,
-+#  ifdef YFLAG
-+	       cwd,
-+#  endif
-+	       cwd_secontext,
-+	       sample_realpath, sample_secontext,
-+	       errstr);
-+
-+	if (fchdir(cwd_fd))
-+		perror_msg_and_fail("fchdir");
-+
-+	if (unlink(sample))
-+		perror_msg_and_fail("unlink");
-+
-+	leave_and_remove_subdir();
-+}
-+# endif
-+
- int
- main(void)
- {
- 	SKIP_IF_PROC_IS_UNAVAILABLE;
- 
-+# ifndef TEST_SECONTEXT
-+
- 	TAIL_ALLOC_OBJECT_CONST_PTR(const char, unterminated);
- 	char *unterminated_str = xasprintf("%p", unterminated);
- 	const void *const efault = unterminated + 1;
-@@ -120,10 +243,10 @@
- 				k_faccessat(dirfds[dirfd_i].val,
- 					    paths[path_i].val,
- 					    modes[mode_i].val);
--# ifdef PATH_TRACING
-+#  ifdef PATH_TRACING
- 				if (dirfds[dirfd_i].val == fd ||
- 				    paths[path_i].val == fd_path)
--# endif
-+#  endif
- 				printf("faccessat(%s, %s, %s) = %s\n",
- 				       dirfds[dirfd_i].str,
- 				       paths[path_i].str,
-@@ -133,6 +256,12 @@
- 		}
- 	}
- 
-+# endif /* !TEST_SECONTEXT */
-+
-+# ifndef PATH_TRACING
-+	tests_with_existing_file();
-+# endif
-+
- 	puts("+++ exited with 0 +++");
- 	return 0;
- }
-Index: strace-5.7/tests-mx32/faccessat.test
-===================================================================
---- strace-5.7.orig/tests-mx32/faccessat.test	2021-08-24 21:08:35.395312553 +0200
-+++ strace-5.7/tests-mx32/faccessat.test	2021-08-24 21:08:43.276245849 +0200
-@@ -15,5 +15,5 @@
- run_strace -a23 --trace=faccessat "$@" $args > "$EXP"
- 
- # Filter out faccessat() calls made by ld.so and libc.
--sed -n '/^faccessat(-1, NULL,/,$p' < "$LOG" > "$OUT"
-+sed -n '/faccessat(-1, NULL,/,$p' < "$LOG" > "$OUT"
- match_diff "$OUT" "$EXP"
-Index: strace-5.7/tests-mx32/fanotify_mark.c
-===================================================================
---- strace-5.7.orig/tests-mx32/fanotify_mark.c	2021-08-24 21:07:01.122112055 +0200
-+++ strace-5.7/tests-mx32/fanotify_mark.c	2021-08-24 21:08:43.276245849 +0200
-@@ -3,7 +3,7 @@
-  *
-  * Copyright (c) 2015-2016 Dmitry V. Levin <ldv@altlinux.org>
-  * Copyright (c) 2016 Eugene Syromyatnikov <evgsyr@gmail.com>
-- * Copyright (c) 2015-2020 The strace developers.
-+ * Copyright (c) 2015-2021 The strace developers.
-  * All rights reserved.
-  *
-  * SPDX-License-Identifier: GPL-2.0-or-later
-@@ -21,6 +21,8 @@
- # include <unistd.h>
- # include <sys/fanotify.h>
- 
-+# include "secontext.h"
-+
- # if XLAT_RAW
- #  define str_fan_mark_add	"0x1"
- #  define str_fan_modify_ondir	"0x40000002"
-@@ -35,6 +37,7 @@
- #  define str_at_fdcwd		"AT_FDCWD"
- # endif
- 
-+# ifndef TEST_SECONTEXT
- /* Performs fanotify_mark call via the syscall interface. */
- static void
- do_call(kernel_ulong_t fd, kernel_ulong_t flags, const char *flags_str,
-@@ -44,18 +47,18 @@
- 	long rc;
- 
- 	rc = syscall(__NR_fanotify_mark, fd, flags,
--# if (LONG_MAX > INT_MAX) \
--  || (defined __x86_64__ && defined __ILP32__) \
--  || defined LINUX_MIPSN32
-+#  if (LONG_MAX > INT_MAX) \
-+   || (defined __x86_64__ && defined __ILP32__) \
-+   || defined LINUX_MIPSN32
- 		mask,
--# else
-+#  else
- /* arch/parisc/kernel/sys_parisc32.c, commit ab8a261b */
--#  ifdef HPPA
-+#   ifdef HPPA
- 		LL_VAL_TO_PAIR((mask << 32) | (mask >> 32)),
--#  else
-+#   else
- 		LL_VAL_TO_PAIR(mask),
-+#   endif
- #  endif
--# endif
- 		dirfd, path);
- 
- 	printf("fanotify_mark(%d, %s, %s, %s, %s) = %s\n",
-@@ -68,12 +71,14 @@
- 	const char *str;
- };
- 
--# define STR16 "0123456789abcdef"
--# define STR64 STR16 STR16 STR16 STR16
-+#  define STR16 "0123456789abcdef"
-+#  define STR64 STR16 STR16 STR16 STR16
-+# endif /* !TEST_SECONTEXT */
- 
- int
- main(void)
- {
-+# ifndef TEST_SECONTEXT
- 	enum {
- 		PATH1_SIZE = 64,
- 	};
-@@ -87,47 +92,47 @@
- 		{ F8ILL_KULONG_MASK, "0" },
- 		{ (kernel_ulong_t) 0xdec0deddefacec00ULL,
- 			"0xefacec00"
--# if !XLAT_RAW
-+#  if !XLAT_RAW
- 			" /* FAN_MARK_??? */"
--# endif
-+#  endif
- 			},
- 		{ (kernel_ulong_t) 0xda7a105700000040ULL,
--# if XLAT_RAW
-+#  if XLAT_RAW
- 			"0x40"
--# elif XLAT_VERBOSE
-+#  elif XLAT_VERBOSE
- 			"0x40 /* FAN_MARK_IGNORED_SURV_MODIFY */"
--# else
-+#  else
- 			"FAN_MARK_IGNORED_SURV_MODIFY"
--# endif
-+#  endif
- 			},
- 		{ (kernel_ulong_t) 0xbadc0deddeadffffULL,
--# if XLAT_RAW || XLAT_VERBOSE
-+#  if XLAT_RAW || XLAT_VERBOSE
- 			"0xdeadffff"
--# endif
--# if XLAT_VERBOSE
-+#  endif
-+#  if XLAT_VERBOSE
- 			" /* "
--# endif
--# if !XLAT_RAW
-+#  endif
-+#  if !XLAT_RAW
- 			"FAN_MARK_ADD|FAN_MARK_REMOVE|FAN_MARK_DONT_FOLLOW|"
- 			"FAN_MARK_ONLYDIR|FAN_MARK_MOUNT|FAN_MARK_IGNORED_MASK|"
- 			"FAN_MARK_IGNORED_SURV_MODIFY|FAN_MARK_FLUSH|"
- 			"FAN_MARK_FILESYSTEM|0xdeadfe00"
--# endif
--# if XLAT_VERBOSE
-+#  endif
-+#  if XLAT_VERBOSE
- 			" */"
--# endif
-+#  endif
- 			},
- 	};
- 	static const struct strval64 masks[] = {
- 		{ ARG_ULL_STR(0) },
- 		{ 0xdeadfeedffffffffULL,
--# if XLAT_RAW || XLAT_VERBOSE
-+#  if XLAT_RAW || XLAT_VERBOSE
- 			"0xdeadfeedffffffff"
--# endif
--# if XLAT_VERBOSE
-+#  endif
-+#  if XLAT_VERBOSE
- 			" /* "
--# endif
--# if !XLAT_RAW
-+#  endif
-+#  if !XLAT_RAW
- 			"FAN_ACCESS|"
- 			"FAN_MODIFY|"
- 			"FAN_ATTRIB|"
-@@ -149,27 +154,27 @@
- 			"FAN_ONDIR|"
- 			"FAN_EVENT_ON_CHILD|"
- 			"0xdeadfeedb7f0a000"
--# endif
--# if XLAT_VERBOSE
-+#  endif
-+#  if XLAT_VERBOSE
- 			" */"
--# endif
-+#  endif
- 			},
- 		{ ARG_ULL_STR(0xffffffffb7f0a000)
--# if !XLAT_RAW
-+#  if !XLAT_RAW
- 			" /* FAN_??? */"
--# endif
-+#  endif
- 			},
- 	};
- 	static const struct strval dirfds[] = {
- 		{ (kernel_ulong_t) 0xfacefeed00000001ULL, "1" },
- 		{ (kernel_ulong_t) 0xdec0ded0ffffffffULL,
--# if XLAT_RAW
-+#  if XLAT_RAW
- 			"-1"
--# elif XLAT_VERBOSE
-+#  elif XLAT_VERBOSE
- 			"-1 /* FAN_NOFD */"
--# else
-+#  else
- 			"FAN_NOFD"
--# endif
-+#  endif
- 			},
- 		{ (kernel_ulong_t) 0xbadfacedffffff9cULL, str_at_fdcwd },
- 		{ (kernel_ulong_t) 0xdefaced1beeff00dULL, "-1091571699" },
-@@ -202,12 +207,6 @@
- 	snprintf(bogus_path1_after_addr, sizeof(bogus_path1_after_addr), "%p",
- 		bogus_path1 + PATH1_SIZE);
- 
--	rc = fanotify_mark(-1, FAN_MARK_ADD, FAN_MODIFY | FAN_ONDIR,
--			       -100, ".");
--	printf("fanotify_mark(-1, %s, %s, %s, \".\") = %s\n",
--	       str_fan_mark_add, str_fan_modify_ondir, str_at_fdcwd,
--	       sprintrc(rc));
--
- 	for (i = 0; i < ARRAY_SIZE(fds); i++) {
- 		for (j = 0; j < ARRAY_SIZE(flags); j++) {
- 			for (k = 0; k < ARRAY_SIZE(masks); k++) {
-@@ -226,6 +225,40 @@
- 			}
- 		}
- 	}
-+# else /* TEST_SECONTEXT */
-+	int rc;
-+# endif
-+	/*
-+	 * Test with AT_FDCWD.
-+	 */
-+
-+	char *my_secontext = SECONTEXT_PID_MY();
-+	char path[] = ".";
-+	char *path_secontext = SECONTEXT_FILE(path);
-+
-+	rc = fanotify_mark(-1, FAN_MARK_ADD, FAN_MODIFY | FAN_ONDIR,
-+			   -100, path);
-+	printf("%s%s(-1, %s, %s, %s, \"%s\"%s) = %s\n",
-+	       my_secontext, "fanotify_mark",
-+	       str_fan_mark_add, str_fan_modify_ondir, str_at_fdcwd,
-+	       path, path_secontext,
-+	       sprintrc(rc));
-+
-+	/*
-+	 * Test with dirfd.
-+	 */
-+
-+	int cwd_fd = get_dir_fd(".");
-+	char *cwd_secontext = SECONTEXT_FILE(".");
-+
-+	rc = fanotify_mark(-1, FAN_MARK_ADD, FAN_MODIFY | FAN_ONDIR,
-+			   cwd_fd, path);
-+	printf("%s%s(-1, %s, %s, %d%s, \"%s\"%s) = %s\n",
-+	       my_secontext, "fanotify_mark",
-+	       str_fan_mark_add, str_fan_modify_ondir,
-+	       cwd_fd, cwd_secontext,
-+	       path, path_secontext,
-+	       sprintrc(rc));
- 
- 	puts("+++ exited with 0 +++");
- 	return 0;
-Index: strace-5.7/tests-mx32/fchmod.c
-===================================================================
---- strace-5.7.orig/tests-mx32/fchmod.c	2021-08-24 21:08:35.395312553 +0200
-+++ strace-5.7/tests-mx32/fchmod.c	2021-08-24 21:08:43.277245841 +0200
-@@ -18,6 +18,8 @@
- # include <stdio.h>
- # include <unistd.h>
- 
-+# include "secontext.h"
-+
- int
- main(void)
- {
-@@ -27,6 +29,8 @@
- 	 */
- 	create_and_enter_subdir("fchmod_subdir");
- 
-+	char *my_secontext = SECONTEXT_PID_MY();
-+
- 	static const char sample[] = "fchmod_sample_file";
- 	(void) unlink(sample);
- 	int fd = open(sample, O_CREAT|O_RDONLY, 0400);
-@@ -37,16 +41,19 @@
- 	char *sample_realpath = get_fd_path(fd);
- # endif
- 
-+	const char *sample_secontext = SECONTEXT_FILE(sample);
- 	long rc = syscall(__NR_fchmod, fd, 0600);
- # ifdef YFLAG
--	printf("fchmod(%d<%s>, 0600) = %s\n",
-+	printf("%s%s(%d<%s>%s, 0600) = %s\n",
- # else
--	printf("fchmod(%d, 0600) = %s\n",
-+	printf("%s%s(%d%s, 0600) = %s\n",
- # endif
-+	       my_secontext, "fchmod",
- 	       fd,
- # ifdef YFLAG
- 	       sample_realpath,
- # endif
-+	       sample_secontext,
- 	       sprintrc(rc));
- 
- 	if (unlink(sample))
-@@ -54,26 +61,30 @@
- 
- 	rc = syscall(__NR_fchmod, fd, 051);
- # ifdef YFLAG
--	printf("fchmod(%d<%s (deleted)>, 051) = %s\n",
-+	printf("%s%s(%d<%s (deleted)>%s, 051) = %s\n",
- # else
--	printf("fchmod(%d, 051) = %s\n",
-+	printf("%s%s(%d%s, 051) = %s\n",
- # endif
-+	       my_secontext, "fchmod",
- 	       fd,
- # ifdef YFLAG
- 	       sample_realpath,
- # endif
-+	       sample_secontext,
- 	       sprintrc(rc));
- 
- 	rc = syscall(__NR_fchmod, fd, 004);
- # ifdef YFLAG
--	printf("fchmod(%d<%s (deleted)>, 004) = %s\n",
-+	printf("%s%s(%d<%s (deleted)>%s, 004) = %s\n",
- # else
--	printf("fchmod(%d, 004) = %s\n",
-+	printf("%s%s(%d%s, 004) = %s\n",
- # endif
-+	       my_secontext, "fchmod",
- 	       fd,
- # ifdef YFLAG
- 	       sample_realpath,
- # endif
-+	       sample_secontext,
- 	       sprintrc(rc));
- 
- 	leave_and_remove_subdir();
-Index: strace-5.7/tests-mx32/fchmodat.c
-===================================================================
---- strace-5.7.orig/tests-mx32/fchmodat.c	2021-08-24 21:08:35.396312544 +0200
-+++ strace-5.7/tests-mx32/fchmodat.c	2021-08-24 21:08:43.277245841 +0200
-@@ -17,6 +17,8 @@
- # include <stdio.h>
- # include <unistd.h>
- 
-+# include "secontext.h"
-+
- int
- main(void)
- {
-@@ -26,26 +28,81 @@
- 	 */
- 	create_and_enter_subdir("fchmodat_subdir");
- 
--	static const char sample[] = "fchmodat_sample";
-+	char *my_secontext = SECONTEXT_PID_MY();
- 
-+	static const char sample[] = "fchmodat_sample_file";
- 	if (open(sample, O_RDONLY | O_CREAT, 0400) < 0)
- 		perror_msg_and_fail("open");
- 
-+	char *sample_secontext = SECONTEXT_FILE(sample);
-+
-+	/*
-+	 * Tests with AT_FDCWD.
-+	 */
-+
- 	long rc = syscall(__NR_fchmodat, -100, sample, 0600);
--	printf("fchmodat(AT_FDCWD, \"%s\", 0600) = %s\n",
--	       sample, sprintrc(rc));
-+	printf("%s%s(AT_FDCWD, \"%s\"%s, 0600) = %s\n",
-+	       my_secontext, "fchmodat",
-+	       sample, sample_secontext,
-+	       sprintrc(rc));
- 
- 	if (unlink(sample))
- 		perror_msg_and_fail("unlink");
- 
- 	rc = syscall(__NR_fchmodat, -100, sample, 051);
--	printf("fchmodat(AT_FDCWD, \"%s\", 051) = %s\n",
-+	printf("%s%s(AT_FDCWD, \"%s\", 051) = %s\n",
-+	       my_secontext, "fchmodat",
- 	       sample, sprintrc(rc));
- 
- 	rc = syscall(__NR_fchmodat, -100, sample, 004);
--	printf("fchmodat(AT_FDCWD, \"%s\", 004) = %s\n",
-+	printf("%s%s(AT_FDCWD, \"%s\", 004) = %s\n",
-+	       my_secontext, "fchmodat",
- 	       sample, sprintrc(rc));
- 
-+	/*
-+	 * Tests with dirfd.
-+	 */
-+
-+	int cwd_fd = get_dir_fd(".");
-+	char *cwd = get_fd_path(cwd_fd);
-+	char *cwd_secontext = SECONTEXT_FILE(".");
-+	char *sample_realpath = xasprintf("%s/%s", cwd, sample);
-+
-+	/* no file */
-+	rc = syscall(__NR_fchmodat, cwd_fd, sample, 0400);
-+	printf("%s%s(%d%s, \"%s\", 0400) = %s\n",
-+	       my_secontext, "fchmodat",
-+	       cwd_fd, cwd_secontext,
-+	       sample,
-+	       sprintrc(rc));
-+
-+	if (open(sample, O_RDONLY | O_CREAT, 0400) < 0)
-+		perror_msg_and_fail("open");
-+
-+	rc = syscall(__NR_fchmodat, cwd_fd, sample, 0400);
-+	printf("%s%s(%d%s, \"%s\"%s, 0400) = %s\n",
-+	       my_secontext, "fchmodat",
-+	       cwd_fd, cwd_secontext,
-+	       sample, sample_secontext,
-+	       sprintrc(rc));
-+
-+	/* cwd_fd ignored when path is absolute */
-+	if (chdir("../.."))
-+		perror_msg_and_fail("chdir");
-+
-+	rc = syscall(__NR_fchmodat, cwd_fd, sample_realpath, 0400);
-+	printf("%s%s(%d%s, \"%s\"%s, 0400) = %s\n",
-+	       my_secontext, "fchmodat",
-+	       cwd_fd, cwd_secontext,
-+	       sample_realpath, sample_secontext,
-+	       sprintrc(rc));
-+
-+	if (fchdir(cwd_fd))
-+		perror_msg_and_fail("fchdir");
-+
-+	if (unlink(sample))
-+		perror_msg_and_fail("unlink");
-+
- 	leave_and_remove_subdir();
- 
- 	puts("+++ exited with 0 +++");
-Index: strace-5.7/tests-mx32/fchownat.c
-===================================================================
---- strace-5.7.orig/tests-mx32/fchownat.c	2021-08-24 21:08:35.396312544 +0200
-+++ strace-5.7/tests-mx32/fchownat.c	2021-08-24 21:08:43.277245841 +0200
-@@ -17,6 +17,8 @@
- # include <stdio.h>
- # include <unistd.h>
- 
-+# include "secontext.h"
-+
- int
- main(void)
- {
-@@ -26,25 +28,86 @@
- 	 */
- 	create_and_enter_subdir("fchownat_subdir");
- 
--	static const char sample[] = "fchownat_sample";
-+	char *my_secontext = SECONTEXT_PID_MY();
- 	uid_t uid = geteuid();
- 	uid_t gid = getegid();
- 
--	if (open(sample, O_RDONLY | O_CREAT, 0400) == -1)
-+	static const char sample[] = "fchownat_sample";
-+	int fd = open(sample, O_RDONLY | O_CREAT, 0400);
-+	if (fd == -1)
- 		perror_msg_and_fail("open");
-+	close(fd);
-+
-+	char *sample_secontext = SECONTEXT_FILE(sample);
-+
-+	/*
-+	 * Tests with AT_FDCWD.
-+	 */
- 
- 	long rc = syscall(__NR_fchownat, AT_FDCWD, sample, uid, gid, 0);
--	printf("fchownat(AT_FDCWD, \"%s\", %d, %d, 0) = %s\n",
--	       sample, uid, gid, sprintrc(rc));
-+	printf("%s%s(AT_FDCWD, \"%s\"%s, %d, %d, 0) = %s\n",
-+	       my_secontext, "fchownat",
-+	       sample, sample_secontext,
-+	       uid, gid, sprintrc(rc));
- 
- 	if (unlink(sample))
- 		perror_msg_and_fail("unlink");
- 
- 	rc = syscall(__NR_fchownat, AT_FDCWD,
- 		     sample, -1, -1L, AT_SYMLINK_NOFOLLOW);
--	printf("fchownat(AT_FDCWD, \"%s\", -1, -1, AT_SYMLINK_NOFOLLOW) = %s\n",
-+	printf("%s%s(AT_FDCWD, \"%s\", -1, -1, AT_SYMLINK_NOFOLLOW) = %s\n",
-+	       my_secontext, "fchownat",
- 	       sample, sprintrc(rc));
- 
-+	/*
-+	 * Tests with dirfd.
-+	 */
-+
-+	int cwd_fd = get_dir_fd(".");
-+	char *cwd = get_fd_path(cwd_fd);
-+	char *cwd_secontext = SECONTEXT_FILE(".");
-+	char *sample_realpath = xasprintf("%s/%s", cwd, sample);
-+
-+	/* no file */
-+	rc = syscall(__NR_fchownat, cwd_fd, sample, uid, gid, 0);
-+	printf("%s%s(%d%s, \"%s\", %d, %d, 0) = %s\n",
-+	       my_secontext, "fchownat",
-+	       cwd_fd, cwd_secontext,
-+	       sample,
-+	       uid, gid,
-+	       sprintrc(rc));
-+
-+	fd = open(sample, O_RDONLY | O_CREAT, 0400);
-+	if (fd == -1)
-+		perror_msg_and_fail("open");
-+	close(fd);
-+
-+	rc = syscall(__NR_fchownat, cwd_fd, sample, uid, gid, 0);
-+	printf("%s%s(%d%s, \"%s\"%s, %d, %d, 0) = %s\n",
-+	       my_secontext, "fchownat",
-+	       cwd_fd, cwd_secontext,
-+	       sample, sample_secontext,
-+	       uid, gid,
-+	       sprintrc(rc));
-+
-+	/* cwd_fd ignored when path is absolute */
-+	if (chdir("../.."))
-+		perror_msg_and_fail("chdir");
-+
-+	rc = syscall(__NR_fchownat, cwd_fd, sample_realpath, uid, gid, 0);
-+	printf("%s%s(%d%s, \"%s\"%s, %d, %d, 0) = %s\n",
-+	       my_secontext, "fchownat",
-+	       cwd_fd, cwd_secontext,
-+	       sample_realpath, sample_secontext,
-+	       uid, gid,
-+	       sprintrc(rc));
-+
-+	if (fchdir(cwd_fd))
-+		perror_msg_and_fail("fchdir");
-+
-+	if (unlink(sample))
-+		perror_msg_and_fail("unlink");
-+
- 	leave_and_remove_subdir();
- 
- 	puts("+++ exited with 0 +++");
-Index: strace-5.7/tests-mx32/file_handle.c
-===================================================================
---- strace-5.7.orig/tests-mx32/file_handle.c	2021-08-24 21:08:35.396312544 +0200
-+++ strace-5.7/tests-mx32/file_handle.c	2021-08-24 21:08:43.277245841 +0200
-@@ -21,6 +21,8 @@
- # include <stdio.h>
- # include <unistd.h>
- 
-+# include "secontext.h"
-+
- enum assert_rc {
- 	ASSERT_NONE,
- 	ASSERT_SUCCESS,
-@@ -48,6 +50,7 @@
- 		printf("...");
- }
- 
-+# ifndef TEST_SECONTEXT
- void
- do_name_to_handle_at(kernel_ulong_t dirfd, const char *dirfd_str,
- 		     kernel_ulong_t pathname, const char *pathname_str,
-@@ -129,6 +132,7 @@
- 
- 	printf("%s\n", sprintrc(rc));
- }
-+# endif /* !TEST_SECONTEXT */
- 
- struct strval {
- 	kernel_ulong_t val;
-@@ -141,12 +145,86 @@
- int
- main(void)
- {
-+	char *my_secontext = SECONTEXT_PID_MY();
- 	enum {
- 		PATH1_SIZE = 64,
- 	};
- 
- 	static const kernel_ulong_t fdcwd =
- 		(kernel_ulong_t) 0x87654321ffffff9cULL;
-+
-+	struct file_handle *handle =
-+		tail_alloc(sizeof(struct file_handle) + MAX_HANDLE_SZ);
-+	struct file_handle *handle_0 =
-+		tail_alloc(sizeof(struct file_handle) + 0);
-+	struct file_handle *handle_8 =
-+		tail_alloc(sizeof(struct file_handle) + 8);
-+	struct file_handle *handle_128 =
-+		tail_alloc(sizeof(struct file_handle) + 128);
-+	struct file_handle *handle_256 =
-+		tail_alloc(sizeof(struct file_handle) + 256);
-+	TAIL_ALLOC_OBJECT_CONST_PTR(int, bogus_mount_id);
-+
-+	char handle_0_addr[sizeof("0x") + sizeof(void *) * 2];
-+
-+	const int flags = 0x400;
-+	int mount_id;
-+
-+	handle_0->handle_bytes = 256;
-+	handle_8->handle_bytes = 0;
-+	handle_128->handle_bytes = 128;
-+	handle_256->handle_bytes = 256;
-+
-+	fill_memory((char *) handle_128 + sizeof(struct file_handle), 128);
-+	fill_memory((char *) handle_256 + sizeof(struct file_handle), 256);
-+
-+	snprintf(handle_0_addr, sizeof(handle_0_addr), "%p",
-+		handle_0 + sizeof(struct file_handle));
-+
-+	handle->handle_bytes = 0;
-+
-+	char path[] = ".";
-+	char *path_secontext = SECONTEXT_FILE(path);
-+
-+	assert(syscall(__NR_name_to_handle_at, fdcwd, path, handle, &mount_id,
-+		flags | 1) == -1);
-+	if (EINVAL != errno)
-+		perror_msg_and_skip("name_to_handle_at");
-+	printf("%s%s(AT_FDCWD, \"%s\"%s, {handle_bytes=0}, %p"
-+	       ", AT_SYMLINK_FOLLOW|0x1) = -1 EINVAL (%m)\n",
-+	       my_secontext, "name_to_handle_at",
-+	       path, path_secontext,
-+	       &mount_id);
-+
-+	assert(syscall(__NR_name_to_handle_at, fdcwd, path, handle, &mount_id,
-+		flags) == -1);
-+	if (EOVERFLOW != errno)
-+		perror_msg_and_skip("name_to_handle_at");
-+	printf("%s%s(AT_FDCWD, \"%s\"%s, {handle_bytes=0 => %u}"
-+	       ", %p, AT_SYMLINK_FOLLOW) = -1 EOVERFLOW (%m)\n",
-+	       my_secontext, "name_to_handle_at",
-+	       path, path_secontext,
-+	       handle->handle_bytes, &mount_id);
-+
-+	assert(syscall(__NR_name_to_handle_at, fdcwd, path, handle, &mount_id,
-+		flags) == 0);
-+	printf("%s%s(AT_FDCWD, \"%s\"%s, {handle_bytes=%u"
-+	       ", handle_type=%d, f_handle=",
-+	       my_secontext, "name_to_handle_at",
-+	       path, path_secontext,
-+	       handle->handle_bytes, handle->handle_type);
-+	print_handle_data(handle->f_handle, handle->handle_bytes);
-+	printf("}, [%d], AT_SYMLINK_FOLLOW) = 0\n", mount_id);
-+
-+	printf("%s%s(-1, {handle_bytes=%u, handle_type=%d, f_handle=",
-+	       my_secontext, "open_by_handle_at",
-+	       handle->handle_bytes, handle->handle_type);
-+	print_handle_data(handle->f_handle, handle->handle_bytes);
-+	int rc = syscall(__NR_open_by_handle_at, -1, handle,
-+		O_RDONLY | O_DIRECTORY);
-+	printf("}, O_RDONLY|O_DIRECTORY) = %d %s (%m)\n", rc, errno2name());
-+
-+# ifndef TEST_SECONTEXT
- 	static const struct strval dirfds[] = {
- 		{ (kernel_ulong_t) 0xdeadca57badda7a1ULL, "-1159878751" },
- 		{ (kernel_ulong_t) 0x12345678ffffff9cULL, "AT_FDCWD" },
-@@ -171,29 +249,11 @@
- 	};
- 
- 	static const char str64[] = STR64;
--
--
- 	char *bogus_path1 = tail_memdup(str64, PATH1_SIZE);
- 	char *bogus_path2 = tail_memdup(str64, sizeof(str64));
--
--	struct file_handle *handle =
--		tail_alloc(sizeof(struct file_handle) + MAX_HANDLE_SZ);
--	struct file_handle *handle_0 =
--		tail_alloc(sizeof(struct file_handle) + 0);
--	struct file_handle *handle_8 =
--		tail_alloc(sizeof(struct file_handle) + 8);
--	struct file_handle *handle_128 =
--		tail_alloc(sizeof(struct file_handle) + 128);
--	struct file_handle *handle_256 =
--		tail_alloc(sizeof(struct file_handle) + 256);
--	TAIL_ALLOC_OBJECT_CONST_PTR(int, bogus_mount_id);
--
--	char handle_0_addr[sizeof("0x") + sizeof(void *) * 2];
--
- 	char bogus_path1_addr[sizeof("0x") + sizeof(void *) * 2];
- 	char bogus_path1_after_addr[sizeof("0x") + sizeof(void *) * 2];
- 
--
- 	struct strval paths[] = {
- 		{ (kernel_ulong_t) 0, "NULL" },
- 		{ (kernel_ulong_t) (uintptr_t) (bogus_path1 + PATH1_SIZE),
-@@ -229,62 +289,16 @@
- 		(kernel_ulong_t) (uintptr_t) bogus_mount_id,
- 	};
- 
--	const int flags = 0x400;
--	int mount_id;
- 	unsigned int i;
- 	unsigned int j;
- 	unsigned int k;
- 	unsigned int l;
- 	unsigned int m;
- 
--
- 	snprintf(bogus_path1_addr, sizeof(bogus_path1_addr), "%p", bogus_path1);
- 	snprintf(bogus_path1_after_addr, sizeof(bogus_path1_after_addr), "%p",
- 		bogus_path1 + PATH1_SIZE);
- 
--	handle_0->handle_bytes = 256;
--	handle_8->handle_bytes = 0;
--	handle_128->handle_bytes = 128;
--	handle_256->handle_bytes = 256;
--
--	fill_memory((char *) handle_128 + sizeof(struct file_handle), 128);
--	fill_memory((char *) handle_256 + sizeof(struct file_handle), 256);
--
--	snprintf(handle_0_addr, sizeof(handle_0_addr), "%p",
--		handle_0 + sizeof(struct file_handle));
--
--	handle->handle_bytes = 0;
--
--	assert(syscall(__NR_name_to_handle_at, fdcwd, ".", handle, &mount_id,
--		flags | 1) == -1);
--	if (EINVAL != errno)
--		perror_msg_and_skip("name_to_handle_at");
--	printf("name_to_handle_at(AT_FDCWD, \".\", {handle_bytes=0}, %p"
--	       ", AT_SYMLINK_FOLLOW|0x1) = -1 EINVAL (%m)\n", &mount_id);
--
--	assert(syscall(__NR_name_to_handle_at, fdcwd, ".", handle, &mount_id,
--		flags) == -1);
--	if (EOVERFLOW != errno)
--		perror_msg_and_skip("name_to_handle_at");
--	printf("name_to_handle_at(AT_FDCWD, \".\", {handle_bytes=0 => %u}"
--	       ", %p, AT_SYMLINK_FOLLOW) = -1 EOVERFLOW (%m)\n",
--	       handle->handle_bytes, &mount_id);
--
--	assert(syscall(__NR_name_to_handle_at, fdcwd, ".", handle, &mount_id,
--		flags) == 0);
--	printf("name_to_handle_at(AT_FDCWD, \".\", {handle_bytes=%u"
--	       ", handle_type=%d, f_handle=",
--	       handle->handle_bytes, handle->handle_type);
--	print_handle_data(handle->f_handle, handle->handle_bytes);
--	printf("}, [%d], AT_SYMLINK_FOLLOW) = 0\n", mount_id);
--
--	printf("open_by_handle_at(-1, {handle_bytes=%u, handle_type=%d"
--	       ", f_handle=", handle->handle_bytes, handle->handle_type);
--	print_handle_data(handle->f_handle, handle->handle_bytes);
--	int rc = syscall(__NR_open_by_handle_at, -1, handle,
--		O_RDONLY | O_DIRECTORY);
--	printf("}, O_RDONLY|O_DIRECTORY) = %d %s (%m)\n", rc, errno2name());
--
- 	for (i = 0; i < ARRAY_SIZE(dirfds); i++) {
- 		for (j = 0; j < ARRAY_SIZE(paths); j++) {
- 			for (k = 0; k < ARRAY_SIZE(name_handles); k++) {
-@@ -320,6 +334,68 @@
- 			}
- 		}
- 	}
-+# endif
-+
-+	/*
-+	 * Tests with dirfd.
-+	 */
-+
-+	int cwd_fd = get_dir_fd(".");
-+	char *cwd = get_fd_path(cwd_fd);
-+	char *cwd_secontext = SECONTEXT_FILE(".");
-+
-+	assert(syscall(__NR_name_to_handle_at, cwd_fd, path, handle, &mount_id,
-+		flags) == 0);
-+	printf("%s%s(%d%s, \"%s\"%s, {handle_bytes=%u, handle_type=%d"
-+	       ", f_handle=",
-+	       my_secontext, "name_to_handle_at",
-+	       cwd_fd, cwd_secontext,
-+	       path, path_secontext,
-+	       handle->handle_bytes, handle->handle_type);
-+	print_handle_data((unsigned char *) handle +
-+			  sizeof(struct file_handle),
-+			  handle->handle_bytes);
-+	printf("}, [%d], AT_SYMLINK_FOLLOW) = 0\n", mount_id);
-+
-+	printf("%s%s(-1, {handle_bytes=%u, handle_type=%d, f_handle=",
-+	       my_secontext, "open_by_handle_at",
-+	       handle->handle_bytes, handle->handle_type);
-+	print_handle_data((unsigned char *) handle +
-+			  sizeof(struct file_handle),
-+			  handle->handle_bytes);
-+	rc = syscall(__NR_open_by_handle_at, -1, handle,
-+		O_RDONLY | O_DIRECTORY);
-+	printf("}, O_RDONLY|O_DIRECTORY) = %s\n", sprintrc(rc));
-+
-+	/* cwd_fd ignored when path is absolute */
-+	if (chdir(".."))
-+		perror_msg_and_fail("chdir");
-+
-+	assert(syscall(__NR_name_to_handle_at, cwd_fd, cwd, handle, &mount_id,
-+		flags) == 0);
-+	printf("%s%s(%d%s, \"%s\"%s, {handle_bytes=%u"
-+	       ", handle_type=%d, f_handle=",
-+	       my_secontext, "name_to_handle_at",
-+	       cwd_fd, cwd_secontext,
-+	       cwd, cwd_secontext,
-+	       handle->handle_bytes, handle->handle_type);
-+	print_handle_data((unsigned char *) handle +
-+			  sizeof(struct file_handle),
-+			  handle->handle_bytes);
-+	printf("}, [%d], AT_SYMLINK_FOLLOW) = 0\n", mount_id);
-+
-+	printf("%s%s(-1, {handle_bytes=%u, handle_type=%d, f_handle=",
-+	       my_secontext, "open_by_handle_at",
-+	       handle->handle_bytes, handle->handle_type);
-+	print_handle_data((unsigned char *) handle +
-+			  sizeof(struct file_handle),
-+			  handle->handle_bytes);
-+	rc = syscall(__NR_open_by_handle_at, -1, handle,
-+		O_RDONLY | O_DIRECTORY);
-+	printf("}, O_RDONLY|O_DIRECTORY) = %s\n", sprintrc(rc));
-+
-+	if (fchdir(cwd_fd))
-+		perror_msg_and_fail("fchdir");
- 
- 	puts("+++ exited with 0 +++");
- 	return 0;
-Index: strace-5.7/tests-mx32/gen_secontext.sh
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-mx32/gen_secontext.sh	2021-08-24 21:08:43.277245841 +0200
-@@ -0,0 +1,72 @@
-+#!/bin/sh -efu
-+#
-+# Copyright (c) 2021 The strace developers.
-+# All rights reserved.
-+#
-+# SPDX-License-Identifier: GPL-2.0-or-later
-+
-+usage()
-+{
-+	cat >&2 <<EOF
-+Usage: $0 [<input>]
-+
-+Generate secontext files from <input> list.
-+EOF
-+	exit 1
-+}
-+
-+if [ $# -eq 0 ]; then
-+	input="${0%/*}/gen_tests.in"
-+else
-+	input="$1"
-+	shift
-+fi
-+dir="$(dirname "$input")"
-+[ $# -eq 0 ] || usage
-+
-+{
-+	cat <<EOF
-+# Generated by $0 from $input; do not edit.
-+
-+secontext_EXECUTABLES = \\
-+EOF
-+	sed -r -n 's/^([^#[:space:]]+--secontext(_full)?)[[:space:]].*/  \1 \\/p' < "$input"
-+	cat <<EOF
-+  #
-+
-+EOF
-+	sed -r -n 's/-/_/g; s/^([^#[:space:]]+__secontext(_full)?)[[:space:]].*/\1_LDADD = \$(LDADD) \$(libselinux_LDADD)/p' < "$input"
-+} > "$dir/secontext.am"
-+
-+sed -r -n 's/^([^#[:space:]]+--secontext)[[:space:]].*/\1/p' < "$input" |
-+while read -r name; do {
-+	cat <<-EOF > "$dir/$name.c"
-+		/*
-+		 * Copyright (c) 2021 The strace developers.
-+		 * All rights reserved.
-+		 *
-+		 * SPDX-License-Identifier: GPL-2.0-or-later
-+		 */
-+
-+		#include "tests.h"
-+
-+		#ifdef HAVE_SELINUX_RUNTIME
-+
-+		# define TEST_SECONTEXT
-+		# include "${name%--secontext}.c"
-+
-+		#else
-+
-+		SKIP_MAIN_UNDEFINED("HAVE_SELINUX_RUNTIME")
-+
-+		#endif
-+	EOF
-+} < /dev/null; done
-+
-+sed -r -n 's/^([^#[:space:]]+--secontext_full)[[:space:]].*/\1/p' < "$input" |
-+while read -r name; do {
-+	cat <<-EOF > "$dir/$name.c"
-+		#define PRINT_SECONTEXT_FULL
-+		#include "${name%_full}.c"
-+	EOF
-+} < /dev/null; done
-Index: strace-5.7/tests-mx32/gen_tests.in
-===================================================================
---- strace-5.7.orig/tests-mx32/gen_tests.in	2021-08-24 21:08:35.397312536 +0200
-+++ strace-5.7/tests-mx32/gen_tests.in	2021-08-24 21:08:43.278245832 +0200
-@@ -10,6 +10,8 @@
- accept	-a22
- accept4	-a37
- access	-a30 --trace-path=access_sample
-+access--secontext	-a30 --secontext --trace-path=access_sample -e trace=access
-+access--secontext_full	-a30 --secontext=full --trace-path=access_sample -e trace=access
- acct	-a20
- add_key	-a30 -s12
- adjtimex	-a15
-@@ -24,6 +26,8 @@
- bpf-v	-a20 -v -e trace=bpf
- btrfs	+ioctl.test
- chmod	-a28
-+chmod--secontext	-a28 --secontext -e trace=chmod
-+chmod--secontext_full	-a28 --secontext=full -e trace=chmod
- chown	-a28
- chown32	-a31
- chroot	-a24
-@@ -71,25 +75,43 @@
- epoll_pwait
- epoll_wait	-a26
- erestartsys	-a34 -e signal=none -e trace=recvfrom
-+execve--secontext	+execve.test --secontext
-+execve--secontext_full	+execve.test --secontext=full
- execveat
-+execveat--secontext	--secontext --trace=execveat
-+execveat--secontext_full	--secontext=full --trace=execveat
- execveat-v	-v -e trace=execveat
-+faccessat--secontext	+faccessat.test -a24 --secontext
-+faccessat--secontext_full	+faccessat.test -a24 --secontext=full
- faccessat-P	-a23 --trace=faccessat -P /dev/full
- faccessat-y	+faccessat.test -a24 -y
-+faccessat-y--secontext	+faccessat.test -a24 -y --secontext
-+faccessat-y--secontext_full	+faccessat.test -a24 -y --secontext=full
- faccessat-yy	+faccessat.test -a24 -yy
- fadvise64_64	+fadvise64.test
- fallocate	-a18
- fanotify_init
- fanotify_mark	-a32
-+fanotify_mark--secontext	-a32 --secontext -e trace=fanotify_mark
-+fanotify_mark--secontext_full	-a32 --secontext=full -e trace=fanotify_mark
- fanotify_mark-Xabbrev	-a32 -Xabbrev -e trace=fanotify_mark
- fanotify_mark-Xraw	-a32 -Xraw -e trace=fanotify_mark
- fanotify_mark-Xverbose	-a32 -Xverbose -e trace=fanotify_mark
- fchdir	-a11
- fchmod	-a15
-+fchmod--secontext	-a15 --secontext -e trace=fchmod
-+fchmod--secontext_full	-a15 --secontext=full -e trace=fchmod
- fchmod-y	-y -e trace=fchmod
-+fchmod-y--secontext	-a15 -y --secontext -e trace=fchmod
-+fchmod-y--secontext_full	-a15 -y --secontext=full -e trace=fchmod
- fchmodat
-+fchmodat--secontext	--secontext -e trace=fchmodat
-+fchmodat--secontext_full	--secontext=full -e trace=fchmodat
- fchown	-a16
- fchown32	-a18
- fchownat
-+fchownat--secontext	--secontext -e trace=fchownat
-+fchownat--secontext_full	--secontext=full -e trace=fchownat
- fcntl	-a8
- fcntl--pidns-translation	test_pidns -a8 -e trace=fcntl
- fcntl64	-a8
-@@ -97,6 +119,8 @@
- fdatasync	-a14
- file_handle	-e trace=name_to_handle_at,open_by_handle_at
- file_ioctl	+ioctl.test
-+file_handle--secontext	--secontext -e trace=name_to_handle_at,open_by_handle_at
-+file_handle--secontext_full	--secontext=full -e trace=name_to_handle_at,open_by_handle_at
- filter_seccomp	. "${srcdir=.}/filter_seccomp.sh"; test_prog_set --seccomp-bpf -f
- filter_seccomp-flag	../$NAME
- finit_module	-a25
-@@ -295,6 +319,8 @@
- lchown32	-a32
- link
- linkat
-+linkat--secontext	--secontext -e trace=linkat
-+linkat--secontext_full	--secontext=full -e trace=linkat
- lookup_dcookie	-a27
- lstat	-a31 --no-abbrev --trace-path=stat.sample --trace-path=/dev/full
- lstat64	-a32 --no-abbrev --trace-path=stat.sample --trace-path=/dev/full
-@@ -434,9 +460,13 @@
- oldselect-efault-P	-a13 -e trace=select -P /dev/full 9>>/dev/full
- oldstat	-a32 -v -P stat.sample -P /dev/full
- open	-a30 -P $NAME.sample
-+open--secontext		-a30 -P open.sample --secontext --trace=open
-+open--secontext_full	-a30 -P open.sample --secontext=full --trace=open
- open_tree -a30 -y
- open_tree-P -a30 --decode-fds -P /dev/full -e trace=open_tree
- openat	-a36 -P $NAME.sample
-+openat--secontext	-a36 -P openat.sample -P $PWD/openat.sample --secontext -e trace=openat
-+openat--secontext_full	-a36 -P openat.sample -P $PWD/openat.sample --secontext=full -e trace=openat
- openat2	-a35
- openat2-Xabbrev	--trace=openat2 -a35 -Xabbrev
- openat2-Xraw	--trace=openat2 -a32 -Xraw
-Index: strace-5.7/tests-mx32/linkat.c
-===================================================================
---- strace-5.7.orig/tests-mx32/linkat.c	2021-08-24 21:08:35.397312536 +0200
-+++ strace-5.7/tests-mx32/linkat.c	2021-08-24 21:08:43.278245832 +0200
-@@ -10,8 +10,14 @@
- 
- #ifdef __NR_linkat
- 
-+# include <fcntl.h>
- # include <stdio.h>
-+# include <stdlib.h>
- # include <unistd.h>
-+# include <sys/stat.h>
-+
-+# include "secontext.h"
-+# include "xmalloc.h"
- 
- int
- main(void)
-@@ -27,18 +33,158 @@
- 	const long fd_old = (long) 0xdeadbeefffffffffULL;
- 	const long fd_new = (long) 0xdeadbeeffffffffeULL;
- 
-+	char *my_secontext = SECONTEXT_PID_MY();
-+
-+	(void) unlink(sample_1);
-+	(void) unlink(sample_2);
-+
- 	long rc = syscall(__NR_linkat, fd_old, sample_1, fd_new, sample_2, 0);
--	printf("linkat(%d, \"%s\", %d, \"%s\", 0) = %ld %s (%m)\n",
-+	printf("%s%s(%d, \"%s\", %d, \"%s\", 0) = %ld %s (%m)\n",
-+	       my_secontext, "linkat",
- 	       (int) fd_old, sample_1, (int) fd_new, sample_2,
- 	       rc, errno2name());
- 
- 	rc = syscall(__NR_linkat, -100, sample_1, -100, sample_2, -1L);
--	printf("linkat(%s, \"%s\", %s, \"%s\", %s) = %ld %s (%m)\n",
-+	printf("%s%s(%s, \"%s\", %s, \"%s\", %s) = %ld %s (%m)\n",
-+	       my_secontext, "linkat",
- 	       "AT_FDCWD", sample_1, "AT_FDCWD", sample_2,
- 	       "AT_SYMLINK_NOFOLLOW|AT_REMOVEDIR|AT_SYMLINK_FOLLOW"
- 	       "|AT_NO_AUTOMOUNT|AT_EMPTY_PATH|AT_RECURSIVE|0xffff60ff",
- 	       rc, errno2name());
- 
-+	/*
-+	 * Tests with AT_FDCWD.
-+	 */
-+
-+	int fd_sample_1 = open(sample_1, O_RDONLY | O_CREAT, 0400);
-+	if (fd_sample_1 < 0)
-+		perror_msg_and_fail("open");
-+	if (close(fd_sample_1))
-+		perror_msg_and_fail("close");
-+
-+	char *sample_1_secontext = SECONTEXT_FILE(sample_1);
-+
-+	rc = syscall(__NR_linkat, -100, sample_1, -100, sample_2, 0);
-+	/* no context printed for sample_2 since file doesn't exist yet */
-+	printf("%s%s(AT_FDCWD, \"%s\"%s, AT_FDCWD, \"%s\", 0) = %s\n",
-+	       my_secontext, "linkat",
-+	       sample_1, sample_1_secontext,
-+	       sample_2,
-+	       sprintrc(rc));
-+
-+	const char *sample_2_secontext = sample_1_secontext;
-+
-+	rc = syscall(__NR_linkat, -100, sample_1, -100, sample_2, 0);
-+	printf("%s%s(AT_FDCWD, \"%s\"%s, AT_FDCWD, \"%s\"%s, 0) = %s\n",
-+	       my_secontext, "linkat",
-+	       sample_1, sample_1_secontext,
-+	       sample_2, sample_2_secontext,
-+	       sprintrc(rc));
-+
-+	int fd_sample_2 = open(sample_2, O_RDONLY | O_CREAT, 0400);
-+	if (fd_sample_2 < 0)
-+		perror_msg_and_fail("open");
-+	if (close(fd_sample_2))
-+		perror_msg_and_fail("close");
-+
-+	free(sample_1_secontext);
-+	update_secontext_type(sample_1, "default_t");
-+	sample_1_secontext = SECONTEXT_FILE(sample_1);
-+	sample_2_secontext = sample_1_secontext;
-+
-+	rc = syscall(__NR_linkat, -100, sample_1, -100, sample_2, 0);
-+	printf("%s%s(AT_FDCWD, \"%s\"%s, AT_FDCWD, \"%s\"%s, 0) = %s\n",
-+	       my_secontext, "linkat",
-+	       sample_1, sample_1_secontext,
-+	       sample_2, sample_2_secontext,
-+	       sprintrc(rc));
-+
-+	if (unlink(sample_2))
-+		perror_msg_and_fail("unlink: %s", sample_2);
-+
-+	/*
-+	 * Tests with dirfd.
-+	 */
-+
-+	int dfd_old = get_dir_fd(".");
-+	char *cwd = get_fd_path(dfd_old);
-+	char *dfd_old_secontext = SECONTEXT_FILE(".");
-+
-+	rc = syscall(__NR_linkat, dfd_old, sample_1, -100, sample_2, 0);
-+	/* no context printed for sample_2 since file doesn't exist yet */
-+	printf("%s%s(%d%s, \"%s\"%s, AT_FDCWD, \"%s\", 0) = %s\n",
-+	       my_secontext, "linkat",
-+	       dfd_old, dfd_old_secontext,
-+	       sample_1, sample_1_secontext,
-+	       sample_2,
-+	       sprintrc(rc));
-+
-+	rc = syscall(__NR_linkat, dfd_old, sample_1, -100, sample_2, 0);
-+	printf("%s%s(%d%s, \"%s\"%s, AT_FDCWD, \"%s\"%s, 0) = %s\n",
-+	       my_secontext, "linkat",
-+	       dfd_old, dfd_old_secontext,
-+	       sample_1, sample_1_secontext,
-+	       sample_2, sample_2_secontext,
-+	       sprintrc(rc));
-+
-+	if (unlink(sample_2))
-+		perror_msg_and_fail("unlink: %s", sample_2);
-+
-+	static const char new_dir[] = "new";
-+	char *new_sample_2 = xasprintf("%s/%s", new_dir, sample_2);
-+
-+	(void) unlink(new_sample_2);
-+	(void) rmdir(new_dir);
-+
-+	if (mkdir(new_dir, 0700))
-+		perror_msg_and_fail("mkdir");
-+	char *new_dir_realpath = xasprintf("%s/%s", cwd, new_dir);
-+	char *new_dir_secontext = SECONTEXT_FILE(new_dir);
-+	int dfd_new = get_dir_fd(new_dir);
-+
-+	rc = syscall(__NR_linkat, dfd_old, sample_1, dfd_new, sample_2, 0);
-+	/* no context printed for sample_2 since file doesn't exist yet */
-+	printf("%s%s(%d%s, \"%s\"%s, %d%s, \"%s\", 0) = %s\n",
-+	       my_secontext, "linkat",
-+	       dfd_old, dfd_old_secontext,
-+	       sample_1, sample_1_secontext,
-+	       dfd_new, new_dir_secontext,
-+	       sample_2,
-+	       sprintrc(rc));
-+
-+	rc = syscall(__NR_linkat, dfd_old, sample_1, dfd_new, sample_2, 0);
-+	printf("%s%s(%d%s, \"%s\"%s, %d%s, \"%s\"%s, 0) = %s\n",
-+	       my_secontext, "linkat",
-+	       dfd_old, dfd_old_secontext,
-+	       sample_1, sample_1_secontext,
-+	       dfd_new, new_dir_secontext,
-+	       sample_2, SECONTEXT_FILE(new_sample_2),
-+	       sprintrc(rc));
-+
-+	char *new_sample_2_realpath = xasprintf("%s/%s", new_dir_realpath, sample_2);
-+
-+	/* dfd ignored when path is absolute */
-+	if (chdir("../.."))
-+		perror_msg_and_fail("chdir");
-+
-+	rc = syscall(__NR_linkat, dfd_old, sample_1, -100, new_sample_2_realpath, 0);
-+	printf("%s%s(%d%s, \"%s\"%s, AT_FDCWD, \"%s\"%s, 0) = %s\n",
-+	       my_secontext, "linkat",
-+	       dfd_old, dfd_old_secontext,
-+	       sample_1, sample_1_secontext,
-+	       new_sample_2_realpath, SECONTEXT_FILE(new_sample_2_realpath),
-+	       sprintrc(rc));
-+
-+	if (fchdir(dfd_old))
-+		perror_msg_and_fail("fchdir");
-+
-+	if (unlink(sample_1))
-+		perror_msg_and_fail("unlink: %s", sample_1);
-+	if (unlink(new_sample_2))
-+		perror_msg_and_fail("unlink: %s", new_sample_2);
-+	if (rmdir(new_dir))
-+		perror_msg_and_fail("rmdir: %s", new_dir);
-+
- 	leave_and_remove_subdir();
- 
- 	puts("+++ exited with 0 +++");
-Index: strace-5.7/tests-mx32/open.c
-===================================================================
---- strace-5.7.orig/tests-mx32/open.c	2021-08-24 21:08:35.397312536 +0200
-+++ strace-5.7/tests-mx32/open.c	2021-08-24 21:08:43.278245832 +0200
-@@ -15,6 +15,8 @@
- # include <stdio.h>
- # include <unistd.h>
- 
-+# include "secontext.h"
-+
- int
- main(void)
- {
-@@ -25,10 +27,12 @@
- 	create_and_enter_subdir("open_subdir");
- 
- 	static const char sample[] = "open.sample";
-+	char *my_secontext = SECONTEXT_PID_MY();
- 
- 	long fd = syscall(__NR_open, sample, O_RDONLY|O_CREAT, 0400);
--	printf("open(\"%s\", O_RDONLY|O_CREAT, 0400) = %s\n",
--	       sample, sprintrc(fd));
-+	printf("%s%s(\"%s\", O_RDONLY|O_CREAT, 0400) = %s%s\n",
-+	       my_secontext, "open",
-+	       sample, sprintrc(fd), SECONTEXT_FILE(sample));
- 
- 	if (fd != -1) {
- 		close(fd);
-@@ -36,16 +40,18 @@
- 			perror_msg_and_fail("unlink");
- 
- 		fd = syscall(__NR_open, sample, O_RDONLY);
--		printf("open(\"%s\", O_RDONLY) = %s\n", sample, sprintrc(fd));
-+		printf("%s%s(\"%s\", O_RDONLY) = %s\n",
-+		       my_secontext, "open", sample, sprintrc(fd));
- 
- 		fd = syscall(__NR_open, sample, O_WRONLY|O_NONBLOCK|0x80000000);
--		printf("open(\"%s\", O_WRONLY|O_NONBLOCK|0x80000000) = %s\n",
--		       sample, sprintrc(fd));
-+		printf("%s%s(\"%s\", O_WRONLY|O_NONBLOCK|0x80000000) = %s\n",
-+		       my_secontext, "open", sample, sprintrc(fd));
- 	}
- 
- # ifdef O_TMPFILE
- 	fd = syscall(__NR_open, sample, O_WRONLY|O_TMPFILE, 0600);
--	printf("open(\"%s\", O_WRONLY|O_TMPFILE, 0600) = %s\n",
-+	printf("%s%s(\"%s\", O_WRONLY|O_TMPFILE, 0600) = %s\n",
-+	       my_secontext, "open",
- 	       sample, sprintrc(fd));
- # endif /* O_TMPFILE */
- 
-Index: strace-5.7/tests-mx32/openat.c
-===================================================================
---- strace-5.7.orig/tests-mx32/openat.c	2021-08-24 21:08:35.397312536 +0200
-+++ strace-5.7/tests-mx32/openat.c	2021-08-24 21:08:43.278245832 +0200
-@@ -15,6 +15,8 @@
- # include <stdio.h>
- # include <unistd.h>
- 
-+# include "secontext.h"
-+
- # ifdef O_TMPFILE
- /* The kernel & C libraries often inline O_DIRECTORY. */
- #  define STRACE_O_TMPFILE (O_TMPFILE & ~O_DIRECTORY)
-@@ -26,10 +28,12 @@
- 
- static void
- test_mode_flag(unsigned int mode_val, const char *mode_str,
--	       unsigned int flag_val, const char *flag_str)
-+	       unsigned int flag_val, const char *flag_str,
-+	       const char *my_secontext)
- {
- 	long rc = syscall(__NR_openat, -1, sample, mode_val | flag_val, 0);
--	printf("openat(-1, \"%s\", %s%s%s%s) = %s\n",
-+	printf("%s%s(-1, \"%s\", %s%s%s%s) = %s\n",
-+	       my_secontext, "openat",
- 	       sample, mode_str,
- 	       flag_val ? "|" : "", flag_str,
- 	       flag_val & (O_CREAT | STRACE_O_TMPFILE) ? ", 000" : "",
-@@ -45,20 +49,7 @@
- 	 */
- 	create_and_enter_subdir("openat_subdir");
- 
--	long fd = syscall(__NR_openat, -100, sample, O_RDONLY|O_CREAT, 0400);
--	printf("openat(AT_FDCWD, \"%s\", O_RDONLY|O_CREAT, 0400) = %s\n",
--	       sample, sprintrc(fd));
--
--	if (fd != -1) {
--		close(fd);
--		if (unlink(sample) == -1)
--			perror_msg_and_fail("unlink");
--
--		fd = syscall(__NR_openat, -100, sample, O_RDONLY);
--		printf("openat(AT_FDCWD, \"%s\", O_RDONLY) = %s\n",
--		       sample, sprintrc(fd));
--	}
--
-+	char *my_secontext = SECONTEXT_PID_MY();
- 	struct {
- 		unsigned int val;
- 		const char *str;
-@@ -105,7 +96,73 @@
- 	for (unsigned int m = 0; m < ARRAY_SIZE(modes); ++m)
- 		for (unsigned int f = 0; f < ARRAY_SIZE(flags); ++f)
- 			test_mode_flag(modes[m].val, modes[m].str,
--				       flags[f].val, flags[f].str);
-+				       flags[f].val, flags[f].str,
-+				       my_secontext);
-+
-+	/*
-+	 * Tests with AT_FDCWD.
-+	 */
-+
-+	(void) unlink(sample);
-+	long fd = syscall(__NR_openat, -100, sample, O_RDONLY|O_CREAT, 0400);
-+
-+	char *sample_secontext = SECONTEXT_FILE(sample);
-+
-+	/*
-+	 * File context in openat() is not displayed because file doesn't exist
-+	 * yet, but is displayed in return value since the file got created.
-+	 */
-+	printf("%s%s(AT_FDCWD, \"%s\", O_RDONLY|O_CREAT, 0400) = %s%s\n",
-+	       my_secontext, "openat",
-+	       sample,
-+	       sprintrc(fd), sample_secontext);
-+
-+	close(fd);
-+
-+	fd = syscall(__NR_openat, -100, sample, O_RDONLY);
-+	printf("%s%s(AT_FDCWD, \"%s\"%s, O_RDONLY) = %s%s\n",
-+	       my_secontext, "openat",
-+	       sample, sample_secontext,
-+	       sprintrc(fd), sample_secontext);
-+	if (fd != -1) {
-+		close(fd);
-+		if (unlink(sample))
-+			perror_msg_and_fail("unlink");
-+	}
-+
-+	/*
-+	 * Tests with dirfd.
-+	 */
-+
-+	int cwd_fd = get_dir_fd(".");
-+	char *cwd_secontext = SECONTEXT_FILE(".");
-+
-+	fd = syscall(__NR_openat, cwd_fd, sample, O_RDONLY|O_CREAT, 0400);
-+	if (fd == -1)
-+		perror_msg_and_fail("openat");
-+	close(fd);
-+
-+	/*
-+	 * File context in openat() is not displayed because file doesn't exist
-+	 * yet, but is displayed in return value since the file got created.
-+	 */
-+	printf("%s%s(%d%s, \"%s\", O_RDONLY|O_CREAT, 0400) = %s%s\n",
-+	       my_secontext, "openat",
-+	       cwd_fd, cwd_secontext,
-+	       sample,
-+	       sprintrc(fd), sample_secontext);
-+
-+	fd = syscall(__NR_openat, cwd_fd, sample, O_RDONLY);
-+	printf("%s%s(%d%s, \"%s\"%s, O_RDONLY) = %s%s\n",
-+	       my_secontext, "openat",
-+	       cwd_fd, cwd_secontext,
-+	       sample, sample_secontext,
-+	       sprintrc(fd), sample_secontext);
-+	if (fd != -1) {
-+		close(fd);
-+		if (unlink(sample))
-+			perror_msg_and_fail("unlink");
-+	}
- 
- 	leave_and_remove_subdir();
- 
-Index: strace-5.7/tests-mx32/options-syntax.test
-===================================================================
---- strace-5.7.orig/tests-mx32/options-syntax.test	2021-08-24 21:08:35.398312527 +0200
-+++ strace-5.7/tests-mx32/options-syntax.test	2021-08-24 21:08:43.279245824 +0200
-@@ -2,14 +2,16 @@
- #
- # Check strace options syntax.
- #
--# Copyright (c) 2016 Dmitry V. Levin <ldv@altlinux.org>
--# Copyright (c) 2016-2020 The strace developers.
-+# Copyright (c) 2016 Dmitry V. Levin <ldv@strace.io>
-+# Copyright (c) 2016-2021 The strace developers.
- # All rights reserved.
- #
- # SPDX-License-Identifier: GPL-2.0-or-later
- 
- . "${srcdir=.}/syntax.sh"
- 
-+compiled_with_secontext=$(get_config_option ENABLE_SECONTEXT "y")
-+
- check_e "Invalid process id: '0'" -p 0
- check_e "Invalid process id: '0'" --attach=0
- check_e "Invalid process id: '-42'" -p -42
-@@ -46,6 +48,8 @@
- check_e '-t and --absolute-timestamps cannot be provided simultaneously' --absolute-timestamps -ttt -p $$
- check_e '-t and --absolute-timestamps cannot be provided simultaneously' -t --timestamps=ns -t -p $$
- check_e '-t and --absolute-timestamps cannot be provided simultaneously' --timestamps=ns -t --absolute-timestamps=unix -p $$
-+[ -z "$compiled_with_secontext" ] ||
-+	check_h "invalid --secontext argument: 'ss'" --secontext=ss
- check_h 'PROG [ARGS] must be specified with -D/--daemonize' -D -p $$
- check_h 'PROG [ARGS] must be specified with -D/--daemonize' -DD -p $$
- check_h 'PROG [ARGS] must be specified with -D/--daemonize' -DDD -p $$
-@@ -281,6 +285,11 @@
- $STRACE_EXE: Only the last of -z/--successful-only/-Z/--failed-only options will take effect. See status qualifier for more complex filters.
- $STRACE_EXE: $umsg" -u :nosuchuser: -cirtTyzZ true
- 
-+	if [ -n "$compiled_with_secontext" ]; then
-+		check_e "--secontext has no effect with -c/--summary-only
-+$STRACE_EXE: $umsg" -u :nosuchuser: -c --secontext true
-+	fi
-+
- 	for c in --output-separately -A/--output-append-mode; do
- 		check_e "$c has no effect without -o/--output
- $STRACE_EXE: $umsg" -u :nosuchuser: ${c%%/*} true
-Index: strace-5.7/tests-mx32/secontext.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-mx32/secontext.c	2021-08-24 21:08:43.279245824 +0200
-@@ -0,0 +1,201 @@
-+/*
-+ * Copyright (c) 2021 The strace developers.
-+ * All rights reserved.
-+ *
-+ * SPDX-License-Identifier: GPL-2.0-or-later
-+ */
-+
-+#include "tests.h"
-+
-+#ifdef HAVE_SELINUX_RUNTIME
-+
-+# include <assert.h>
-+# include <errno.h>
-+# include <stdlib.h>
-+# include <string.h>
-+# include <unistd.h>
-+# include <selinux/selinux.h>
-+
-+# include "xmalloc.h"
-+
-+# define TEST_SECONTEXT
-+# include "secontext.h"
-+
-+static char *
-+secontext_format(char *context, const char *fmt)
-+	ATTRIBUTE_FORMAT((printf, 2, 0)) ATTRIBUTE_MALLOC;
-+
-+static char *
-+secontext_format(char *context, const char *fmt)
-+{
-+	int saved_errno = errno;
-+	char *res = context ? xasprintf(fmt, context) : xstrdup("");
-+	free(context);
-+	errno = saved_errno;
-+	return res;
-+}
-+
-+# define FORMAT_SPACE_BEFORE(string)	secontext_format(string, " [%s]")
-+# define FORMAT_SPACE_AFTER(string)	secontext_format(string, "[%s] ")
-+
-+static char *
-+strip_trailing_newlines(char *context)
-+{
-+	/*
-+	 * On the CI at least, the context may have a trailing \n,
-+	 * let's remove it just in case.
-+	 */
-+	size_t len = strlen(context);
-+	for (; len > 0; --len) {
-+		if (context[len - 1] != '\n')
-+			break;
-+	}
-+	context[len] = '\0';
-+	return context;
-+}
-+
-+static char *
-+raw_secontext_full_file(const char *filename)
-+{
-+	int saved_errno = errno;
-+	char *full_secontext = NULL;
-+	char *secontext;
-+
-+	if (getfilecon(filename, &secontext) >= 0) {
-+		full_secontext = strip_trailing_newlines(xstrdup(secontext));
-+		freecon(secontext);
-+	}
-+	errno = saved_errno;
-+	return full_secontext;
-+}
-+
-+static char *
-+raw_secontext_short_file(const char *filename)
-+{
-+	int saved_errno = errno;
-+
-+	char *ctx = raw_secontext_full_file(filename);
-+	if (ctx == NULL)
-+		return ctx;
-+
-+	char *saveptr = NULL;
-+	const char *token;
-+	unsigned int i;
-+
-+	char *ctx_copy = xstrdup(ctx);
-+	char *context = NULL;
-+	for (token = strtok_r(ctx_copy, ":", &saveptr), i = 0;
-+	     token; token = strtok_r(NULL, ":", &saveptr), i++) {
-+		if (i == 2) {
-+			context = xstrdup(token);
-+			break;
-+		}
-+	}
-+	if (context == NULL)
-+		context = xstrdup(ctx);
-+	free(ctx_copy);
-+	free(ctx);
-+
-+	errno = saved_errno;
-+	return context;
-+}
-+
-+static char *
-+raw_secontext_full_pid(pid_t pid)
-+{
-+	int saved_errno = errno;
-+	char *full_secontext = NULL;
-+	char *secontext;
-+
-+	if (getpidcon(pid, &secontext) == 0) {
-+		full_secontext = strip_trailing_newlines(xstrdup(secontext));
-+		freecon(secontext);
-+	}
-+	errno = saved_errno;
-+	return full_secontext;
-+}
-+
-+static char *
-+raw_secontext_short_pid(pid_t pid)
-+{
-+	int saved_errno = errno;
-+
-+	char *ctx = raw_secontext_full_pid(pid);
-+	if (ctx == NULL)
-+		return ctx;
-+
-+	char *saveptr = NULL;
-+	const char *token;
-+	int i;
-+
-+	char *ctx_copy = xstrdup(ctx);
-+	char *context = NULL;
-+	for (token = strtok_r(ctx_copy, ":", &saveptr), i = 0;
-+	     token; token = strtok_r(NULL, ":", &saveptr), i++) {
-+		if (i == 2) {
-+			context = xstrdup(token);
-+			break;
-+		}
-+	}
-+	if (context == NULL)
-+		context = xstrdup(ctx);
-+	free(ctx_copy);
-+	free(ctx);
-+
-+	errno = saved_errno;
-+	return context;
-+}
-+
-+char *
-+secontext_full_file(const char *filename)
-+{
-+	return FORMAT_SPACE_BEFORE(raw_secontext_full_file(filename));
-+}
-+
-+char *
-+secontext_full_pid(pid_t pid)
-+{
-+	return FORMAT_SPACE_AFTER(raw_secontext_full_pid(pid));
-+}
-+
-+char *
-+secontext_short_file(const char *filename)
-+{
-+	return FORMAT_SPACE_BEFORE(raw_secontext_short_file(filename));
-+}
-+
-+char *
-+secontext_short_pid(pid_t pid)
-+{
-+	return FORMAT_SPACE_AFTER(raw_secontext_short_pid(pid));
-+}
-+
-+void
-+update_secontext_type(const char *file, const char *newtype)
-+{
-+	char *ctx = raw_secontext_full_file(file);
-+	if (ctx == NULL)
-+		return;
-+
-+	char *saveptr = NULL;
-+	char *token;
-+	int field;
-+	char *split[4];
-+
-+	for (token = strtok_r(ctx, ":", &saveptr), field = 0;
-+	     token; token = strtok_r(NULL, ":", &saveptr), field++) {
-+		assert(field < 4);
-+		split[field] = token;
-+	}
-+	assert(field == 4);
-+
-+	char *newcontext = xasprintf("%s:%s:%s:%s", split[0], split[1],
-+				     newtype, split[3]);
-+
-+	(void) setfilecon(file, newcontext);
-+
-+	free(newcontext);
-+	free(ctx);
-+}
-+
-+#endif /* HAVE_SELINUX_RUNTIME */
-Index: strace-5.7/tests-mx32/secontext.h
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-mx32/secontext.h	2021-08-24 21:08:43.279245824 +0200
-@@ -0,0 +1,46 @@
-+/*
-+ * Copyright (c) 2021 The strace developers.
-+ * All rights reserved.
-+ *
-+ * SPDX-License-Identifier: GPL-2.0-or-later
-+ */
-+
-+#include "tests.h"
-+#include "xmalloc.h"
-+#include <unistd.h>
-+
-+#if defined TEST_SECONTEXT && defined HAVE_SELINUX_RUNTIME
-+
-+void update_secontext_type(const char *file, const char *newtype);
-+
-+# ifdef PRINT_SECONTEXT_FULL
-+
-+char *secontext_full_file(const char *) ATTRIBUTE_MALLOC;
-+char *secontext_full_pid(pid_t) ATTRIBUTE_MALLOC;
-+
-+#  define SECONTEXT_FILE(filename)	secontext_full_file(filename)
-+#  define SECONTEXT_PID(pid)		secontext_full_pid(pid)
-+
-+# else
-+
-+char *secontext_short_file(const char *) ATTRIBUTE_MALLOC;
-+char *secontext_short_pid(pid_t) ATTRIBUTE_MALLOC;
-+
-+#  define SECONTEXT_FILE(filename)	secontext_short_file(filename)
-+#  define SECONTEXT_PID(pid)		secontext_short_pid(pid)
-+
-+# endif
-+
-+#else
-+
-+static inline void
-+update_secontext_type(const char *file, const char *newtype)
-+{
-+}
-+
-+# define SECONTEXT_FILE(filename)		xstrdup("")
-+# define SECONTEXT_PID(pid)			xstrdup("")
-+
-+#endif
-+
-+#define SECONTEXT_PID_MY()		SECONTEXT_PID(getpid())
-Index: strace-5.7/tests-mx32/strace-V.test
-===================================================================
---- strace-5.7.orig/tests-mx32/strace-V.test	2021-08-24 21:08:35.398312527 +0200
-+++ strace-5.7/tests-mx32/strace-V.test	2021-08-24 21:08:43.279245824 +0200
-@@ -33,7 +33,9 @@
- 	;;
- esac
- 
--features="${option_unwind}${option_demangle}${option_m32}${option_mx32}"
-+option_secontext=$(get_config_option ENABLE_SECONTEXT " secontext")
-+
-+features="${option_unwind}${option_demangle}${option_m32}${option_mx32}${option_secontext}"
- [ -n "$features" ] || features=" (none)"
- 
- cat > "$EXP" << __EOF__
-Index: strace-5.7/util.c
-===================================================================
---- strace-5.7.orig/util.c	2021-08-24 21:08:35.399312519 +0200
-+++ strace-5.7/util.c	2021-08-24 21:08:43.279245824 +0200
-@@ -26,6 +26,7 @@
- #include "largefile_wrappers.h"
- #include "number_set.h"
- #include "print_utils.h"
-+#include "secontext.h"
- #include "static_assert.h"
- #include "string_to_uint.h"
- #include "xlat.h"
-@@ -653,6 +654,13 @@
- 	} else {
- 		tprintf("%d", fd);
- 	}
-+#ifdef ENABLE_SECONTEXT
-+	char *context;
-+	if (!selinux_getfdcon(pid, fd, &context)) {
-+		tprintf(" [%s]", context);
-+		free(context);
-+	}
-+#endif
- }
- 
- void
-@@ -945,6 +953,14 @@
- 	else {
- 		path[n++] = !nul_seen;
- 		print_quoted_cstring(path, n);
-+
-+#ifdef ENABLE_SECONTEXT
-+		char *context;
-+		if (nul_seen && !selinux_getfilecon(tcp, path, &context)) {
-+			tprintf(" [%s]", context);
-+			free(context);
-+		}
-+#endif
- 	}
- 
- 	return nul_seen;
-Index: strace-5.7/xgetdents.c
-===================================================================
---- strace-5.7.orig/xgetdents.c	2021-08-24 21:08:35.399312519 +0200
-+++ strace-5.7/xgetdents.c	2021-08-24 21:08:43.280245815 +0200
-@@ -122,6 +122,9 @@
- {
- 	if (entering(tcp)) {
- 		printfd(tcp, tcp->u_arg[0]);
-+#ifdef ENABLE_SECONTEXT
-+		tcp->last_dirfd = (int) tcp->u_arg[0];
-+#endif
- 		tprints(", ");
- 		return 0;
- 	}
-Index: strace-5.7/Makefile.in
-===================================================================
---- strace-5.7.orig/Makefile.in	2021-08-24 21:08:35.404312477 +0200
-+++ strace-5.7/Makefile.in	2021-08-24 21:08:43.282245798 +0200
-@@ -122,14 +122,21 @@
- @ENABLE_STACKTRACE_TRUE@@USE_DEMANGLE_TRUE@am__append_11 = $(libiberty_CPPFLAGS)
- @ENABLE_STACKTRACE_TRUE@@USE_DEMANGLE_TRUE@am__append_12 = $(libiberty_LDFLAGS)
- @ENABLE_STACKTRACE_TRUE@@USE_DEMANGLE_TRUE@am__append_13 = $(libiberty_LIBS)
--@HAVE_M32_MPERS_TRUE@am__append_14 = libmpers-m32.a
--@HAVE_M32_MPERS_TRUE@am__append_15 = libmpers-m32.a
--@HAVE_M32_MPERS_TRUE@am__append_16 = $(mpers_m32_targets)
--@HAVE_M32_MPERS_TRUE@am__append_17 = $(mpers_m32_targets)
--@HAVE_MX32_MPERS_TRUE@am__append_18 = libmpers-mx32.a
--@HAVE_MX32_MPERS_TRUE@am__append_19 = libmpers-mx32.a
--@HAVE_MX32_MPERS_TRUE@am__append_20 = $(mpers_mx32_targets)
--@HAVE_MX32_MPERS_TRUE@am__append_21 = $(mpers_mx32_targets)
-+@ENABLE_SECONTEXT_TRUE@am__append_14 = \
-+@ENABLE_SECONTEXT_TRUE@	secontext.c	\
-+@ENABLE_SECONTEXT_TRUE@	secontext.h
-+
-+@ENABLE_SECONTEXT_TRUE@am__append_15 = $(libselinux_CPPFLAGS)
-+@ENABLE_SECONTEXT_TRUE@am__append_16 = $(libselinux_LDFLAGS)
-+@ENABLE_SECONTEXT_TRUE@am__append_17 = $(libselinux_LIBS)
-+@HAVE_M32_MPERS_TRUE@am__append_18 = libmpers-m32.a
-+@HAVE_M32_MPERS_TRUE@am__append_19 = libmpers-m32.a
-+@HAVE_M32_MPERS_TRUE@am__append_20 = $(mpers_m32_targets)
-+@HAVE_M32_MPERS_TRUE@am__append_21 = $(mpers_m32_targets)
-+@HAVE_MX32_MPERS_TRUE@am__append_22 = libmpers-mx32.a
-+@HAVE_MX32_MPERS_TRUE@am__append_23 = libmpers-mx32.a
-+@HAVE_MX32_MPERS_TRUE@am__append_24 = $(mpers_mx32_targets)
-+@HAVE_MX32_MPERS_TRUE@am__append_25 = $(mpers_mx32_targets)
- subdir = .
- ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
- am__aclocal_m4_deps = $(top_srcdir)/xlat/btrfs_compress_types.m4 \
-@@ -178,6 +185,7 @@
- 	$(top_srcdir)/m4/st_esyscmd_s.m4 $(top_srcdir)/m4/st_libdw.m4 \
- 	$(top_srcdir)/m4/st_libunwind.m4 \
- 	$(top_srcdir)/m4/st_save_restore_var.m4 \
-+	$(top_srcdir)/m4/st_selinux.m4 \
- 	$(top_srcdir)/m4/st_stacktrace.m4 \
- 	$(top_srcdir)/m4/st_warn_cflags.m4 \
- 	$(top_srcdir)/m4/warnings.m4 $(top_srcdir)/configure.ac
-@@ -382,7 +390,7 @@
- 	types/check-rtnl_link.c types/check-rtnl_mdb.c \
- 	types/check-rtnl_neightbl.c types/check-rtnl_route.c \
- 	types/check-v4l2.c unwind.c unwind.h unwind-libdw.c \
--	unwind-libunwind.c
-+	unwind-libunwind.c secontext.c secontext.h
- am__objects_3 =
- am__dirstamp = $(am__leading_dot)dirstamp
- am__objects_4 = types/libstrace_a-check-cryptouser.$(OBJEXT) \
-@@ -398,6 +406,8 @@
- @ENABLE_STACKTRACE_TRUE@am__objects_6 = libstrace_a-unwind.$(OBJEXT)
- @ENABLE_STACKTRACE_TRUE@@USE_LIBDW_TRUE@am__objects_7 = libstrace_a-unwind-libdw.$(OBJEXT)
- @ENABLE_STACKTRACE_TRUE@@USE_LIBUNWIND_TRUE@am__objects_8 = libstrace_a-unwind-libunwind.$(OBJEXT)
-+@ENABLE_SECONTEXT_TRUE@am__objects_9 =  \
-+@ENABLE_SECONTEXT_TRUE@	libstrace_a-secontext.$(OBJEXT)
- am_libstrace_a_OBJECTS = libstrace_a-access.$(OBJEXT) \
- 	libstrace_a-affinity.$(OBJEXT) libstrace_a-aio.$(OBJEXT) \
- 	libstrace_a-alpha.$(OBJEXT) \
-@@ -567,7 +577,7 @@
- 	libstrace_a-xattr.$(OBJEXT) libstrace_a-xgetdents.$(OBJEXT) \
- 	libstrace_a-xlat.$(OBJEXT) libstrace_a-xmalloc.$(OBJEXT) \
- 	$(am__objects_3) $(am__objects_5) $(am__objects_6) \
--	$(am__objects_7) $(am__objects_8)
-+	$(am__objects_7) $(am__objects_8) $(am__objects_9)
- libstrace_a_OBJECTS = $(am_libstrace_a_OBJECTS)
- am_strace_OBJECTS = strace-strace.$(OBJEXT)
- strace_OBJECTS = $(am_strace_OBJECTS)
-@@ -576,10 +586,12 @@
- @ENABLE_STACKTRACE_TRUE@@USE_LIBDW_TRUE@	$(am__DEPENDENCIES_1)
- @ENABLE_STACKTRACE_TRUE@@USE_LIBUNWIND_TRUE@am__DEPENDENCIES_3 = $(am__DEPENDENCIES_1)
- @ENABLE_STACKTRACE_TRUE@@USE_DEMANGLE_TRUE@am__DEPENDENCIES_4 = $(am__DEPENDENCIES_1)
-+@ENABLE_SECONTEXT_TRUE@am__DEPENDENCIES_5 = $(am__DEPENDENCIES_1)
- strace_DEPENDENCIES = libstrace.a $(am__DEPENDENCIES_1) \
- 	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2) \
- 	$(am__DEPENDENCIES_3) $(am__DEPENDENCIES_4) \
--	$(am__DEPENDENCIES_1) $(am__append_14) $(am__append_18)
-+	$(am__DEPENDENCIES_5) $(am__DEPENDENCIES_1) $(am__append_18) \
-+	$(am__append_22)
- strace_LINK = $(CCLD) $(strace_CFLAGS) $(CFLAGS) $(strace_LDFLAGS) \
- 	$(LDFLAGS) -o $@
- am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-@@ -1223,6 +1235,9 @@
- libiberty_CPPFLAGS = @libiberty_CPPFLAGS@
- libiberty_LDFLAGS = @libiberty_LDFLAGS@
- libiberty_LIBS = @libiberty_LIBS@
-+libselinux_CPPFLAGS = @libselinux_CPPFLAGS@
-+libselinux_LDFLAGS = @libselinux_LDFLAGS@
-+libselinux_LIBS = @libselinux_LIBS@
- libunwind_CPPFLAGS = @libunwind_CPPFLAGS@
- libunwind_LDFLAGS = @libunwind_LDFLAGS@
- libunwind_LIBS = @libunwind_LIBS@
-@@ -1782,14 +1797,15 @@
- 	xlat/xattrflags.h xlat/xdp_flags.h xlat/xfs_dqblk_flags.h \
- 	xlat/xfs_quota_flags.h
- strace_CPPFLAGS = $(AM_CPPFLAGS) $(am__append_3) $(am__append_8) \
--	$(am__append_11) $(CODE_COVERAGE_CPPFLAGS)
-+	$(am__append_11) $(am__append_15) $(CODE_COVERAGE_CPPFLAGS)
- strace_CFLAGS = $(AM_CFLAGS) $(am__append_4) $(CODE_COVERAGE_CFLAGS)
--strace_LDFLAGS = $(am__append_5) $(am__append_9) $(am__append_12)
-+strace_LDFLAGS = $(am__append_5) $(am__append_9) $(am__append_12) \
-+	$(am__append_16)
- strace_LDADD = libstrace.a $(clock_LIBS) $(timer_LIBS) $(am__append_6) \
--	$(am__append_10) $(am__append_13) $(CODE_COVERAGE_LIBS) \
--	$(am__append_14) $(am__append_18)
-+	$(am__append_10) $(am__append_13) $(am__append_17) \
-+	$(CODE_COVERAGE_LIBS) $(am__append_18) $(am__append_22)
- strace_SOURCES = strace.c
--noinst_LIBRARIES = libstrace.a $(am__append_15) $(am__append_19)
-+noinst_LIBRARIES = libstrace.a $(am__append_19) $(am__append_23)
- libstrace_a_CPPFLAGS = $(strace_CPPFLAGS)
- libstrace_a_CFLAGS = $(strace_CFLAGS)
- libstrace_a_SOURCES = access.c affinity.c aio.c alpha.c arch_defs.h \
-@@ -1864,7 +1880,7 @@
- 	wait.h watchdog_ioctl.c xattr.c xfs_quota_stat.h xgetdents.c \
- 	xgetdents.h xlat.c xlat.h xmalloc.c xmalloc.h xstring.h \
- 	$(TYPES_HEADER_FILES) $(strace_SOURCES_check) $(am__append_1) \
--	$(am__append_2) $(am__append_7)
-+	$(am__append_2) $(am__append_7) $(am__append_14)
- strace_SOURCES_check = bpf_attr_check.c $(TYPES_CHECK_FILES)
- CODE_COVERAGE_BRANCH_COVERAGE = 1
- CODE_COVERAGE_GENHTML_OPTIONS = $(CODE_COVERAGE_GENHTML_OPTIONS_DEFAULT) \
-@@ -2459,12 +2475,12 @@
- ioctl_redefs_h = $(filter-out ioctl_redefs0.h,$(subst ioctlent,ioctl_redefs,$(ioctlent_h)))
- BUILT_SOURCES = $(ioctl_redefs_h) $(ioctlent_h) bpf_attr_check.c \
- 	native_printer_decls.h native_printer_defs.h printers.h sen.h \
--	sys_func.h .version scno.h $(am__append_16) $(am__append_20)
-+	sys_func.h .version scno.h $(am__append_20) $(am__append_24)
- CLEANFILES = $(ioctl_redefs_h) $(ioctlent_h) $(mpers_preproc_files) \
- 	ioctl_iocdef.h ioctl_iocdef.i bpf_attr_check.c \
- 	native_printer_decls.h native_printer_defs.h printers.h sen.h \
--	sys_func.h syscallent.i scno.h $(am__append_17) \
--	$(am__append_21)
-+	sys_func.h syscallent.i scno.h $(am__append_21) \
-+	$(am__append_25)
- DISTCLEANFILES = gnu/stubs-32.h gnu/stubs-x32.h linux/linux/signal.h
- SCNO_CPPFLAGS = $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- 		$(ARCH_MFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS)
-@@ -2963,6 +2979,7 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstrace_a-sched.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstrace_a-scsi.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstrace_a-seccomp.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstrace_a-secontext.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstrace_a-sendfile.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstrace_a-sg_io_v3.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstrace_a-sg_io_v4.Po@am__quote@ # am--include-marker
-@@ -7814,6 +7831,20 @@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -c -o libstrace_a-unwind-libunwind.obj `if test -f 'unwind-libunwind.c'; then $(CYGPATH_W) 'unwind-libunwind.c'; else $(CYGPATH_W) '$(srcdir)/unwind-libunwind.c'; fi`
- 
-+libstrace_a-secontext.o: secontext.c
-+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -MT libstrace_a-secontext.o -MD -MP -MF $(DEPDIR)/libstrace_a-secontext.Tpo -c -o libstrace_a-secontext.o `test -f 'secontext.c' || echo '$(srcdir)/'`secontext.c
-+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libstrace_a-secontext.Tpo $(DEPDIR)/libstrace_a-secontext.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='secontext.c' object='libstrace_a-secontext.o' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -c -o libstrace_a-secontext.o `test -f 'secontext.c' || echo '$(srcdir)/'`secontext.c
-+
-+libstrace_a-secontext.obj: secontext.c
-+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -MT libstrace_a-secontext.obj -MD -MP -MF $(DEPDIR)/libstrace_a-secontext.Tpo -c -o libstrace_a-secontext.obj `if test -f 'secontext.c'; then $(CYGPATH_W) 'secontext.c'; else $(CYGPATH_W) '$(srcdir)/secontext.c'; fi`
-+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libstrace_a-secontext.Tpo $(DEPDIR)/libstrace_a-secontext.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='secontext.c' object='libstrace_a-secontext.obj' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libstrace_a_CPPFLAGS) $(CPPFLAGS) $(libstrace_a_CFLAGS) $(CFLAGS) -c -o libstrace_a-secontext.obj `if test -f 'secontext.c'; then $(CYGPATH_W) 'secontext.c'; else $(CYGPATH_W) '$(srcdir)/secontext.c'; fi`
-+
- strace-strace.o: strace.c
- @am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(strace_CPPFLAGS) $(CPPFLAGS) $(strace_CFLAGS) $(CFLAGS) -MT strace-strace.o -MD -MP -MF $(DEPDIR)/strace-strace.Tpo -c -o strace-strace.o `test -f 'strace.c' || echo '$(srcdir)/'`strace.c
- @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/strace-strace.Tpo $(DEPDIR)/strace-strace.Po
-Index: strace-5.7/tests/Makefile.in
-===================================================================
---- strace-5.7.orig/tests/Makefile.in	2021-08-24 21:08:35.436312206 +0200
-+++ strace-5.7/tests/Makefile.in	2021-08-24 21:08:43.286245764 +0200
-@@ -22,6 +22,8 @@
- #
- # SPDX-License-Identifier: GPL-2.0-or-later
- 
-+# Generated by ./tests/gen_secontext.sh from ./tests/gen_tests.in; do not edit.
-+
- # scno.h make rules for strace.
- #
- # Copyright (c) 2017-2019 Dmitry V. Levin <ldv@altlinux.org>
-@@ -102,8 +104,8 @@
- POST_UNINSTALL = :
- build_triplet = @build@
- host_triplet = @host@
--check_PROGRAMS = $(am__EXEEXT_1) _newselect-P$(EXEEXT) answer$(EXEEXT) \
--	attach-f-p$(EXEEXT) attach-f-p-cmd$(EXEEXT) \
-+check_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) _newselect-P$(EXEEXT) \
-+	answer$(EXEEXT) attach-f-p$(EXEEXT) attach-f-p-cmd$(EXEEXT) \
- 	attach-p-cmd-cmd$(EXEEXT) attach-p-cmd-p$(EXEEXT) \
- 	block_reset_raise_run$(EXEEXT) block_reset_run$(EXEEXT) \
- 	bpf-obj_get_info_by_fd$(EXEEXT) \
-@@ -221,7 +223,7 @@
- 	xetpriority--pidns-translation$(EXEEXT) \
- 	xet_robust_list--pidns-translation$(EXEEXT) zeroargc$(EXEEXT)
- @ENABLE_STACKTRACE_TRUE@@USE_DEMANGLE_TRUE@am__append_1 = strace-k-demangle.test
--TESTS = $(GEN_TESTS) $(DECODER_TESTS) $(MISC_TESTS) $(am__EXEEXT_2)
-+TESTS = $(GEN_TESTS) $(DECODER_TESTS) $(MISC_TESTS) $(am__EXEEXT_3)
- subdir = tests
- ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
- am__aclocal_m4_deps = $(top_srcdir)/xlat/btrfs_compress_types.m4 \
-@@ -270,6 +272,7 @@
- 	$(top_srcdir)/m4/st_esyscmd_s.m4 $(top_srcdir)/m4/st_libdw.m4 \
- 	$(top_srcdir)/m4/st_libunwind.m4 \
- 	$(top_srcdir)/m4/st_save_restore_var.m4 \
-+	$(top_srcdir)/m4/st_selinux.m4 \
- 	$(top_srcdir)/m4/st_stacktrace.m4 \
- 	$(top_srcdir)/m4/st_warn_cflags.m4 \
- 	$(top_srcdir)/m4/warnings.m4 $(top_srcdir)/configure.ac
-@@ -298,7 +301,8 @@
- 	epoll_create$(EXEEXT) epoll_create1$(EXEEXT) \
- 	epoll_ctl$(EXEEXT) epoll_pwait$(EXEEXT) epoll_wait$(EXEEXT) \
- 	erestartsys$(EXEEXT) eventfd$(EXEEXT) execve$(EXEEXT) \
--	execveat$(EXEEXT) faccessat$(EXEEXT) fadvise64$(EXEEXT) \
-+	execveat$(EXEEXT) faccessat$(EXEEXT) faccessat-P$(EXEEXT) \
-+	faccessat-y$(EXEEXT) faccessat-yy$(EXEEXT) fadvise64$(EXEEXT) \
- 	fadvise64_64$(EXEEXT) fallocate$(EXEEXT) \
- 	fanotify_init$(EXEEXT) fanotify_mark$(EXEEXT) \
- 	fanotify_mark-Xabbrev$(EXEEXT) fanotify_mark-Xraw$(EXEEXT) \
-@@ -543,6 +547,26 @@
- 	xattr-strings$(EXEEXT) xet_robust_list$(EXEEXT) \
- 	xet_thread_area_x86$(EXEEXT) xetitimer$(EXEEXT) \
- 	xetpgid$(EXEEXT) xetpriority$(EXEEXT) xettimeofday$(EXEEXT)
-+am__EXEEXT_2 = access--secontext$(EXEEXT) \
-+	access--secontext_full$(EXEEXT) chmod--secontext$(EXEEXT) \
-+	chmod--secontext_full$(EXEEXT) execve--secontext$(EXEEXT) \
-+	execve--secontext_full$(EXEEXT) execveat--secontext$(EXEEXT) \
-+	execveat--secontext_full$(EXEEXT) \
-+	faccessat--secontext$(EXEEXT) \
-+	faccessat--secontext_full$(EXEEXT) \
-+	faccessat-y--secontext$(EXEEXT) \
-+	faccessat-y--secontext_full$(EXEEXT) \
-+	fanotify_mark--secontext$(EXEEXT) \
-+	fanotify_mark--secontext_full$(EXEEXT) \
-+	fchmod--secontext$(EXEEXT) fchmod--secontext_full$(EXEEXT) \
-+	fchmod-y--secontext$(EXEEXT) fchmod-y--secontext_full$(EXEEXT) \
-+	fchmodat--secontext$(EXEEXT) fchmodat--secontext_full$(EXEEXT) \
-+	fchownat--secontext$(EXEEXT) fchownat--secontext_full$(EXEEXT) \
-+	file_handle--secontext$(EXEEXT) \
-+	file_handle--secontext_full$(EXEEXT) \
-+	linkat--secontext$(EXEEXT) linkat--secontext_full$(EXEEXT) \
-+	open--secontext$(EXEEXT) open--secontext_full$(EXEEXT) \
-+	openat--secontext$(EXEEXT) openat--secontext_full$(EXEEXT)
- ARFLAGS = cru
- AM_V_AR = $(am__v_AR_@AM_V@)
- am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@)
-@@ -571,6 +595,7 @@
- 	libtests_a-printxval-Xabbrev.$(OBJEXT) \
- 	libtests_a-printxval-Xraw.$(OBJEXT) \
- 	libtests_a-printxval-Xverbose.$(OBJEXT) \
-+	libtests_a-secontext.$(OBJEXT) \
- 	libtests_a-signal2name.$(OBJEXT) \
- 	libtests_a-skip_unavailable.$(OBJEXT) \
- 	libtests_a-sprintrc.$(OBJEXT) libtests_a-status.$(OBJEXT) \
-@@ -600,6 +625,14 @@
- access_OBJECTS = access.$(OBJEXT)
- access_LDADD = $(LDADD)
- access_DEPENDENCIES = libtests.a
-+access__secontext_SOURCES = access--secontext.c
-+access__secontext_OBJECTS = access--secontext.$(OBJEXT)
-+am__DEPENDENCIES_1 =
-+@HAVE_SELINUX_RUNTIME_TRUE@am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1)
-+access__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
-+access__secontext_full_SOURCES = access--secontext_full.c
-+access__secontext_full_OBJECTS = access--secontext_full.$(OBJEXT)
-+access__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
- acct_SOURCES = acct.c
- acct_OBJECTS = acct.$(OBJEXT)
- acct_LDADD = $(LDADD)
-@@ -718,6 +751,12 @@
- chmod_OBJECTS = chmod.$(OBJEXT)
- chmod_LDADD = $(LDADD)
- chmod_DEPENDENCIES = libtests.a
-+chmod__secontext_SOURCES = chmod--secontext.c
-+chmod__secontext_OBJECTS = chmod--secontext.$(OBJEXT)
-+chmod__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
-+chmod__secontext_full_SOURCES = chmod--secontext_full.c
-+chmod__secontext_full_OBJECTS = chmod--secontext_full.$(OBJEXT)
-+chmod__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
- chown_SOURCES = chown.c
- chown_OBJECTS = chown.$(OBJEXT)
- chown_LDADD = $(LDADD)
-@@ -828,7 +867,6 @@
- creat_DEPENDENCIES = libtests.a
- delay_SOURCES = delay.c
- delay_OBJECTS = delay.$(OBJEXT)
--am__DEPENDENCIES_1 =
- delay_DEPENDENCIES = $(am__DEPENDENCIES_1) $(LDADD)
- delete_module_SOURCES = delete_module.c
- delete_module_OBJECTS = delete_module.$(OBJEXT)
-@@ -930,6 +968,12 @@
- execve_OBJECTS = execve.$(OBJEXT)
- execve_LDADD = $(LDADD)
- execve_DEPENDENCIES = libtests.a
-+execve__secontext_SOURCES = execve--secontext.c
-+execve__secontext_OBJECTS = execve--secontext.$(OBJEXT)
-+execve__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
-+execve__secontext_full_SOURCES = execve--secontext_full.c
-+execve__secontext_full_OBJECTS = execve--secontext_full.$(OBJEXT)
-+execve__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
- execve_v_SOURCES = execve-v.c
- execve_v_OBJECTS = execve-v.$(OBJEXT)
- execve_v_LDADD = $(LDADD)
-@@ -938,6 +982,12 @@
- execveat_OBJECTS = execveat.$(OBJEXT)
- execveat_LDADD = $(LDADD)
- execveat_DEPENDENCIES = libtests.a
-+execveat__secontext_SOURCES = execveat--secontext.c
-+execveat__secontext_OBJECTS = execveat--secontext.$(OBJEXT)
-+execveat__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
-+execveat__secontext_full_SOURCES = execveat--secontext_full.c
-+execveat__secontext_full_OBJECTS = execveat--secontext_full.$(OBJEXT)
-+execveat__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
- execveat_v_SOURCES = execveat-v.c
- execveat_v_OBJECTS = execveat-v.$(OBJEXT)
- execveat_v_LDADD = $(LDADD)
-@@ -946,6 +996,34 @@
- faccessat_OBJECTS = faccessat.$(OBJEXT)
- faccessat_LDADD = $(LDADD)
- faccessat_DEPENDENCIES = libtests.a
-+faccessat__secontext_SOURCES = faccessat--secontext.c
-+faccessat__secontext_OBJECTS = faccessat--secontext.$(OBJEXT)
-+faccessat__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
-+faccessat__secontext_full_SOURCES = faccessat--secontext_full.c
-+faccessat__secontext_full_OBJECTS =  \
-+	faccessat--secontext_full.$(OBJEXT)
-+faccessat__secontext_full_DEPENDENCIES = $(LDADD) \
-+	$(am__DEPENDENCIES_2)
-+faccessat_P_SOURCES = faccessat-P.c
-+faccessat_P_OBJECTS = faccessat-P.$(OBJEXT)
-+faccessat_P_LDADD = $(LDADD)
-+faccessat_P_DEPENDENCIES = libtests.a
-+faccessat_y_SOURCES = faccessat-y.c
-+faccessat_y_OBJECTS = faccessat-y.$(OBJEXT)
-+faccessat_y_LDADD = $(LDADD)
-+faccessat_y_DEPENDENCIES = libtests.a
-+faccessat_y__secontext_SOURCES = faccessat-y--secontext.c
-+faccessat_y__secontext_OBJECTS = faccessat-y--secontext.$(OBJEXT)
-+faccessat_y__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
-+faccessat_y__secontext_full_SOURCES = faccessat-y--secontext_full.c
-+faccessat_y__secontext_full_OBJECTS =  \
-+	faccessat-y--secontext_full.$(OBJEXT)
-+faccessat_y__secontext_full_DEPENDENCIES = $(LDADD) \
-+	$(am__DEPENDENCIES_2)
-+faccessat_yy_SOURCES = faccessat-yy.c
-+faccessat_yy_OBJECTS = faccessat-yy.$(OBJEXT)
-+faccessat_yy_LDADD = $(LDADD)
-+faccessat_yy_DEPENDENCIES = libtests.a
- fadvise64_SOURCES = fadvise64.c
- fadvise64_OBJECTS = fadvise64.$(OBJEXT)
- fadvise64_LDADD = $(LDADD)
-@@ -966,6 +1044,15 @@
- fanotify_mark_OBJECTS = fanotify_mark.$(OBJEXT)
- fanotify_mark_LDADD = $(LDADD)
- fanotify_mark_DEPENDENCIES = libtests.a
-+fanotify_mark__secontext_SOURCES = fanotify_mark--secontext.c
-+fanotify_mark__secontext_OBJECTS = fanotify_mark--secontext.$(OBJEXT)
-+fanotify_mark__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
-+fanotify_mark__secontext_full_SOURCES =  \
-+	fanotify_mark--secontext_full.c
-+fanotify_mark__secontext_full_OBJECTS =  \
-+	fanotify_mark--secontext_full.$(OBJEXT)
-+fanotify_mark__secontext_full_DEPENDENCIES = $(LDADD) \
-+	$(am__DEPENDENCIES_2)
- fanotify_mark_Xabbrev_SOURCES = fanotify_mark-Xabbrev.c
- fanotify_mark_Xabbrev_OBJECTS = fanotify_mark-Xabbrev.$(OBJEXT)
- fanotify_mark_Xabbrev_LDADD = $(LDADD)
-@@ -986,14 +1073,32 @@
- fchmod_OBJECTS = fchmod.$(OBJEXT)
- fchmod_LDADD = $(LDADD)
- fchmod_DEPENDENCIES = libtests.a
-+fchmod__secontext_SOURCES = fchmod--secontext.c
-+fchmod__secontext_OBJECTS = fchmod--secontext.$(OBJEXT)
-+fchmod__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
-+fchmod__secontext_full_SOURCES = fchmod--secontext_full.c
-+fchmod__secontext_full_OBJECTS = fchmod--secontext_full.$(OBJEXT)
-+fchmod__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
- fchmod_y_SOURCES = fchmod-y.c
- fchmod_y_OBJECTS = fchmod-y.$(OBJEXT)
- fchmod_y_LDADD = $(LDADD)
- fchmod_y_DEPENDENCIES = libtests.a
-+fchmod_y__secontext_SOURCES = fchmod-y--secontext.c
-+fchmod_y__secontext_OBJECTS = fchmod-y--secontext.$(OBJEXT)
-+fchmod_y__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
-+fchmod_y__secontext_full_SOURCES = fchmod-y--secontext_full.c
-+fchmod_y__secontext_full_OBJECTS = fchmod-y--secontext_full.$(OBJEXT)
-+fchmod_y__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
- fchmodat_SOURCES = fchmodat.c
- fchmodat_OBJECTS = fchmodat.$(OBJEXT)
- fchmodat_LDADD = $(LDADD)
- fchmodat_DEPENDENCIES = libtests.a
-+fchmodat__secontext_SOURCES = fchmodat--secontext.c
-+fchmodat__secontext_OBJECTS = fchmodat--secontext.$(OBJEXT)
-+fchmodat__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
-+fchmodat__secontext_full_SOURCES = fchmodat--secontext_full.c
-+fchmodat__secontext_full_OBJECTS = fchmodat--secontext_full.$(OBJEXT)
-+fchmodat__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
- fchown_SOURCES = fchown.c
- fchown_OBJECTS = fchown.$(OBJEXT)
- fchown_LDADD = $(LDADD)
-@@ -1006,6 +1111,12 @@
- fchownat_OBJECTS = fchownat.$(OBJEXT)
- fchownat_LDADD = $(LDADD)
- fchownat_DEPENDENCIES = libtests.a
-+fchownat__secontext_SOURCES = fchownat--secontext.c
-+fchownat__secontext_OBJECTS = fchownat--secontext.$(OBJEXT)
-+fchownat__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
-+fchownat__secontext_full_SOURCES = fchownat--secontext_full.c
-+fchownat__secontext_full_OBJECTS = fchownat--secontext_full.$(OBJEXT)
-+fchownat__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
- fcntl_SOURCES = fcntl.c
- fcntl_OBJECTS = fcntl.$(OBJEXT)
- fcntl_LDADD = $(LDADD)
-@@ -1035,6 +1146,14 @@
- file_handle_OBJECTS = file_handle.$(OBJEXT)
- file_handle_LDADD = $(LDADD)
- file_handle_DEPENDENCIES = libtests.a
-+file_handle__secontext_SOURCES = file_handle--secontext.c
-+file_handle__secontext_OBJECTS = file_handle--secontext.$(OBJEXT)
-+file_handle__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
-+file_handle__secontext_full_SOURCES = file_handle--secontext_full.c
-+file_handle__secontext_full_OBJECTS =  \
-+	file_handle--secontext_full.$(OBJEXT)
-+file_handle__secontext_full_DEPENDENCIES = $(LDADD) \
-+	$(am__DEPENDENCIES_2)
- file_ioctl_SOURCES = file_ioctl.c
- file_ioctl_OBJECTS = file_ioctl.$(OBJEXT)
- file_ioctl_LDADD = $(LDADD)
-@@ -1886,6 +2005,12 @@
- linkat_OBJECTS = linkat.$(OBJEXT)
- linkat_LDADD = $(LDADD)
- linkat_DEPENDENCIES = libtests.a
-+linkat__secontext_SOURCES = linkat--secontext.c
-+linkat__secontext_OBJECTS = linkat--secontext.$(OBJEXT)
-+linkat__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
-+linkat__secontext_full_SOURCES = linkat--secontext_full.c
-+linkat__secontext_full_OBJECTS = linkat--secontext_full.$(OBJEXT)
-+linkat__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
- list_sigaction_signum_SOURCES = list_sigaction_signum.c
- list_sigaction_signum_OBJECTS = list_sigaction_signum.$(OBJEXT)
- list_sigaction_signum_LDADD = $(LDADD)
-@@ -2530,6 +2655,12 @@
- open_OBJECTS = open.$(OBJEXT)
- open_LDADD = $(LDADD)
- open_DEPENDENCIES = libtests.a
-+open__secontext_SOURCES = open--secontext.c
-+open__secontext_OBJECTS = open--secontext.$(OBJEXT)
-+open__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
-+open__secontext_full_SOURCES = open--secontext_full.c
-+open__secontext_full_OBJECTS = open--secontext_full.$(OBJEXT)
-+open__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
- open_tree_SOURCES = open_tree.c
- open_tree_OBJECTS = open_tree.$(OBJEXT)
- open_tree_LDADD = $(LDADD)
-@@ -2542,6 +2673,12 @@
- openat_OBJECTS = openat.$(OBJEXT)
- openat_LDADD = $(LDADD)
- openat_DEPENDENCIES = libtests.a
-+openat__secontext_SOURCES = openat--secontext.c
-+openat__secontext_OBJECTS = openat--secontext.$(OBJEXT)
-+openat__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
-+openat__secontext_full_SOURCES = openat--secontext_full.c
-+openat__secontext_full_OBJECTS = openat--secontext_full.$(OBJEXT)
-+openat__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
- openat2_SOURCES = openat2.c
- openat2_OBJECTS = openat2.$(OBJEXT)
- openat2_LDADD = $(LDADD)
-@@ -4487,7 +4624,8 @@
- am__v_CCLD_0 = @echo "  CCLD    " $@;
- am__v_CCLD_1 = 
- SOURCES = $(libtests_a_SOURCES) _newselect.c _newselect-P.c accept.c \
--	accept4.c access.c acct.c add_key.c adjtimex.c aio.c \
-+	accept4.c access.c access--secontext.c \
-+	access--secontext_full.c acct.c add_key.c adjtimex.c aio.c \
- 	aio_pgetevents.c alarm.c answer.c attach-f-p.c \
- 	attach-f-p-cmd.c attach-p-cmd-cmd.c attach-p-cmd-p.c \
- 	block_reset_raise_run.c block_reset_run.c bpf.c \
-@@ -4495,7 +4633,8 @@
- 	bpf-obj_get_info_by_fd-prog-v.c bpf-obj_get_info_by_fd-v.c \
- 	bpf-success.c bpf-success-long-y.c bpf-success-v.c bpf-v.c \
- 	brk.c btrfs.c caps.c caps-abbrev.c check_sigblock.c \
--	check_sigign.c chmod.c chown.c chown32.c chroot.c \
-+	check_sigign.c chmod.c chmod--secontext.c \
-+	chmod--secontext_full.c chown.c chown32.c chroot.c \
- 	clock_adjtime.c clock_nanosleep.c clock_xettime.c \
- 	clone-flags.c clone3.c clone3-Xabbrev.c clone3-Xraw.c \
- 	clone3-Xverbose.c clone3-success.c clone3-success-Xabbrev.c \
-@@ -4509,25 +4648,35 @@
- 	dup-yy.c dup2.c dup2-P.c dup2-y.c dup2-yy.c dup3.c dup3-P.c \
- 	dup3-y.c dup3-yy.c epoll_create.c epoll_create1.c epoll_ctl.c \
- 	epoll_pwait.c epoll_wait.c erestartsys.c eventfd.c execve.c \
--	execve-v.c execveat.c execveat-v.c faccessat.c fadvise64.c \
--	fadvise64_64.c fallocate.c fanotify_init.c fanotify_mark.c \
--	fanotify_mark-Xabbrev.c fanotify_mark-Xraw.c \
--	fanotify_mark-Xverbose.c fchdir.c fchmod.c fchmod-y.c \
--	fchmodat.c fchown.c fchown32.c fchownat.c fcntl.c \
--	fcntl--pidns-translation.c fcntl64.c \
--	fcntl64--pidns-translation.c fdatasync.c fflush.c \
--	file_handle.c file_ioctl.c filter-unavailable.c \
--	filter_seccomp-flag.c filter_seccomp-perf.c finit_module.c \
--	flock.c fork--pidns-translation.c fork-f.c fsconfig.c \
--	fsconfig-P.c fsmount.c fsopen.c fspick.c fspick-P.c fstat.c \
--	fstat-Xabbrev.c fstat-Xraw.c fstat-Xverbose.c fstat64.c \
--	fstat64-Xabbrev.c fstat64-Xraw.c fstat64-Xverbose.c \
--	fstatat64.c fstatfs.c fstatfs64.c fsync.c fsync-y.c \
--	ftruncate.c ftruncate64.c futex.c futimesat.c get_mempolicy.c \
--	get_process_reaper.c getcpu.c getcwd.c getdents.c getdents-v.c \
--	getdents64.c getdents64-v.c getegid.c getegid32.c geteuid.c \
--	geteuid32.c getgid.c getgid32.c getgroups.c getgroups32.c \
--	getpeername.c getpgrp.c getpgrp--pidns-translation.c getpid.c \
-+	execve--secontext.c execve--secontext_full.c execve-v.c \
-+	execveat.c execveat--secontext.c execveat--secontext_full.c \
-+	execveat-v.c faccessat.c faccessat--secontext.c \
-+	faccessat--secontext_full.c faccessat-P.c faccessat-y.c \
-+	faccessat-y--secontext.c faccessat-y--secontext_full.c \
-+	faccessat-yy.c fadvise64.c fadvise64_64.c fallocate.c \
-+	fanotify_init.c fanotify_mark.c fanotify_mark--secontext.c \
-+	fanotify_mark--secontext_full.c fanotify_mark-Xabbrev.c \
-+	fanotify_mark-Xraw.c fanotify_mark-Xverbose.c fchdir.c \
-+	fchmod.c fchmod--secontext.c fchmod--secontext_full.c \
-+	fchmod-y.c fchmod-y--secontext.c fchmod-y--secontext_full.c \
-+	fchmodat.c fchmodat--secontext.c fchmodat--secontext_full.c \
-+	fchown.c fchown32.c fchownat.c fchownat--secontext.c \
-+	fchownat--secontext_full.c fcntl.c fcntl--pidns-translation.c \
-+	fcntl64.c fcntl64--pidns-translation.c fdatasync.c fflush.c \
-+	file_handle.c file_handle--secontext.c \
-+	file_handle--secontext_full.c file_ioctl.c \
-+	filter-unavailable.c filter_seccomp-flag.c \
-+	filter_seccomp-perf.c finit_module.c flock.c \
-+	fork--pidns-translation.c fork-f.c fsconfig.c fsconfig-P.c \
-+	fsmount.c fsopen.c fspick.c fspick-P.c fstat.c fstat-Xabbrev.c \
-+	fstat-Xraw.c fstat-Xverbose.c fstat64.c fstat64-Xabbrev.c \
-+	fstat64-Xraw.c fstat64-Xverbose.c fstatat64.c fstatfs.c \
-+	fstatfs64.c fsync.c fsync-y.c ftruncate.c ftruncate64.c \
-+	futex.c futimesat.c get_mempolicy.c get_process_reaper.c \
-+	getcpu.c getcwd.c getdents.c getdents-v.c getdents64.c \
-+	getdents64-v.c getegid.c getegid32.c geteuid.c geteuid32.c \
-+	getgid.c getgid32.c getgroups.c getgroups32.c getpeername.c \
-+	getpgrp.c getpgrp--pidns-translation.c getpid.c \
- 	getpid--pidns-translation.c getppid.c getrandom.c getresgid.c \
- 	getresgid32.c getresuid.c getresuid32.c getrlimit.c \
- 	getrusage.c getsid.c getsid--pidns-translation.c getsockname.c \
-@@ -4578,7 +4727,8 @@
- 	kexec_file_load.c kexec_load.c keyctl.c keyctl-Xabbrev.c \
- 	keyctl-Xraw.c keyctl-Xverbose.c kill.c \
- 	kill--pidns-translation.c kill_child.c ksysent.c lchown.c \
--	lchown32.c link.c linkat.c list_sigaction_signum.c llseek.c \
-+	lchown32.c link.c linkat.c linkat--secontext.c \
-+	linkat--secontext_full.c list_sigaction_signum.c llseek.c \
- 	localtime.c lookup_dcookie.c looping_threads.c lseek.c lstat.c \
- 	lstat64.c madvise.c maybe_switch_current_tcp.c \
- 	maybe_switch_current_tcp--quiet-thread-execve.c mbind.c \
-@@ -4629,23 +4779,25 @@
- 	old_mmap-Xabbrev.c old_mmap-Xraw.c old_mmap-Xverbose.c \
- 	old_mmap-v-none.c oldfstat.c oldlstat.c oldselect.c \
- 	oldselect-P.c oldselect-efault.c oldselect-efault-P.c \
--	oldstat.c open.c open_tree.c open_tree-P.c openat.c openat2.c \
--	openat2-Xabbrev.c openat2-Xraw.c openat2-Xverbose.c \
--	openat2-v.c openat2-v-y.c openat2-v-y-Xabbrev.c \
--	openat2-v-y-Xraw.c openat2-v-y-Xverbose.c openat2-y.c \
--	orphaned_process_group.c osf_utimes.c pause.c pc.c \
--	perf_event_open.c perf_event_open_nonverbose.c \
--	perf_event_open_unabbrev.c personality.c personality-Xabbrev.c \
--	personality-Xraw.c personality-Xverbose.c pidfd_getfd.c \
--	pidfd_getfd-y.c pidfd_getfd-yy.c pidfd_open.c \
--	pidfd_open--decode-fd-path.c pidfd_open--decode-fd-pidfd.c \
--	pidfd_open--decode-fd-socket.c pidfd_open--pidns-translation.c \
--	pidfd_open-P.c pidfd_open-y.c pidfd_open-yy.c \
--	pidfd_send_signal.c pidfd_send_signal--pidns-translation.c \
--	pidns-cache.c pipe.c pipe2.c pkey_alloc.c pkey_free.c \
--	pkey_mprotect.c poll.c poll-P.c ppoll.c ppoll-P.c ppoll-v.c \
--	prctl-arg2-intptr.c prctl-dumpable.c prctl-name.c \
--	prctl-no-args.c prctl-pdeathsig.c prctl-seccomp-filter-v.c \
-+	oldstat.c open.c open--secontext.c open--secontext_full.c \
-+	open_tree.c open_tree-P.c openat.c openat--secontext.c \
-+	openat--secontext_full.c openat2.c openat2-Xabbrev.c \
-+	openat2-Xraw.c openat2-Xverbose.c openat2-v.c openat2-v-y.c \
-+	openat2-v-y-Xabbrev.c openat2-v-y-Xraw.c \
-+	openat2-v-y-Xverbose.c openat2-y.c orphaned_process_group.c \
-+	osf_utimes.c pause.c pc.c perf_event_open.c \
-+	perf_event_open_nonverbose.c perf_event_open_unabbrev.c \
-+	personality.c personality-Xabbrev.c personality-Xraw.c \
-+	personality-Xverbose.c pidfd_getfd.c pidfd_getfd-y.c \
-+	pidfd_getfd-yy.c pidfd_open.c pidfd_open--decode-fd-path.c \
-+	pidfd_open--decode-fd-pidfd.c pidfd_open--decode-fd-socket.c \
-+	pidfd_open--pidns-translation.c pidfd_open-P.c pidfd_open-y.c \
-+	pidfd_open-yy.c pidfd_send_signal.c \
-+	pidfd_send_signal--pidns-translation.c pidns-cache.c pipe.c \
-+	pipe2.c pkey_alloc.c pkey_free.c pkey_mprotect.c poll.c \
-+	poll-P.c ppoll.c ppoll-P.c ppoll-v.c prctl-arg2-intptr.c \
-+	prctl-dumpable.c prctl-name.c prctl-no-args.c \
-+	prctl-pdeathsig.c prctl-seccomp-filter-v.c \
- 	prctl-seccomp-strict.c prctl-securebits.c prctl-spec-inject.c \
- 	prctl-tid_address.c prctl-tsc.c pread64-pwrite64.c preadv.c \
- 	preadv-pwritev.c preadv2-pwritev2.c print_maxfd.c \
-@@ -4735,7 +4887,8 @@
- 	xetpriority.c xetpriority--pidns-translation.c xettimeofday.c \
- 	zeroargc.c
- DIST_SOURCES = $(libtests_a_SOURCES) _newselect.c _newselect-P.c \
--	accept.c accept4.c access.c acct.c add_key.c adjtimex.c aio.c \
-+	accept.c accept4.c access.c access--secontext.c \
-+	access--secontext_full.c acct.c add_key.c adjtimex.c aio.c \
- 	aio_pgetevents.c alarm.c answer.c attach-f-p.c \
- 	attach-f-p-cmd.c attach-p-cmd-cmd.c attach-p-cmd-p.c \
- 	block_reset_raise_run.c block_reset_run.c bpf.c \
-@@ -4743,7 +4896,8 @@
- 	bpf-obj_get_info_by_fd-prog-v.c bpf-obj_get_info_by_fd-v.c \
- 	bpf-success.c bpf-success-long-y.c bpf-success-v.c bpf-v.c \
- 	brk.c btrfs.c caps.c caps-abbrev.c check_sigblock.c \
--	check_sigign.c chmod.c chown.c chown32.c chroot.c \
-+	check_sigign.c chmod.c chmod--secontext.c \
-+	chmod--secontext_full.c chown.c chown32.c chroot.c \
- 	clock_adjtime.c clock_nanosleep.c clock_xettime.c \
- 	clone-flags.c clone3.c clone3-Xabbrev.c clone3-Xraw.c \
- 	clone3-Xverbose.c clone3-success.c clone3-success-Xabbrev.c \
-@@ -4757,25 +4911,35 @@
- 	dup-yy.c dup2.c dup2-P.c dup2-y.c dup2-yy.c dup3.c dup3-P.c \
- 	dup3-y.c dup3-yy.c epoll_create.c epoll_create1.c epoll_ctl.c \
- 	epoll_pwait.c epoll_wait.c erestartsys.c eventfd.c execve.c \
--	execve-v.c execveat.c execveat-v.c faccessat.c fadvise64.c \
--	fadvise64_64.c fallocate.c fanotify_init.c fanotify_mark.c \
--	fanotify_mark-Xabbrev.c fanotify_mark-Xraw.c \
--	fanotify_mark-Xverbose.c fchdir.c fchmod.c fchmod-y.c \
--	fchmodat.c fchown.c fchown32.c fchownat.c fcntl.c \
--	fcntl--pidns-translation.c fcntl64.c \
--	fcntl64--pidns-translation.c fdatasync.c fflush.c \
--	file_handle.c file_ioctl.c filter-unavailable.c \
--	filter_seccomp-flag.c filter_seccomp-perf.c finit_module.c \
--	flock.c fork--pidns-translation.c fork-f.c fsconfig.c \
--	fsconfig-P.c fsmount.c fsopen.c fspick.c fspick-P.c fstat.c \
--	fstat-Xabbrev.c fstat-Xraw.c fstat-Xverbose.c fstat64.c \
--	fstat64-Xabbrev.c fstat64-Xraw.c fstat64-Xverbose.c \
--	fstatat64.c fstatfs.c fstatfs64.c fsync.c fsync-y.c \
--	ftruncate.c ftruncate64.c futex.c futimesat.c get_mempolicy.c \
--	get_process_reaper.c getcpu.c getcwd.c getdents.c getdents-v.c \
--	getdents64.c getdents64-v.c getegid.c getegid32.c geteuid.c \
--	geteuid32.c getgid.c getgid32.c getgroups.c getgroups32.c \
--	getpeername.c getpgrp.c getpgrp--pidns-translation.c getpid.c \
-+	execve--secontext.c execve--secontext_full.c execve-v.c \
-+	execveat.c execveat--secontext.c execveat--secontext_full.c \
-+	execveat-v.c faccessat.c faccessat--secontext.c \
-+	faccessat--secontext_full.c faccessat-P.c faccessat-y.c \
-+	faccessat-y--secontext.c faccessat-y--secontext_full.c \
-+	faccessat-yy.c fadvise64.c fadvise64_64.c fallocate.c \
-+	fanotify_init.c fanotify_mark.c fanotify_mark--secontext.c \
-+	fanotify_mark--secontext_full.c fanotify_mark-Xabbrev.c \
-+	fanotify_mark-Xraw.c fanotify_mark-Xverbose.c fchdir.c \
-+	fchmod.c fchmod--secontext.c fchmod--secontext_full.c \
-+	fchmod-y.c fchmod-y--secontext.c fchmod-y--secontext_full.c \
-+	fchmodat.c fchmodat--secontext.c fchmodat--secontext_full.c \
-+	fchown.c fchown32.c fchownat.c fchownat--secontext.c \
-+	fchownat--secontext_full.c fcntl.c fcntl--pidns-translation.c \
-+	fcntl64.c fcntl64--pidns-translation.c fdatasync.c fflush.c \
-+	file_handle.c file_handle--secontext.c \
-+	file_handle--secontext_full.c file_ioctl.c \
-+	filter-unavailable.c filter_seccomp-flag.c \
-+	filter_seccomp-perf.c finit_module.c flock.c \
-+	fork--pidns-translation.c fork-f.c fsconfig.c fsconfig-P.c \
-+	fsmount.c fsopen.c fspick.c fspick-P.c fstat.c fstat-Xabbrev.c \
-+	fstat-Xraw.c fstat-Xverbose.c fstat64.c fstat64-Xabbrev.c \
-+	fstat64-Xraw.c fstat64-Xverbose.c fstatat64.c fstatfs.c \
-+	fstatfs64.c fsync.c fsync-y.c ftruncate.c ftruncate64.c \
-+	futex.c futimesat.c get_mempolicy.c get_process_reaper.c \
-+	getcpu.c getcwd.c getdents.c getdents-v.c getdents64.c \
-+	getdents64-v.c getegid.c getegid32.c geteuid.c geteuid32.c \
-+	getgid.c getgid32.c getgroups.c getgroups32.c getpeername.c \
-+	getpgrp.c getpgrp--pidns-translation.c getpid.c \
- 	getpid--pidns-translation.c getppid.c getrandom.c getresgid.c \
- 	getresgid32.c getresuid.c getresuid32.c getrlimit.c \
- 	getrusage.c getsid.c getsid--pidns-translation.c getsockname.c \
-@@ -4826,7 +4990,8 @@
- 	kexec_file_load.c kexec_load.c keyctl.c keyctl-Xabbrev.c \
- 	keyctl-Xraw.c keyctl-Xverbose.c kill.c \
- 	kill--pidns-translation.c kill_child.c ksysent.c lchown.c \
--	lchown32.c link.c linkat.c list_sigaction_signum.c llseek.c \
-+	lchown32.c link.c linkat.c linkat--secontext.c \
-+	linkat--secontext_full.c list_sigaction_signum.c llseek.c \
- 	localtime.c lookup_dcookie.c looping_threads.c lseek.c lstat.c \
- 	lstat64.c madvise.c maybe_switch_current_tcp.c \
- 	maybe_switch_current_tcp--quiet-thread-execve.c mbind.c \
-@@ -4877,23 +5042,25 @@
- 	old_mmap-Xabbrev.c old_mmap-Xraw.c old_mmap-Xverbose.c \
- 	old_mmap-v-none.c oldfstat.c oldlstat.c oldselect.c \
- 	oldselect-P.c oldselect-efault.c oldselect-efault-P.c \
--	oldstat.c open.c open_tree.c open_tree-P.c openat.c openat2.c \
--	openat2-Xabbrev.c openat2-Xraw.c openat2-Xverbose.c \
--	openat2-v.c openat2-v-y.c openat2-v-y-Xabbrev.c \
--	openat2-v-y-Xraw.c openat2-v-y-Xverbose.c openat2-y.c \
--	orphaned_process_group.c osf_utimes.c pause.c pc.c \
--	perf_event_open.c perf_event_open_nonverbose.c \
--	perf_event_open_unabbrev.c personality.c personality-Xabbrev.c \
--	personality-Xraw.c personality-Xverbose.c pidfd_getfd.c \
--	pidfd_getfd-y.c pidfd_getfd-yy.c pidfd_open.c \
--	pidfd_open--decode-fd-path.c pidfd_open--decode-fd-pidfd.c \
--	pidfd_open--decode-fd-socket.c pidfd_open--pidns-translation.c \
--	pidfd_open-P.c pidfd_open-y.c pidfd_open-yy.c \
--	pidfd_send_signal.c pidfd_send_signal--pidns-translation.c \
--	pidns-cache.c pipe.c pipe2.c pkey_alloc.c pkey_free.c \
--	pkey_mprotect.c poll.c poll-P.c ppoll.c ppoll-P.c ppoll-v.c \
--	prctl-arg2-intptr.c prctl-dumpable.c prctl-name.c \
--	prctl-no-args.c prctl-pdeathsig.c prctl-seccomp-filter-v.c \
-+	oldstat.c open.c open--secontext.c open--secontext_full.c \
-+	open_tree.c open_tree-P.c openat.c openat--secontext.c \
-+	openat--secontext_full.c openat2.c openat2-Xabbrev.c \
-+	openat2-Xraw.c openat2-Xverbose.c openat2-v.c openat2-v-y.c \
-+	openat2-v-y-Xabbrev.c openat2-v-y-Xraw.c \
-+	openat2-v-y-Xverbose.c openat2-y.c orphaned_process_group.c \
-+	osf_utimes.c pause.c pc.c perf_event_open.c \
-+	perf_event_open_nonverbose.c perf_event_open_unabbrev.c \
-+	personality.c personality-Xabbrev.c personality-Xraw.c \
-+	personality-Xverbose.c pidfd_getfd.c pidfd_getfd-y.c \
-+	pidfd_getfd-yy.c pidfd_open.c pidfd_open--decode-fd-path.c \
-+	pidfd_open--decode-fd-pidfd.c pidfd_open--decode-fd-socket.c \
-+	pidfd_open--pidns-translation.c pidfd_open-P.c pidfd_open-y.c \
-+	pidfd_open-yy.c pidfd_send_signal.c \
-+	pidfd_send_signal--pidns-translation.c pidns-cache.c pipe.c \
-+	pipe2.c pkey_alloc.c pkey_free.c pkey_mprotect.c poll.c \
-+	poll-P.c ppoll.c ppoll-P.c ppoll-v.c prctl-arg2-intptr.c \
-+	prctl-dumpable.c prctl-name.c prctl-no-args.c \
-+	prctl-pdeathsig.c prctl-seccomp-filter-v.c \
- 	prctl-seccomp-strict.c prctl-securebits.c prctl-spec-inject.c \
- 	prctl-tid_address.c prctl-tsc.c pread64-pwrite64.c preadv.c \
- 	preadv-pwritev.c preadv2-pwritev2.c print_maxfd.c \
-@@ -5194,7 +5361,7 @@
-   bases=`echo $$bases`
- RECHECK_LOGS = $(TEST_LOGS)
- AM_RECURSIVE_TARGETS = check recheck
--@ENABLE_STACKTRACE_TRUE@am__EXEEXT_2 = strace-k.test strace-k-p.test \
-+@ENABLE_STACKTRACE_TRUE@am__EXEEXT_3 = strace-k.test strace-k-p.test \
- @ENABLE_STACKTRACE_TRUE@	$(am__append_1)
- TEST_SUITE_LOG = test-suite.log
- TEST_EXTENSIONS = @EXEEXT@ .test
-@@ -5216,7 +5383,8 @@
-   esac
- am__DIST_COMMON = $(srcdir)/../scno.am $(srcdir)/Makefile.in \
- 	$(srcdir)/gen_tests.am $(srcdir)/pure_executables.am \
--	$(top_srcdir)/depcomp $(top_srcdir)/test-driver COPYING
-+	$(srcdir)/secontext.am $(top_srcdir)/depcomp \
-+	$(top_srcdir)/test-driver COPYING
- DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
- ACLOCAL = @ACLOCAL@
- AMTAR = @AMTAR@
-@@ -5357,6 +5525,9 @@
- libiberty_CPPFLAGS = @libiberty_CPPFLAGS@
- libiberty_LDFLAGS = @libiberty_LDFLAGS@
- libiberty_LIBS = @libiberty_LIBS@
-+libselinux_CPPFLAGS = @libselinux_CPPFLAGS@
-+libselinux_LDFLAGS = @libselinux_LDFLAGS@
-+libselinux_LIBS = @libselinux_LIBS@
- libunwind_CPPFLAGS = @libunwind_CPPFLAGS@
- libunwind_LDFLAGS = @libunwind_LDFLAGS@
- libunwind_LIBS = @libunwind_LIBS@
-@@ -5400,6 +5571,8 @@
- 	      -DTESTS_SIZEOF_LONG=$(SIZEOF_LONG)
- 
- AM_LDFLAGS = $(ARCH_MFLAGS)
-+@HAVE_SELINUX_RUNTIME_FALSE@libselinux_LDADD = 
-+@HAVE_SELINUX_RUNTIME_TRUE@libselinux_LDADD = $(libselinux_LIBS)
- libtests_a_SOURCES = \
- 	create_nl_socket.c \
- 	create_tmpfile.c \
-@@ -5426,6 +5599,8 @@
- 	printxval-Xabbrev.c \
- 	printxval-Xraw.c \
- 	printxval-Xverbose.c \
-+	secontext.c \
-+	secontext.h \
- 	signal2name.c \
- 	skip_unavailable.c \
- 	sprintrc.c \
-@@ -5505,6 +5680,9 @@
-   execve \
-   execveat \
-   faccessat \
-+  faccessat-P \
-+  faccessat-y \
-+  faccessat-yy \
-   fadvise64 \
-   fadvise64_64 \
-   fallocate \
-@@ -6077,6 +6255,69 @@
-   xettimeofday \
-   #
- 
-+secontext_EXECUTABLES = \
-+  access--secontext \
-+  access--secontext_full \
-+  chmod--secontext \
-+  chmod--secontext_full \
-+  execve--secontext \
-+  execve--secontext_full \
-+  execveat--secontext \
-+  execveat--secontext_full \
-+  faccessat--secontext \
-+  faccessat--secontext_full \
-+  faccessat-y--secontext \
-+  faccessat-y--secontext_full \
-+  fanotify_mark--secontext \
-+  fanotify_mark--secontext_full \
-+  fchmod--secontext \
-+  fchmod--secontext_full \
-+  fchmod-y--secontext \
-+  fchmod-y--secontext_full \
-+  fchmodat--secontext \
-+  fchmodat--secontext_full \
-+  fchownat--secontext \
-+  fchownat--secontext_full \
-+  file_handle--secontext \
-+  file_handle--secontext_full \
-+  linkat--secontext \
-+  linkat--secontext_full \
-+  open--secontext \
-+  open--secontext_full \
-+  openat--secontext \
-+  openat--secontext_full \
-+  #
-+
-+access__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
-+access__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
-+chmod__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
-+chmod__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
-+execve__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
-+execve__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
-+execveat__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
-+execveat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
-+faccessat__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
-+faccessat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
-+faccessat_y__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
-+faccessat_y__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
-+fanotify_mark__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
-+fanotify_mark__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
-+fchmod__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
-+fchmod__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
-+fchmod_y__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
-+fchmod_y__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
-+fchmodat__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
-+fchmodat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
-+fchownat__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
-+fchownat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
-+file_handle__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
-+file_handle__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
-+linkat__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
-+linkat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
-+open__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
-+open__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
-+openat__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
-+openat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
- attach_f_p_LDADD = -lpthread $(LDADD)
- count_f_LDADD = -lpthread $(LDADD)
- delay_LDADD = $(clock_LIBS) $(LDADD)
-@@ -6129,14 +6370,15 @@
- 
- # Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in; do not edit.
- GEN_TESTS = _newselect.gen.test _newselect-P.gen.test accept.gen.test \
--	accept4.gen.test access.gen.test acct.gen.test \
--	add_key.gen.test adjtimex.gen.test aio.gen.test \
--	aio_pgetevents.gen.test alarm.gen.test bpf.gen.test \
--	bpf-obj_get_info_by_fd.gen.test \
-+	accept4.gen.test access.gen.test access--secontext.gen.test \
-+	access--secontext_full.gen.test acct.gen.test add_key.gen.test \
-+	adjtimex.gen.test aio.gen.test aio_pgetevents.gen.test \
-+	alarm.gen.test bpf.gen.test bpf-obj_get_info_by_fd.gen.test \
- 	bpf-obj_get_info_by_fd-prog.gen.test \
- 	bpf-obj_get_info_by_fd-prog-v.gen.test \
- 	bpf-obj_get_info_by_fd-v.gen.test bpf-v.gen.test \
--	btrfs.gen.test chmod.gen.test chown.gen.test chown32.gen.test \
-+	btrfs.gen.test chmod.gen.test chmod--secontext.gen.test \
-+	chmod--secontext_full.gen.test chown.gen.test chown32.gen.test \
- 	chroot.gen.test clock.gen.test clock_adjtime.gen.test \
- 	clock_nanosleep.gen.test clock_xettime.gen.test \
- 	clone3.gen.test clone3-Xabbrev.gen.test clone3-Xraw.gen.test \
-@@ -6155,21 +6397,36 @@
- 	dup3-P.gen.test dup3-y.gen.test dup3-yy.gen.test \
- 	epoll_create.gen.test epoll_create1.gen.test \
- 	epoll_ctl.gen.test epoll_pwait.gen.test epoll_wait.gen.test \
--	erestartsys.gen.test execveat.gen.test execveat-v.gen.test \
--	faccessat.gen.test fadvise64_64.gen.test fallocate.gen.test \
-+	erestartsys.gen.test execve--secontext.gen.test \
-+	execve--secontext_full.gen.test execveat.gen.test \
-+	execveat--secontext.gen.test execveat--secontext_full.gen.test \
-+	execveat-v.gen.test faccessat--secontext.gen.test \
-+	faccessat--secontext_full.gen.test faccessat-P.gen.test \
-+	faccessat-y.gen.test faccessat-y--secontext.gen.test \
-+	faccessat-y--secontext_full.gen.test faccessat-yy.gen.test \
-+	fadvise64_64.gen.test fallocate.gen.test \
- 	fanotify_init.gen.test fanotify_mark.gen.test \
-+	fanotify_mark--secontext.gen.test \
-+	fanotify_mark--secontext_full.gen.test \
- 	fanotify_mark-Xabbrev.gen.test fanotify_mark-Xraw.gen.test \
- 	fanotify_mark-Xverbose.gen.test fchdir.gen.test \
--	fchmod.gen.test fchmod-y.gen.test fchmodat.gen.test \
--	fchown.gen.test fchown32.gen.test fchownat.gen.test \
-+	fchmod.gen.test fchmod--secontext.gen.test \
-+	fchmod--secontext_full.gen.test fchmod-y.gen.test \
-+	fchmod-y--secontext.gen.test fchmod-y--secontext_full.gen.test \
-+	fchmodat.gen.test fchmodat--secontext.gen.test \
-+	fchmodat--secontext_full.gen.test fchown.gen.test \
-+	fchown32.gen.test fchownat.gen.test \
-+	fchownat--secontext.gen.test fchownat--secontext_full.gen.test \
- 	fcntl.gen.test fcntl--pidns-translation.gen.test \
- 	fcntl64.gen.test fcntl64--pidns-translation.gen.test \
- 	fdatasync.gen.test file_handle.gen.test file_ioctl.gen.test \
--	filter_seccomp.gen.test filter_seccomp-flag.gen.test \
--	finit_module.gen.test flock.gen.test fork-f.gen.test \
--	fsconfig.gen.test fsconfig-P.gen.test fsmount.gen.test \
--	fsopen.gen.test fspick.gen.test fspick-P.gen.test \
--	fstat.gen.test fstat-Xabbrev.gen.test fstat-Xraw.gen.test \
-+	file_handle--secontext.gen.test \
-+	file_handle--secontext_full.gen.test filter_seccomp.gen.test \
-+	filter_seccomp-flag.gen.test finit_module.gen.test \
-+	flock.gen.test fork-f.gen.test fsconfig.gen.test \
-+	fsconfig-P.gen.test fsmount.gen.test fsopen.gen.test \
-+	fspick.gen.test fspick-P.gen.test fstat.gen.test \
-+	fstat-Xabbrev.gen.test fstat-Xraw.gen.test \
- 	fstat-Xverbose.gen.test fstat64.gen.test \
- 	fstat64-Xabbrev.gen.test fstat64-Xraw.gen.test \
- 	fstat64-Xverbose.gen.test fstatat64.gen.test fstatfs.gen.test \
-@@ -6259,8 +6516,9 @@
- 	keyctl-Xverbose.gen.test kill.gen.test \
- 	kill--pidns-translation.gen.test ksysent.gen.test \
- 	lchown.gen.test lchown32.gen.test link.gen.test \
--	linkat.gen.test lookup_dcookie.gen.test lstat.gen.test \
--	lstat64.gen.test madvise.gen.test \
-+	linkat.gen.test linkat--secontext.gen.test \
-+	linkat--secontext_full.gen.test lookup_dcookie.gen.test \
-+	lstat.gen.test lstat64.gen.test madvise.gen.test \
- 	maybe_switch_current_tcp.gen.test \
- 	maybe_switch_current_tcp--quiet-thread-execve.gen.test \
- 	mbind.gen.test mbind-Xabbrev.gen.test mbind-Xraw.gen.test \
-@@ -6328,14 +6586,17 @@
- 	old_mmap-v-none.gen.test oldfstat.gen.test oldlstat.gen.test \
- 	oldselect.gen.test oldselect-P.gen.test \
- 	oldselect-efault.gen.test oldselect-efault-P.gen.test \
--	oldstat.gen.test open.gen.test open_tree.gen.test \
--	open_tree-P.gen.test openat.gen.test openat2.gen.test \
--	openat2-Xabbrev.gen.test openat2-Xraw.gen.test \
--	openat2-Xverbose.gen.test openat2-v.gen.test \
--	openat2-v-y.gen.test openat2-v-y-Xabbrev.gen.test \
--	openat2-v-y-Xraw.gen.test openat2-v-y-Xverbose.gen.test \
--	openat2-y.gen.test orphaned_process_group.gen.test \
--	osf_utimes.gen.test pause.gen.test perf_event_open.gen.test \
-+	oldstat.gen.test open.gen.test open--secontext.gen.test \
-+	open--secontext_full.gen.test open_tree.gen.test \
-+	open_tree-P.gen.test openat.gen.test \
-+	openat--secontext.gen.test openat--secontext_full.gen.test \
-+	openat2.gen.test openat2-Xabbrev.gen.test \
-+	openat2-Xraw.gen.test openat2-Xverbose.gen.test \
-+	openat2-v.gen.test openat2-v-y.gen.test \
-+	openat2-v-y-Xabbrev.gen.test openat2-v-y-Xraw.gen.test \
-+	openat2-v-y-Xverbose.gen.test openat2-y.gen.test \
-+	orphaned_process_group.gen.test osf_utimes.gen.test \
-+	pause.gen.test perf_event_open.gen.test \
- 	perf_event_open_nonverbose.gen.test \
- 	perf_event_open_unabbrev.gen.test personality-Xabbrev.gen.test \
- 	personality-Xraw.gen.test personality-Xverbose.gen.test \
-@@ -6806,7 +7067,7 @@
- 
- .SUFFIXES:
- .SUFFIXES: .c .log .o .obj .test .test$(EXEEXT) .trs
--$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/pure_executables.am $(srcdir)/gen_tests.am $(srcdir)/../scno.am $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/pure_executables.am $(srcdir)/secontext.am $(srcdir)/gen_tests.am $(srcdir)/../scno.am $(am__configure_deps)
- 	@for dep in $?; do \
- 	  case '$(am__configure_deps)' in \
- 	    *$$dep*) \
-@@ -6826,7 +7087,7 @@
- 	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
- 	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
- 	esac;
--$(srcdir)/pure_executables.am $(srcdir)/gen_tests.am $(srcdir)/../scno.am $(am__empty):
-+$(srcdir)/pure_executables.am $(srcdir)/secontext.am $(srcdir)/gen_tests.am $(srcdir)/../scno.am $(am__empty):
- 
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-@@ -6868,6 +7129,14 @@
- 	@rm -f access$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(access_OBJECTS) $(access_LDADD) $(LIBS)
- 
-+access--secontext$(EXEEXT): $(access__secontext_OBJECTS) $(access__secontext_DEPENDENCIES) $(EXTRA_access__secontext_DEPENDENCIES) 
-+	@rm -f access--secontext$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(access__secontext_OBJECTS) $(access__secontext_LDADD) $(LIBS)
-+
-+access--secontext_full$(EXEEXT): $(access__secontext_full_OBJECTS) $(access__secontext_full_DEPENDENCIES) $(EXTRA_access__secontext_full_DEPENDENCIES) 
-+	@rm -f access--secontext_full$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(access__secontext_full_OBJECTS) $(access__secontext_full_LDADD) $(LIBS)
-+
- acct$(EXEEXT): $(acct_OBJECTS) $(acct_DEPENDENCIES) $(EXTRA_acct_DEPENDENCIES) 
- 	@rm -f acct$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(acct_OBJECTS) $(acct_LDADD) $(LIBS)
-@@ -6984,6 +7253,14 @@
- 	@rm -f chmod$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(chmod_OBJECTS) $(chmod_LDADD) $(LIBS)
- 
-+chmod--secontext$(EXEEXT): $(chmod__secontext_OBJECTS) $(chmod__secontext_DEPENDENCIES) $(EXTRA_chmod__secontext_DEPENDENCIES) 
-+	@rm -f chmod--secontext$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(chmod__secontext_OBJECTS) $(chmod__secontext_LDADD) $(LIBS)
-+
-+chmod--secontext_full$(EXEEXT): $(chmod__secontext_full_OBJECTS) $(chmod__secontext_full_DEPENDENCIES) $(EXTRA_chmod__secontext_full_DEPENDENCIES) 
-+	@rm -f chmod--secontext_full$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(chmod__secontext_full_OBJECTS) $(chmod__secontext_full_LDADD) $(LIBS)
-+
- chown$(EXEEXT): $(chown_OBJECTS) $(chown_DEPENDENCIES) $(EXTRA_chown_DEPENDENCIES) 
- 	@rm -f chown$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(chown_OBJECTS) $(chown_LDADD) $(LIBS)
-@@ -7196,6 +7473,14 @@
- 	@rm -f execve$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(execve_OBJECTS) $(execve_LDADD) $(LIBS)
- 
-+execve--secontext$(EXEEXT): $(execve__secontext_OBJECTS) $(execve__secontext_DEPENDENCIES) $(EXTRA_execve__secontext_DEPENDENCIES) 
-+	@rm -f execve--secontext$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(execve__secontext_OBJECTS) $(execve__secontext_LDADD) $(LIBS)
-+
-+execve--secontext_full$(EXEEXT): $(execve__secontext_full_OBJECTS) $(execve__secontext_full_DEPENDENCIES) $(EXTRA_execve__secontext_full_DEPENDENCIES) 
-+	@rm -f execve--secontext_full$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(execve__secontext_full_OBJECTS) $(execve__secontext_full_LDADD) $(LIBS)
-+
- execve-v$(EXEEXT): $(execve_v_OBJECTS) $(execve_v_DEPENDENCIES) $(EXTRA_execve_v_DEPENDENCIES) 
- 	@rm -f execve-v$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(execve_v_OBJECTS) $(execve_v_LDADD) $(LIBS)
-@@ -7204,6 +7489,14 @@
- 	@rm -f execveat$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(execveat_OBJECTS) $(execveat_LDADD) $(LIBS)
- 
-+execveat--secontext$(EXEEXT): $(execveat__secontext_OBJECTS) $(execveat__secontext_DEPENDENCIES) $(EXTRA_execveat__secontext_DEPENDENCIES) 
-+	@rm -f execveat--secontext$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(execveat__secontext_OBJECTS) $(execveat__secontext_LDADD) $(LIBS)
-+
-+execveat--secontext_full$(EXEEXT): $(execveat__secontext_full_OBJECTS) $(execveat__secontext_full_DEPENDENCIES) $(EXTRA_execveat__secontext_full_DEPENDENCIES) 
-+	@rm -f execveat--secontext_full$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(execveat__secontext_full_OBJECTS) $(execveat__secontext_full_LDADD) $(LIBS)
-+
- execveat-v$(EXEEXT): $(execveat_v_OBJECTS) $(execveat_v_DEPENDENCIES) $(EXTRA_execveat_v_DEPENDENCIES) 
- 	@rm -f execveat-v$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(execveat_v_OBJECTS) $(execveat_v_LDADD) $(LIBS)
-@@ -7212,6 +7505,34 @@
- 	@rm -f faccessat$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(faccessat_OBJECTS) $(faccessat_LDADD) $(LIBS)
- 
-+faccessat--secontext$(EXEEXT): $(faccessat__secontext_OBJECTS) $(faccessat__secontext_DEPENDENCIES) $(EXTRA_faccessat__secontext_DEPENDENCIES) 
-+	@rm -f faccessat--secontext$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(faccessat__secontext_OBJECTS) $(faccessat__secontext_LDADD) $(LIBS)
-+
-+faccessat--secontext_full$(EXEEXT): $(faccessat__secontext_full_OBJECTS) $(faccessat__secontext_full_DEPENDENCIES) $(EXTRA_faccessat__secontext_full_DEPENDENCIES) 
-+	@rm -f faccessat--secontext_full$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(faccessat__secontext_full_OBJECTS) $(faccessat__secontext_full_LDADD) $(LIBS)
-+
-+faccessat-P$(EXEEXT): $(faccessat_P_OBJECTS) $(faccessat_P_DEPENDENCIES) $(EXTRA_faccessat_P_DEPENDENCIES) 
-+	@rm -f faccessat-P$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(faccessat_P_OBJECTS) $(faccessat_P_LDADD) $(LIBS)
-+
-+faccessat-y$(EXEEXT): $(faccessat_y_OBJECTS) $(faccessat_y_DEPENDENCIES) $(EXTRA_faccessat_y_DEPENDENCIES) 
-+	@rm -f faccessat-y$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(faccessat_y_OBJECTS) $(faccessat_y_LDADD) $(LIBS)
-+
-+faccessat-y--secontext$(EXEEXT): $(faccessat_y__secontext_OBJECTS) $(faccessat_y__secontext_DEPENDENCIES) $(EXTRA_faccessat_y__secontext_DEPENDENCIES) 
-+	@rm -f faccessat-y--secontext$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(faccessat_y__secontext_OBJECTS) $(faccessat_y__secontext_LDADD) $(LIBS)
-+
-+faccessat-y--secontext_full$(EXEEXT): $(faccessat_y__secontext_full_OBJECTS) $(faccessat_y__secontext_full_DEPENDENCIES) $(EXTRA_faccessat_y__secontext_full_DEPENDENCIES) 
-+	@rm -f faccessat-y--secontext_full$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(faccessat_y__secontext_full_OBJECTS) $(faccessat_y__secontext_full_LDADD) $(LIBS)
-+
-+faccessat-yy$(EXEEXT): $(faccessat_yy_OBJECTS) $(faccessat_yy_DEPENDENCIES) $(EXTRA_faccessat_yy_DEPENDENCIES) 
-+	@rm -f faccessat-yy$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(faccessat_yy_OBJECTS) $(faccessat_yy_LDADD) $(LIBS)
-+
- fadvise64$(EXEEXT): $(fadvise64_OBJECTS) $(fadvise64_DEPENDENCIES) $(EXTRA_fadvise64_DEPENDENCIES) 
- 	@rm -f fadvise64$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(fadvise64_OBJECTS) $(fadvise64_LDADD) $(LIBS)
-@@ -7232,6 +7553,14 @@
- 	@rm -f fanotify_mark$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(fanotify_mark_OBJECTS) $(fanotify_mark_LDADD) $(LIBS)
- 
-+fanotify_mark--secontext$(EXEEXT): $(fanotify_mark__secontext_OBJECTS) $(fanotify_mark__secontext_DEPENDENCIES) $(EXTRA_fanotify_mark__secontext_DEPENDENCIES) 
-+	@rm -f fanotify_mark--secontext$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(fanotify_mark__secontext_OBJECTS) $(fanotify_mark__secontext_LDADD) $(LIBS)
-+
-+fanotify_mark--secontext_full$(EXEEXT): $(fanotify_mark__secontext_full_OBJECTS) $(fanotify_mark__secontext_full_DEPENDENCIES) $(EXTRA_fanotify_mark__secontext_full_DEPENDENCIES) 
-+	@rm -f fanotify_mark--secontext_full$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(fanotify_mark__secontext_full_OBJECTS) $(fanotify_mark__secontext_full_LDADD) $(LIBS)
-+
- fanotify_mark-Xabbrev$(EXEEXT): $(fanotify_mark_Xabbrev_OBJECTS) $(fanotify_mark_Xabbrev_DEPENDENCIES) $(EXTRA_fanotify_mark_Xabbrev_DEPENDENCIES) 
- 	@rm -f fanotify_mark-Xabbrev$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(fanotify_mark_Xabbrev_OBJECTS) $(fanotify_mark_Xabbrev_LDADD) $(LIBS)
-@@ -7252,14 +7581,38 @@
- 	@rm -f fchmod$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(fchmod_OBJECTS) $(fchmod_LDADD) $(LIBS)
- 
-+fchmod--secontext$(EXEEXT): $(fchmod__secontext_OBJECTS) $(fchmod__secontext_DEPENDENCIES) $(EXTRA_fchmod__secontext_DEPENDENCIES) 
-+	@rm -f fchmod--secontext$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(fchmod__secontext_OBJECTS) $(fchmod__secontext_LDADD) $(LIBS)
-+
-+fchmod--secontext_full$(EXEEXT): $(fchmod__secontext_full_OBJECTS) $(fchmod__secontext_full_DEPENDENCIES) $(EXTRA_fchmod__secontext_full_DEPENDENCIES) 
-+	@rm -f fchmod--secontext_full$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(fchmod__secontext_full_OBJECTS) $(fchmod__secontext_full_LDADD) $(LIBS)
-+
- fchmod-y$(EXEEXT): $(fchmod_y_OBJECTS) $(fchmod_y_DEPENDENCIES) $(EXTRA_fchmod_y_DEPENDENCIES) 
- 	@rm -f fchmod-y$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(fchmod_y_OBJECTS) $(fchmod_y_LDADD) $(LIBS)
- 
-+fchmod-y--secontext$(EXEEXT): $(fchmod_y__secontext_OBJECTS) $(fchmod_y__secontext_DEPENDENCIES) $(EXTRA_fchmod_y__secontext_DEPENDENCIES) 
-+	@rm -f fchmod-y--secontext$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(fchmod_y__secontext_OBJECTS) $(fchmod_y__secontext_LDADD) $(LIBS)
-+
-+fchmod-y--secontext_full$(EXEEXT): $(fchmod_y__secontext_full_OBJECTS) $(fchmod_y__secontext_full_DEPENDENCIES) $(EXTRA_fchmod_y__secontext_full_DEPENDENCIES) 
-+	@rm -f fchmod-y--secontext_full$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(fchmod_y__secontext_full_OBJECTS) $(fchmod_y__secontext_full_LDADD) $(LIBS)
-+
- fchmodat$(EXEEXT): $(fchmodat_OBJECTS) $(fchmodat_DEPENDENCIES) $(EXTRA_fchmodat_DEPENDENCIES) 
- 	@rm -f fchmodat$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(fchmodat_OBJECTS) $(fchmodat_LDADD) $(LIBS)
- 
-+fchmodat--secontext$(EXEEXT): $(fchmodat__secontext_OBJECTS) $(fchmodat__secontext_DEPENDENCIES) $(EXTRA_fchmodat__secontext_DEPENDENCIES) 
-+	@rm -f fchmodat--secontext$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(fchmodat__secontext_OBJECTS) $(fchmodat__secontext_LDADD) $(LIBS)
-+
-+fchmodat--secontext_full$(EXEEXT): $(fchmodat__secontext_full_OBJECTS) $(fchmodat__secontext_full_DEPENDENCIES) $(EXTRA_fchmodat__secontext_full_DEPENDENCIES) 
-+	@rm -f fchmodat--secontext_full$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(fchmodat__secontext_full_OBJECTS) $(fchmodat__secontext_full_LDADD) $(LIBS)
-+
- fchown$(EXEEXT): $(fchown_OBJECTS) $(fchown_DEPENDENCIES) $(EXTRA_fchown_DEPENDENCIES) 
- 	@rm -f fchown$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(fchown_OBJECTS) $(fchown_LDADD) $(LIBS)
-@@ -7272,6 +7625,14 @@
- 	@rm -f fchownat$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(fchownat_OBJECTS) $(fchownat_LDADD) $(LIBS)
- 
-+fchownat--secontext$(EXEEXT): $(fchownat__secontext_OBJECTS) $(fchownat__secontext_DEPENDENCIES) $(EXTRA_fchownat__secontext_DEPENDENCIES) 
-+	@rm -f fchownat--secontext$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(fchownat__secontext_OBJECTS) $(fchownat__secontext_LDADD) $(LIBS)
-+
-+fchownat--secontext_full$(EXEEXT): $(fchownat__secontext_full_OBJECTS) $(fchownat__secontext_full_DEPENDENCIES) $(EXTRA_fchownat__secontext_full_DEPENDENCIES) 
-+	@rm -f fchownat--secontext_full$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(fchownat__secontext_full_OBJECTS) $(fchownat__secontext_full_LDADD) $(LIBS)
-+
- fcntl$(EXEEXT): $(fcntl_OBJECTS) $(fcntl_DEPENDENCIES) $(EXTRA_fcntl_DEPENDENCIES) 
- 	@rm -f fcntl$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(fcntl_OBJECTS) $(fcntl_LDADD) $(LIBS)
-@@ -7300,6 +7661,14 @@
- 	@rm -f file_handle$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(file_handle_OBJECTS) $(file_handle_LDADD) $(LIBS)
- 
-+file_handle--secontext$(EXEEXT): $(file_handle__secontext_OBJECTS) $(file_handle__secontext_DEPENDENCIES) $(EXTRA_file_handle__secontext_DEPENDENCIES) 
-+	@rm -f file_handle--secontext$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(file_handle__secontext_OBJECTS) $(file_handle__secontext_LDADD) $(LIBS)
-+
-+file_handle--secontext_full$(EXEEXT): $(file_handle__secontext_full_OBJECTS) $(file_handle__secontext_full_DEPENDENCIES) $(EXTRA_file_handle__secontext_full_DEPENDENCIES) 
-+	@rm -f file_handle--secontext_full$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(file_handle__secontext_full_OBJECTS) $(file_handle__secontext_full_LDADD) $(LIBS)
-+
- file_ioctl$(EXEEXT): $(file_ioctl_OBJECTS) $(file_ioctl_DEPENDENCIES) $(EXTRA_file_ioctl_DEPENDENCIES) 
- 	@rm -f file_ioctl$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(file_ioctl_OBJECTS) $(file_ioctl_LDADD) $(LIBS)
-@@ -8124,6 +8493,14 @@
- 	@rm -f linkat$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(linkat_OBJECTS) $(linkat_LDADD) $(LIBS)
- 
-+linkat--secontext$(EXEEXT): $(linkat__secontext_OBJECTS) $(linkat__secontext_DEPENDENCIES) $(EXTRA_linkat__secontext_DEPENDENCIES) 
-+	@rm -f linkat--secontext$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(linkat__secontext_OBJECTS) $(linkat__secontext_LDADD) $(LIBS)
-+
-+linkat--secontext_full$(EXEEXT): $(linkat__secontext_full_OBJECTS) $(linkat__secontext_full_DEPENDENCIES) $(EXTRA_linkat__secontext_full_DEPENDENCIES) 
-+	@rm -f linkat--secontext_full$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(linkat__secontext_full_OBJECTS) $(linkat__secontext_full_LDADD) $(LIBS)
-+
- list_sigaction_signum$(EXEEXT): $(list_sigaction_signum_OBJECTS) $(list_sigaction_signum_DEPENDENCIES) $(EXTRA_list_sigaction_signum_DEPENDENCIES) 
- 	@rm -f list_sigaction_signum$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(list_sigaction_signum_OBJECTS) $(list_sigaction_signum_LDADD) $(LIBS)
-@@ -8756,6 +9133,14 @@
- 	@rm -f open$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(open_OBJECTS) $(open_LDADD) $(LIBS)
- 
-+open--secontext$(EXEEXT): $(open__secontext_OBJECTS) $(open__secontext_DEPENDENCIES) $(EXTRA_open__secontext_DEPENDENCIES) 
-+	@rm -f open--secontext$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(open__secontext_OBJECTS) $(open__secontext_LDADD) $(LIBS)
-+
-+open--secontext_full$(EXEEXT): $(open__secontext_full_OBJECTS) $(open__secontext_full_DEPENDENCIES) $(EXTRA_open__secontext_full_DEPENDENCIES) 
-+	@rm -f open--secontext_full$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(open__secontext_full_OBJECTS) $(open__secontext_full_LDADD) $(LIBS)
-+
- open_tree$(EXEEXT): $(open_tree_OBJECTS) $(open_tree_DEPENDENCIES) $(EXTRA_open_tree_DEPENDENCIES) 
- 	@rm -f open_tree$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(open_tree_OBJECTS) $(open_tree_LDADD) $(LIBS)
-@@ -8768,6 +9153,14 @@
- 	@rm -f openat$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(openat_OBJECTS) $(openat_LDADD) $(LIBS)
- 
-+openat--secontext$(EXEEXT): $(openat__secontext_OBJECTS) $(openat__secontext_DEPENDENCIES) $(EXTRA_openat__secontext_DEPENDENCIES) 
-+	@rm -f openat--secontext$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(openat__secontext_OBJECTS) $(openat__secontext_LDADD) $(LIBS)
-+
-+openat--secontext_full$(EXEEXT): $(openat__secontext_full_OBJECTS) $(openat__secontext_full_DEPENDENCIES) $(EXTRA_openat__secontext_full_DEPENDENCIES) 
-+	@rm -f openat--secontext_full$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(openat__secontext_full_OBJECTS) $(openat__secontext_full_LDADD) $(LIBS)
-+
- openat2$(EXEEXT): $(openat2_OBJECTS) $(openat2_DEPENDENCIES) $(EXTRA_openat2_DEPENDENCIES) 
- 	@rm -f openat2$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(openat2_OBJECTS) $(openat2_LDADD) $(LIBS)
-@@ -10094,6 +10487,8 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/_newselect.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/accept.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/accept4.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/access--secontext.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/access--secontext_full.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/access.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/acct.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/add_key.Po@am__quote@ # am--include-marker
-@@ -10123,6 +10518,8 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/caps.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_sigblock.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_sigign.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chmod--secontext.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chmod--secontext_full.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chmod.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chown.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chown32.Po@am__quote@ # am--include-marker
-@@ -10176,25 +10573,46 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/epoll_wait.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/erestartsys.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eventfd.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execve--secontext.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execve--secontext_full.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execve-v.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execve.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execveat--secontext.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execveat--secontext_full.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execveat-v.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execveat.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat--secontext.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat--secontext_full.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat-P.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat-y--secontext.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat-y--secontext_full.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat-y.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat-yy.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fadvise64.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fadvise64_64.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fallocate.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_init.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark--secontext.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark--secontext_full.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark-Xabbrev.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark-Xraw.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark-Xverbose.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchdir.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod--secontext.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod--secontext_full.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod-y--secontext.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod-y--secontext_full.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod-y.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmodat--secontext.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmodat--secontext_full.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmodat.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchown.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchown32.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchownat--secontext.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchownat--secontext_full.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchownat.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcntl--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcntl.Po@am__quote@ # am--include-marker
-@@ -10202,6 +10620,8 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcntl64.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fdatasync.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fflush.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file_handle--secontext.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file_handle--secontext_full.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file_handle.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file_ioctl.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/filter-unavailable.Po@am__quote@ # am--include-marker
-@@ -10431,6 +10851,7 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-printxval-Xabbrev.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-printxval-Xraw.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-printxval-Xverbose.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-secontext.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-signal2name.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-skip_unavailable.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-sprintrc.Po@am__quote@ # am--include-marker
-@@ -10443,6 +10864,8 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-tprintf.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-xmalloc_for_tests.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/link.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linkat--secontext.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linkat--secontext_full.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linkat.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/list_sigaction_signum.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/llseek.Po@am__quote@ # am--include-marker
-@@ -10601,9 +11024,13 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/oldselect-efault.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/oldselect.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/oldstat.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open--secontext.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open--secontext_full.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open_tree-P.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open_tree.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat--secontext.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat--secontext_full.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat2-Xabbrev.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat2-Xraw.Po@am__quote@ # am--include-marker
-@@ -11300,6 +11727,20 @@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-printxval-Xverbose.obj `if test -f 'printxval-Xverbose.c'; then $(CYGPATH_W) 'printxval-Xverbose.c'; else $(CYGPATH_W) '$(srcdir)/printxval-Xverbose.c'; fi`
- 
-+libtests_a-secontext.o: secontext.c
-+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-secontext.o -MD -MP -MF $(DEPDIR)/libtests_a-secontext.Tpo -c -o libtests_a-secontext.o `test -f 'secontext.c' || echo '$(srcdir)/'`secontext.c
-+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-secontext.Tpo $(DEPDIR)/libtests_a-secontext.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='secontext.c' object='libtests_a-secontext.o' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-secontext.o `test -f 'secontext.c' || echo '$(srcdir)/'`secontext.c
-+
-+libtests_a-secontext.obj: secontext.c
-+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-secontext.obj -MD -MP -MF $(DEPDIR)/libtests_a-secontext.Tpo -c -o libtests_a-secontext.obj `if test -f 'secontext.c'; then $(CYGPATH_W) 'secontext.c'; else $(CYGPATH_W) '$(srcdir)/secontext.c'; fi`
-+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-secontext.Tpo $(DEPDIR)/libtests_a-secontext.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='secontext.c' object='libtests_a-secontext.obj' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-secontext.obj `if test -f 'secontext.c'; then $(CYGPATH_W) 'secontext.c'; else $(CYGPATH_W) '$(srcdir)/secontext.c'; fi`
-+
- libtests_a-signal2name.o: signal2name.c
- @am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-signal2name.o -MD -MP -MF $(DEPDIR)/libtests_a-signal2name.Tpo -c -o libtests_a-signal2name.o `test -f 'signal2name.c' || echo '$(srcdir)/'`signal2name.c
- @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-signal2name.Tpo $(DEPDIR)/libtests_a-signal2name.Po
-@@ -13841,6 +14282,12 @@
- $(srcdir)/access.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/access--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
-+$(srcdir)/access--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/acct.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-@@ -13883,6 +14330,12 @@
- $(srcdir)/chmod.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/chmod--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
-+$(srcdir)/chmod--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/chown.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-@@ -14024,13 +14477,43 @@
- $(srcdir)/erestartsys.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/execve--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
-+$(srcdir)/execve--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/execveat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/execveat--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
-+$(srcdir)/execveat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/execveat-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
--$(srcdir)/faccessat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+$(srcdir)/faccessat--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
-+$(srcdir)/faccessat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
-+$(srcdir)/faccessat-P.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
-+$(srcdir)/faccessat-y.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
-+$(srcdir)/faccessat-y--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
-+$(srcdir)/faccessat-y--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
-+$(srcdir)/faccessat-yy.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
- $(srcdir)/fadvise64_64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-@@ -14045,6 +14528,12 @@
- $(srcdir)/fanotify_mark.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/fanotify_mark--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
-+$(srcdir)/fanotify_mark--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/fanotify_mark-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-@@ -14060,12 +14549,30 @@
- $(srcdir)/fchmod.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/fchmod--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
-+$(srcdir)/fchmod--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/fchmod-y.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/fchmod-y--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
-+$(srcdir)/fchmod-y--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/fchmodat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/fchmodat--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
-+$(srcdir)/fchmodat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/fchown.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-@@ -14075,6 +14582,12 @@
- $(srcdir)/fchownat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/fchownat--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
-+$(srcdir)/fchownat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/fcntl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-@@ -14096,6 +14609,12 @@
- $(srcdir)/file_ioctl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/file_handle--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
-+$(srcdir)/file_handle--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/filter_seccomp.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-@@ -14690,6 +15209,12 @@
- $(srcdir)/linkat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/linkat--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
-+$(srcdir)/linkat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/lookup_dcookie.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-@@ -15107,6 +15632,12 @@
- $(srcdir)/open.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/open--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
-+$(srcdir)/open--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/open_tree.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-@@ -15116,6 +15647,12 @@
- $(srcdir)/openat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/openat--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
-+$(srcdir)/openat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/openat2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-Index: strace-5.7/tests-m32/Makefile.in
-===================================================================
---- strace-5.7.orig/tests-m32/Makefile.in	2021-08-24 21:08:35.467311943 +0200
-+++ strace-5.7/tests-m32/Makefile.in	2021-08-24 21:08:43.289245739 +0200
-@@ -22,6 +22,8 @@
- #
- # SPDX-License-Identifier: GPL-2.0-or-later
- 
-+# Generated by ./tests/gen_secontext.sh from ./tests/gen_tests.in; do not edit.
-+
- # scno.h make rules for strace.
- #
- # Copyright (c) 2017-2019 Dmitry V. Levin <ldv@altlinux.org>
-@@ -102,8 +104,8 @@
- POST_UNINSTALL = :
- build_triplet = @build@
- host_triplet = @host@
--check_PROGRAMS = $(am__EXEEXT_1) _newselect-P$(EXEEXT) answer$(EXEEXT) \
--	attach-f-p$(EXEEXT) attach-f-p-cmd$(EXEEXT) \
-+check_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) _newselect-P$(EXEEXT) \
-+	answer$(EXEEXT) attach-f-p$(EXEEXT) attach-f-p-cmd$(EXEEXT) \
- 	attach-p-cmd-cmd$(EXEEXT) attach-p-cmd-p$(EXEEXT) \
- 	block_reset_raise_run$(EXEEXT) block_reset_run$(EXEEXT) \
- 	bpf-obj_get_info_by_fd$(EXEEXT) \
-@@ -221,7 +223,7 @@
- 	xetpriority--pidns-translation$(EXEEXT) \
- 	xet_robust_list--pidns-translation$(EXEEXT) zeroargc$(EXEEXT)
- @ENABLE_STACKTRACE_TRUE@@USE_DEMANGLE_TRUE@am__append_1 = strace-k-demangle.test
--TESTS = $(GEN_TESTS) $(DECODER_TESTS) $(MISC_TESTS) $(am__EXEEXT_2)
-+TESTS = $(GEN_TESTS) $(DECODER_TESTS) $(MISC_TESTS) $(am__EXEEXT_3)
- subdir = tests-m32
- ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
- am__aclocal_m4_deps = $(top_srcdir)/xlat/btrfs_compress_types.m4 \
-@@ -270,6 +272,7 @@
- 	$(top_srcdir)/m4/st_esyscmd_s.m4 $(top_srcdir)/m4/st_libdw.m4 \
- 	$(top_srcdir)/m4/st_libunwind.m4 \
- 	$(top_srcdir)/m4/st_save_restore_var.m4 \
-+	$(top_srcdir)/m4/st_selinux.m4 \
- 	$(top_srcdir)/m4/st_stacktrace.m4 \
- 	$(top_srcdir)/m4/st_warn_cflags.m4 \
- 	$(top_srcdir)/m4/warnings.m4 $(top_srcdir)/configure.ac
-@@ -298,7 +301,8 @@
- 	epoll_create$(EXEEXT) epoll_create1$(EXEEXT) \
- 	epoll_ctl$(EXEEXT) epoll_pwait$(EXEEXT) epoll_wait$(EXEEXT) \
- 	erestartsys$(EXEEXT) eventfd$(EXEEXT) execve$(EXEEXT) \
--	execveat$(EXEEXT) faccessat$(EXEEXT) fadvise64$(EXEEXT) \
-+	execveat$(EXEEXT) faccessat$(EXEEXT) faccessat-P$(EXEEXT) \
-+	faccessat-y$(EXEEXT) faccessat-yy$(EXEEXT) fadvise64$(EXEEXT) \
- 	fadvise64_64$(EXEEXT) fallocate$(EXEEXT) \
- 	fanotify_init$(EXEEXT) fanotify_mark$(EXEEXT) \
- 	fanotify_mark-Xabbrev$(EXEEXT) fanotify_mark-Xraw$(EXEEXT) \
-@@ -543,6 +547,26 @@
- 	xattr-strings$(EXEEXT) xet_robust_list$(EXEEXT) \
- 	xet_thread_area_x86$(EXEEXT) xetitimer$(EXEEXT) \
- 	xetpgid$(EXEEXT) xetpriority$(EXEEXT) xettimeofday$(EXEEXT)
-+am__EXEEXT_2 = access--secontext$(EXEEXT) \
-+	access--secontext_full$(EXEEXT) chmod--secontext$(EXEEXT) \
-+	chmod--secontext_full$(EXEEXT) execve--secontext$(EXEEXT) \
-+	execve--secontext_full$(EXEEXT) execveat--secontext$(EXEEXT) \
-+	execveat--secontext_full$(EXEEXT) \
-+	faccessat--secontext$(EXEEXT) \
-+	faccessat--secontext_full$(EXEEXT) \
-+	faccessat-y--secontext$(EXEEXT) \
-+	faccessat-y--secontext_full$(EXEEXT) \
-+	fanotify_mark--secontext$(EXEEXT) \
-+	fanotify_mark--secontext_full$(EXEEXT) \
-+	fchmod--secontext$(EXEEXT) fchmod--secontext_full$(EXEEXT) \
-+	fchmod-y--secontext$(EXEEXT) fchmod-y--secontext_full$(EXEEXT) \
-+	fchmodat--secontext$(EXEEXT) fchmodat--secontext_full$(EXEEXT) \
-+	fchownat--secontext$(EXEEXT) fchownat--secontext_full$(EXEEXT) \
-+	file_handle--secontext$(EXEEXT) \
-+	file_handle--secontext_full$(EXEEXT) \
-+	linkat--secontext$(EXEEXT) linkat--secontext_full$(EXEEXT) \
-+	open--secontext$(EXEEXT) open--secontext_full$(EXEEXT) \
-+	openat--secontext$(EXEEXT) openat--secontext_full$(EXEEXT)
- ARFLAGS = cru
- AM_V_AR = $(am__v_AR_@AM_V@)
- am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@)
-@@ -571,6 +595,7 @@
- 	libtests_a-printxval-Xabbrev.$(OBJEXT) \
- 	libtests_a-printxval-Xraw.$(OBJEXT) \
- 	libtests_a-printxval-Xverbose.$(OBJEXT) \
-+	libtests_a-secontext.$(OBJEXT) \
- 	libtests_a-signal2name.$(OBJEXT) \
- 	libtests_a-skip_unavailable.$(OBJEXT) \
- 	libtests_a-sprintrc.$(OBJEXT) libtests_a-status.$(OBJEXT) \
-@@ -600,6 +625,15 @@
- access_OBJECTS = access.$(OBJEXT)
- access_LDADD = $(LDADD)
- access_DEPENDENCIES = libtests.a
-+access__secontext_SOURCES = access--secontext.c
-+access__secontext_OBJECTS = access--secontext.$(OBJEXT)
-+am__DEPENDENCIES_1 =
-+@HAVE_M32_SELINUX_RUNTIME_TRUE@am__DEPENDENCIES_2 =  \
-+@HAVE_M32_SELINUX_RUNTIME_TRUE@	$(am__DEPENDENCIES_1)
-+access__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
-+access__secontext_full_SOURCES = access--secontext_full.c
-+access__secontext_full_OBJECTS = access--secontext_full.$(OBJEXT)
-+access__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
- acct_SOURCES = acct.c
- acct_OBJECTS = acct.$(OBJEXT)
- acct_LDADD = $(LDADD)
-@@ -718,6 +752,12 @@
- chmod_OBJECTS = chmod.$(OBJEXT)
- chmod_LDADD = $(LDADD)
- chmod_DEPENDENCIES = libtests.a
-+chmod__secontext_SOURCES = chmod--secontext.c
-+chmod__secontext_OBJECTS = chmod--secontext.$(OBJEXT)
-+chmod__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
-+chmod__secontext_full_SOURCES = chmod--secontext_full.c
-+chmod__secontext_full_OBJECTS = chmod--secontext_full.$(OBJEXT)
-+chmod__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
- chown_SOURCES = chown.c
- chown_OBJECTS = chown.$(OBJEXT)
- chown_LDADD = $(LDADD)
-@@ -828,7 +868,6 @@
- creat_DEPENDENCIES = libtests.a
- delay_SOURCES = delay.c
- delay_OBJECTS = delay.$(OBJEXT)
--am__DEPENDENCIES_1 =
- delay_DEPENDENCIES = $(am__DEPENDENCIES_1) $(LDADD)
- delete_module_SOURCES = delete_module.c
- delete_module_OBJECTS = delete_module.$(OBJEXT)
-@@ -930,6 +969,12 @@
- execve_OBJECTS = execve.$(OBJEXT)
- execve_LDADD = $(LDADD)
- execve_DEPENDENCIES = libtests.a
-+execve__secontext_SOURCES = execve--secontext.c
-+execve__secontext_OBJECTS = execve--secontext.$(OBJEXT)
-+execve__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
-+execve__secontext_full_SOURCES = execve--secontext_full.c
-+execve__secontext_full_OBJECTS = execve--secontext_full.$(OBJEXT)
-+execve__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
- execve_v_SOURCES = execve-v.c
- execve_v_OBJECTS = execve-v.$(OBJEXT)
- execve_v_LDADD = $(LDADD)
-@@ -938,6 +983,12 @@
- execveat_OBJECTS = execveat.$(OBJEXT)
- execveat_LDADD = $(LDADD)
- execveat_DEPENDENCIES = libtests.a
-+execveat__secontext_SOURCES = execveat--secontext.c
-+execveat__secontext_OBJECTS = execveat--secontext.$(OBJEXT)
-+execveat__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
-+execveat__secontext_full_SOURCES = execveat--secontext_full.c
-+execveat__secontext_full_OBJECTS = execveat--secontext_full.$(OBJEXT)
-+execveat__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
- execveat_v_SOURCES = execveat-v.c
- execveat_v_OBJECTS = execveat-v.$(OBJEXT)
- execveat_v_LDADD = $(LDADD)
-@@ -946,6 +997,34 @@
- faccessat_OBJECTS = faccessat.$(OBJEXT)
- faccessat_LDADD = $(LDADD)
- faccessat_DEPENDENCIES = libtests.a
-+faccessat__secontext_SOURCES = faccessat--secontext.c
-+faccessat__secontext_OBJECTS = faccessat--secontext.$(OBJEXT)
-+faccessat__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
-+faccessat__secontext_full_SOURCES = faccessat--secontext_full.c
-+faccessat__secontext_full_OBJECTS =  \
-+	faccessat--secontext_full.$(OBJEXT)
-+faccessat__secontext_full_DEPENDENCIES = $(LDADD) \
-+	$(am__DEPENDENCIES_2)
-+faccessat_P_SOURCES = faccessat-P.c
-+faccessat_P_OBJECTS = faccessat-P.$(OBJEXT)
-+faccessat_P_LDADD = $(LDADD)
-+faccessat_P_DEPENDENCIES = libtests.a
-+faccessat_y_SOURCES = faccessat-y.c
-+faccessat_y_OBJECTS = faccessat-y.$(OBJEXT)
-+faccessat_y_LDADD = $(LDADD)
-+faccessat_y_DEPENDENCIES = libtests.a
-+faccessat_y__secontext_SOURCES = faccessat-y--secontext.c
-+faccessat_y__secontext_OBJECTS = faccessat-y--secontext.$(OBJEXT)
-+faccessat_y__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
-+faccessat_y__secontext_full_SOURCES = faccessat-y--secontext_full.c
-+faccessat_y__secontext_full_OBJECTS =  \
-+	faccessat-y--secontext_full.$(OBJEXT)
-+faccessat_y__secontext_full_DEPENDENCIES = $(LDADD) \
-+	$(am__DEPENDENCIES_2)
-+faccessat_yy_SOURCES = faccessat-yy.c
-+faccessat_yy_OBJECTS = faccessat-yy.$(OBJEXT)
-+faccessat_yy_LDADD = $(LDADD)
-+faccessat_yy_DEPENDENCIES = libtests.a
- fadvise64_SOURCES = fadvise64.c
- fadvise64_OBJECTS = fadvise64.$(OBJEXT)
- fadvise64_LDADD = $(LDADD)
-@@ -966,6 +1045,15 @@
- fanotify_mark_OBJECTS = fanotify_mark.$(OBJEXT)
- fanotify_mark_LDADD = $(LDADD)
- fanotify_mark_DEPENDENCIES = libtests.a
-+fanotify_mark__secontext_SOURCES = fanotify_mark--secontext.c
-+fanotify_mark__secontext_OBJECTS = fanotify_mark--secontext.$(OBJEXT)
-+fanotify_mark__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
-+fanotify_mark__secontext_full_SOURCES =  \
-+	fanotify_mark--secontext_full.c
-+fanotify_mark__secontext_full_OBJECTS =  \
-+	fanotify_mark--secontext_full.$(OBJEXT)
-+fanotify_mark__secontext_full_DEPENDENCIES = $(LDADD) \
-+	$(am__DEPENDENCIES_2)
- fanotify_mark_Xabbrev_SOURCES = fanotify_mark-Xabbrev.c
- fanotify_mark_Xabbrev_OBJECTS = fanotify_mark-Xabbrev.$(OBJEXT)
- fanotify_mark_Xabbrev_LDADD = $(LDADD)
-@@ -986,14 +1074,32 @@
- fchmod_OBJECTS = fchmod.$(OBJEXT)
- fchmod_LDADD = $(LDADD)
- fchmod_DEPENDENCIES = libtests.a
-+fchmod__secontext_SOURCES = fchmod--secontext.c
-+fchmod__secontext_OBJECTS = fchmod--secontext.$(OBJEXT)
-+fchmod__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
-+fchmod__secontext_full_SOURCES = fchmod--secontext_full.c
-+fchmod__secontext_full_OBJECTS = fchmod--secontext_full.$(OBJEXT)
-+fchmod__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
- fchmod_y_SOURCES = fchmod-y.c
- fchmod_y_OBJECTS = fchmod-y.$(OBJEXT)
- fchmod_y_LDADD = $(LDADD)
- fchmod_y_DEPENDENCIES = libtests.a
-+fchmod_y__secontext_SOURCES = fchmod-y--secontext.c
-+fchmod_y__secontext_OBJECTS = fchmod-y--secontext.$(OBJEXT)
-+fchmod_y__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
-+fchmod_y__secontext_full_SOURCES = fchmod-y--secontext_full.c
-+fchmod_y__secontext_full_OBJECTS = fchmod-y--secontext_full.$(OBJEXT)
-+fchmod_y__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
- fchmodat_SOURCES = fchmodat.c
- fchmodat_OBJECTS = fchmodat.$(OBJEXT)
- fchmodat_LDADD = $(LDADD)
- fchmodat_DEPENDENCIES = libtests.a
-+fchmodat__secontext_SOURCES = fchmodat--secontext.c
-+fchmodat__secontext_OBJECTS = fchmodat--secontext.$(OBJEXT)
-+fchmodat__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
-+fchmodat__secontext_full_SOURCES = fchmodat--secontext_full.c
-+fchmodat__secontext_full_OBJECTS = fchmodat--secontext_full.$(OBJEXT)
-+fchmodat__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
- fchown_SOURCES = fchown.c
- fchown_OBJECTS = fchown.$(OBJEXT)
- fchown_LDADD = $(LDADD)
-@@ -1006,6 +1112,12 @@
- fchownat_OBJECTS = fchownat.$(OBJEXT)
- fchownat_LDADD = $(LDADD)
- fchownat_DEPENDENCIES = libtests.a
-+fchownat__secontext_SOURCES = fchownat--secontext.c
-+fchownat__secontext_OBJECTS = fchownat--secontext.$(OBJEXT)
-+fchownat__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
-+fchownat__secontext_full_SOURCES = fchownat--secontext_full.c
-+fchownat__secontext_full_OBJECTS = fchownat--secontext_full.$(OBJEXT)
-+fchownat__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
- fcntl_SOURCES = fcntl.c
- fcntl_OBJECTS = fcntl.$(OBJEXT)
- fcntl_LDADD = $(LDADD)
-@@ -1035,6 +1147,14 @@
- file_handle_OBJECTS = file_handle.$(OBJEXT)
- file_handle_LDADD = $(LDADD)
- file_handle_DEPENDENCIES = libtests.a
-+file_handle__secontext_SOURCES = file_handle--secontext.c
-+file_handle__secontext_OBJECTS = file_handle--secontext.$(OBJEXT)
-+file_handle__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
-+file_handle__secontext_full_SOURCES = file_handle--secontext_full.c
-+file_handle__secontext_full_OBJECTS =  \
-+	file_handle--secontext_full.$(OBJEXT)
-+file_handle__secontext_full_DEPENDENCIES = $(LDADD) \
-+	$(am__DEPENDENCIES_2)
- file_ioctl_SOURCES = file_ioctl.c
- file_ioctl_OBJECTS = file_ioctl.$(OBJEXT)
- file_ioctl_LDADD = $(LDADD)
-@@ -1886,6 +2006,12 @@
- linkat_OBJECTS = linkat.$(OBJEXT)
- linkat_LDADD = $(LDADD)
- linkat_DEPENDENCIES = libtests.a
-+linkat__secontext_SOURCES = linkat--secontext.c
-+linkat__secontext_OBJECTS = linkat--secontext.$(OBJEXT)
-+linkat__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
-+linkat__secontext_full_SOURCES = linkat--secontext_full.c
-+linkat__secontext_full_OBJECTS = linkat--secontext_full.$(OBJEXT)
-+linkat__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
- list_sigaction_signum_SOURCES = list_sigaction_signum.c
- list_sigaction_signum_OBJECTS = list_sigaction_signum.$(OBJEXT)
- list_sigaction_signum_LDADD = $(LDADD)
-@@ -2530,6 +2656,12 @@
- open_OBJECTS = open.$(OBJEXT)
- open_LDADD = $(LDADD)
- open_DEPENDENCIES = libtests.a
-+open__secontext_SOURCES = open--secontext.c
-+open__secontext_OBJECTS = open--secontext.$(OBJEXT)
-+open__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
-+open__secontext_full_SOURCES = open--secontext_full.c
-+open__secontext_full_OBJECTS = open--secontext_full.$(OBJEXT)
-+open__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
- open_tree_SOURCES = open_tree.c
- open_tree_OBJECTS = open_tree.$(OBJEXT)
- open_tree_LDADD = $(LDADD)
-@@ -2542,6 +2674,12 @@
- openat_OBJECTS = openat.$(OBJEXT)
- openat_LDADD = $(LDADD)
- openat_DEPENDENCIES = libtests.a
-+openat__secontext_SOURCES = openat--secontext.c
-+openat__secontext_OBJECTS = openat--secontext.$(OBJEXT)
-+openat__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
-+openat__secontext_full_SOURCES = openat--secontext_full.c
-+openat__secontext_full_OBJECTS = openat--secontext_full.$(OBJEXT)
-+openat__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
- openat2_SOURCES = openat2.c
- openat2_OBJECTS = openat2.$(OBJEXT)
- openat2_LDADD = $(LDADD)
-@@ -4487,7 +4625,8 @@
- am__v_CCLD_0 = @echo "  CCLD    " $@;
- am__v_CCLD_1 = 
- SOURCES = $(libtests_a_SOURCES) _newselect.c _newselect-P.c accept.c \
--	accept4.c access.c acct.c add_key.c adjtimex.c aio.c \
-+	accept4.c access.c access--secontext.c \
-+	access--secontext_full.c acct.c add_key.c adjtimex.c aio.c \
- 	aio_pgetevents.c alarm.c answer.c attach-f-p.c \
- 	attach-f-p-cmd.c attach-p-cmd-cmd.c attach-p-cmd-p.c \
- 	block_reset_raise_run.c block_reset_run.c bpf.c \
-@@ -4495,7 +4634,8 @@
- 	bpf-obj_get_info_by_fd-prog-v.c bpf-obj_get_info_by_fd-v.c \
- 	bpf-success.c bpf-success-long-y.c bpf-success-v.c bpf-v.c \
- 	brk.c btrfs.c caps.c caps-abbrev.c check_sigblock.c \
--	check_sigign.c chmod.c chown.c chown32.c chroot.c \
-+	check_sigign.c chmod.c chmod--secontext.c \
-+	chmod--secontext_full.c chown.c chown32.c chroot.c \
- 	clock_adjtime.c clock_nanosleep.c clock_xettime.c \
- 	clone-flags.c clone3.c clone3-Xabbrev.c clone3-Xraw.c \
- 	clone3-Xverbose.c clone3-success.c clone3-success-Xabbrev.c \
-@@ -4509,25 +4649,35 @@
- 	dup-yy.c dup2.c dup2-P.c dup2-y.c dup2-yy.c dup3.c dup3-P.c \
- 	dup3-y.c dup3-yy.c epoll_create.c epoll_create1.c epoll_ctl.c \
- 	epoll_pwait.c epoll_wait.c erestartsys.c eventfd.c execve.c \
--	execve-v.c execveat.c execveat-v.c faccessat.c fadvise64.c \
--	fadvise64_64.c fallocate.c fanotify_init.c fanotify_mark.c \
--	fanotify_mark-Xabbrev.c fanotify_mark-Xraw.c \
--	fanotify_mark-Xverbose.c fchdir.c fchmod.c fchmod-y.c \
--	fchmodat.c fchown.c fchown32.c fchownat.c fcntl.c \
--	fcntl--pidns-translation.c fcntl64.c \
--	fcntl64--pidns-translation.c fdatasync.c fflush.c \
--	file_handle.c file_ioctl.c filter-unavailable.c \
--	filter_seccomp-flag.c filter_seccomp-perf.c finit_module.c \
--	flock.c fork--pidns-translation.c fork-f.c fsconfig.c \
--	fsconfig-P.c fsmount.c fsopen.c fspick.c fspick-P.c fstat.c \
--	fstat-Xabbrev.c fstat-Xraw.c fstat-Xverbose.c fstat64.c \
--	fstat64-Xabbrev.c fstat64-Xraw.c fstat64-Xverbose.c \
--	fstatat64.c fstatfs.c fstatfs64.c fsync.c fsync-y.c \
--	ftruncate.c ftruncate64.c futex.c futimesat.c get_mempolicy.c \
--	get_process_reaper.c getcpu.c getcwd.c getdents.c getdents-v.c \
--	getdents64.c getdents64-v.c getegid.c getegid32.c geteuid.c \
--	geteuid32.c getgid.c getgid32.c getgroups.c getgroups32.c \
--	getpeername.c getpgrp.c getpgrp--pidns-translation.c getpid.c \
-+	execve--secontext.c execve--secontext_full.c execve-v.c \
-+	execveat.c execveat--secontext.c execveat--secontext_full.c \
-+	execveat-v.c faccessat.c faccessat--secontext.c \
-+	faccessat--secontext_full.c faccessat-P.c faccessat-y.c \
-+	faccessat-y--secontext.c faccessat-y--secontext_full.c \
-+	faccessat-yy.c fadvise64.c fadvise64_64.c fallocate.c \
-+	fanotify_init.c fanotify_mark.c fanotify_mark--secontext.c \
-+	fanotify_mark--secontext_full.c fanotify_mark-Xabbrev.c \
-+	fanotify_mark-Xraw.c fanotify_mark-Xverbose.c fchdir.c \
-+	fchmod.c fchmod--secontext.c fchmod--secontext_full.c \
-+	fchmod-y.c fchmod-y--secontext.c fchmod-y--secontext_full.c \
-+	fchmodat.c fchmodat--secontext.c fchmodat--secontext_full.c \
-+	fchown.c fchown32.c fchownat.c fchownat--secontext.c \
-+	fchownat--secontext_full.c fcntl.c fcntl--pidns-translation.c \
-+	fcntl64.c fcntl64--pidns-translation.c fdatasync.c fflush.c \
-+	file_handle.c file_handle--secontext.c \
-+	file_handle--secontext_full.c file_ioctl.c \
-+	filter-unavailable.c filter_seccomp-flag.c \
-+	filter_seccomp-perf.c finit_module.c flock.c \
-+	fork--pidns-translation.c fork-f.c fsconfig.c fsconfig-P.c \
-+	fsmount.c fsopen.c fspick.c fspick-P.c fstat.c fstat-Xabbrev.c \
-+	fstat-Xraw.c fstat-Xverbose.c fstat64.c fstat64-Xabbrev.c \
-+	fstat64-Xraw.c fstat64-Xverbose.c fstatat64.c fstatfs.c \
-+	fstatfs64.c fsync.c fsync-y.c ftruncate.c ftruncate64.c \
-+	futex.c futimesat.c get_mempolicy.c get_process_reaper.c \
-+	getcpu.c getcwd.c getdents.c getdents-v.c getdents64.c \
-+	getdents64-v.c getegid.c getegid32.c geteuid.c geteuid32.c \
-+	getgid.c getgid32.c getgroups.c getgroups32.c getpeername.c \
-+	getpgrp.c getpgrp--pidns-translation.c getpid.c \
- 	getpid--pidns-translation.c getppid.c getrandom.c getresgid.c \
- 	getresgid32.c getresuid.c getresuid32.c getrlimit.c \
- 	getrusage.c getsid.c getsid--pidns-translation.c getsockname.c \
-@@ -4578,7 +4728,8 @@
- 	kexec_file_load.c kexec_load.c keyctl.c keyctl-Xabbrev.c \
- 	keyctl-Xraw.c keyctl-Xverbose.c kill.c \
- 	kill--pidns-translation.c kill_child.c ksysent.c lchown.c \
--	lchown32.c link.c linkat.c list_sigaction_signum.c llseek.c \
-+	lchown32.c link.c linkat.c linkat--secontext.c \
-+	linkat--secontext_full.c list_sigaction_signum.c llseek.c \
- 	localtime.c lookup_dcookie.c looping_threads.c lseek.c lstat.c \
- 	lstat64.c madvise.c maybe_switch_current_tcp.c \
- 	maybe_switch_current_tcp--quiet-thread-execve.c mbind.c \
-@@ -4629,23 +4780,25 @@
- 	old_mmap-Xabbrev.c old_mmap-Xraw.c old_mmap-Xverbose.c \
- 	old_mmap-v-none.c oldfstat.c oldlstat.c oldselect.c \
- 	oldselect-P.c oldselect-efault.c oldselect-efault-P.c \
--	oldstat.c open.c open_tree.c open_tree-P.c openat.c openat2.c \
--	openat2-Xabbrev.c openat2-Xraw.c openat2-Xverbose.c \
--	openat2-v.c openat2-v-y.c openat2-v-y-Xabbrev.c \
--	openat2-v-y-Xraw.c openat2-v-y-Xverbose.c openat2-y.c \
--	orphaned_process_group.c osf_utimes.c pause.c pc.c \
--	perf_event_open.c perf_event_open_nonverbose.c \
--	perf_event_open_unabbrev.c personality.c personality-Xabbrev.c \
--	personality-Xraw.c personality-Xverbose.c pidfd_getfd.c \
--	pidfd_getfd-y.c pidfd_getfd-yy.c pidfd_open.c \
--	pidfd_open--decode-fd-path.c pidfd_open--decode-fd-pidfd.c \
--	pidfd_open--decode-fd-socket.c pidfd_open--pidns-translation.c \
--	pidfd_open-P.c pidfd_open-y.c pidfd_open-yy.c \
--	pidfd_send_signal.c pidfd_send_signal--pidns-translation.c \
--	pidns-cache.c pipe.c pipe2.c pkey_alloc.c pkey_free.c \
--	pkey_mprotect.c poll.c poll-P.c ppoll.c ppoll-P.c ppoll-v.c \
--	prctl-arg2-intptr.c prctl-dumpable.c prctl-name.c \
--	prctl-no-args.c prctl-pdeathsig.c prctl-seccomp-filter-v.c \
-+	oldstat.c open.c open--secontext.c open--secontext_full.c \
-+	open_tree.c open_tree-P.c openat.c openat--secontext.c \
-+	openat--secontext_full.c openat2.c openat2-Xabbrev.c \
-+	openat2-Xraw.c openat2-Xverbose.c openat2-v.c openat2-v-y.c \
-+	openat2-v-y-Xabbrev.c openat2-v-y-Xraw.c \
-+	openat2-v-y-Xverbose.c openat2-y.c orphaned_process_group.c \
-+	osf_utimes.c pause.c pc.c perf_event_open.c \
-+	perf_event_open_nonverbose.c perf_event_open_unabbrev.c \
-+	personality.c personality-Xabbrev.c personality-Xraw.c \
-+	personality-Xverbose.c pidfd_getfd.c pidfd_getfd-y.c \
-+	pidfd_getfd-yy.c pidfd_open.c pidfd_open--decode-fd-path.c \
-+	pidfd_open--decode-fd-pidfd.c pidfd_open--decode-fd-socket.c \
-+	pidfd_open--pidns-translation.c pidfd_open-P.c pidfd_open-y.c \
-+	pidfd_open-yy.c pidfd_send_signal.c \
-+	pidfd_send_signal--pidns-translation.c pidns-cache.c pipe.c \
-+	pipe2.c pkey_alloc.c pkey_free.c pkey_mprotect.c poll.c \
-+	poll-P.c ppoll.c ppoll-P.c ppoll-v.c prctl-arg2-intptr.c \
-+	prctl-dumpable.c prctl-name.c prctl-no-args.c \
-+	prctl-pdeathsig.c prctl-seccomp-filter-v.c \
- 	prctl-seccomp-strict.c prctl-securebits.c prctl-spec-inject.c \
- 	prctl-tid_address.c prctl-tsc.c pread64-pwrite64.c preadv.c \
- 	preadv-pwritev.c preadv2-pwritev2.c print_maxfd.c \
-@@ -4735,7 +4888,8 @@
- 	xetpriority.c xetpriority--pidns-translation.c xettimeofday.c \
- 	zeroargc.c
- DIST_SOURCES = $(libtests_a_SOURCES) _newselect.c _newselect-P.c \
--	accept.c accept4.c access.c acct.c add_key.c adjtimex.c aio.c \
-+	accept.c accept4.c access.c access--secontext.c \
-+	access--secontext_full.c acct.c add_key.c adjtimex.c aio.c \
- 	aio_pgetevents.c alarm.c answer.c attach-f-p.c \
- 	attach-f-p-cmd.c attach-p-cmd-cmd.c attach-p-cmd-p.c \
- 	block_reset_raise_run.c block_reset_run.c bpf.c \
-@@ -4743,7 +4897,8 @@
- 	bpf-obj_get_info_by_fd-prog-v.c bpf-obj_get_info_by_fd-v.c \
- 	bpf-success.c bpf-success-long-y.c bpf-success-v.c bpf-v.c \
- 	brk.c btrfs.c caps.c caps-abbrev.c check_sigblock.c \
--	check_sigign.c chmod.c chown.c chown32.c chroot.c \
-+	check_sigign.c chmod.c chmod--secontext.c \
-+	chmod--secontext_full.c chown.c chown32.c chroot.c \
- 	clock_adjtime.c clock_nanosleep.c clock_xettime.c \
- 	clone-flags.c clone3.c clone3-Xabbrev.c clone3-Xraw.c \
- 	clone3-Xverbose.c clone3-success.c clone3-success-Xabbrev.c \
-@@ -4757,25 +4912,35 @@
- 	dup-yy.c dup2.c dup2-P.c dup2-y.c dup2-yy.c dup3.c dup3-P.c \
- 	dup3-y.c dup3-yy.c epoll_create.c epoll_create1.c epoll_ctl.c \
- 	epoll_pwait.c epoll_wait.c erestartsys.c eventfd.c execve.c \
--	execve-v.c execveat.c execveat-v.c faccessat.c fadvise64.c \
--	fadvise64_64.c fallocate.c fanotify_init.c fanotify_mark.c \
--	fanotify_mark-Xabbrev.c fanotify_mark-Xraw.c \
--	fanotify_mark-Xverbose.c fchdir.c fchmod.c fchmod-y.c \
--	fchmodat.c fchown.c fchown32.c fchownat.c fcntl.c \
--	fcntl--pidns-translation.c fcntl64.c \
--	fcntl64--pidns-translation.c fdatasync.c fflush.c \
--	file_handle.c file_ioctl.c filter-unavailable.c \
--	filter_seccomp-flag.c filter_seccomp-perf.c finit_module.c \
--	flock.c fork--pidns-translation.c fork-f.c fsconfig.c \
--	fsconfig-P.c fsmount.c fsopen.c fspick.c fspick-P.c fstat.c \
--	fstat-Xabbrev.c fstat-Xraw.c fstat-Xverbose.c fstat64.c \
--	fstat64-Xabbrev.c fstat64-Xraw.c fstat64-Xverbose.c \
--	fstatat64.c fstatfs.c fstatfs64.c fsync.c fsync-y.c \
--	ftruncate.c ftruncate64.c futex.c futimesat.c get_mempolicy.c \
--	get_process_reaper.c getcpu.c getcwd.c getdents.c getdents-v.c \
--	getdents64.c getdents64-v.c getegid.c getegid32.c geteuid.c \
--	geteuid32.c getgid.c getgid32.c getgroups.c getgroups32.c \
--	getpeername.c getpgrp.c getpgrp--pidns-translation.c getpid.c \
-+	execve--secontext.c execve--secontext_full.c execve-v.c \
-+	execveat.c execveat--secontext.c execveat--secontext_full.c \
-+	execveat-v.c faccessat.c faccessat--secontext.c \
-+	faccessat--secontext_full.c faccessat-P.c faccessat-y.c \
-+	faccessat-y--secontext.c faccessat-y--secontext_full.c \
-+	faccessat-yy.c fadvise64.c fadvise64_64.c fallocate.c \
-+	fanotify_init.c fanotify_mark.c fanotify_mark--secontext.c \
-+	fanotify_mark--secontext_full.c fanotify_mark-Xabbrev.c \
-+	fanotify_mark-Xraw.c fanotify_mark-Xverbose.c fchdir.c \
-+	fchmod.c fchmod--secontext.c fchmod--secontext_full.c \
-+	fchmod-y.c fchmod-y--secontext.c fchmod-y--secontext_full.c \
-+	fchmodat.c fchmodat--secontext.c fchmodat--secontext_full.c \
-+	fchown.c fchown32.c fchownat.c fchownat--secontext.c \
-+	fchownat--secontext_full.c fcntl.c fcntl--pidns-translation.c \
-+	fcntl64.c fcntl64--pidns-translation.c fdatasync.c fflush.c \
-+	file_handle.c file_handle--secontext.c \
-+	file_handle--secontext_full.c file_ioctl.c \
-+	filter-unavailable.c filter_seccomp-flag.c \
-+	filter_seccomp-perf.c finit_module.c flock.c \
-+	fork--pidns-translation.c fork-f.c fsconfig.c fsconfig-P.c \
-+	fsmount.c fsopen.c fspick.c fspick-P.c fstat.c fstat-Xabbrev.c \
-+	fstat-Xraw.c fstat-Xverbose.c fstat64.c fstat64-Xabbrev.c \
-+	fstat64-Xraw.c fstat64-Xverbose.c fstatat64.c fstatfs.c \
-+	fstatfs64.c fsync.c fsync-y.c ftruncate.c ftruncate64.c \
-+	futex.c futimesat.c get_mempolicy.c get_process_reaper.c \
-+	getcpu.c getcwd.c getdents.c getdents-v.c getdents64.c \
-+	getdents64-v.c getegid.c getegid32.c geteuid.c geteuid32.c \
-+	getgid.c getgid32.c getgroups.c getgroups32.c getpeername.c \
-+	getpgrp.c getpgrp--pidns-translation.c getpid.c \
- 	getpid--pidns-translation.c getppid.c getrandom.c getresgid.c \
- 	getresgid32.c getresuid.c getresuid32.c getrlimit.c \
- 	getrusage.c getsid.c getsid--pidns-translation.c getsockname.c \
-@@ -4826,7 +4991,8 @@
- 	kexec_file_load.c kexec_load.c keyctl.c keyctl-Xabbrev.c \
- 	keyctl-Xraw.c keyctl-Xverbose.c kill.c \
- 	kill--pidns-translation.c kill_child.c ksysent.c lchown.c \
--	lchown32.c link.c linkat.c list_sigaction_signum.c llseek.c \
-+	lchown32.c link.c linkat.c linkat--secontext.c \
-+	linkat--secontext_full.c list_sigaction_signum.c llseek.c \
- 	localtime.c lookup_dcookie.c looping_threads.c lseek.c lstat.c \
- 	lstat64.c madvise.c maybe_switch_current_tcp.c \
- 	maybe_switch_current_tcp--quiet-thread-execve.c mbind.c \
-@@ -4877,23 +5043,25 @@
- 	old_mmap-Xabbrev.c old_mmap-Xraw.c old_mmap-Xverbose.c \
- 	old_mmap-v-none.c oldfstat.c oldlstat.c oldselect.c \
- 	oldselect-P.c oldselect-efault.c oldselect-efault-P.c \
--	oldstat.c open.c open_tree.c open_tree-P.c openat.c openat2.c \
--	openat2-Xabbrev.c openat2-Xraw.c openat2-Xverbose.c \
--	openat2-v.c openat2-v-y.c openat2-v-y-Xabbrev.c \
--	openat2-v-y-Xraw.c openat2-v-y-Xverbose.c openat2-y.c \
--	orphaned_process_group.c osf_utimes.c pause.c pc.c \
--	perf_event_open.c perf_event_open_nonverbose.c \
--	perf_event_open_unabbrev.c personality.c personality-Xabbrev.c \
--	personality-Xraw.c personality-Xverbose.c pidfd_getfd.c \
--	pidfd_getfd-y.c pidfd_getfd-yy.c pidfd_open.c \
--	pidfd_open--decode-fd-path.c pidfd_open--decode-fd-pidfd.c \
--	pidfd_open--decode-fd-socket.c pidfd_open--pidns-translation.c \
--	pidfd_open-P.c pidfd_open-y.c pidfd_open-yy.c \
--	pidfd_send_signal.c pidfd_send_signal--pidns-translation.c \
--	pidns-cache.c pipe.c pipe2.c pkey_alloc.c pkey_free.c \
--	pkey_mprotect.c poll.c poll-P.c ppoll.c ppoll-P.c ppoll-v.c \
--	prctl-arg2-intptr.c prctl-dumpable.c prctl-name.c \
--	prctl-no-args.c prctl-pdeathsig.c prctl-seccomp-filter-v.c \
-+	oldstat.c open.c open--secontext.c open--secontext_full.c \
-+	open_tree.c open_tree-P.c openat.c openat--secontext.c \
-+	openat--secontext_full.c openat2.c openat2-Xabbrev.c \
-+	openat2-Xraw.c openat2-Xverbose.c openat2-v.c openat2-v-y.c \
-+	openat2-v-y-Xabbrev.c openat2-v-y-Xraw.c \
-+	openat2-v-y-Xverbose.c openat2-y.c orphaned_process_group.c \
-+	osf_utimes.c pause.c pc.c perf_event_open.c \
-+	perf_event_open_nonverbose.c perf_event_open_unabbrev.c \
-+	personality.c personality-Xabbrev.c personality-Xraw.c \
-+	personality-Xverbose.c pidfd_getfd.c pidfd_getfd-y.c \
-+	pidfd_getfd-yy.c pidfd_open.c pidfd_open--decode-fd-path.c \
-+	pidfd_open--decode-fd-pidfd.c pidfd_open--decode-fd-socket.c \
-+	pidfd_open--pidns-translation.c pidfd_open-P.c pidfd_open-y.c \
-+	pidfd_open-yy.c pidfd_send_signal.c \
-+	pidfd_send_signal--pidns-translation.c pidns-cache.c pipe.c \
-+	pipe2.c pkey_alloc.c pkey_free.c pkey_mprotect.c poll.c \
-+	poll-P.c ppoll.c ppoll-P.c ppoll-v.c prctl-arg2-intptr.c \
-+	prctl-dumpable.c prctl-name.c prctl-no-args.c \
-+	prctl-pdeathsig.c prctl-seccomp-filter-v.c \
- 	prctl-seccomp-strict.c prctl-securebits.c prctl-spec-inject.c \
- 	prctl-tid_address.c prctl-tsc.c pread64-pwrite64.c preadv.c \
- 	preadv-pwritev.c preadv2-pwritev2.c print_maxfd.c \
-@@ -5194,7 +5362,7 @@
-   bases=`echo $$bases`
- RECHECK_LOGS = $(TEST_LOGS)
- AM_RECURSIVE_TARGETS = check recheck
--@ENABLE_STACKTRACE_TRUE@am__EXEEXT_2 = strace-k.test strace-k-p.test \
-+@ENABLE_STACKTRACE_TRUE@am__EXEEXT_3 = strace-k.test strace-k-p.test \
- @ENABLE_STACKTRACE_TRUE@	$(am__append_1)
- TEST_SUITE_LOG = test-suite.log
- TEST_EXTENSIONS = @EXEEXT@ .test
-@@ -5216,7 +5384,8 @@
-   esac
- am__DIST_COMMON = $(srcdir)/../scno.am $(srcdir)/Makefile.in \
- 	$(srcdir)/gen_tests.am $(srcdir)/pure_executables.am \
--	$(top_srcdir)/depcomp $(top_srcdir)/test-driver COPYING
-+	$(srcdir)/secontext.am $(top_srcdir)/depcomp \
-+	$(top_srcdir)/test-driver COPYING
- DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
- ACLOCAL = @ACLOCAL@
- AMTAR = @AMTAR@
-@@ -5357,6 +5526,9 @@
- libiberty_CPPFLAGS = @libiberty_CPPFLAGS@
- libiberty_LDFLAGS = @libiberty_LDFLAGS@
- libiberty_LIBS = @libiberty_LIBS@
-+libselinux_CPPFLAGS = @libselinux_CPPFLAGS@
-+libselinux_LDFLAGS = @libselinux_LDFLAGS@
-+libselinux_LIBS = @libselinux_LIBS@
- libunwind_CPPFLAGS = @libunwind_CPPFLAGS@
- libunwind_LDFLAGS = @libunwind_LDFLAGS@
- libunwind_LIBS = @libunwind_LIBS@
-@@ -5400,6 +5572,8 @@
- 	      -DTESTS_SIZEOF_LONG=$(SIZEOF_LONG)
- 
- AM_LDFLAGS = $(ARCH_MFLAGS)
-+@HAVE_M32_SELINUX_RUNTIME_FALSE@libselinux_LDADD = 
-+@HAVE_M32_SELINUX_RUNTIME_TRUE@libselinux_LDADD = $(libselinux_LIBS)
- libtests_a_SOURCES = \
- 	create_nl_socket.c \
- 	create_tmpfile.c \
-@@ -5426,6 +5600,8 @@
- 	printxval-Xabbrev.c \
- 	printxval-Xraw.c \
- 	printxval-Xverbose.c \
-+	secontext.c \
-+	secontext.h \
- 	signal2name.c \
- 	skip_unavailable.c \
- 	sprintrc.c \
-@@ -5505,6 +5681,9 @@
-   execve \
-   execveat \
-   faccessat \
-+  faccessat-P \
-+  faccessat-y \
-+  faccessat-yy \
-   fadvise64 \
-   fadvise64_64 \
-   fallocate \
-@@ -6077,6 +6256,69 @@
-   xettimeofday \
-   #
- 
-+secontext_EXECUTABLES = \
-+  access--secontext \
-+  access--secontext_full \
-+  chmod--secontext \
-+  chmod--secontext_full \
-+  execve--secontext \
-+  execve--secontext_full \
-+  execveat--secontext \
-+  execveat--secontext_full \
-+  faccessat--secontext \
-+  faccessat--secontext_full \
-+  faccessat-y--secontext \
-+  faccessat-y--secontext_full \
-+  fanotify_mark--secontext \
-+  fanotify_mark--secontext_full \
-+  fchmod--secontext \
-+  fchmod--secontext_full \
-+  fchmod-y--secontext \
-+  fchmod-y--secontext_full \
-+  fchmodat--secontext \
-+  fchmodat--secontext_full \
-+  fchownat--secontext \
-+  fchownat--secontext_full \
-+  file_handle--secontext \
-+  file_handle--secontext_full \
-+  linkat--secontext \
-+  linkat--secontext_full \
-+  open--secontext \
-+  open--secontext_full \
-+  openat--secontext \
-+  openat--secontext_full \
-+  #
-+
-+access__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
-+access__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
-+chmod__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
-+chmod__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
-+execve__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
-+execve__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
-+execveat__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
-+execveat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
-+faccessat__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
-+faccessat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
-+faccessat_y__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
-+faccessat_y__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
-+fanotify_mark__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
-+fanotify_mark__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
-+fchmod__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
-+fchmod__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
-+fchmod_y__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
-+fchmod_y__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
-+fchmodat__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
-+fchmodat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
-+fchownat__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
-+fchownat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
-+file_handle__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
-+file_handle__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
-+linkat__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
-+linkat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
-+open__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
-+open__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
-+openat__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
-+openat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
- attach_f_p_LDADD = -lpthread $(LDADD)
- count_f_LDADD = -lpthread $(LDADD)
- delay_LDADD = $(clock_LIBS) $(LDADD)
-@@ -6129,14 +6371,15 @@
- 
- # Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in; do not edit.
- GEN_TESTS = _newselect.gen.test _newselect-P.gen.test accept.gen.test \
--	accept4.gen.test access.gen.test acct.gen.test \
--	add_key.gen.test adjtimex.gen.test aio.gen.test \
--	aio_pgetevents.gen.test alarm.gen.test bpf.gen.test \
--	bpf-obj_get_info_by_fd.gen.test \
-+	accept4.gen.test access.gen.test access--secontext.gen.test \
-+	access--secontext_full.gen.test acct.gen.test add_key.gen.test \
-+	adjtimex.gen.test aio.gen.test aio_pgetevents.gen.test \
-+	alarm.gen.test bpf.gen.test bpf-obj_get_info_by_fd.gen.test \
- 	bpf-obj_get_info_by_fd-prog.gen.test \
- 	bpf-obj_get_info_by_fd-prog-v.gen.test \
- 	bpf-obj_get_info_by_fd-v.gen.test bpf-v.gen.test \
--	btrfs.gen.test chmod.gen.test chown.gen.test chown32.gen.test \
-+	btrfs.gen.test chmod.gen.test chmod--secontext.gen.test \
-+	chmod--secontext_full.gen.test chown.gen.test chown32.gen.test \
- 	chroot.gen.test clock.gen.test clock_adjtime.gen.test \
- 	clock_nanosleep.gen.test clock_xettime.gen.test \
- 	clone3.gen.test clone3-Xabbrev.gen.test clone3-Xraw.gen.test \
-@@ -6155,21 +6398,36 @@
- 	dup3-P.gen.test dup3-y.gen.test dup3-yy.gen.test \
- 	epoll_create.gen.test epoll_create1.gen.test \
- 	epoll_ctl.gen.test epoll_pwait.gen.test epoll_wait.gen.test \
--	erestartsys.gen.test execveat.gen.test execveat-v.gen.test \
--	faccessat.gen.test fadvise64_64.gen.test fallocate.gen.test \
-+	erestartsys.gen.test execve--secontext.gen.test \
-+	execve--secontext_full.gen.test execveat.gen.test \
-+	execveat--secontext.gen.test execveat--secontext_full.gen.test \
-+	execveat-v.gen.test faccessat--secontext.gen.test \
-+	faccessat--secontext_full.gen.test faccessat-P.gen.test \
-+	faccessat-y.gen.test faccessat-y--secontext.gen.test \
-+	faccessat-y--secontext_full.gen.test faccessat-yy.gen.test \
-+	fadvise64_64.gen.test fallocate.gen.test \
- 	fanotify_init.gen.test fanotify_mark.gen.test \
-+	fanotify_mark--secontext.gen.test \
-+	fanotify_mark--secontext_full.gen.test \
- 	fanotify_mark-Xabbrev.gen.test fanotify_mark-Xraw.gen.test \
- 	fanotify_mark-Xverbose.gen.test fchdir.gen.test \
--	fchmod.gen.test fchmod-y.gen.test fchmodat.gen.test \
--	fchown.gen.test fchown32.gen.test fchownat.gen.test \
-+	fchmod.gen.test fchmod--secontext.gen.test \
-+	fchmod--secontext_full.gen.test fchmod-y.gen.test \
-+	fchmod-y--secontext.gen.test fchmod-y--secontext_full.gen.test \
-+	fchmodat.gen.test fchmodat--secontext.gen.test \
-+	fchmodat--secontext_full.gen.test fchown.gen.test \
-+	fchown32.gen.test fchownat.gen.test \
-+	fchownat--secontext.gen.test fchownat--secontext_full.gen.test \
- 	fcntl.gen.test fcntl--pidns-translation.gen.test \
- 	fcntl64.gen.test fcntl64--pidns-translation.gen.test \
- 	fdatasync.gen.test file_handle.gen.test file_ioctl.gen.test \
--	filter_seccomp.gen.test filter_seccomp-flag.gen.test \
--	finit_module.gen.test flock.gen.test fork-f.gen.test \
--	fsconfig.gen.test fsconfig-P.gen.test fsmount.gen.test \
--	fsopen.gen.test fspick.gen.test fspick-P.gen.test \
--	fstat.gen.test fstat-Xabbrev.gen.test fstat-Xraw.gen.test \
-+	file_handle--secontext.gen.test \
-+	file_handle--secontext_full.gen.test filter_seccomp.gen.test \
-+	filter_seccomp-flag.gen.test finit_module.gen.test \
-+	flock.gen.test fork-f.gen.test fsconfig.gen.test \
-+	fsconfig-P.gen.test fsmount.gen.test fsopen.gen.test \
-+	fspick.gen.test fspick-P.gen.test fstat.gen.test \
-+	fstat-Xabbrev.gen.test fstat-Xraw.gen.test \
- 	fstat-Xverbose.gen.test fstat64.gen.test \
- 	fstat64-Xabbrev.gen.test fstat64-Xraw.gen.test \
- 	fstat64-Xverbose.gen.test fstatat64.gen.test fstatfs.gen.test \
-@@ -6259,8 +6517,9 @@
- 	keyctl-Xverbose.gen.test kill.gen.test \
- 	kill--pidns-translation.gen.test ksysent.gen.test \
- 	lchown.gen.test lchown32.gen.test link.gen.test \
--	linkat.gen.test lookup_dcookie.gen.test lstat.gen.test \
--	lstat64.gen.test madvise.gen.test \
-+	linkat.gen.test linkat--secontext.gen.test \
-+	linkat--secontext_full.gen.test lookup_dcookie.gen.test \
-+	lstat.gen.test lstat64.gen.test madvise.gen.test \
- 	maybe_switch_current_tcp.gen.test \
- 	maybe_switch_current_tcp--quiet-thread-execve.gen.test \
- 	mbind.gen.test mbind-Xabbrev.gen.test mbind-Xraw.gen.test \
-@@ -6328,14 +6587,17 @@
- 	old_mmap-v-none.gen.test oldfstat.gen.test oldlstat.gen.test \
- 	oldselect.gen.test oldselect-P.gen.test \
- 	oldselect-efault.gen.test oldselect-efault-P.gen.test \
--	oldstat.gen.test open.gen.test open_tree.gen.test \
--	open_tree-P.gen.test openat.gen.test openat2.gen.test \
--	openat2-Xabbrev.gen.test openat2-Xraw.gen.test \
--	openat2-Xverbose.gen.test openat2-v.gen.test \
--	openat2-v-y.gen.test openat2-v-y-Xabbrev.gen.test \
--	openat2-v-y-Xraw.gen.test openat2-v-y-Xverbose.gen.test \
--	openat2-y.gen.test orphaned_process_group.gen.test \
--	osf_utimes.gen.test pause.gen.test perf_event_open.gen.test \
-+	oldstat.gen.test open.gen.test open--secontext.gen.test \
-+	open--secontext_full.gen.test open_tree.gen.test \
-+	open_tree-P.gen.test openat.gen.test \
-+	openat--secontext.gen.test openat--secontext_full.gen.test \
-+	openat2.gen.test openat2-Xabbrev.gen.test \
-+	openat2-Xraw.gen.test openat2-Xverbose.gen.test \
-+	openat2-v.gen.test openat2-v-y.gen.test \
-+	openat2-v-y-Xabbrev.gen.test openat2-v-y-Xraw.gen.test \
-+	openat2-v-y-Xverbose.gen.test openat2-y.gen.test \
-+	orphaned_process_group.gen.test osf_utimes.gen.test \
-+	pause.gen.test perf_event_open.gen.test \
- 	perf_event_open_nonverbose.gen.test \
- 	perf_event_open_unabbrev.gen.test personality-Xabbrev.gen.test \
- 	personality-Xraw.gen.test personality-Xverbose.gen.test \
-@@ -6806,7 +7068,7 @@
- 
- .SUFFIXES:
- .SUFFIXES: .c .log .o .obj .test .test$(EXEEXT) .trs
--$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/pure_executables.am $(srcdir)/gen_tests.am $(srcdir)/../scno.am $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/pure_executables.am $(srcdir)/secontext.am $(srcdir)/gen_tests.am $(srcdir)/../scno.am $(am__configure_deps)
- 	@for dep in $?; do \
- 	  case '$(am__configure_deps)' in \
- 	    *$$dep*) \
-@@ -6826,7 +7088,7 @@
- 	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
- 	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
- 	esac;
--$(srcdir)/pure_executables.am $(srcdir)/gen_tests.am $(srcdir)/../scno.am $(am__empty):
-+$(srcdir)/pure_executables.am $(srcdir)/secontext.am $(srcdir)/gen_tests.am $(srcdir)/../scno.am $(am__empty):
- 
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-@@ -6868,6 +7130,14 @@
- 	@rm -f access$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(access_OBJECTS) $(access_LDADD) $(LIBS)
- 
-+access--secontext$(EXEEXT): $(access__secontext_OBJECTS) $(access__secontext_DEPENDENCIES) $(EXTRA_access__secontext_DEPENDENCIES) 
-+	@rm -f access--secontext$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(access__secontext_OBJECTS) $(access__secontext_LDADD) $(LIBS)
-+
-+access--secontext_full$(EXEEXT): $(access__secontext_full_OBJECTS) $(access__secontext_full_DEPENDENCIES) $(EXTRA_access__secontext_full_DEPENDENCIES) 
-+	@rm -f access--secontext_full$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(access__secontext_full_OBJECTS) $(access__secontext_full_LDADD) $(LIBS)
-+
- acct$(EXEEXT): $(acct_OBJECTS) $(acct_DEPENDENCIES) $(EXTRA_acct_DEPENDENCIES) 
- 	@rm -f acct$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(acct_OBJECTS) $(acct_LDADD) $(LIBS)
-@@ -6984,6 +7254,14 @@
- 	@rm -f chmod$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(chmod_OBJECTS) $(chmod_LDADD) $(LIBS)
- 
-+chmod--secontext$(EXEEXT): $(chmod__secontext_OBJECTS) $(chmod__secontext_DEPENDENCIES) $(EXTRA_chmod__secontext_DEPENDENCIES) 
-+	@rm -f chmod--secontext$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(chmod__secontext_OBJECTS) $(chmod__secontext_LDADD) $(LIBS)
-+
-+chmod--secontext_full$(EXEEXT): $(chmod__secontext_full_OBJECTS) $(chmod__secontext_full_DEPENDENCIES) $(EXTRA_chmod__secontext_full_DEPENDENCIES) 
-+	@rm -f chmod--secontext_full$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(chmod__secontext_full_OBJECTS) $(chmod__secontext_full_LDADD) $(LIBS)
-+
- chown$(EXEEXT): $(chown_OBJECTS) $(chown_DEPENDENCIES) $(EXTRA_chown_DEPENDENCIES) 
- 	@rm -f chown$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(chown_OBJECTS) $(chown_LDADD) $(LIBS)
-@@ -7196,6 +7474,14 @@
- 	@rm -f execve$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(execve_OBJECTS) $(execve_LDADD) $(LIBS)
- 
-+execve--secontext$(EXEEXT): $(execve__secontext_OBJECTS) $(execve__secontext_DEPENDENCIES) $(EXTRA_execve__secontext_DEPENDENCIES) 
-+	@rm -f execve--secontext$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(execve__secontext_OBJECTS) $(execve__secontext_LDADD) $(LIBS)
-+
-+execve--secontext_full$(EXEEXT): $(execve__secontext_full_OBJECTS) $(execve__secontext_full_DEPENDENCIES) $(EXTRA_execve__secontext_full_DEPENDENCIES) 
-+	@rm -f execve--secontext_full$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(execve__secontext_full_OBJECTS) $(execve__secontext_full_LDADD) $(LIBS)
-+
- execve-v$(EXEEXT): $(execve_v_OBJECTS) $(execve_v_DEPENDENCIES) $(EXTRA_execve_v_DEPENDENCIES) 
- 	@rm -f execve-v$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(execve_v_OBJECTS) $(execve_v_LDADD) $(LIBS)
-@@ -7204,6 +7490,14 @@
- 	@rm -f execveat$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(execveat_OBJECTS) $(execveat_LDADD) $(LIBS)
- 
-+execveat--secontext$(EXEEXT): $(execveat__secontext_OBJECTS) $(execveat__secontext_DEPENDENCIES) $(EXTRA_execveat__secontext_DEPENDENCIES) 
-+	@rm -f execveat--secontext$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(execveat__secontext_OBJECTS) $(execveat__secontext_LDADD) $(LIBS)
-+
-+execveat--secontext_full$(EXEEXT): $(execveat__secontext_full_OBJECTS) $(execveat__secontext_full_DEPENDENCIES) $(EXTRA_execveat__secontext_full_DEPENDENCIES) 
-+	@rm -f execveat--secontext_full$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(execveat__secontext_full_OBJECTS) $(execveat__secontext_full_LDADD) $(LIBS)
-+
- execveat-v$(EXEEXT): $(execveat_v_OBJECTS) $(execveat_v_DEPENDENCIES) $(EXTRA_execveat_v_DEPENDENCIES) 
- 	@rm -f execveat-v$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(execveat_v_OBJECTS) $(execveat_v_LDADD) $(LIBS)
-@@ -7212,6 +7506,34 @@
- 	@rm -f faccessat$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(faccessat_OBJECTS) $(faccessat_LDADD) $(LIBS)
- 
-+faccessat--secontext$(EXEEXT): $(faccessat__secontext_OBJECTS) $(faccessat__secontext_DEPENDENCIES) $(EXTRA_faccessat__secontext_DEPENDENCIES) 
-+	@rm -f faccessat--secontext$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(faccessat__secontext_OBJECTS) $(faccessat__secontext_LDADD) $(LIBS)
-+
-+faccessat--secontext_full$(EXEEXT): $(faccessat__secontext_full_OBJECTS) $(faccessat__secontext_full_DEPENDENCIES) $(EXTRA_faccessat__secontext_full_DEPENDENCIES) 
-+	@rm -f faccessat--secontext_full$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(faccessat__secontext_full_OBJECTS) $(faccessat__secontext_full_LDADD) $(LIBS)
-+
-+faccessat-P$(EXEEXT): $(faccessat_P_OBJECTS) $(faccessat_P_DEPENDENCIES) $(EXTRA_faccessat_P_DEPENDENCIES) 
-+	@rm -f faccessat-P$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(faccessat_P_OBJECTS) $(faccessat_P_LDADD) $(LIBS)
-+
-+faccessat-y$(EXEEXT): $(faccessat_y_OBJECTS) $(faccessat_y_DEPENDENCIES) $(EXTRA_faccessat_y_DEPENDENCIES) 
-+	@rm -f faccessat-y$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(faccessat_y_OBJECTS) $(faccessat_y_LDADD) $(LIBS)
-+
-+faccessat-y--secontext$(EXEEXT): $(faccessat_y__secontext_OBJECTS) $(faccessat_y__secontext_DEPENDENCIES) $(EXTRA_faccessat_y__secontext_DEPENDENCIES) 
-+	@rm -f faccessat-y--secontext$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(faccessat_y__secontext_OBJECTS) $(faccessat_y__secontext_LDADD) $(LIBS)
-+
-+faccessat-y--secontext_full$(EXEEXT): $(faccessat_y__secontext_full_OBJECTS) $(faccessat_y__secontext_full_DEPENDENCIES) $(EXTRA_faccessat_y__secontext_full_DEPENDENCIES) 
-+	@rm -f faccessat-y--secontext_full$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(faccessat_y__secontext_full_OBJECTS) $(faccessat_y__secontext_full_LDADD) $(LIBS)
-+
-+faccessat-yy$(EXEEXT): $(faccessat_yy_OBJECTS) $(faccessat_yy_DEPENDENCIES) $(EXTRA_faccessat_yy_DEPENDENCIES) 
-+	@rm -f faccessat-yy$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(faccessat_yy_OBJECTS) $(faccessat_yy_LDADD) $(LIBS)
-+
- fadvise64$(EXEEXT): $(fadvise64_OBJECTS) $(fadvise64_DEPENDENCIES) $(EXTRA_fadvise64_DEPENDENCIES) 
- 	@rm -f fadvise64$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(fadvise64_OBJECTS) $(fadvise64_LDADD) $(LIBS)
-@@ -7232,6 +7554,14 @@
- 	@rm -f fanotify_mark$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(fanotify_mark_OBJECTS) $(fanotify_mark_LDADD) $(LIBS)
- 
-+fanotify_mark--secontext$(EXEEXT): $(fanotify_mark__secontext_OBJECTS) $(fanotify_mark__secontext_DEPENDENCIES) $(EXTRA_fanotify_mark__secontext_DEPENDENCIES) 
-+	@rm -f fanotify_mark--secontext$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(fanotify_mark__secontext_OBJECTS) $(fanotify_mark__secontext_LDADD) $(LIBS)
-+
-+fanotify_mark--secontext_full$(EXEEXT): $(fanotify_mark__secontext_full_OBJECTS) $(fanotify_mark__secontext_full_DEPENDENCIES) $(EXTRA_fanotify_mark__secontext_full_DEPENDENCIES) 
-+	@rm -f fanotify_mark--secontext_full$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(fanotify_mark__secontext_full_OBJECTS) $(fanotify_mark__secontext_full_LDADD) $(LIBS)
-+
- fanotify_mark-Xabbrev$(EXEEXT): $(fanotify_mark_Xabbrev_OBJECTS) $(fanotify_mark_Xabbrev_DEPENDENCIES) $(EXTRA_fanotify_mark_Xabbrev_DEPENDENCIES) 
- 	@rm -f fanotify_mark-Xabbrev$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(fanotify_mark_Xabbrev_OBJECTS) $(fanotify_mark_Xabbrev_LDADD) $(LIBS)
-@@ -7252,14 +7582,38 @@
- 	@rm -f fchmod$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(fchmod_OBJECTS) $(fchmod_LDADD) $(LIBS)
- 
-+fchmod--secontext$(EXEEXT): $(fchmod__secontext_OBJECTS) $(fchmod__secontext_DEPENDENCIES) $(EXTRA_fchmod__secontext_DEPENDENCIES) 
-+	@rm -f fchmod--secontext$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(fchmod__secontext_OBJECTS) $(fchmod__secontext_LDADD) $(LIBS)
-+
-+fchmod--secontext_full$(EXEEXT): $(fchmod__secontext_full_OBJECTS) $(fchmod__secontext_full_DEPENDENCIES) $(EXTRA_fchmod__secontext_full_DEPENDENCIES) 
-+	@rm -f fchmod--secontext_full$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(fchmod__secontext_full_OBJECTS) $(fchmod__secontext_full_LDADD) $(LIBS)
-+
- fchmod-y$(EXEEXT): $(fchmod_y_OBJECTS) $(fchmod_y_DEPENDENCIES) $(EXTRA_fchmod_y_DEPENDENCIES) 
- 	@rm -f fchmod-y$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(fchmod_y_OBJECTS) $(fchmod_y_LDADD) $(LIBS)
- 
-+fchmod-y--secontext$(EXEEXT): $(fchmod_y__secontext_OBJECTS) $(fchmod_y__secontext_DEPENDENCIES) $(EXTRA_fchmod_y__secontext_DEPENDENCIES) 
-+	@rm -f fchmod-y--secontext$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(fchmod_y__secontext_OBJECTS) $(fchmod_y__secontext_LDADD) $(LIBS)
-+
-+fchmod-y--secontext_full$(EXEEXT): $(fchmod_y__secontext_full_OBJECTS) $(fchmod_y__secontext_full_DEPENDENCIES) $(EXTRA_fchmod_y__secontext_full_DEPENDENCIES) 
-+	@rm -f fchmod-y--secontext_full$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(fchmod_y__secontext_full_OBJECTS) $(fchmod_y__secontext_full_LDADD) $(LIBS)
-+
- fchmodat$(EXEEXT): $(fchmodat_OBJECTS) $(fchmodat_DEPENDENCIES) $(EXTRA_fchmodat_DEPENDENCIES) 
- 	@rm -f fchmodat$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(fchmodat_OBJECTS) $(fchmodat_LDADD) $(LIBS)
- 
-+fchmodat--secontext$(EXEEXT): $(fchmodat__secontext_OBJECTS) $(fchmodat__secontext_DEPENDENCIES) $(EXTRA_fchmodat__secontext_DEPENDENCIES) 
-+	@rm -f fchmodat--secontext$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(fchmodat__secontext_OBJECTS) $(fchmodat__secontext_LDADD) $(LIBS)
-+
-+fchmodat--secontext_full$(EXEEXT): $(fchmodat__secontext_full_OBJECTS) $(fchmodat__secontext_full_DEPENDENCIES) $(EXTRA_fchmodat__secontext_full_DEPENDENCIES) 
-+	@rm -f fchmodat--secontext_full$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(fchmodat__secontext_full_OBJECTS) $(fchmodat__secontext_full_LDADD) $(LIBS)
-+
- fchown$(EXEEXT): $(fchown_OBJECTS) $(fchown_DEPENDENCIES) $(EXTRA_fchown_DEPENDENCIES) 
- 	@rm -f fchown$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(fchown_OBJECTS) $(fchown_LDADD) $(LIBS)
-@@ -7272,6 +7626,14 @@
- 	@rm -f fchownat$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(fchownat_OBJECTS) $(fchownat_LDADD) $(LIBS)
- 
-+fchownat--secontext$(EXEEXT): $(fchownat__secontext_OBJECTS) $(fchownat__secontext_DEPENDENCIES) $(EXTRA_fchownat__secontext_DEPENDENCIES) 
-+	@rm -f fchownat--secontext$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(fchownat__secontext_OBJECTS) $(fchownat__secontext_LDADD) $(LIBS)
-+
-+fchownat--secontext_full$(EXEEXT): $(fchownat__secontext_full_OBJECTS) $(fchownat__secontext_full_DEPENDENCIES) $(EXTRA_fchownat__secontext_full_DEPENDENCIES) 
-+	@rm -f fchownat--secontext_full$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(fchownat__secontext_full_OBJECTS) $(fchownat__secontext_full_LDADD) $(LIBS)
-+
- fcntl$(EXEEXT): $(fcntl_OBJECTS) $(fcntl_DEPENDENCIES) $(EXTRA_fcntl_DEPENDENCIES) 
- 	@rm -f fcntl$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(fcntl_OBJECTS) $(fcntl_LDADD) $(LIBS)
-@@ -7300,6 +7662,14 @@
- 	@rm -f file_handle$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(file_handle_OBJECTS) $(file_handle_LDADD) $(LIBS)
- 
-+file_handle--secontext$(EXEEXT): $(file_handle__secontext_OBJECTS) $(file_handle__secontext_DEPENDENCIES) $(EXTRA_file_handle__secontext_DEPENDENCIES) 
-+	@rm -f file_handle--secontext$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(file_handle__secontext_OBJECTS) $(file_handle__secontext_LDADD) $(LIBS)
-+
-+file_handle--secontext_full$(EXEEXT): $(file_handle__secontext_full_OBJECTS) $(file_handle__secontext_full_DEPENDENCIES) $(EXTRA_file_handle__secontext_full_DEPENDENCIES) 
-+	@rm -f file_handle--secontext_full$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(file_handle__secontext_full_OBJECTS) $(file_handle__secontext_full_LDADD) $(LIBS)
-+
- file_ioctl$(EXEEXT): $(file_ioctl_OBJECTS) $(file_ioctl_DEPENDENCIES) $(EXTRA_file_ioctl_DEPENDENCIES) 
- 	@rm -f file_ioctl$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(file_ioctl_OBJECTS) $(file_ioctl_LDADD) $(LIBS)
-@@ -8124,6 +8494,14 @@
- 	@rm -f linkat$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(linkat_OBJECTS) $(linkat_LDADD) $(LIBS)
- 
-+linkat--secontext$(EXEEXT): $(linkat__secontext_OBJECTS) $(linkat__secontext_DEPENDENCIES) $(EXTRA_linkat__secontext_DEPENDENCIES) 
-+	@rm -f linkat--secontext$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(linkat__secontext_OBJECTS) $(linkat__secontext_LDADD) $(LIBS)
-+
-+linkat--secontext_full$(EXEEXT): $(linkat__secontext_full_OBJECTS) $(linkat__secontext_full_DEPENDENCIES) $(EXTRA_linkat__secontext_full_DEPENDENCIES) 
-+	@rm -f linkat--secontext_full$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(linkat__secontext_full_OBJECTS) $(linkat__secontext_full_LDADD) $(LIBS)
-+
- list_sigaction_signum$(EXEEXT): $(list_sigaction_signum_OBJECTS) $(list_sigaction_signum_DEPENDENCIES) $(EXTRA_list_sigaction_signum_DEPENDENCIES) 
- 	@rm -f list_sigaction_signum$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(list_sigaction_signum_OBJECTS) $(list_sigaction_signum_LDADD) $(LIBS)
-@@ -8756,6 +9134,14 @@
- 	@rm -f open$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(open_OBJECTS) $(open_LDADD) $(LIBS)
- 
-+open--secontext$(EXEEXT): $(open__secontext_OBJECTS) $(open__secontext_DEPENDENCIES) $(EXTRA_open__secontext_DEPENDENCIES) 
-+	@rm -f open--secontext$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(open__secontext_OBJECTS) $(open__secontext_LDADD) $(LIBS)
-+
-+open--secontext_full$(EXEEXT): $(open__secontext_full_OBJECTS) $(open__secontext_full_DEPENDENCIES) $(EXTRA_open__secontext_full_DEPENDENCIES) 
-+	@rm -f open--secontext_full$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(open__secontext_full_OBJECTS) $(open__secontext_full_LDADD) $(LIBS)
-+
- open_tree$(EXEEXT): $(open_tree_OBJECTS) $(open_tree_DEPENDENCIES) $(EXTRA_open_tree_DEPENDENCIES) 
- 	@rm -f open_tree$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(open_tree_OBJECTS) $(open_tree_LDADD) $(LIBS)
-@@ -8768,6 +9154,14 @@
- 	@rm -f openat$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(openat_OBJECTS) $(openat_LDADD) $(LIBS)
- 
-+openat--secontext$(EXEEXT): $(openat__secontext_OBJECTS) $(openat__secontext_DEPENDENCIES) $(EXTRA_openat__secontext_DEPENDENCIES) 
-+	@rm -f openat--secontext$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(openat__secontext_OBJECTS) $(openat__secontext_LDADD) $(LIBS)
-+
-+openat--secontext_full$(EXEEXT): $(openat__secontext_full_OBJECTS) $(openat__secontext_full_DEPENDENCIES) $(EXTRA_openat__secontext_full_DEPENDENCIES) 
-+	@rm -f openat--secontext_full$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(openat__secontext_full_OBJECTS) $(openat__secontext_full_LDADD) $(LIBS)
-+
- openat2$(EXEEXT): $(openat2_OBJECTS) $(openat2_DEPENDENCIES) $(EXTRA_openat2_DEPENDENCIES) 
- 	@rm -f openat2$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(openat2_OBJECTS) $(openat2_LDADD) $(LIBS)
-@@ -10094,6 +10488,8 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/_newselect.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/accept.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/accept4.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/access--secontext.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/access--secontext_full.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/access.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/acct.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/add_key.Po@am__quote@ # am--include-marker
-@@ -10123,6 +10519,8 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/caps.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_sigblock.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_sigign.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chmod--secontext.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chmod--secontext_full.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chmod.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chown.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chown32.Po@am__quote@ # am--include-marker
-@@ -10176,25 +10574,46 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/epoll_wait.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/erestartsys.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eventfd.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execve--secontext.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execve--secontext_full.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execve-v.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execve.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execveat--secontext.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execveat--secontext_full.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execveat-v.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execveat.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat--secontext.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat--secontext_full.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat-P.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat-y--secontext.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat-y--secontext_full.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat-y.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat-yy.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fadvise64.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fadvise64_64.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fallocate.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_init.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark--secontext.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark--secontext_full.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark-Xabbrev.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark-Xraw.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark-Xverbose.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchdir.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod--secontext.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod--secontext_full.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod-y--secontext.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod-y--secontext_full.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod-y.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmodat--secontext.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmodat--secontext_full.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmodat.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchown.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchown32.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchownat--secontext.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchownat--secontext_full.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchownat.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcntl--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcntl.Po@am__quote@ # am--include-marker
-@@ -10202,6 +10621,8 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcntl64.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fdatasync.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fflush.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file_handle--secontext.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file_handle--secontext_full.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file_handle.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file_ioctl.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/filter-unavailable.Po@am__quote@ # am--include-marker
-@@ -10431,6 +10852,7 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-printxval-Xabbrev.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-printxval-Xraw.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-printxval-Xverbose.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-secontext.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-signal2name.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-skip_unavailable.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-sprintrc.Po@am__quote@ # am--include-marker
-@@ -10443,6 +10865,8 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-tprintf.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-xmalloc_for_tests.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/link.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linkat--secontext.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linkat--secontext_full.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linkat.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/list_sigaction_signum.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/llseek.Po@am__quote@ # am--include-marker
-@@ -10601,9 +11025,13 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/oldselect-efault.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/oldselect.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/oldstat.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open--secontext.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open--secontext_full.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open_tree-P.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open_tree.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat--secontext.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat--secontext_full.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat2-Xabbrev.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat2-Xraw.Po@am__quote@ # am--include-marker
-@@ -11300,6 +11728,20 @@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-printxval-Xverbose.obj `if test -f 'printxval-Xverbose.c'; then $(CYGPATH_W) 'printxval-Xverbose.c'; else $(CYGPATH_W) '$(srcdir)/printxval-Xverbose.c'; fi`
- 
-+libtests_a-secontext.o: secontext.c
-+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-secontext.o -MD -MP -MF $(DEPDIR)/libtests_a-secontext.Tpo -c -o libtests_a-secontext.o `test -f 'secontext.c' || echo '$(srcdir)/'`secontext.c
-+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-secontext.Tpo $(DEPDIR)/libtests_a-secontext.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='secontext.c' object='libtests_a-secontext.o' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-secontext.o `test -f 'secontext.c' || echo '$(srcdir)/'`secontext.c
-+
-+libtests_a-secontext.obj: secontext.c
-+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-secontext.obj -MD -MP -MF $(DEPDIR)/libtests_a-secontext.Tpo -c -o libtests_a-secontext.obj `if test -f 'secontext.c'; then $(CYGPATH_W) 'secontext.c'; else $(CYGPATH_W) '$(srcdir)/secontext.c'; fi`
-+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-secontext.Tpo $(DEPDIR)/libtests_a-secontext.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='secontext.c' object='libtests_a-secontext.obj' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-secontext.obj `if test -f 'secontext.c'; then $(CYGPATH_W) 'secontext.c'; else $(CYGPATH_W) '$(srcdir)/secontext.c'; fi`
-+
- libtests_a-signal2name.o: signal2name.c
- @am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-signal2name.o -MD -MP -MF $(DEPDIR)/libtests_a-signal2name.Tpo -c -o libtests_a-signal2name.o `test -f 'signal2name.c' || echo '$(srcdir)/'`signal2name.c
- @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-signal2name.Tpo $(DEPDIR)/libtests_a-signal2name.Po
-@@ -13841,6 +14283,12 @@
- $(srcdir)/access.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/access--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
-+$(srcdir)/access--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/acct.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-@@ -13883,6 +14331,12 @@
- $(srcdir)/chmod.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/chmod--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
-+$(srcdir)/chmod--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/chown.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-@@ -14024,13 +14478,43 @@
- $(srcdir)/erestartsys.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/execve--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
-+$(srcdir)/execve--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/execveat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/execveat--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
-+$(srcdir)/execveat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/execveat-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
--$(srcdir)/faccessat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+$(srcdir)/faccessat--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
-+$(srcdir)/faccessat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
-+$(srcdir)/faccessat-P.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
-+$(srcdir)/faccessat-y.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
-+$(srcdir)/faccessat-y--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
-+$(srcdir)/faccessat-y--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
-+$(srcdir)/faccessat-yy.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
- $(srcdir)/fadvise64_64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-@@ -14045,6 +14529,12 @@
- $(srcdir)/fanotify_mark.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/fanotify_mark--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
-+$(srcdir)/fanotify_mark--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/fanotify_mark-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-@@ -14060,12 +14550,30 @@
- $(srcdir)/fchmod.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/fchmod--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
-+$(srcdir)/fchmod--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/fchmod-y.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/fchmod-y--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
-+$(srcdir)/fchmod-y--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/fchmodat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/fchmodat--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
-+$(srcdir)/fchmodat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/fchown.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-@@ -14075,6 +14583,12 @@
- $(srcdir)/fchownat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/fchownat--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
-+$(srcdir)/fchownat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/fcntl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-@@ -14096,6 +14610,12 @@
- $(srcdir)/file_ioctl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/file_handle--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
-+$(srcdir)/file_handle--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/filter_seccomp.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-@@ -14690,6 +15210,12 @@
- $(srcdir)/linkat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/linkat--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
-+$(srcdir)/linkat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/lookup_dcookie.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-@@ -15107,6 +15633,12 @@
- $(srcdir)/open.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/open--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
-+$(srcdir)/open--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/open_tree.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-@@ -15116,6 +15648,12 @@
- $(srcdir)/openat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/openat--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
-+$(srcdir)/openat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/openat2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-Index: strace-5.7/tests-mx32/Makefile.in
-===================================================================
---- strace-5.7.orig/tests-mx32/Makefile.in	2021-08-24 21:08:35.498311681 +0200
-+++ strace-5.7/tests-mx32/Makefile.in	2021-08-24 21:08:43.292245714 +0200
-@@ -22,6 +22,8 @@
- #
- # SPDX-License-Identifier: GPL-2.0-or-later
- 
-+# Generated by ./tests/gen_secontext.sh from ./tests/gen_tests.in; do not edit.
-+
- # scno.h make rules for strace.
- #
- # Copyright (c) 2017-2019 Dmitry V. Levin <ldv@altlinux.org>
-@@ -102,8 +104,8 @@
- POST_UNINSTALL = :
- build_triplet = @build@
- host_triplet = @host@
--check_PROGRAMS = $(am__EXEEXT_1) _newselect-P$(EXEEXT) answer$(EXEEXT) \
--	attach-f-p$(EXEEXT) attach-f-p-cmd$(EXEEXT) \
-+check_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) _newselect-P$(EXEEXT) \
-+	answer$(EXEEXT) attach-f-p$(EXEEXT) attach-f-p-cmd$(EXEEXT) \
- 	attach-p-cmd-cmd$(EXEEXT) attach-p-cmd-p$(EXEEXT) \
- 	block_reset_raise_run$(EXEEXT) block_reset_run$(EXEEXT) \
- 	bpf-obj_get_info_by_fd$(EXEEXT) \
-@@ -221,7 +223,7 @@
- 	xetpriority--pidns-translation$(EXEEXT) \
- 	xet_robust_list--pidns-translation$(EXEEXT) zeroargc$(EXEEXT)
- @ENABLE_STACKTRACE_TRUE@@USE_DEMANGLE_TRUE@am__append_1 = strace-k-demangle.test
--TESTS = $(GEN_TESTS) $(DECODER_TESTS) $(MISC_TESTS) $(am__EXEEXT_2)
-+TESTS = $(GEN_TESTS) $(DECODER_TESTS) $(MISC_TESTS) $(am__EXEEXT_3)
- subdir = tests-mx32
- ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
- am__aclocal_m4_deps = $(top_srcdir)/xlat/btrfs_compress_types.m4 \
-@@ -270,6 +272,7 @@
- 	$(top_srcdir)/m4/st_esyscmd_s.m4 $(top_srcdir)/m4/st_libdw.m4 \
- 	$(top_srcdir)/m4/st_libunwind.m4 \
- 	$(top_srcdir)/m4/st_save_restore_var.m4 \
-+	$(top_srcdir)/m4/st_selinux.m4 \
- 	$(top_srcdir)/m4/st_stacktrace.m4 \
- 	$(top_srcdir)/m4/st_warn_cflags.m4 \
- 	$(top_srcdir)/m4/warnings.m4 $(top_srcdir)/configure.ac
-@@ -298,7 +301,8 @@
- 	epoll_create$(EXEEXT) epoll_create1$(EXEEXT) \
- 	epoll_ctl$(EXEEXT) epoll_pwait$(EXEEXT) epoll_wait$(EXEEXT) \
- 	erestartsys$(EXEEXT) eventfd$(EXEEXT) execve$(EXEEXT) \
--	execveat$(EXEEXT) faccessat$(EXEEXT) fadvise64$(EXEEXT) \
-+	execveat$(EXEEXT) faccessat$(EXEEXT) faccessat-P$(EXEEXT) \
-+	faccessat-y$(EXEEXT) faccessat-yy$(EXEEXT) fadvise64$(EXEEXT) \
- 	fadvise64_64$(EXEEXT) fallocate$(EXEEXT) \
- 	fanotify_init$(EXEEXT) fanotify_mark$(EXEEXT) \
- 	fanotify_mark-Xabbrev$(EXEEXT) fanotify_mark-Xraw$(EXEEXT) \
-@@ -543,6 +547,26 @@
- 	xattr-strings$(EXEEXT) xet_robust_list$(EXEEXT) \
- 	xet_thread_area_x86$(EXEEXT) xetitimer$(EXEEXT) \
- 	xetpgid$(EXEEXT) xetpriority$(EXEEXT) xettimeofday$(EXEEXT)
-+am__EXEEXT_2 = access--secontext$(EXEEXT) \
-+	access--secontext_full$(EXEEXT) chmod--secontext$(EXEEXT) \
-+	chmod--secontext_full$(EXEEXT) execve--secontext$(EXEEXT) \
-+	execve--secontext_full$(EXEEXT) execveat--secontext$(EXEEXT) \
-+	execveat--secontext_full$(EXEEXT) \
-+	faccessat--secontext$(EXEEXT) \
-+	faccessat--secontext_full$(EXEEXT) \
-+	faccessat-y--secontext$(EXEEXT) \
-+	faccessat-y--secontext_full$(EXEEXT) \
-+	fanotify_mark--secontext$(EXEEXT) \
-+	fanotify_mark--secontext_full$(EXEEXT) \
-+	fchmod--secontext$(EXEEXT) fchmod--secontext_full$(EXEEXT) \
-+	fchmod-y--secontext$(EXEEXT) fchmod-y--secontext_full$(EXEEXT) \
-+	fchmodat--secontext$(EXEEXT) fchmodat--secontext_full$(EXEEXT) \
-+	fchownat--secontext$(EXEEXT) fchownat--secontext_full$(EXEEXT) \
-+	file_handle--secontext$(EXEEXT) \
-+	file_handle--secontext_full$(EXEEXT) \
-+	linkat--secontext$(EXEEXT) linkat--secontext_full$(EXEEXT) \
-+	open--secontext$(EXEEXT) open--secontext_full$(EXEEXT) \
-+	openat--secontext$(EXEEXT) openat--secontext_full$(EXEEXT)
- ARFLAGS = cru
- AM_V_AR = $(am__v_AR_@AM_V@)
- am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@)
-@@ -571,6 +595,7 @@
- 	libtests_a-printxval-Xabbrev.$(OBJEXT) \
- 	libtests_a-printxval-Xraw.$(OBJEXT) \
- 	libtests_a-printxval-Xverbose.$(OBJEXT) \
-+	libtests_a-secontext.$(OBJEXT) \
- 	libtests_a-signal2name.$(OBJEXT) \
- 	libtests_a-skip_unavailable.$(OBJEXT) \
- 	libtests_a-sprintrc.$(OBJEXT) libtests_a-status.$(OBJEXT) \
-@@ -600,6 +625,15 @@
- access_OBJECTS = access.$(OBJEXT)
- access_LDADD = $(LDADD)
- access_DEPENDENCIES = libtests.a
-+access__secontext_SOURCES = access--secontext.c
-+access__secontext_OBJECTS = access--secontext.$(OBJEXT)
-+am__DEPENDENCIES_1 =
-+@HAVE_MX32_SELINUX_RUNTIME_TRUE@am__DEPENDENCIES_2 =  \
-+@HAVE_MX32_SELINUX_RUNTIME_TRUE@	$(am__DEPENDENCIES_1)
-+access__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
-+access__secontext_full_SOURCES = access--secontext_full.c
-+access__secontext_full_OBJECTS = access--secontext_full.$(OBJEXT)
-+access__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
- acct_SOURCES = acct.c
- acct_OBJECTS = acct.$(OBJEXT)
- acct_LDADD = $(LDADD)
-@@ -718,6 +752,12 @@
- chmod_OBJECTS = chmod.$(OBJEXT)
- chmod_LDADD = $(LDADD)
- chmod_DEPENDENCIES = libtests.a
-+chmod__secontext_SOURCES = chmod--secontext.c
-+chmod__secontext_OBJECTS = chmod--secontext.$(OBJEXT)
-+chmod__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
-+chmod__secontext_full_SOURCES = chmod--secontext_full.c
-+chmod__secontext_full_OBJECTS = chmod--secontext_full.$(OBJEXT)
-+chmod__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
- chown_SOURCES = chown.c
- chown_OBJECTS = chown.$(OBJEXT)
- chown_LDADD = $(LDADD)
-@@ -828,7 +868,6 @@
- creat_DEPENDENCIES = libtests.a
- delay_SOURCES = delay.c
- delay_OBJECTS = delay.$(OBJEXT)
--am__DEPENDENCIES_1 =
- delay_DEPENDENCIES = $(am__DEPENDENCIES_1) $(LDADD)
- delete_module_SOURCES = delete_module.c
- delete_module_OBJECTS = delete_module.$(OBJEXT)
-@@ -930,6 +969,12 @@
- execve_OBJECTS = execve.$(OBJEXT)
- execve_LDADD = $(LDADD)
- execve_DEPENDENCIES = libtests.a
-+execve__secontext_SOURCES = execve--secontext.c
-+execve__secontext_OBJECTS = execve--secontext.$(OBJEXT)
-+execve__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
-+execve__secontext_full_SOURCES = execve--secontext_full.c
-+execve__secontext_full_OBJECTS = execve--secontext_full.$(OBJEXT)
-+execve__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
- execve_v_SOURCES = execve-v.c
- execve_v_OBJECTS = execve-v.$(OBJEXT)
- execve_v_LDADD = $(LDADD)
-@@ -938,6 +983,12 @@
- execveat_OBJECTS = execveat.$(OBJEXT)
- execveat_LDADD = $(LDADD)
- execveat_DEPENDENCIES = libtests.a
-+execveat__secontext_SOURCES = execveat--secontext.c
-+execveat__secontext_OBJECTS = execveat--secontext.$(OBJEXT)
-+execveat__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
-+execveat__secontext_full_SOURCES = execveat--secontext_full.c
-+execveat__secontext_full_OBJECTS = execveat--secontext_full.$(OBJEXT)
-+execveat__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
- execveat_v_SOURCES = execveat-v.c
- execveat_v_OBJECTS = execveat-v.$(OBJEXT)
- execveat_v_LDADD = $(LDADD)
-@@ -946,6 +997,34 @@
- faccessat_OBJECTS = faccessat.$(OBJEXT)
- faccessat_LDADD = $(LDADD)
- faccessat_DEPENDENCIES = libtests.a
-+faccessat__secontext_SOURCES = faccessat--secontext.c
-+faccessat__secontext_OBJECTS = faccessat--secontext.$(OBJEXT)
-+faccessat__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
-+faccessat__secontext_full_SOURCES = faccessat--secontext_full.c
-+faccessat__secontext_full_OBJECTS =  \
-+	faccessat--secontext_full.$(OBJEXT)
-+faccessat__secontext_full_DEPENDENCIES = $(LDADD) \
-+	$(am__DEPENDENCIES_2)
-+faccessat_P_SOURCES = faccessat-P.c
-+faccessat_P_OBJECTS = faccessat-P.$(OBJEXT)
-+faccessat_P_LDADD = $(LDADD)
-+faccessat_P_DEPENDENCIES = libtests.a
-+faccessat_y_SOURCES = faccessat-y.c
-+faccessat_y_OBJECTS = faccessat-y.$(OBJEXT)
-+faccessat_y_LDADD = $(LDADD)
-+faccessat_y_DEPENDENCIES = libtests.a
-+faccessat_y__secontext_SOURCES = faccessat-y--secontext.c
-+faccessat_y__secontext_OBJECTS = faccessat-y--secontext.$(OBJEXT)
-+faccessat_y__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
-+faccessat_y__secontext_full_SOURCES = faccessat-y--secontext_full.c
-+faccessat_y__secontext_full_OBJECTS =  \
-+	faccessat-y--secontext_full.$(OBJEXT)
-+faccessat_y__secontext_full_DEPENDENCIES = $(LDADD) \
-+	$(am__DEPENDENCIES_2)
-+faccessat_yy_SOURCES = faccessat-yy.c
-+faccessat_yy_OBJECTS = faccessat-yy.$(OBJEXT)
-+faccessat_yy_LDADD = $(LDADD)
-+faccessat_yy_DEPENDENCIES = libtests.a
- fadvise64_SOURCES = fadvise64.c
- fadvise64_OBJECTS = fadvise64.$(OBJEXT)
- fadvise64_LDADD = $(LDADD)
-@@ -966,6 +1045,15 @@
- fanotify_mark_OBJECTS = fanotify_mark.$(OBJEXT)
- fanotify_mark_LDADD = $(LDADD)
- fanotify_mark_DEPENDENCIES = libtests.a
-+fanotify_mark__secontext_SOURCES = fanotify_mark--secontext.c
-+fanotify_mark__secontext_OBJECTS = fanotify_mark--secontext.$(OBJEXT)
-+fanotify_mark__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
-+fanotify_mark__secontext_full_SOURCES =  \
-+	fanotify_mark--secontext_full.c
-+fanotify_mark__secontext_full_OBJECTS =  \
-+	fanotify_mark--secontext_full.$(OBJEXT)
-+fanotify_mark__secontext_full_DEPENDENCIES = $(LDADD) \
-+	$(am__DEPENDENCIES_2)
- fanotify_mark_Xabbrev_SOURCES = fanotify_mark-Xabbrev.c
- fanotify_mark_Xabbrev_OBJECTS = fanotify_mark-Xabbrev.$(OBJEXT)
- fanotify_mark_Xabbrev_LDADD = $(LDADD)
-@@ -986,14 +1074,32 @@
- fchmod_OBJECTS = fchmod.$(OBJEXT)
- fchmod_LDADD = $(LDADD)
- fchmod_DEPENDENCIES = libtests.a
-+fchmod__secontext_SOURCES = fchmod--secontext.c
-+fchmod__secontext_OBJECTS = fchmod--secontext.$(OBJEXT)
-+fchmod__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
-+fchmod__secontext_full_SOURCES = fchmod--secontext_full.c
-+fchmod__secontext_full_OBJECTS = fchmod--secontext_full.$(OBJEXT)
-+fchmod__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
- fchmod_y_SOURCES = fchmod-y.c
- fchmod_y_OBJECTS = fchmod-y.$(OBJEXT)
- fchmod_y_LDADD = $(LDADD)
- fchmod_y_DEPENDENCIES = libtests.a
-+fchmod_y__secontext_SOURCES = fchmod-y--secontext.c
-+fchmod_y__secontext_OBJECTS = fchmod-y--secontext.$(OBJEXT)
-+fchmod_y__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
-+fchmod_y__secontext_full_SOURCES = fchmod-y--secontext_full.c
-+fchmod_y__secontext_full_OBJECTS = fchmod-y--secontext_full.$(OBJEXT)
-+fchmod_y__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
- fchmodat_SOURCES = fchmodat.c
- fchmodat_OBJECTS = fchmodat.$(OBJEXT)
- fchmodat_LDADD = $(LDADD)
- fchmodat_DEPENDENCIES = libtests.a
-+fchmodat__secontext_SOURCES = fchmodat--secontext.c
-+fchmodat__secontext_OBJECTS = fchmodat--secontext.$(OBJEXT)
-+fchmodat__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
-+fchmodat__secontext_full_SOURCES = fchmodat--secontext_full.c
-+fchmodat__secontext_full_OBJECTS = fchmodat--secontext_full.$(OBJEXT)
-+fchmodat__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
- fchown_SOURCES = fchown.c
- fchown_OBJECTS = fchown.$(OBJEXT)
- fchown_LDADD = $(LDADD)
-@@ -1006,6 +1112,12 @@
- fchownat_OBJECTS = fchownat.$(OBJEXT)
- fchownat_LDADD = $(LDADD)
- fchownat_DEPENDENCIES = libtests.a
-+fchownat__secontext_SOURCES = fchownat--secontext.c
-+fchownat__secontext_OBJECTS = fchownat--secontext.$(OBJEXT)
-+fchownat__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
-+fchownat__secontext_full_SOURCES = fchownat--secontext_full.c
-+fchownat__secontext_full_OBJECTS = fchownat--secontext_full.$(OBJEXT)
-+fchownat__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
- fcntl_SOURCES = fcntl.c
- fcntl_OBJECTS = fcntl.$(OBJEXT)
- fcntl_LDADD = $(LDADD)
-@@ -1035,6 +1147,14 @@
- file_handle_OBJECTS = file_handle.$(OBJEXT)
- file_handle_LDADD = $(LDADD)
- file_handle_DEPENDENCIES = libtests.a
-+file_handle__secontext_SOURCES = file_handle--secontext.c
-+file_handle__secontext_OBJECTS = file_handle--secontext.$(OBJEXT)
-+file_handle__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
-+file_handle__secontext_full_SOURCES = file_handle--secontext_full.c
-+file_handle__secontext_full_OBJECTS =  \
-+	file_handle--secontext_full.$(OBJEXT)
-+file_handle__secontext_full_DEPENDENCIES = $(LDADD) \
-+	$(am__DEPENDENCIES_2)
- file_ioctl_SOURCES = file_ioctl.c
- file_ioctl_OBJECTS = file_ioctl.$(OBJEXT)
- file_ioctl_LDADD = $(LDADD)
-@@ -1886,6 +2006,12 @@
- linkat_OBJECTS = linkat.$(OBJEXT)
- linkat_LDADD = $(LDADD)
- linkat_DEPENDENCIES = libtests.a
-+linkat__secontext_SOURCES = linkat--secontext.c
-+linkat__secontext_OBJECTS = linkat--secontext.$(OBJEXT)
-+linkat__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
-+linkat__secontext_full_SOURCES = linkat--secontext_full.c
-+linkat__secontext_full_OBJECTS = linkat--secontext_full.$(OBJEXT)
-+linkat__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
- list_sigaction_signum_SOURCES = list_sigaction_signum.c
- list_sigaction_signum_OBJECTS = list_sigaction_signum.$(OBJEXT)
- list_sigaction_signum_LDADD = $(LDADD)
-@@ -2530,6 +2656,12 @@
- open_OBJECTS = open.$(OBJEXT)
- open_LDADD = $(LDADD)
- open_DEPENDENCIES = libtests.a
-+open__secontext_SOURCES = open--secontext.c
-+open__secontext_OBJECTS = open--secontext.$(OBJEXT)
-+open__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
-+open__secontext_full_SOURCES = open--secontext_full.c
-+open__secontext_full_OBJECTS = open--secontext_full.$(OBJEXT)
-+open__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
- open_tree_SOURCES = open_tree.c
- open_tree_OBJECTS = open_tree.$(OBJEXT)
- open_tree_LDADD = $(LDADD)
-@@ -2542,6 +2674,12 @@
- openat_OBJECTS = openat.$(OBJEXT)
- openat_LDADD = $(LDADD)
- openat_DEPENDENCIES = libtests.a
-+openat__secontext_SOURCES = openat--secontext.c
-+openat__secontext_OBJECTS = openat--secontext.$(OBJEXT)
-+openat__secontext_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
-+openat__secontext_full_SOURCES = openat--secontext_full.c
-+openat__secontext_full_OBJECTS = openat--secontext_full.$(OBJEXT)
-+openat__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
- openat2_SOURCES = openat2.c
- openat2_OBJECTS = openat2.$(OBJEXT)
- openat2_LDADD = $(LDADD)
-@@ -4487,7 +4625,8 @@
- am__v_CCLD_0 = @echo "  CCLD    " $@;
- am__v_CCLD_1 = 
- SOURCES = $(libtests_a_SOURCES) _newselect.c _newselect-P.c accept.c \
--	accept4.c access.c acct.c add_key.c adjtimex.c aio.c \
-+	accept4.c access.c access--secontext.c \
-+	access--secontext_full.c acct.c add_key.c adjtimex.c aio.c \
- 	aio_pgetevents.c alarm.c answer.c attach-f-p.c \
- 	attach-f-p-cmd.c attach-p-cmd-cmd.c attach-p-cmd-p.c \
- 	block_reset_raise_run.c block_reset_run.c bpf.c \
-@@ -4495,7 +4634,8 @@
- 	bpf-obj_get_info_by_fd-prog-v.c bpf-obj_get_info_by_fd-v.c \
- 	bpf-success.c bpf-success-long-y.c bpf-success-v.c bpf-v.c \
- 	brk.c btrfs.c caps.c caps-abbrev.c check_sigblock.c \
--	check_sigign.c chmod.c chown.c chown32.c chroot.c \
-+	check_sigign.c chmod.c chmod--secontext.c \
-+	chmod--secontext_full.c chown.c chown32.c chroot.c \
- 	clock_adjtime.c clock_nanosleep.c clock_xettime.c \
- 	clone-flags.c clone3.c clone3-Xabbrev.c clone3-Xraw.c \
- 	clone3-Xverbose.c clone3-success.c clone3-success-Xabbrev.c \
-@@ -4509,25 +4649,35 @@
- 	dup-yy.c dup2.c dup2-P.c dup2-y.c dup2-yy.c dup3.c dup3-P.c \
- 	dup3-y.c dup3-yy.c epoll_create.c epoll_create1.c epoll_ctl.c \
- 	epoll_pwait.c epoll_wait.c erestartsys.c eventfd.c execve.c \
--	execve-v.c execveat.c execveat-v.c faccessat.c fadvise64.c \
--	fadvise64_64.c fallocate.c fanotify_init.c fanotify_mark.c \
--	fanotify_mark-Xabbrev.c fanotify_mark-Xraw.c \
--	fanotify_mark-Xverbose.c fchdir.c fchmod.c fchmod-y.c \
--	fchmodat.c fchown.c fchown32.c fchownat.c fcntl.c \
--	fcntl--pidns-translation.c fcntl64.c \
--	fcntl64--pidns-translation.c fdatasync.c fflush.c \
--	file_handle.c file_ioctl.c filter-unavailable.c \
--	filter_seccomp-flag.c filter_seccomp-perf.c finit_module.c \
--	flock.c fork--pidns-translation.c fork-f.c fsconfig.c \
--	fsconfig-P.c fsmount.c fsopen.c fspick.c fspick-P.c fstat.c \
--	fstat-Xabbrev.c fstat-Xraw.c fstat-Xverbose.c fstat64.c \
--	fstat64-Xabbrev.c fstat64-Xraw.c fstat64-Xverbose.c \
--	fstatat64.c fstatfs.c fstatfs64.c fsync.c fsync-y.c \
--	ftruncate.c ftruncate64.c futex.c futimesat.c get_mempolicy.c \
--	get_process_reaper.c getcpu.c getcwd.c getdents.c getdents-v.c \
--	getdents64.c getdents64-v.c getegid.c getegid32.c geteuid.c \
--	geteuid32.c getgid.c getgid32.c getgroups.c getgroups32.c \
--	getpeername.c getpgrp.c getpgrp--pidns-translation.c getpid.c \
-+	execve--secontext.c execve--secontext_full.c execve-v.c \
-+	execveat.c execveat--secontext.c execveat--secontext_full.c \
-+	execveat-v.c faccessat.c faccessat--secontext.c \
-+	faccessat--secontext_full.c faccessat-P.c faccessat-y.c \
-+	faccessat-y--secontext.c faccessat-y--secontext_full.c \
-+	faccessat-yy.c fadvise64.c fadvise64_64.c fallocate.c \
-+	fanotify_init.c fanotify_mark.c fanotify_mark--secontext.c \
-+	fanotify_mark--secontext_full.c fanotify_mark-Xabbrev.c \
-+	fanotify_mark-Xraw.c fanotify_mark-Xverbose.c fchdir.c \
-+	fchmod.c fchmod--secontext.c fchmod--secontext_full.c \
-+	fchmod-y.c fchmod-y--secontext.c fchmod-y--secontext_full.c \
-+	fchmodat.c fchmodat--secontext.c fchmodat--secontext_full.c \
-+	fchown.c fchown32.c fchownat.c fchownat--secontext.c \
-+	fchownat--secontext_full.c fcntl.c fcntl--pidns-translation.c \
-+	fcntl64.c fcntl64--pidns-translation.c fdatasync.c fflush.c \
-+	file_handle.c file_handle--secontext.c \
-+	file_handle--secontext_full.c file_ioctl.c \
-+	filter-unavailable.c filter_seccomp-flag.c \
-+	filter_seccomp-perf.c finit_module.c flock.c \
-+	fork--pidns-translation.c fork-f.c fsconfig.c fsconfig-P.c \
-+	fsmount.c fsopen.c fspick.c fspick-P.c fstat.c fstat-Xabbrev.c \
-+	fstat-Xraw.c fstat-Xverbose.c fstat64.c fstat64-Xabbrev.c \
-+	fstat64-Xraw.c fstat64-Xverbose.c fstatat64.c fstatfs.c \
-+	fstatfs64.c fsync.c fsync-y.c ftruncate.c ftruncate64.c \
-+	futex.c futimesat.c get_mempolicy.c get_process_reaper.c \
-+	getcpu.c getcwd.c getdents.c getdents-v.c getdents64.c \
-+	getdents64-v.c getegid.c getegid32.c geteuid.c geteuid32.c \
-+	getgid.c getgid32.c getgroups.c getgroups32.c getpeername.c \
-+	getpgrp.c getpgrp--pidns-translation.c getpid.c \
- 	getpid--pidns-translation.c getppid.c getrandom.c getresgid.c \
- 	getresgid32.c getresuid.c getresuid32.c getrlimit.c \
- 	getrusage.c getsid.c getsid--pidns-translation.c getsockname.c \
-@@ -4578,7 +4728,8 @@
- 	kexec_file_load.c kexec_load.c keyctl.c keyctl-Xabbrev.c \
- 	keyctl-Xraw.c keyctl-Xverbose.c kill.c \
- 	kill--pidns-translation.c kill_child.c ksysent.c lchown.c \
--	lchown32.c link.c linkat.c list_sigaction_signum.c llseek.c \
-+	lchown32.c link.c linkat.c linkat--secontext.c \
-+	linkat--secontext_full.c list_sigaction_signum.c llseek.c \
- 	localtime.c lookup_dcookie.c looping_threads.c lseek.c lstat.c \
- 	lstat64.c madvise.c maybe_switch_current_tcp.c \
- 	maybe_switch_current_tcp--quiet-thread-execve.c mbind.c \
-@@ -4629,23 +4780,25 @@
- 	old_mmap-Xabbrev.c old_mmap-Xraw.c old_mmap-Xverbose.c \
- 	old_mmap-v-none.c oldfstat.c oldlstat.c oldselect.c \
- 	oldselect-P.c oldselect-efault.c oldselect-efault-P.c \
--	oldstat.c open.c open_tree.c open_tree-P.c openat.c openat2.c \
--	openat2-Xabbrev.c openat2-Xraw.c openat2-Xverbose.c \
--	openat2-v.c openat2-v-y.c openat2-v-y-Xabbrev.c \
--	openat2-v-y-Xraw.c openat2-v-y-Xverbose.c openat2-y.c \
--	orphaned_process_group.c osf_utimes.c pause.c pc.c \
--	perf_event_open.c perf_event_open_nonverbose.c \
--	perf_event_open_unabbrev.c personality.c personality-Xabbrev.c \
--	personality-Xraw.c personality-Xverbose.c pidfd_getfd.c \
--	pidfd_getfd-y.c pidfd_getfd-yy.c pidfd_open.c \
--	pidfd_open--decode-fd-path.c pidfd_open--decode-fd-pidfd.c \
--	pidfd_open--decode-fd-socket.c pidfd_open--pidns-translation.c \
--	pidfd_open-P.c pidfd_open-y.c pidfd_open-yy.c \
--	pidfd_send_signal.c pidfd_send_signal--pidns-translation.c \
--	pidns-cache.c pipe.c pipe2.c pkey_alloc.c pkey_free.c \
--	pkey_mprotect.c poll.c poll-P.c ppoll.c ppoll-P.c ppoll-v.c \
--	prctl-arg2-intptr.c prctl-dumpable.c prctl-name.c \
--	prctl-no-args.c prctl-pdeathsig.c prctl-seccomp-filter-v.c \
-+	oldstat.c open.c open--secontext.c open--secontext_full.c \
-+	open_tree.c open_tree-P.c openat.c openat--secontext.c \
-+	openat--secontext_full.c openat2.c openat2-Xabbrev.c \
-+	openat2-Xraw.c openat2-Xverbose.c openat2-v.c openat2-v-y.c \
-+	openat2-v-y-Xabbrev.c openat2-v-y-Xraw.c \
-+	openat2-v-y-Xverbose.c openat2-y.c orphaned_process_group.c \
-+	osf_utimes.c pause.c pc.c perf_event_open.c \
-+	perf_event_open_nonverbose.c perf_event_open_unabbrev.c \
-+	personality.c personality-Xabbrev.c personality-Xraw.c \
-+	personality-Xverbose.c pidfd_getfd.c pidfd_getfd-y.c \
-+	pidfd_getfd-yy.c pidfd_open.c pidfd_open--decode-fd-path.c \
-+	pidfd_open--decode-fd-pidfd.c pidfd_open--decode-fd-socket.c \
-+	pidfd_open--pidns-translation.c pidfd_open-P.c pidfd_open-y.c \
-+	pidfd_open-yy.c pidfd_send_signal.c \
-+	pidfd_send_signal--pidns-translation.c pidns-cache.c pipe.c \
-+	pipe2.c pkey_alloc.c pkey_free.c pkey_mprotect.c poll.c \
-+	poll-P.c ppoll.c ppoll-P.c ppoll-v.c prctl-arg2-intptr.c \
-+	prctl-dumpable.c prctl-name.c prctl-no-args.c \
-+	prctl-pdeathsig.c prctl-seccomp-filter-v.c \
- 	prctl-seccomp-strict.c prctl-securebits.c prctl-spec-inject.c \
- 	prctl-tid_address.c prctl-tsc.c pread64-pwrite64.c preadv.c \
- 	preadv-pwritev.c preadv2-pwritev2.c print_maxfd.c \
-@@ -4735,7 +4888,8 @@
- 	xetpriority.c xetpriority--pidns-translation.c xettimeofday.c \
- 	zeroargc.c
- DIST_SOURCES = $(libtests_a_SOURCES) _newselect.c _newselect-P.c \
--	accept.c accept4.c access.c acct.c add_key.c adjtimex.c aio.c \
-+	accept.c accept4.c access.c access--secontext.c \
-+	access--secontext_full.c acct.c add_key.c adjtimex.c aio.c \
- 	aio_pgetevents.c alarm.c answer.c attach-f-p.c \
- 	attach-f-p-cmd.c attach-p-cmd-cmd.c attach-p-cmd-p.c \
- 	block_reset_raise_run.c block_reset_run.c bpf.c \
-@@ -4743,7 +4897,8 @@
- 	bpf-obj_get_info_by_fd-prog-v.c bpf-obj_get_info_by_fd-v.c \
- 	bpf-success.c bpf-success-long-y.c bpf-success-v.c bpf-v.c \
- 	brk.c btrfs.c caps.c caps-abbrev.c check_sigblock.c \
--	check_sigign.c chmod.c chown.c chown32.c chroot.c \
-+	check_sigign.c chmod.c chmod--secontext.c \
-+	chmod--secontext_full.c chown.c chown32.c chroot.c \
- 	clock_adjtime.c clock_nanosleep.c clock_xettime.c \
- 	clone-flags.c clone3.c clone3-Xabbrev.c clone3-Xraw.c \
- 	clone3-Xverbose.c clone3-success.c clone3-success-Xabbrev.c \
-@@ -4757,25 +4912,35 @@
- 	dup-yy.c dup2.c dup2-P.c dup2-y.c dup2-yy.c dup3.c dup3-P.c \
- 	dup3-y.c dup3-yy.c epoll_create.c epoll_create1.c epoll_ctl.c \
- 	epoll_pwait.c epoll_wait.c erestartsys.c eventfd.c execve.c \
--	execve-v.c execveat.c execveat-v.c faccessat.c fadvise64.c \
--	fadvise64_64.c fallocate.c fanotify_init.c fanotify_mark.c \
--	fanotify_mark-Xabbrev.c fanotify_mark-Xraw.c \
--	fanotify_mark-Xverbose.c fchdir.c fchmod.c fchmod-y.c \
--	fchmodat.c fchown.c fchown32.c fchownat.c fcntl.c \
--	fcntl--pidns-translation.c fcntl64.c \
--	fcntl64--pidns-translation.c fdatasync.c fflush.c \
--	file_handle.c file_ioctl.c filter-unavailable.c \
--	filter_seccomp-flag.c filter_seccomp-perf.c finit_module.c \
--	flock.c fork--pidns-translation.c fork-f.c fsconfig.c \
--	fsconfig-P.c fsmount.c fsopen.c fspick.c fspick-P.c fstat.c \
--	fstat-Xabbrev.c fstat-Xraw.c fstat-Xverbose.c fstat64.c \
--	fstat64-Xabbrev.c fstat64-Xraw.c fstat64-Xverbose.c \
--	fstatat64.c fstatfs.c fstatfs64.c fsync.c fsync-y.c \
--	ftruncate.c ftruncate64.c futex.c futimesat.c get_mempolicy.c \
--	get_process_reaper.c getcpu.c getcwd.c getdents.c getdents-v.c \
--	getdents64.c getdents64-v.c getegid.c getegid32.c geteuid.c \
--	geteuid32.c getgid.c getgid32.c getgroups.c getgroups32.c \
--	getpeername.c getpgrp.c getpgrp--pidns-translation.c getpid.c \
-+	execve--secontext.c execve--secontext_full.c execve-v.c \
-+	execveat.c execveat--secontext.c execveat--secontext_full.c \
-+	execveat-v.c faccessat.c faccessat--secontext.c \
-+	faccessat--secontext_full.c faccessat-P.c faccessat-y.c \
-+	faccessat-y--secontext.c faccessat-y--secontext_full.c \
-+	faccessat-yy.c fadvise64.c fadvise64_64.c fallocate.c \
-+	fanotify_init.c fanotify_mark.c fanotify_mark--secontext.c \
-+	fanotify_mark--secontext_full.c fanotify_mark-Xabbrev.c \
-+	fanotify_mark-Xraw.c fanotify_mark-Xverbose.c fchdir.c \
-+	fchmod.c fchmod--secontext.c fchmod--secontext_full.c \
-+	fchmod-y.c fchmod-y--secontext.c fchmod-y--secontext_full.c \
-+	fchmodat.c fchmodat--secontext.c fchmodat--secontext_full.c \
-+	fchown.c fchown32.c fchownat.c fchownat--secontext.c \
-+	fchownat--secontext_full.c fcntl.c fcntl--pidns-translation.c \
-+	fcntl64.c fcntl64--pidns-translation.c fdatasync.c fflush.c \
-+	file_handle.c file_handle--secontext.c \
-+	file_handle--secontext_full.c file_ioctl.c \
-+	filter-unavailable.c filter_seccomp-flag.c \
-+	filter_seccomp-perf.c finit_module.c flock.c \
-+	fork--pidns-translation.c fork-f.c fsconfig.c fsconfig-P.c \
-+	fsmount.c fsopen.c fspick.c fspick-P.c fstat.c fstat-Xabbrev.c \
-+	fstat-Xraw.c fstat-Xverbose.c fstat64.c fstat64-Xabbrev.c \
-+	fstat64-Xraw.c fstat64-Xverbose.c fstatat64.c fstatfs.c \
-+	fstatfs64.c fsync.c fsync-y.c ftruncate.c ftruncate64.c \
-+	futex.c futimesat.c get_mempolicy.c get_process_reaper.c \
-+	getcpu.c getcwd.c getdents.c getdents-v.c getdents64.c \
-+	getdents64-v.c getegid.c getegid32.c geteuid.c geteuid32.c \
-+	getgid.c getgid32.c getgroups.c getgroups32.c getpeername.c \
-+	getpgrp.c getpgrp--pidns-translation.c getpid.c \
- 	getpid--pidns-translation.c getppid.c getrandom.c getresgid.c \
- 	getresgid32.c getresuid.c getresuid32.c getrlimit.c \
- 	getrusage.c getsid.c getsid--pidns-translation.c getsockname.c \
-@@ -4826,7 +4991,8 @@
- 	kexec_file_load.c kexec_load.c keyctl.c keyctl-Xabbrev.c \
- 	keyctl-Xraw.c keyctl-Xverbose.c kill.c \
- 	kill--pidns-translation.c kill_child.c ksysent.c lchown.c \
--	lchown32.c link.c linkat.c list_sigaction_signum.c llseek.c \
-+	lchown32.c link.c linkat.c linkat--secontext.c \
-+	linkat--secontext_full.c list_sigaction_signum.c llseek.c \
- 	localtime.c lookup_dcookie.c looping_threads.c lseek.c lstat.c \
- 	lstat64.c madvise.c maybe_switch_current_tcp.c \
- 	maybe_switch_current_tcp--quiet-thread-execve.c mbind.c \
-@@ -4877,23 +5043,25 @@
- 	old_mmap-Xabbrev.c old_mmap-Xraw.c old_mmap-Xverbose.c \
- 	old_mmap-v-none.c oldfstat.c oldlstat.c oldselect.c \
- 	oldselect-P.c oldselect-efault.c oldselect-efault-P.c \
--	oldstat.c open.c open_tree.c open_tree-P.c openat.c openat2.c \
--	openat2-Xabbrev.c openat2-Xraw.c openat2-Xverbose.c \
--	openat2-v.c openat2-v-y.c openat2-v-y-Xabbrev.c \
--	openat2-v-y-Xraw.c openat2-v-y-Xverbose.c openat2-y.c \
--	orphaned_process_group.c osf_utimes.c pause.c pc.c \
--	perf_event_open.c perf_event_open_nonverbose.c \
--	perf_event_open_unabbrev.c personality.c personality-Xabbrev.c \
--	personality-Xraw.c personality-Xverbose.c pidfd_getfd.c \
--	pidfd_getfd-y.c pidfd_getfd-yy.c pidfd_open.c \
--	pidfd_open--decode-fd-path.c pidfd_open--decode-fd-pidfd.c \
--	pidfd_open--decode-fd-socket.c pidfd_open--pidns-translation.c \
--	pidfd_open-P.c pidfd_open-y.c pidfd_open-yy.c \
--	pidfd_send_signal.c pidfd_send_signal--pidns-translation.c \
--	pidns-cache.c pipe.c pipe2.c pkey_alloc.c pkey_free.c \
--	pkey_mprotect.c poll.c poll-P.c ppoll.c ppoll-P.c ppoll-v.c \
--	prctl-arg2-intptr.c prctl-dumpable.c prctl-name.c \
--	prctl-no-args.c prctl-pdeathsig.c prctl-seccomp-filter-v.c \
-+	oldstat.c open.c open--secontext.c open--secontext_full.c \
-+	open_tree.c open_tree-P.c openat.c openat--secontext.c \
-+	openat--secontext_full.c openat2.c openat2-Xabbrev.c \
-+	openat2-Xraw.c openat2-Xverbose.c openat2-v.c openat2-v-y.c \
-+	openat2-v-y-Xabbrev.c openat2-v-y-Xraw.c \
-+	openat2-v-y-Xverbose.c openat2-y.c orphaned_process_group.c \
-+	osf_utimes.c pause.c pc.c perf_event_open.c \
-+	perf_event_open_nonverbose.c perf_event_open_unabbrev.c \
-+	personality.c personality-Xabbrev.c personality-Xraw.c \
-+	personality-Xverbose.c pidfd_getfd.c pidfd_getfd-y.c \
-+	pidfd_getfd-yy.c pidfd_open.c pidfd_open--decode-fd-path.c \
-+	pidfd_open--decode-fd-pidfd.c pidfd_open--decode-fd-socket.c \
-+	pidfd_open--pidns-translation.c pidfd_open-P.c pidfd_open-y.c \
-+	pidfd_open-yy.c pidfd_send_signal.c \
-+	pidfd_send_signal--pidns-translation.c pidns-cache.c pipe.c \
-+	pipe2.c pkey_alloc.c pkey_free.c pkey_mprotect.c poll.c \
-+	poll-P.c ppoll.c ppoll-P.c ppoll-v.c prctl-arg2-intptr.c \
-+	prctl-dumpable.c prctl-name.c prctl-no-args.c \
-+	prctl-pdeathsig.c prctl-seccomp-filter-v.c \
- 	prctl-seccomp-strict.c prctl-securebits.c prctl-spec-inject.c \
- 	prctl-tid_address.c prctl-tsc.c pread64-pwrite64.c preadv.c \
- 	preadv-pwritev.c preadv2-pwritev2.c print_maxfd.c \
-@@ -5194,7 +5362,7 @@
-   bases=`echo $$bases`
- RECHECK_LOGS = $(TEST_LOGS)
- AM_RECURSIVE_TARGETS = check recheck
--@ENABLE_STACKTRACE_TRUE@am__EXEEXT_2 = strace-k.test strace-k-p.test \
-+@ENABLE_STACKTRACE_TRUE@am__EXEEXT_3 = strace-k.test strace-k-p.test \
- @ENABLE_STACKTRACE_TRUE@	$(am__append_1)
- TEST_SUITE_LOG = test-suite.log
- TEST_EXTENSIONS = @EXEEXT@ .test
-@@ -5216,7 +5384,8 @@
-   esac
- am__DIST_COMMON = $(srcdir)/../scno.am $(srcdir)/Makefile.in \
- 	$(srcdir)/gen_tests.am $(srcdir)/pure_executables.am \
--	$(top_srcdir)/depcomp $(top_srcdir)/test-driver COPYING
-+	$(srcdir)/secontext.am $(top_srcdir)/depcomp \
-+	$(top_srcdir)/test-driver COPYING
- DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
- ACLOCAL = @ACLOCAL@
- AMTAR = @AMTAR@
-@@ -5357,6 +5526,9 @@
- libiberty_CPPFLAGS = @libiberty_CPPFLAGS@
- libiberty_LDFLAGS = @libiberty_LDFLAGS@
- libiberty_LIBS = @libiberty_LIBS@
-+libselinux_CPPFLAGS = @libselinux_CPPFLAGS@
-+libselinux_LDFLAGS = @libselinux_LDFLAGS@
-+libselinux_LIBS = @libselinux_LIBS@
- libunwind_CPPFLAGS = @libunwind_CPPFLAGS@
- libunwind_LDFLAGS = @libunwind_LDFLAGS@
- libunwind_LIBS = @libunwind_LIBS@
-@@ -5400,6 +5572,8 @@
- 	      -DTESTS_SIZEOF_LONG=$(SIZEOF_LONG)
- 
- AM_LDFLAGS = $(ARCH_MFLAGS)
-+@HAVE_MX32_SELINUX_RUNTIME_FALSE@libselinux_LDADD = 
-+@HAVE_MX32_SELINUX_RUNTIME_TRUE@libselinux_LDADD = $(libselinux_LIBS)
- libtests_a_SOURCES = \
- 	create_nl_socket.c \
- 	create_tmpfile.c \
-@@ -5426,6 +5600,8 @@
- 	printxval-Xabbrev.c \
- 	printxval-Xraw.c \
- 	printxval-Xverbose.c \
-+	secontext.c \
-+	secontext.h \
- 	signal2name.c \
- 	skip_unavailable.c \
- 	sprintrc.c \
-@@ -5505,6 +5681,9 @@
-   execve \
-   execveat \
-   faccessat \
-+  faccessat-P \
-+  faccessat-y \
-+  faccessat-yy \
-   fadvise64 \
-   fadvise64_64 \
-   fallocate \
-@@ -6077,6 +6256,69 @@
-   xettimeofday \
-   #
- 
-+secontext_EXECUTABLES = \
-+  access--secontext \
-+  access--secontext_full \
-+  chmod--secontext \
-+  chmod--secontext_full \
-+  execve--secontext \
-+  execve--secontext_full \
-+  execveat--secontext \
-+  execveat--secontext_full \
-+  faccessat--secontext \
-+  faccessat--secontext_full \
-+  faccessat-y--secontext \
-+  faccessat-y--secontext_full \
-+  fanotify_mark--secontext \
-+  fanotify_mark--secontext_full \
-+  fchmod--secontext \
-+  fchmod--secontext_full \
-+  fchmod-y--secontext \
-+  fchmod-y--secontext_full \
-+  fchmodat--secontext \
-+  fchmodat--secontext_full \
-+  fchownat--secontext \
-+  fchownat--secontext_full \
-+  file_handle--secontext \
-+  file_handle--secontext_full \
-+  linkat--secontext \
-+  linkat--secontext_full \
-+  open--secontext \
-+  open--secontext_full \
-+  openat--secontext \
-+  openat--secontext_full \
-+  #
-+
-+access__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
-+access__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
-+chmod__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
-+chmod__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
-+execve__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
-+execve__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
-+execveat__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
-+execveat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
-+faccessat__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
-+faccessat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
-+faccessat_y__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
-+faccessat_y__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
-+fanotify_mark__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
-+fanotify_mark__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
-+fchmod__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
-+fchmod__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
-+fchmod_y__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
-+fchmod_y__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
-+fchmodat__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
-+fchmodat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
-+fchownat__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
-+fchownat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
-+file_handle__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
-+file_handle__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
-+linkat__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
-+linkat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
-+open__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
-+open__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
-+openat__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
-+openat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
- attach_f_p_LDADD = -lpthread $(LDADD)
- count_f_LDADD = -lpthread $(LDADD)
- delay_LDADD = $(clock_LIBS) $(LDADD)
-@@ -6129,14 +6371,15 @@
- 
- # Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in; do not edit.
- GEN_TESTS = _newselect.gen.test _newselect-P.gen.test accept.gen.test \
--	accept4.gen.test access.gen.test acct.gen.test \
--	add_key.gen.test adjtimex.gen.test aio.gen.test \
--	aio_pgetevents.gen.test alarm.gen.test bpf.gen.test \
--	bpf-obj_get_info_by_fd.gen.test \
-+	accept4.gen.test access.gen.test access--secontext.gen.test \
-+	access--secontext_full.gen.test acct.gen.test add_key.gen.test \
-+	adjtimex.gen.test aio.gen.test aio_pgetevents.gen.test \
-+	alarm.gen.test bpf.gen.test bpf-obj_get_info_by_fd.gen.test \
- 	bpf-obj_get_info_by_fd-prog.gen.test \
- 	bpf-obj_get_info_by_fd-prog-v.gen.test \
- 	bpf-obj_get_info_by_fd-v.gen.test bpf-v.gen.test \
--	btrfs.gen.test chmod.gen.test chown.gen.test chown32.gen.test \
-+	btrfs.gen.test chmod.gen.test chmod--secontext.gen.test \
-+	chmod--secontext_full.gen.test chown.gen.test chown32.gen.test \
- 	chroot.gen.test clock.gen.test clock_adjtime.gen.test \
- 	clock_nanosleep.gen.test clock_xettime.gen.test \
- 	clone3.gen.test clone3-Xabbrev.gen.test clone3-Xraw.gen.test \
-@@ -6155,21 +6398,36 @@
- 	dup3-P.gen.test dup3-y.gen.test dup3-yy.gen.test \
- 	epoll_create.gen.test epoll_create1.gen.test \
- 	epoll_ctl.gen.test epoll_pwait.gen.test epoll_wait.gen.test \
--	erestartsys.gen.test execveat.gen.test execveat-v.gen.test \
--	faccessat.gen.test fadvise64_64.gen.test fallocate.gen.test \
-+	erestartsys.gen.test execve--secontext.gen.test \
-+	execve--secontext_full.gen.test execveat.gen.test \
-+	execveat--secontext.gen.test execveat--secontext_full.gen.test \
-+	execveat-v.gen.test faccessat--secontext.gen.test \
-+	faccessat--secontext_full.gen.test faccessat-P.gen.test \
-+	faccessat-y.gen.test faccessat-y--secontext.gen.test \
-+	faccessat-y--secontext_full.gen.test faccessat-yy.gen.test \
-+	fadvise64_64.gen.test fallocate.gen.test \
- 	fanotify_init.gen.test fanotify_mark.gen.test \
-+	fanotify_mark--secontext.gen.test \
-+	fanotify_mark--secontext_full.gen.test \
- 	fanotify_mark-Xabbrev.gen.test fanotify_mark-Xraw.gen.test \
- 	fanotify_mark-Xverbose.gen.test fchdir.gen.test \
--	fchmod.gen.test fchmod-y.gen.test fchmodat.gen.test \
--	fchown.gen.test fchown32.gen.test fchownat.gen.test \
-+	fchmod.gen.test fchmod--secontext.gen.test \
-+	fchmod--secontext_full.gen.test fchmod-y.gen.test \
-+	fchmod-y--secontext.gen.test fchmod-y--secontext_full.gen.test \
-+	fchmodat.gen.test fchmodat--secontext.gen.test \
-+	fchmodat--secontext_full.gen.test fchown.gen.test \
-+	fchown32.gen.test fchownat.gen.test \
-+	fchownat--secontext.gen.test fchownat--secontext_full.gen.test \
- 	fcntl.gen.test fcntl--pidns-translation.gen.test \
- 	fcntl64.gen.test fcntl64--pidns-translation.gen.test \
- 	fdatasync.gen.test file_handle.gen.test file_ioctl.gen.test \
--	filter_seccomp.gen.test filter_seccomp-flag.gen.test \
--	finit_module.gen.test flock.gen.test fork-f.gen.test \
--	fsconfig.gen.test fsconfig-P.gen.test fsmount.gen.test \
--	fsopen.gen.test fspick.gen.test fspick-P.gen.test \
--	fstat.gen.test fstat-Xabbrev.gen.test fstat-Xraw.gen.test \
-+	file_handle--secontext.gen.test \
-+	file_handle--secontext_full.gen.test filter_seccomp.gen.test \
-+	filter_seccomp-flag.gen.test finit_module.gen.test \
-+	flock.gen.test fork-f.gen.test fsconfig.gen.test \
-+	fsconfig-P.gen.test fsmount.gen.test fsopen.gen.test \
-+	fspick.gen.test fspick-P.gen.test fstat.gen.test \
-+	fstat-Xabbrev.gen.test fstat-Xraw.gen.test \
- 	fstat-Xverbose.gen.test fstat64.gen.test \
- 	fstat64-Xabbrev.gen.test fstat64-Xraw.gen.test \
- 	fstat64-Xverbose.gen.test fstatat64.gen.test fstatfs.gen.test \
-@@ -6259,8 +6517,9 @@
- 	keyctl-Xverbose.gen.test kill.gen.test \
- 	kill--pidns-translation.gen.test ksysent.gen.test \
- 	lchown.gen.test lchown32.gen.test link.gen.test \
--	linkat.gen.test lookup_dcookie.gen.test lstat.gen.test \
--	lstat64.gen.test madvise.gen.test \
-+	linkat.gen.test linkat--secontext.gen.test \
-+	linkat--secontext_full.gen.test lookup_dcookie.gen.test \
-+	lstat.gen.test lstat64.gen.test madvise.gen.test \
- 	maybe_switch_current_tcp.gen.test \
- 	maybe_switch_current_tcp--quiet-thread-execve.gen.test \
- 	mbind.gen.test mbind-Xabbrev.gen.test mbind-Xraw.gen.test \
-@@ -6328,14 +6587,17 @@
- 	old_mmap-v-none.gen.test oldfstat.gen.test oldlstat.gen.test \
- 	oldselect.gen.test oldselect-P.gen.test \
- 	oldselect-efault.gen.test oldselect-efault-P.gen.test \
--	oldstat.gen.test open.gen.test open_tree.gen.test \
--	open_tree-P.gen.test openat.gen.test openat2.gen.test \
--	openat2-Xabbrev.gen.test openat2-Xraw.gen.test \
--	openat2-Xverbose.gen.test openat2-v.gen.test \
--	openat2-v-y.gen.test openat2-v-y-Xabbrev.gen.test \
--	openat2-v-y-Xraw.gen.test openat2-v-y-Xverbose.gen.test \
--	openat2-y.gen.test orphaned_process_group.gen.test \
--	osf_utimes.gen.test pause.gen.test perf_event_open.gen.test \
-+	oldstat.gen.test open.gen.test open--secontext.gen.test \
-+	open--secontext_full.gen.test open_tree.gen.test \
-+	open_tree-P.gen.test openat.gen.test \
-+	openat--secontext.gen.test openat--secontext_full.gen.test \
-+	openat2.gen.test openat2-Xabbrev.gen.test \
-+	openat2-Xraw.gen.test openat2-Xverbose.gen.test \
-+	openat2-v.gen.test openat2-v-y.gen.test \
-+	openat2-v-y-Xabbrev.gen.test openat2-v-y-Xraw.gen.test \
-+	openat2-v-y-Xverbose.gen.test openat2-y.gen.test \
-+	orphaned_process_group.gen.test osf_utimes.gen.test \
-+	pause.gen.test perf_event_open.gen.test \
- 	perf_event_open_nonverbose.gen.test \
- 	perf_event_open_unabbrev.gen.test personality-Xabbrev.gen.test \
- 	personality-Xraw.gen.test personality-Xverbose.gen.test \
-@@ -6806,7 +7068,7 @@
- 
- .SUFFIXES:
- .SUFFIXES: .c .log .o .obj .test .test$(EXEEXT) .trs
--$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/pure_executables.am $(srcdir)/gen_tests.am $(srcdir)/../scno.am $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/pure_executables.am $(srcdir)/secontext.am $(srcdir)/gen_tests.am $(srcdir)/../scno.am $(am__configure_deps)
- 	@for dep in $?; do \
- 	  case '$(am__configure_deps)' in \
- 	    *$$dep*) \
-@@ -6826,7 +7088,7 @@
- 	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
- 	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
- 	esac;
--$(srcdir)/pure_executables.am $(srcdir)/gen_tests.am $(srcdir)/../scno.am $(am__empty):
-+$(srcdir)/pure_executables.am $(srcdir)/secontext.am $(srcdir)/gen_tests.am $(srcdir)/../scno.am $(am__empty):
- 
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-@@ -6868,6 +7130,14 @@
- 	@rm -f access$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(access_OBJECTS) $(access_LDADD) $(LIBS)
- 
-+access--secontext$(EXEEXT): $(access__secontext_OBJECTS) $(access__secontext_DEPENDENCIES) $(EXTRA_access__secontext_DEPENDENCIES) 
-+	@rm -f access--secontext$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(access__secontext_OBJECTS) $(access__secontext_LDADD) $(LIBS)
-+
-+access--secontext_full$(EXEEXT): $(access__secontext_full_OBJECTS) $(access__secontext_full_DEPENDENCIES) $(EXTRA_access__secontext_full_DEPENDENCIES) 
-+	@rm -f access--secontext_full$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(access__secontext_full_OBJECTS) $(access__secontext_full_LDADD) $(LIBS)
-+
- acct$(EXEEXT): $(acct_OBJECTS) $(acct_DEPENDENCIES) $(EXTRA_acct_DEPENDENCIES) 
- 	@rm -f acct$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(acct_OBJECTS) $(acct_LDADD) $(LIBS)
-@@ -6984,6 +7254,14 @@
- 	@rm -f chmod$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(chmod_OBJECTS) $(chmod_LDADD) $(LIBS)
- 
-+chmod--secontext$(EXEEXT): $(chmod__secontext_OBJECTS) $(chmod__secontext_DEPENDENCIES) $(EXTRA_chmod__secontext_DEPENDENCIES) 
-+	@rm -f chmod--secontext$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(chmod__secontext_OBJECTS) $(chmod__secontext_LDADD) $(LIBS)
-+
-+chmod--secontext_full$(EXEEXT): $(chmod__secontext_full_OBJECTS) $(chmod__secontext_full_DEPENDENCIES) $(EXTRA_chmod__secontext_full_DEPENDENCIES) 
-+	@rm -f chmod--secontext_full$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(chmod__secontext_full_OBJECTS) $(chmod__secontext_full_LDADD) $(LIBS)
-+
- chown$(EXEEXT): $(chown_OBJECTS) $(chown_DEPENDENCIES) $(EXTRA_chown_DEPENDENCIES) 
- 	@rm -f chown$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(chown_OBJECTS) $(chown_LDADD) $(LIBS)
-@@ -7196,6 +7474,14 @@
- 	@rm -f execve$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(execve_OBJECTS) $(execve_LDADD) $(LIBS)
- 
-+execve--secontext$(EXEEXT): $(execve__secontext_OBJECTS) $(execve__secontext_DEPENDENCIES) $(EXTRA_execve__secontext_DEPENDENCIES) 
-+	@rm -f execve--secontext$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(execve__secontext_OBJECTS) $(execve__secontext_LDADD) $(LIBS)
-+
-+execve--secontext_full$(EXEEXT): $(execve__secontext_full_OBJECTS) $(execve__secontext_full_DEPENDENCIES) $(EXTRA_execve__secontext_full_DEPENDENCIES) 
-+	@rm -f execve--secontext_full$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(execve__secontext_full_OBJECTS) $(execve__secontext_full_LDADD) $(LIBS)
-+
- execve-v$(EXEEXT): $(execve_v_OBJECTS) $(execve_v_DEPENDENCIES) $(EXTRA_execve_v_DEPENDENCIES) 
- 	@rm -f execve-v$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(execve_v_OBJECTS) $(execve_v_LDADD) $(LIBS)
-@@ -7204,6 +7490,14 @@
- 	@rm -f execveat$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(execveat_OBJECTS) $(execveat_LDADD) $(LIBS)
- 
-+execveat--secontext$(EXEEXT): $(execveat__secontext_OBJECTS) $(execveat__secontext_DEPENDENCIES) $(EXTRA_execveat__secontext_DEPENDENCIES) 
-+	@rm -f execveat--secontext$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(execveat__secontext_OBJECTS) $(execveat__secontext_LDADD) $(LIBS)
-+
-+execveat--secontext_full$(EXEEXT): $(execveat__secontext_full_OBJECTS) $(execveat__secontext_full_DEPENDENCIES) $(EXTRA_execveat__secontext_full_DEPENDENCIES) 
-+	@rm -f execveat--secontext_full$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(execveat__secontext_full_OBJECTS) $(execveat__secontext_full_LDADD) $(LIBS)
-+
- execveat-v$(EXEEXT): $(execveat_v_OBJECTS) $(execveat_v_DEPENDENCIES) $(EXTRA_execveat_v_DEPENDENCIES) 
- 	@rm -f execveat-v$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(execveat_v_OBJECTS) $(execveat_v_LDADD) $(LIBS)
-@@ -7212,6 +7506,34 @@
- 	@rm -f faccessat$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(faccessat_OBJECTS) $(faccessat_LDADD) $(LIBS)
- 
-+faccessat--secontext$(EXEEXT): $(faccessat__secontext_OBJECTS) $(faccessat__secontext_DEPENDENCIES) $(EXTRA_faccessat__secontext_DEPENDENCIES) 
-+	@rm -f faccessat--secontext$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(faccessat__secontext_OBJECTS) $(faccessat__secontext_LDADD) $(LIBS)
-+
-+faccessat--secontext_full$(EXEEXT): $(faccessat__secontext_full_OBJECTS) $(faccessat__secontext_full_DEPENDENCIES) $(EXTRA_faccessat__secontext_full_DEPENDENCIES) 
-+	@rm -f faccessat--secontext_full$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(faccessat__secontext_full_OBJECTS) $(faccessat__secontext_full_LDADD) $(LIBS)
-+
-+faccessat-P$(EXEEXT): $(faccessat_P_OBJECTS) $(faccessat_P_DEPENDENCIES) $(EXTRA_faccessat_P_DEPENDENCIES) 
-+	@rm -f faccessat-P$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(faccessat_P_OBJECTS) $(faccessat_P_LDADD) $(LIBS)
-+
-+faccessat-y$(EXEEXT): $(faccessat_y_OBJECTS) $(faccessat_y_DEPENDENCIES) $(EXTRA_faccessat_y_DEPENDENCIES) 
-+	@rm -f faccessat-y$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(faccessat_y_OBJECTS) $(faccessat_y_LDADD) $(LIBS)
-+
-+faccessat-y--secontext$(EXEEXT): $(faccessat_y__secontext_OBJECTS) $(faccessat_y__secontext_DEPENDENCIES) $(EXTRA_faccessat_y__secontext_DEPENDENCIES) 
-+	@rm -f faccessat-y--secontext$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(faccessat_y__secontext_OBJECTS) $(faccessat_y__secontext_LDADD) $(LIBS)
-+
-+faccessat-y--secontext_full$(EXEEXT): $(faccessat_y__secontext_full_OBJECTS) $(faccessat_y__secontext_full_DEPENDENCIES) $(EXTRA_faccessat_y__secontext_full_DEPENDENCIES) 
-+	@rm -f faccessat-y--secontext_full$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(faccessat_y__secontext_full_OBJECTS) $(faccessat_y__secontext_full_LDADD) $(LIBS)
-+
-+faccessat-yy$(EXEEXT): $(faccessat_yy_OBJECTS) $(faccessat_yy_DEPENDENCIES) $(EXTRA_faccessat_yy_DEPENDENCIES) 
-+	@rm -f faccessat-yy$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(faccessat_yy_OBJECTS) $(faccessat_yy_LDADD) $(LIBS)
-+
- fadvise64$(EXEEXT): $(fadvise64_OBJECTS) $(fadvise64_DEPENDENCIES) $(EXTRA_fadvise64_DEPENDENCIES) 
- 	@rm -f fadvise64$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(fadvise64_OBJECTS) $(fadvise64_LDADD) $(LIBS)
-@@ -7232,6 +7554,14 @@
- 	@rm -f fanotify_mark$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(fanotify_mark_OBJECTS) $(fanotify_mark_LDADD) $(LIBS)
- 
-+fanotify_mark--secontext$(EXEEXT): $(fanotify_mark__secontext_OBJECTS) $(fanotify_mark__secontext_DEPENDENCIES) $(EXTRA_fanotify_mark__secontext_DEPENDENCIES) 
-+	@rm -f fanotify_mark--secontext$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(fanotify_mark__secontext_OBJECTS) $(fanotify_mark__secontext_LDADD) $(LIBS)
-+
-+fanotify_mark--secontext_full$(EXEEXT): $(fanotify_mark__secontext_full_OBJECTS) $(fanotify_mark__secontext_full_DEPENDENCIES) $(EXTRA_fanotify_mark__secontext_full_DEPENDENCIES) 
-+	@rm -f fanotify_mark--secontext_full$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(fanotify_mark__secontext_full_OBJECTS) $(fanotify_mark__secontext_full_LDADD) $(LIBS)
-+
- fanotify_mark-Xabbrev$(EXEEXT): $(fanotify_mark_Xabbrev_OBJECTS) $(fanotify_mark_Xabbrev_DEPENDENCIES) $(EXTRA_fanotify_mark_Xabbrev_DEPENDENCIES) 
- 	@rm -f fanotify_mark-Xabbrev$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(fanotify_mark_Xabbrev_OBJECTS) $(fanotify_mark_Xabbrev_LDADD) $(LIBS)
-@@ -7252,14 +7582,38 @@
- 	@rm -f fchmod$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(fchmod_OBJECTS) $(fchmod_LDADD) $(LIBS)
- 
-+fchmod--secontext$(EXEEXT): $(fchmod__secontext_OBJECTS) $(fchmod__secontext_DEPENDENCIES) $(EXTRA_fchmod__secontext_DEPENDENCIES) 
-+	@rm -f fchmod--secontext$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(fchmod__secontext_OBJECTS) $(fchmod__secontext_LDADD) $(LIBS)
-+
-+fchmod--secontext_full$(EXEEXT): $(fchmod__secontext_full_OBJECTS) $(fchmod__secontext_full_DEPENDENCIES) $(EXTRA_fchmod__secontext_full_DEPENDENCIES) 
-+	@rm -f fchmod--secontext_full$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(fchmod__secontext_full_OBJECTS) $(fchmod__secontext_full_LDADD) $(LIBS)
-+
- fchmod-y$(EXEEXT): $(fchmod_y_OBJECTS) $(fchmod_y_DEPENDENCIES) $(EXTRA_fchmod_y_DEPENDENCIES) 
- 	@rm -f fchmod-y$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(fchmod_y_OBJECTS) $(fchmod_y_LDADD) $(LIBS)
- 
-+fchmod-y--secontext$(EXEEXT): $(fchmod_y__secontext_OBJECTS) $(fchmod_y__secontext_DEPENDENCIES) $(EXTRA_fchmod_y__secontext_DEPENDENCIES) 
-+	@rm -f fchmod-y--secontext$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(fchmod_y__secontext_OBJECTS) $(fchmod_y__secontext_LDADD) $(LIBS)
-+
-+fchmod-y--secontext_full$(EXEEXT): $(fchmod_y__secontext_full_OBJECTS) $(fchmod_y__secontext_full_DEPENDENCIES) $(EXTRA_fchmod_y__secontext_full_DEPENDENCIES) 
-+	@rm -f fchmod-y--secontext_full$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(fchmod_y__secontext_full_OBJECTS) $(fchmod_y__secontext_full_LDADD) $(LIBS)
-+
- fchmodat$(EXEEXT): $(fchmodat_OBJECTS) $(fchmodat_DEPENDENCIES) $(EXTRA_fchmodat_DEPENDENCIES) 
- 	@rm -f fchmodat$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(fchmodat_OBJECTS) $(fchmodat_LDADD) $(LIBS)
- 
-+fchmodat--secontext$(EXEEXT): $(fchmodat__secontext_OBJECTS) $(fchmodat__secontext_DEPENDENCIES) $(EXTRA_fchmodat__secontext_DEPENDENCIES) 
-+	@rm -f fchmodat--secontext$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(fchmodat__secontext_OBJECTS) $(fchmodat__secontext_LDADD) $(LIBS)
-+
-+fchmodat--secontext_full$(EXEEXT): $(fchmodat__secontext_full_OBJECTS) $(fchmodat__secontext_full_DEPENDENCIES) $(EXTRA_fchmodat__secontext_full_DEPENDENCIES) 
-+	@rm -f fchmodat--secontext_full$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(fchmodat__secontext_full_OBJECTS) $(fchmodat__secontext_full_LDADD) $(LIBS)
-+
- fchown$(EXEEXT): $(fchown_OBJECTS) $(fchown_DEPENDENCIES) $(EXTRA_fchown_DEPENDENCIES) 
- 	@rm -f fchown$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(fchown_OBJECTS) $(fchown_LDADD) $(LIBS)
-@@ -7272,6 +7626,14 @@
- 	@rm -f fchownat$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(fchownat_OBJECTS) $(fchownat_LDADD) $(LIBS)
- 
-+fchownat--secontext$(EXEEXT): $(fchownat__secontext_OBJECTS) $(fchownat__secontext_DEPENDENCIES) $(EXTRA_fchownat__secontext_DEPENDENCIES) 
-+	@rm -f fchownat--secontext$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(fchownat__secontext_OBJECTS) $(fchownat__secontext_LDADD) $(LIBS)
-+
-+fchownat--secontext_full$(EXEEXT): $(fchownat__secontext_full_OBJECTS) $(fchownat__secontext_full_DEPENDENCIES) $(EXTRA_fchownat__secontext_full_DEPENDENCIES) 
-+	@rm -f fchownat--secontext_full$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(fchownat__secontext_full_OBJECTS) $(fchownat__secontext_full_LDADD) $(LIBS)
-+
- fcntl$(EXEEXT): $(fcntl_OBJECTS) $(fcntl_DEPENDENCIES) $(EXTRA_fcntl_DEPENDENCIES) 
- 	@rm -f fcntl$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(fcntl_OBJECTS) $(fcntl_LDADD) $(LIBS)
-@@ -7300,6 +7662,14 @@
- 	@rm -f file_handle$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(file_handle_OBJECTS) $(file_handle_LDADD) $(LIBS)
- 
-+file_handle--secontext$(EXEEXT): $(file_handle__secontext_OBJECTS) $(file_handle__secontext_DEPENDENCIES) $(EXTRA_file_handle__secontext_DEPENDENCIES) 
-+	@rm -f file_handle--secontext$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(file_handle__secontext_OBJECTS) $(file_handle__secontext_LDADD) $(LIBS)
-+
-+file_handle--secontext_full$(EXEEXT): $(file_handle__secontext_full_OBJECTS) $(file_handle__secontext_full_DEPENDENCIES) $(EXTRA_file_handle__secontext_full_DEPENDENCIES) 
-+	@rm -f file_handle--secontext_full$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(file_handle__secontext_full_OBJECTS) $(file_handle__secontext_full_LDADD) $(LIBS)
-+
- file_ioctl$(EXEEXT): $(file_ioctl_OBJECTS) $(file_ioctl_DEPENDENCIES) $(EXTRA_file_ioctl_DEPENDENCIES) 
- 	@rm -f file_ioctl$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(file_ioctl_OBJECTS) $(file_ioctl_LDADD) $(LIBS)
-@@ -8124,6 +8494,14 @@
- 	@rm -f linkat$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(linkat_OBJECTS) $(linkat_LDADD) $(LIBS)
- 
-+linkat--secontext$(EXEEXT): $(linkat__secontext_OBJECTS) $(linkat__secontext_DEPENDENCIES) $(EXTRA_linkat__secontext_DEPENDENCIES) 
-+	@rm -f linkat--secontext$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(linkat__secontext_OBJECTS) $(linkat__secontext_LDADD) $(LIBS)
-+
-+linkat--secontext_full$(EXEEXT): $(linkat__secontext_full_OBJECTS) $(linkat__secontext_full_DEPENDENCIES) $(EXTRA_linkat__secontext_full_DEPENDENCIES) 
-+	@rm -f linkat--secontext_full$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(linkat__secontext_full_OBJECTS) $(linkat__secontext_full_LDADD) $(LIBS)
-+
- list_sigaction_signum$(EXEEXT): $(list_sigaction_signum_OBJECTS) $(list_sigaction_signum_DEPENDENCIES) $(EXTRA_list_sigaction_signum_DEPENDENCIES) 
- 	@rm -f list_sigaction_signum$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(list_sigaction_signum_OBJECTS) $(list_sigaction_signum_LDADD) $(LIBS)
-@@ -8756,6 +9134,14 @@
- 	@rm -f open$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(open_OBJECTS) $(open_LDADD) $(LIBS)
- 
-+open--secontext$(EXEEXT): $(open__secontext_OBJECTS) $(open__secontext_DEPENDENCIES) $(EXTRA_open__secontext_DEPENDENCIES) 
-+	@rm -f open--secontext$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(open__secontext_OBJECTS) $(open__secontext_LDADD) $(LIBS)
-+
-+open--secontext_full$(EXEEXT): $(open__secontext_full_OBJECTS) $(open__secontext_full_DEPENDENCIES) $(EXTRA_open__secontext_full_DEPENDENCIES) 
-+	@rm -f open--secontext_full$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(open__secontext_full_OBJECTS) $(open__secontext_full_LDADD) $(LIBS)
-+
- open_tree$(EXEEXT): $(open_tree_OBJECTS) $(open_tree_DEPENDENCIES) $(EXTRA_open_tree_DEPENDENCIES) 
- 	@rm -f open_tree$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(open_tree_OBJECTS) $(open_tree_LDADD) $(LIBS)
-@@ -8768,6 +9154,14 @@
- 	@rm -f openat$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(openat_OBJECTS) $(openat_LDADD) $(LIBS)
- 
-+openat--secontext$(EXEEXT): $(openat__secontext_OBJECTS) $(openat__secontext_DEPENDENCIES) $(EXTRA_openat__secontext_DEPENDENCIES) 
-+	@rm -f openat--secontext$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(openat__secontext_OBJECTS) $(openat__secontext_LDADD) $(LIBS)
-+
-+openat--secontext_full$(EXEEXT): $(openat__secontext_full_OBJECTS) $(openat__secontext_full_DEPENDENCIES) $(EXTRA_openat__secontext_full_DEPENDENCIES) 
-+	@rm -f openat--secontext_full$(EXEEXT)
-+	$(AM_V_CCLD)$(LINK) $(openat__secontext_full_OBJECTS) $(openat__secontext_full_LDADD) $(LIBS)
-+
- openat2$(EXEEXT): $(openat2_OBJECTS) $(openat2_DEPENDENCIES) $(EXTRA_openat2_DEPENDENCIES) 
- 	@rm -f openat2$(EXEEXT)
- 	$(AM_V_CCLD)$(LINK) $(openat2_OBJECTS) $(openat2_LDADD) $(LIBS)
-@@ -10094,6 +10488,8 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/_newselect.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/accept.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/accept4.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/access--secontext.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/access--secontext_full.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/access.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/acct.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/add_key.Po@am__quote@ # am--include-marker
-@@ -10123,6 +10519,8 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/caps.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_sigblock.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_sigign.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chmod--secontext.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chmod--secontext_full.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chmod.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chown.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chown32.Po@am__quote@ # am--include-marker
-@@ -10176,25 +10574,46 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/epoll_wait.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/erestartsys.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eventfd.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execve--secontext.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execve--secontext_full.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execve-v.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execve.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execveat--secontext.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execveat--secontext_full.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execveat-v.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execveat.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat--secontext.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat--secontext_full.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat-P.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat-y--secontext.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat-y--secontext_full.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat-y.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat-yy.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fadvise64.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fadvise64_64.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fallocate.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_init.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark--secontext.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark--secontext_full.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark-Xabbrev.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark-Xraw.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark-Xverbose.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchdir.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod--secontext.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod--secontext_full.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod-y--secontext.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod-y--secontext_full.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod-y.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmodat--secontext.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmodat--secontext_full.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmodat.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchown.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchown32.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchownat--secontext.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchownat--secontext_full.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchownat.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcntl--pidns-translation.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcntl.Po@am__quote@ # am--include-marker
-@@ -10202,6 +10621,8 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcntl64.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fdatasync.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fflush.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file_handle--secontext.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file_handle--secontext_full.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file_handle.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file_ioctl.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/filter-unavailable.Po@am__quote@ # am--include-marker
-@@ -10431,6 +10852,7 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-printxval-Xabbrev.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-printxval-Xraw.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-printxval-Xverbose.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-secontext.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-signal2name.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-skip_unavailable.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-sprintrc.Po@am__quote@ # am--include-marker
-@@ -10443,6 +10865,8 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-tprintf.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtests_a-xmalloc_for_tests.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/link.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linkat--secontext.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linkat--secontext_full.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linkat.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/list_sigaction_signum.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/llseek.Po@am__quote@ # am--include-marker
-@@ -10601,9 +11025,13 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/oldselect-efault.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/oldselect.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/oldstat.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open--secontext.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open--secontext_full.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open_tree-P.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open_tree.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat--secontext.Po@am__quote@ # am--include-marker
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat--secontext_full.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat2-Xabbrev.Po@am__quote@ # am--include-marker
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat2-Xraw.Po@am__quote@ # am--include-marker
-@@ -11300,6 +11728,20 @@
- @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-printxval-Xverbose.obj `if test -f 'printxval-Xverbose.c'; then $(CYGPATH_W) 'printxval-Xverbose.c'; else $(CYGPATH_W) '$(srcdir)/printxval-Xverbose.c'; fi`
- 
-+libtests_a-secontext.o: secontext.c
-+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-secontext.o -MD -MP -MF $(DEPDIR)/libtests_a-secontext.Tpo -c -o libtests_a-secontext.o `test -f 'secontext.c' || echo '$(srcdir)/'`secontext.c
-+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-secontext.Tpo $(DEPDIR)/libtests_a-secontext.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='secontext.c' object='libtests_a-secontext.o' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-secontext.o `test -f 'secontext.c' || echo '$(srcdir)/'`secontext.c
-+
-+libtests_a-secontext.obj: secontext.c
-+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-secontext.obj -MD -MP -MF $(DEPDIR)/libtests_a-secontext.Tpo -c -o libtests_a-secontext.obj `if test -f 'secontext.c'; then $(CYGPATH_W) 'secontext.c'; else $(CYGPATH_W) '$(srcdir)/secontext.c'; fi`
-+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-secontext.Tpo $(DEPDIR)/libtests_a-secontext.Po
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='secontext.c' object='libtests_a-secontext.obj' libtool=no @AMDEPBACKSLASH@
-+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libtests_a-secontext.obj `if test -f 'secontext.c'; then $(CYGPATH_W) 'secontext.c'; else $(CYGPATH_W) '$(srcdir)/secontext.c'; fi`
-+
- libtests_a-signal2name.o: signal2name.c
- @am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libtests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libtests_a-signal2name.o -MD -MP -MF $(DEPDIR)/libtests_a-signal2name.Tpo -c -o libtests_a-signal2name.o `test -f 'signal2name.c' || echo '$(srcdir)/'`signal2name.c
- @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libtests_a-signal2name.Tpo $(DEPDIR)/libtests_a-signal2name.Po
-@@ -13841,6 +14283,12 @@
- $(srcdir)/access.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/access--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
-+$(srcdir)/access--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/acct.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-@@ -13883,6 +14331,12 @@
- $(srcdir)/chmod.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/chmod--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
-+$(srcdir)/chmod--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/chown.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-@@ -14024,13 +14478,43 @@
- $(srcdir)/erestartsys.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/execve--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
-+$(srcdir)/execve--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/execveat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/execveat--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
-+$(srcdir)/execveat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/execveat-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
--$(srcdir)/faccessat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+$(srcdir)/faccessat--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
-+$(srcdir)/faccessat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
-+$(srcdir)/faccessat-P.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
-+$(srcdir)/faccessat-y.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
-+$(srcdir)/faccessat-y--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
-+$(srcdir)/faccessat-y--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
-+$(srcdir)/faccessat-yy.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
- $(srcdir)/fadvise64_64.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-@@ -14045,6 +14529,12 @@
- $(srcdir)/fanotify_mark.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/fanotify_mark--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
-+$(srcdir)/fanotify_mark--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/fanotify_mark-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-@@ -14060,12 +14550,30 @@
- $(srcdir)/fchmod.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/fchmod--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
-+$(srcdir)/fchmod--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/fchmod-y.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/fchmod-y--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
-+$(srcdir)/fchmod-y--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/fchmodat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/fchmodat--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
-+$(srcdir)/fchmodat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/fchown.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-@@ -14075,6 +14583,12 @@
- $(srcdir)/fchownat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/fchownat--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
-+$(srcdir)/fchownat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/fcntl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-@@ -14096,6 +14610,12 @@
- $(srcdir)/file_ioctl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/file_handle--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
-+$(srcdir)/file_handle--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/filter_seccomp.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-@@ -14690,6 +15210,12 @@
- $(srcdir)/linkat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/linkat--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
-+$(srcdir)/linkat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/lookup_dcookie.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-@@ -15107,6 +15633,12 @@
- $(srcdir)/open.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/open--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
-+$(srcdir)/open--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/open_tree.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-@@ -15116,6 +15648,12 @@
- $(srcdir)/openat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-+$(srcdir)/openat--secontext.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
-+$(srcdir)/openat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
-+	$(AM_V_GEN) $^ $@
-+
- $(srcdir)/openat2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
- 	$(AM_V_GEN) $^ $@
- 
-Index: strace-5.7/tests-m32/access--secontext.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-m32/access--secontext.c	2021-08-24 21:08:43.293245705 +0200
-@@ -0,0 +1,19 @@
-+/*
-+ * Copyright (c) 2021 The strace developers.
-+ * All rights reserved.
-+ *
-+ * SPDX-License-Identifier: GPL-2.0-or-later
-+ */
-+
-+#include "tests.h"
-+
-+#ifdef HAVE_M32_SELINUX_RUNTIME
-+
-+# define TEST_SECONTEXT
-+# include "access.c"
-+
-+#else
-+
-+SKIP_MAIN_UNDEFINED("HAVE_M32_SELINUX_RUNTIME")
-+
-+#endif
-Index: strace-5.7/tests-m32/chmod--secontext.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-m32/chmod--secontext.c	2021-08-24 21:08:43.293245705 +0200
-@@ -0,0 +1,19 @@
-+/*
-+ * Copyright (c) 2021 The strace developers.
-+ * All rights reserved.
-+ *
-+ * SPDX-License-Identifier: GPL-2.0-or-later
-+ */
-+
-+#include "tests.h"
-+
-+#ifdef HAVE_M32_SELINUX_RUNTIME
-+
-+# define TEST_SECONTEXT
-+# include "chmod.c"
-+
-+#else
-+
-+SKIP_MAIN_UNDEFINED("HAVE_M32_SELINUX_RUNTIME")
-+
-+#endif
-Index: strace-5.7/tests-m32/execve--secontext.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-m32/execve--secontext.c	2021-08-24 21:08:43.293245705 +0200
-@@ -0,0 +1,19 @@
-+/*
-+ * Copyright (c) 2021 The strace developers.
-+ * All rights reserved.
-+ *
-+ * SPDX-License-Identifier: GPL-2.0-or-later
-+ */
-+
-+#include "tests.h"
-+
-+#ifdef HAVE_M32_SELINUX_RUNTIME
-+
-+# define TEST_SECONTEXT
-+# include "execve.c"
-+
-+#else
-+
-+SKIP_MAIN_UNDEFINED("HAVE_M32_SELINUX_RUNTIME")
-+
-+#endif
-Index: strace-5.7/tests-m32/execveat--secontext.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-m32/execveat--secontext.c	2021-08-24 21:08:43.293245705 +0200
-@@ -0,0 +1,19 @@
-+/*
-+ * Copyright (c) 2021 The strace developers.
-+ * All rights reserved.
-+ *
-+ * SPDX-License-Identifier: GPL-2.0-or-later
-+ */
-+
-+#include "tests.h"
-+
-+#ifdef HAVE_M32_SELINUX_RUNTIME
-+
-+# define TEST_SECONTEXT
-+# include "execveat.c"
-+
-+#else
-+
-+SKIP_MAIN_UNDEFINED("HAVE_M32_SELINUX_RUNTIME")
-+
-+#endif
-Index: strace-5.7/tests-m32/faccessat--secontext.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-m32/faccessat--secontext.c	2021-08-24 21:08:43.293245705 +0200
-@@ -0,0 +1,19 @@
-+/*
-+ * Copyright (c) 2021 The strace developers.
-+ * All rights reserved.
-+ *
-+ * SPDX-License-Identifier: GPL-2.0-or-later
-+ */
-+
-+#include "tests.h"
-+
-+#ifdef HAVE_M32_SELINUX_RUNTIME
-+
-+# define TEST_SECONTEXT
-+# include "faccessat.c"
-+
-+#else
-+
-+SKIP_MAIN_UNDEFINED("HAVE_M32_SELINUX_RUNTIME")
-+
-+#endif
-Index: strace-5.7/tests-m32/faccessat-y--secontext.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-m32/faccessat-y--secontext.c	2021-08-24 21:08:43.294245697 +0200
-@@ -0,0 +1,19 @@
-+/*
-+ * Copyright (c) 2021 The strace developers.
-+ * All rights reserved.
-+ *
-+ * SPDX-License-Identifier: GPL-2.0-or-later
-+ */
-+
-+#include "tests.h"
-+
-+#ifdef HAVE_M32_SELINUX_RUNTIME
-+
-+# define TEST_SECONTEXT
-+# include "faccessat-y.c"
-+
-+#else
-+
-+SKIP_MAIN_UNDEFINED("HAVE_M32_SELINUX_RUNTIME")
-+
-+#endif
-Index: strace-5.7/tests-m32/fanotify_mark--secontext.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-m32/fanotify_mark--secontext.c	2021-08-24 21:08:43.294245697 +0200
-@@ -0,0 +1,19 @@
-+/*
-+ * Copyright (c) 2021 The strace developers.
-+ * All rights reserved.
-+ *
-+ * SPDX-License-Identifier: GPL-2.0-or-later
-+ */
-+
-+#include "tests.h"
-+
-+#ifdef HAVE_M32_SELINUX_RUNTIME
-+
-+# define TEST_SECONTEXT
-+# include "fanotify_mark.c"
-+
-+#else
-+
-+SKIP_MAIN_UNDEFINED("HAVE_M32_SELINUX_RUNTIME")
-+
-+#endif
-Index: strace-5.7/tests-m32/fchmod--secontext.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-m32/fchmod--secontext.c	2021-08-24 21:08:43.294245697 +0200
-@@ -0,0 +1,19 @@
-+/*
-+ * Copyright (c) 2021 The strace developers.
-+ * All rights reserved.
-+ *
-+ * SPDX-License-Identifier: GPL-2.0-or-later
-+ */
-+
-+#include "tests.h"
-+
-+#ifdef HAVE_M32_SELINUX_RUNTIME
-+
-+# define TEST_SECONTEXT
-+# include "fchmod.c"
-+
-+#else
-+
-+SKIP_MAIN_UNDEFINED("HAVE_M32_SELINUX_RUNTIME")
-+
-+#endif
-Index: strace-5.7/tests-m32/fchmod-y--secontext.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-m32/fchmod-y--secontext.c	2021-08-24 21:08:43.294245697 +0200
-@@ -0,0 +1,19 @@
-+/*
-+ * Copyright (c) 2021 The strace developers.
-+ * All rights reserved.
-+ *
-+ * SPDX-License-Identifier: GPL-2.0-or-later
-+ */
-+
-+#include "tests.h"
-+
-+#ifdef HAVE_M32_SELINUX_RUNTIME
-+
-+# define TEST_SECONTEXT
-+# include "fchmod-y.c"
-+
-+#else
-+
-+SKIP_MAIN_UNDEFINED("HAVE_M32_SELINUX_RUNTIME")
-+
-+#endif
-Index: strace-5.7/tests-m32/fchmodat--secontext.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-m32/fchmodat--secontext.c	2021-08-24 21:08:43.294245697 +0200
-@@ -0,0 +1,19 @@
-+/*
-+ * Copyright (c) 2021 The strace developers.
-+ * All rights reserved.
-+ *
-+ * SPDX-License-Identifier: GPL-2.0-or-later
-+ */
-+
-+#include "tests.h"
-+
-+#ifdef HAVE_M32_SELINUX_RUNTIME
-+
-+# define TEST_SECONTEXT
-+# include "fchmodat.c"
-+
-+#else
-+
-+SKIP_MAIN_UNDEFINED("HAVE_M32_SELINUX_RUNTIME")
-+
-+#endif
-Index: strace-5.7/tests-m32/fchownat--secontext.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-m32/fchownat--secontext.c	2021-08-24 21:08:43.294245697 +0200
-@@ -0,0 +1,19 @@
-+/*
-+ * Copyright (c) 2021 The strace developers.
-+ * All rights reserved.
-+ *
-+ * SPDX-License-Identifier: GPL-2.0-or-later
-+ */
-+
-+#include "tests.h"
-+
-+#ifdef HAVE_M32_SELINUX_RUNTIME
-+
-+# define TEST_SECONTEXT
-+# include "fchownat.c"
-+
-+#else
-+
-+SKIP_MAIN_UNDEFINED("HAVE_M32_SELINUX_RUNTIME")
-+
-+#endif
-Index: strace-5.7/tests-m32/file_handle--secontext.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-m32/file_handle--secontext.c	2021-08-24 21:08:43.294245697 +0200
-@@ -0,0 +1,19 @@
-+/*
-+ * Copyright (c) 2021 The strace developers.
-+ * All rights reserved.
-+ *
-+ * SPDX-License-Identifier: GPL-2.0-or-later
-+ */
-+
-+#include "tests.h"
-+
-+#ifdef HAVE_M32_SELINUX_RUNTIME
-+
-+# define TEST_SECONTEXT
-+# include "file_handle.c"
-+
-+#else
-+
-+SKIP_MAIN_UNDEFINED("HAVE_M32_SELINUX_RUNTIME")
-+
-+#endif
-Index: strace-5.7/tests-m32/linkat--secontext.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-m32/linkat--secontext.c	2021-08-24 21:08:43.294245697 +0200
-@@ -0,0 +1,19 @@
-+/*
-+ * Copyright (c) 2021 The strace developers.
-+ * All rights reserved.
-+ *
-+ * SPDX-License-Identifier: GPL-2.0-or-later
-+ */
-+
-+#include "tests.h"
-+
-+#ifdef HAVE_M32_SELINUX_RUNTIME
-+
-+# define TEST_SECONTEXT
-+# include "linkat.c"
-+
-+#else
-+
-+SKIP_MAIN_UNDEFINED("HAVE_M32_SELINUX_RUNTIME")
-+
-+#endif
-Index: strace-5.7/tests-m32/open--secontext.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-m32/open--secontext.c	2021-08-24 21:08:43.294245697 +0200
-@@ -0,0 +1,19 @@
-+/*
-+ * Copyright (c) 2021 The strace developers.
-+ * All rights reserved.
-+ *
-+ * SPDX-License-Identifier: GPL-2.0-or-later
-+ */
-+
-+#include "tests.h"
-+
-+#ifdef HAVE_M32_SELINUX_RUNTIME
-+
-+# define TEST_SECONTEXT
-+# include "open.c"
-+
-+#else
-+
-+SKIP_MAIN_UNDEFINED("HAVE_M32_SELINUX_RUNTIME")
-+
-+#endif
-Index: strace-5.7/tests-m32/openat--secontext.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-m32/openat--secontext.c	2021-08-24 21:08:43.294245697 +0200
-@@ -0,0 +1,19 @@
-+/*
-+ * Copyright (c) 2021 The strace developers.
-+ * All rights reserved.
-+ *
-+ * SPDX-License-Identifier: GPL-2.0-or-later
-+ */
-+
-+#include "tests.h"
-+
-+#ifdef HAVE_M32_SELINUX_RUNTIME
-+
-+# define TEST_SECONTEXT
-+# include "openat.c"
-+
-+#else
-+
-+SKIP_MAIN_UNDEFINED("HAVE_M32_SELINUX_RUNTIME")
-+
-+#endif
-Index: strace-5.7/tests-mx32/access--secontext.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-mx32/access--secontext.c	2021-08-24 21:08:43.295245688 +0200
-@@ -0,0 +1,19 @@
-+/*
-+ * Copyright (c) 2021 The strace developers.
-+ * All rights reserved.
-+ *
-+ * SPDX-License-Identifier: GPL-2.0-or-later
-+ */
-+
-+#include "tests.h"
-+
-+#ifdef HAVE_MX32_SELINUX_RUNTIME
-+
-+# define TEST_SECONTEXT
-+# include "access.c"
-+
-+#else
-+
-+SKIP_MAIN_UNDEFINED("HAVE_MX32_SELINUX_RUNTIME")
-+
-+#endif
-Index: strace-5.7/tests-mx32/chmod--secontext.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-mx32/chmod--secontext.c	2021-08-24 21:08:43.295245688 +0200
-@@ -0,0 +1,19 @@
-+/*
-+ * Copyright (c) 2021 The strace developers.
-+ * All rights reserved.
-+ *
-+ * SPDX-License-Identifier: GPL-2.0-or-later
-+ */
-+
-+#include "tests.h"
-+
-+#ifdef HAVE_MX32_SELINUX_RUNTIME
-+
-+# define TEST_SECONTEXT
-+# include "chmod.c"
-+
-+#else
-+
-+SKIP_MAIN_UNDEFINED("HAVE_MX32_SELINUX_RUNTIME")
-+
-+#endif
-Index: strace-5.7/tests-mx32/execve--secontext.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-mx32/execve--secontext.c	2021-08-24 21:08:43.295245688 +0200
-@@ -0,0 +1,19 @@
-+/*
-+ * Copyright (c) 2021 The strace developers.
-+ * All rights reserved.
-+ *
-+ * SPDX-License-Identifier: GPL-2.0-or-later
-+ */
-+
-+#include "tests.h"
-+
-+#ifdef HAVE_MX32_SELINUX_RUNTIME
-+
-+# define TEST_SECONTEXT
-+# include "execve.c"
-+
-+#else
-+
-+SKIP_MAIN_UNDEFINED("HAVE_MX32_SELINUX_RUNTIME")
-+
-+#endif
-Index: strace-5.7/tests-mx32/execveat--secontext.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-mx32/execveat--secontext.c	2021-08-24 21:08:43.295245688 +0200
-@@ -0,0 +1,19 @@
-+/*
-+ * Copyright (c) 2021 The strace developers.
-+ * All rights reserved.
-+ *
-+ * SPDX-License-Identifier: GPL-2.0-or-later
-+ */
-+
-+#include "tests.h"
-+
-+#ifdef HAVE_MX32_SELINUX_RUNTIME
-+
-+# define TEST_SECONTEXT
-+# include "execveat.c"
-+
-+#else
-+
-+SKIP_MAIN_UNDEFINED("HAVE_MX32_SELINUX_RUNTIME")
-+
-+#endif
-Index: strace-5.7/tests-mx32/faccessat--secontext.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-mx32/faccessat--secontext.c	2021-08-24 21:08:43.295245688 +0200
-@@ -0,0 +1,19 @@
-+/*
-+ * Copyright (c) 2021 The strace developers.
-+ * All rights reserved.
-+ *
-+ * SPDX-License-Identifier: GPL-2.0-or-later
-+ */
-+
-+#include "tests.h"
-+
-+#ifdef HAVE_MX32_SELINUX_RUNTIME
-+
-+# define TEST_SECONTEXT
-+# include "faccessat.c"
-+
-+#else
-+
-+SKIP_MAIN_UNDEFINED("HAVE_MX32_SELINUX_RUNTIME")
-+
-+#endif
-Index: strace-5.7/tests-mx32/faccessat-y--secontext.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-mx32/faccessat-y--secontext.c	2021-08-24 21:08:43.295245688 +0200
-@@ -0,0 +1,19 @@
-+/*
-+ * Copyright (c) 2021 The strace developers.
-+ * All rights reserved.
-+ *
-+ * SPDX-License-Identifier: GPL-2.0-or-later
-+ */
-+
-+#include "tests.h"
-+
-+#ifdef HAVE_MX32_SELINUX_RUNTIME
-+
-+# define TEST_SECONTEXT
-+# include "faccessat-y.c"
-+
-+#else
-+
-+SKIP_MAIN_UNDEFINED("HAVE_MX32_SELINUX_RUNTIME")
-+
-+#endif
-Index: strace-5.7/tests-mx32/fanotify_mark--secontext.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-mx32/fanotify_mark--secontext.c	2021-08-24 21:08:43.295245688 +0200
-@@ -0,0 +1,19 @@
-+/*
-+ * Copyright (c) 2021 The strace developers.
-+ * All rights reserved.
-+ *
-+ * SPDX-License-Identifier: GPL-2.0-or-later
-+ */
-+
-+#include "tests.h"
-+
-+#ifdef HAVE_MX32_SELINUX_RUNTIME
-+
-+# define TEST_SECONTEXT
-+# include "fanotify_mark.c"
-+
-+#else
-+
-+SKIP_MAIN_UNDEFINED("HAVE_MX32_SELINUX_RUNTIME")
-+
-+#endif
-Index: strace-5.7/tests-mx32/fchmod--secontext.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-mx32/fchmod--secontext.c	2021-08-24 21:08:43.295245688 +0200
-@@ -0,0 +1,19 @@
-+/*
-+ * Copyright (c) 2021 The strace developers.
-+ * All rights reserved.
-+ *
-+ * SPDX-License-Identifier: GPL-2.0-or-later
-+ */
-+
-+#include "tests.h"
-+
-+#ifdef HAVE_MX32_SELINUX_RUNTIME
-+
-+# define TEST_SECONTEXT
-+# include "fchmod.c"
-+
-+#else
-+
-+SKIP_MAIN_UNDEFINED("HAVE_MX32_SELINUX_RUNTIME")
-+
-+#endif
-Index: strace-5.7/tests-mx32/fchmod-y--secontext.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-mx32/fchmod-y--secontext.c	2021-08-24 21:08:43.295245688 +0200
-@@ -0,0 +1,19 @@
-+/*
-+ * Copyright (c) 2021 The strace developers.
-+ * All rights reserved.
-+ *
-+ * SPDX-License-Identifier: GPL-2.0-or-later
-+ */
-+
-+#include "tests.h"
-+
-+#ifdef HAVE_MX32_SELINUX_RUNTIME
-+
-+# define TEST_SECONTEXT
-+# include "fchmod-y.c"
-+
-+#else
-+
-+SKIP_MAIN_UNDEFINED("HAVE_MX32_SELINUX_RUNTIME")
-+
-+#endif
-Index: strace-5.7/tests-mx32/fchmodat--secontext.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-mx32/fchmodat--secontext.c	2021-08-24 21:08:43.296245680 +0200
-@@ -0,0 +1,19 @@
-+/*
-+ * Copyright (c) 2021 The strace developers.
-+ * All rights reserved.
-+ *
-+ * SPDX-License-Identifier: GPL-2.0-or-later
-+ */
-+
-+#include "tests.h"
-+
-+#ifdef HAVE_MX32_SELINUX_RUNTIME
-+
-+# define TEST_SECONTEXT
-+# include "fchmodat.c"
-+
-+#else
-+
-+SKIP_MAIN_UNDEFINED("HAVE_MX32_SELINUX_RUNTIME")
-+
-+#endif
-Index: strace-5.7/tests-mx32/fchownat--secontext.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-mx32/fchownat--secontext.c	2021-08-24 21:08:43.296245680 +0200
-@@ -0,0 +1,19 @@
-+/*
-+ * Copyright (c) 2021 The strace developers.
-+ * All rights reserved.
-+ *
-+ * SPDX-License-Identifier: GPL-2.0-or-later
-+ */
-+
-+#include "tests.h"
-+
-+#ifdef HAVE_MX32_SELINUX_RUNTIME
-+
-+# define TEST_SECONTEXT
-+# include "fchownat.c"
-+
-+#else
-+
-+SKIP_MAIN_UNDEFINED("HAVE_MX32_SELINUX_RUNTIME")
-+
-+#endif
-Index: strace-5.7/tests-mx32/file_handle--secontext.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-mx32/file_handle--secontext.c	2021-08-24 21:08:43.296245680 +0200
-@@ -0,0 +1,19 @@
-+/*
-+ * Copyright (c) 2021 The strace developers.
-+ * All rights reserved.
-+ *
-+ * SPDX-License-Identifier: GPL-2.0-or-later
-+ */
-+
-+#include "tests.h"
-+
-+#ifdef HAVE_MX32_SELINUX_RUNTIME
-+
-+# define TEST_SECONTEXT
-+# include "file_handle.c"
-+
-+#else
-+
-+SKIP_MAIN_UNDEFINED("HAVE_MX32_SELINUX_RUNTIME")
-+
-+#endif
-Index: strace-5.7/tests-mx32/linkat--secontext.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-mx32/linkat--secontext.c	2021-08-24 21:08:43.296245680 +0200
-@@ -0,0 +1,19 @@
-+/*
-+ * Copyright (c) 2021 The strace developers.
-+ * All rights reserved.
-+ *
-+ * SPDX-License-Identifier: GPL-2.0-or-later
-+ */
-+
-+#include "tests.h"
-+
-+#ifdef HAVE_MX32_SELINUX_RUNTIME
-+
-+# define TEST_SECONTEXT
-+# include "linkat.c"
-+
-+#else
-+
-+SKIP_MAIN_UNDEFINED("HAVE_MX32_SELINUX_RUNTIME")
-+
-+#endif
-Index: strace-5.7/tests-mx32/open--secontext.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-mx32/open--secontext.c	2021-08-24 21:08:43.296245680 +0200
-@@ -0,0 +1,19 @@
-+/*
-+ * Copyright (c) 2021 The strace developers.
-+ * All rights reserved.
-+ *
-+ * SPDX-License-Identifier: GPL-2.0-or-later
-+ */
-+
-+#include "tests.h"
-+
-+#ifdef HAVE_MX32_SELINUX_RUNTIME
-+
-+# define TEST_SECONTEXT
-+# include "open.c"
-+
-+#else
-+
-+SKIP_MAIN_UNDEFINED("HAVE_MX32_SELINUX_RUNTIME")
-+
-+#endif
-Index: strace-5.7/tests-mx32/openat--secontext.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-mx32/openat--secontext.c	2021-08-24 21:08:43.296245680 +0200
-@@ -0,0 +1,19 @@
-+/*
-+ * Copyright (c) 2021 The strace developers.
-+ * All rights reserved.
-+ *
-+ * SPDX-License-Identifier: GPL-2.0-or-later
-+ */
-+
-+#include "tests.h"
-+
-+#ifdef HAVE_MX32_SELINUX_RUNTIME
-+
-+# define TEST_SECONTEXT
-+# include "openat.c"
-+
-+#else
-+
-+SKIP_MAIN_UNDEFINED("HAVE_MX32_SELINUX_RUNTIME")
-+
-+#endif
-Index: strace-5.7/tests/access--secontext.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests/access--secontext.c	2021-08-24 21:08:43.296245680 +0200
-@@ -0,0 +1,19 @@
-+/*
-+ * Copyright (c) 2021 The strace developers.
-+ * All rights reserved.
-+ *
-+ * SPDX-License-Identifier: GPL-2.0-or-later
-+ */
-+
-+#include "tests.h"
-+
-+#ifdef HAVE_SELINUX_RUNTIME
-+
-+# define TEST_SECONTEXT
-+# include "access.c"
-+
-+#else
-+
-+SKIP_MAIN_UNDEFINED("HAVE_SELINUX_RUNTIME")
-+
-+#endif
-Index: strace-5.7/tests/chmod--secontext.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests/chmod--secontext.c	2021-08-24 21:08:43.296245680 +0200
-@@ -0,0 +1,19 @@
-+/*
-+ * Copyright (c) 2021 The strace developers.
-+ * All rights reserved.
-+ *
-+ * SPDX-License-Identifier: GPL-2.0-or-later
-+ */
-+
-+#include "tests.h"
-+
-+#ifdef HAVE_SELINUX_RUNTIME
-+
-+# define TEST_SECONTEXT
-+# include "chmod.c"
-+
-+#else
-+
-+SKIP_MAIN_UNDEFINED("HAVE_SELINUX_RUNTIME")
-+
-+#endif
-Index: strace-5.7/tests/execve--secontext.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests/execve--secontext.c	2021-08-24 21:08:43.296245680 +0200
-@@ -0,0 +1,19 @@
-+/*
-+ * Copyright (c) 2021 The strace developers.
-+ * All rights reserved.
-+ *
-+ * SPDX-License-Identifier: GPL-2.0-or-later
-+ */
-+
-+#include "tests.h"
-+
-+#ifdef HAVE_SELINUX_RUNTIME
-+
-+# define TEST_SECONTEXT
-+# include "execve.c"
-+
-+#else
-+
-+SKIP_MAIN_UNDEFINED("HAVE_SELINUX_RUNTIME")
-+
-+#endif
-Index: strace-5.7/tests/execveat--secontext.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests/execveat--secontext.c	2021-08-24 21:08:43.297245671 +0200
-@@ -0,0 +1,19 @@
-+/*
-+ * Copyright (c) 2021 The strace developers.
-+ * All rights reserved.
-+ *
-+ * SPDX-License-Identifier: GPL-2.0-or-later
-+ */
-+
-+#include "tests.h"
-+
-+#ifdef HAVE_SELINUX_RUNTIME
-+
-+# define TEST_SECONTEXT
-+# include "execveat.c"
-+
-+#else
-+
-+SKIP_MAIN_UNDEFINED("HAVE_SELINUX_RUNTIME")
-+
-+#endif
-Index: strace-5.7/tests/faccessat--secontext.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests/faccessat--secontext.c	2021-08-24 21:08:43.297245671 +0200
-@@ -0,0 +1,19 @@
-+/*
-+ * Copyright (c) 2021 The strace developers.
-+ * All rights reserved.
-+ *
-+ * SPDX-License-Identifier: GPL-2.0-or-later
-+ */
-+
-+#include "tests.h"
-+
-+#ifdef HAVE_SELINUX_RUNTIME
-+
-+# define TEST_SECONTEXT
-+# include "faccessat.c"
-+
-+#else
-+
-+SKIP_MAIN_UNDEFINED("HAVE_SELINUX_RUNTIME")
-+
-+#endif
-Index: strace-5.7/tests/faccessat-y--secontext.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests/faccessat-y--secontext.c	2021-08-24 21:08:43.297245671 +0200
-@@ -0,0 +1,19 @@
-+/*
-+ * Copyright (c) 2021 The strace developers.
-+ * All rights reserved.
-+ *
-+ * SPDX-License-Identifier: GPL-2.0-or-later
-+ */
-+
-+#include "tests.h"
-+
-+#ifdef HAVE_SELINUX_RUNTIME
-+
-+# define TEST_SECONTEXT
-+# include "faccessat-y.c"
-+
-+#else
-+
-+SKIP_MAIN_UNDEFINED("HAVE_SELINUX_RUNTIME")
-+
-+#endif
-Index: strace-5.7/tests/fanotify_mark--secontext.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests/fanotify_mark--secontext.c	2021-08-24 21:08:43.297245671 +0200
-@@ -0,0 +1,19 @@
-+/*
-+ * Copyright (c) 2021 The strace developers.
-+ * All rights reserved.
-+ *
-+ * SPDX-License-Identifier: GPL-2.0-or-later
-+ */
-+
-+#include "tests.h"
-+
-+#ifdef HAVE_SELINUX_RUNTIME
-+
-+# define TEST_SECONTEXT
-+# include "fanotify_mark.c"
-+
-+#else
-+
-+SKIP_MAIN_UNDEFINED("HAVE_SELINUX_RUNTIME")
-+
-+#endif
-Index: strace-5.7/tests/fchmod--secontext.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests/fchmod--secontext.c	2021-08-24 21:08:43.297245671 +0200
-@@ -0,0 +1,19 @@
-+/*
-+ * Copyright (c) 2021 The strace developers.
-+ * All rights reserved.
-+ *
-+ * SPDX-License-Identifier: GPL-2.0-or-later
-+ */
-+
-+#include "tests.h"
-+
-+#ifdef HAVE_SELINUX_RUNTIME
-+
-+# define TEST_SECONTEXT
-+# include "fchmod.c"
-+
-+#else
-+
-+SKIP_MAIN_UNDEFINED("HAVE_SELINUX_RUNTIME")
-+
-+#endif
-Index: strace-5.7/tests/fchmod-y--secontext.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests/fchmod-y--secontext.c	2021-08-24 21:08:43.297245671 +0200
-@@ -0,0 +1,19 @@
-+/*
-+ * Copyright (c) 2021 The strace developers.
-+ * All rights reserved.
-+ *
-+ * SPDX-License-Identifier: GPL-2.0-or-later
-+ */
-+
-+#include "tests.h"
-+
-+#ifdef HAVE_SELINUX_RUNTIME
-+
-+# define TEST_SECONTEXT
-+# include "fchmod-y.c"
-+
-+#else
-+
-+SKIP_MAIN_UNDEFINED("HAVE_SELINUX_RUNTIME")
-+
-+#endif
-Index: strace-5.7/tests/fchmodat--secontext.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests/fchmodat--secontext.c	2021-08-24 21:08:43.297245671 +0200
-@@ -0,0 +1,19 @@
-+/*
-+ * Copyright (c) 2021 The strace developers.
-+ * All rights reserved.
-+ *
-+ * SPDX-License-Identifier: GPL-2.0-or-later
-+ */
-+
-+#include "tests.h"
-+
-+#ifdef HAVE_SELINUX_RUNTIME
-+
-+# define TEST_SECONTEXT
-+# include "fchmodat.c"
-+
-+#else
-+
-+SKIP_MAIN_UNDEFINED("HAVE_SELINUX_RUNTIME")
-+
-+#endif
-Index: strace-5.7/tests/fchownat--secontext.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests/fchownat--secontext.c	2021-08-24 21:08:43.297245671 +0200
-@@ -0,0 +1,19 @@
-+/*
-+ * Copyright (c) 2021 The strace developers.
-+ * All rights reserved.
-+ *
-+ * SPDX-License-Identifier: GPL-2.0-or-later
-+ */
-+
-+#include "tests.h"
-+
-+#ifdef HAVE_SELINUX_RUNTIME
-+
-+# define TEST_SECONTEXT
-+# include "fchownat.c"
-+
-+#else
-+
-+SKIP_MAIN_UNDEFINED("HAVE_SELINUX_RUNTIME")
-+
-+#endif
-Index: strace-5.7/tests/file_handle--secontext.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests/file_handle--secontext.c	2021-08-24 21:08:43.297245671 +0200
-@@ -0,0 +1,19 @@
-+/*
-+ * Copyright (c) 2021 The strace developers.
-+ * All rights reserved.
-+ *
-+ * SPDX-License-Identifier: GPL-2.0-or-later
-+ */
-+
-+#include "tests.h"
-+
-+#ifdef HAVE_SELINUX_RUNTIME
-+
-+# define TEST_SECONTEXT
-+# include "file_handle.c"
-+
-+#else
-+
-+SKIP_MAIN_UNDEFINED("HAVE_SELINUX_RUNTIME")
-+
-+#endif
-Index: strace-5.7/tests/linkat--secontext.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests/linkat--secontext.c	2021-08-24 21:08:43.298245663 +0200
-@@ -0,0 +1,19 @@
-+/*
-+ * Copyright (c) 2021 The strace developers.
-+ * All rights reserved.
-+ *
-+ * SPDX-License-Identifier: GPL-2.0-or-later
-+ */
-+
-+#include "tests.h"
-+
-+#ifdef HAVE_SELINUX_RUNTIME
-+
-+# define TEST_SECONTEXT
-+# include "linkat.c"
-+
-+#else
-+
-+SKIP_MAIN_UNDEFINED("HAVE_SELINUX_RUNTIME")
-+
-+#endif
-Index: strace-5.7/tests/open--secontext.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests/open--secontext.c	2021-08-24 21:08:43.298245663 +0200
-@@ -0,0 +1,19 @@
-+/*
-+ * Copyright (c) 2021 The strace developers.
-+ * All rights reserved.
-+ *
-+ * SPDX-License-Identifier: GPL-2.0-or-later
-+ */
-+
-+#include "tests.h"
-+
-+#ifdef HAVE_SELINUX_RUNTIME
-+
-+# define TEST_SECONTEXT
-+# include "open.c"
-+
-+#else
-+
-+SKIP_MAIN_UNDEFINED("HAVE_SELINUX_RUNTIME")
-+
-+#endif
-Index: strace-5.7/tests/openat--secontext.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests/openat--secontext.c	2021-08-24 21:08:43.298245663 +0200
-@@ -0,0 +1,19 @@
-+/*
-+ * Copyright (c) 2021 The strace developers.
-+ * All rights reserved.
-+ *
-+ * SPDX-License-Identifier: GPL-2.0-or-later
-+ */
-+
-+#include "tests.h"
-+
-+#ifdef HAVE_SELINUX_RUNTIME
-+
-+# define TEST_SECONTEXT
-+# include "openat.c"
-+
-+#else
-+
-+SKIP_MAIN_UNDEFINED("HAVE_SELINUX_RUNTIME")
-+
-+#endif
-Index: strace-5.7/tests-m32/access--secontext_full.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-m32/access--secontext_full.c	2021-08-24 21:08:43.298245663 +0200
-@@ -0,0 +1,2 @@
-+#define PRINT_SECONTEXT_FULL
-+#include "access--secontext.c"
-Index: strace-5.7/tests-m32/chmod--secontext_full.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-m32/chmod--secontext_full.c	2021-08-24 21:08:43.298245663 +0200
-@@ -0,0 +1,2 @@
-+#define PRINT_SECONTEXT_FULL
-+#include "chmod--secontext.c"
-Index: strace-5.7/tests-m32/execve--secontext_full.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-m32/execve--secontext_full.c	2021-08-24 21:08:43.298245663 +0200
-@@ -0,0 +1,2 @@
-+#define PRINT_SECONTEXT_FULL
-+#include "execve--secontext.c"
-Index: strace-5.7/tests-m32/execveat--secontext_full.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-m32/execveat--secontext_full.c	2021-08-24 21:08:43.298245663 +0200
-@@ -0,0 +1,2 @@
-+#define PRINT_SECONTEXT_FULL
-+#include "execveat--secontext.c"
-Index: strace-5.7/tests-m32/faccessat--secontext_full.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-m32/faccessat--secontext_full.c	2021-08-24 21:08:43.298245663 +0200
-@@ -0,0 +1,2 @@
-+#define PRINT_SECONTEXT_FULL
-+#include "faccessat--secontext.c"
-Index: strace-5.7/tests-m32/faccessat-y--secontext_full.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-m32/faccessat-y--secontext_full.c	2021-08-24 21:08:43.298245663 +0200
-@@ -0,0 +1,2 @@
-+#define PRINT_SECONTEXT_FULL
-+#include "faccessat-y--secontext.c"
-Index: strace-5.7/tests-m32/fanotify_mark--secontext_full.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-m32/fanotify_mark--secontext_full.c	2021-08-24 21:08:43.298245663 +0200
-@@ -0,0 +1,2 @@
-+#define PRINT_SECONTEXT_FULL
-+#include "fanotify_mark--secontext.c"
-Index: strace-5.7/tests-m32/fchmod--secontext_full.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-m32/fchmod--secontext_full.c	2021-08-24 21:08:43.299245654 +0200
-@@ -0,0 +1,2 @@
-+#define PRINT_SECONTEXT_FULL
-+#include "fchmod--secontext.c"
-Index: strace-5.7/tests-m32/fchmod-y--secontext_full.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-m32/fchmod-y--secontext_full.c	2021-08-24 21:08:43.299245654 +0200
-@@ -0,0 +1,2 @@
-+#define PRINT_SECONTEXT_FULL
-+#include "fchmod-y--secontext.c"
-Index: strace-5.7/tests-m32/fchmodat--secontext_full.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-m32/fchmodat--secontext_full.c	2021-08-24 21:08:43.299245654 +0200
-@@ -0,0 +1,2 @@
-+#define PRINT_SECONTEXT_FULL
-+#include "fchmodat--secontext.c"
-Index: strace-5.7/tests-m32/fchownat--secontext_full.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-m32/fchownat--secontext_full.c	2021-08-24 21:08:43.299245654 +0200
-@@ -0,0 +1,2 @@
-+#define PRINT_SECONTEXT_FULL
-+#include "fchownat--secontext.c"
-Index: strace-5.7/tests-m32/file_handle--secontext_full.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-m32/file_handle--secontext_full.c	2021-08-24 21:08:43.299245654 +0200
-@@ -0,0 +1,2 @@
-+#define PRINT_SECONTEXT_FULL
-+#include "file_handle--secontext.c"
-Index: strace-5.7/tests-m32/linkat--secontext_full.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-m32/linkat--secontext_full.c	2021-08-24 21:08:43.299245654 +0200
-@@ -0,0 +1,2 @@
-+#define PRINT_SECONTEXT_FULL
-+#include "linkat--secontext.c"
-Index: strace-5.7/tests-m32/open--secontext_full.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-m32/open--secontext_full.c	2021-08-24 21:08:43.299245654 +0200
-@@ -0,0 +1,2 @@
-+#define PRINT_SECONTEXT_FULL
-+#include "open--secontext.c"
-Index: strace-5.7/tests-m32/openat--secontext_full.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-m32/openat--secontext_full.c	2021-08-24 21:08:43.299245654 +0200
-@@ -0,0 +1,2 @@
-+#define PRINT_SECONTEXT_FULL
-+#include "openat--secontext.c"
-Index: strace-5.7/tests-mx32/access--secontext_full.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-mx32/access--secontext_full.c	2021-08-24 21:08:43.299245654 +0200
-@@ -0,0 +1,2 @@
-+#define PRINT_SECONTEXT_FULL
-+#include "access--secontext.c"
-Index: strace-5.7/tests-mx32/chmod--secontext_full.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-mx32/chmod--secontext_full.c	2021-08-24 21:08:43.299245654 +0200
-@@ -0,0 +1,2 @@
-+#define PRINT_SECONTEXT_FULL
-+#include "chmod--secontext.c"
-Index: strace-5.7/tests-mx32/execve--secontext_full.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-mx32/execve--secontext_full.c	2021-08-24 21:08:43.300245646 +0200
-@@ -0,0 +1,2 @@
-+#define PRINT_SECONTEXT_FULL
-+#include "execve--secontext.c"
-Index: strace-5.7/tests-mx32/execveat--secontext_full.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-mx32/execveat--secontext_full.c	2021-08-24 21:08:43.300245646 +0200
-@@ -0,0 +1,2 @@
-+#define PRINT_SECONTEXT_FULL
-+#include "execveat--secontext.c"
-Index: strace-5.7/tests-mx32/faccessat--secontext_full.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-mx32/faccessat--secontext_full.c	2021-08-24 21:08:43.300245646 +0200
-@@ -0,0 +1,2 @@
-+#define PRINT_SECONTEXT_FULL
-+#include "faccessat--secontext.c"
-Index: strace-5.7/tests-mx32/faccessat-y--secontext_full.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-mx32/faccessat-y--secontext_full.c	2021-08-24 21:08:43.300245646 +0200
-@@ -0,0 +1,2 @@
-+#define PRINT_SECONTEXT_FULL
-+#include "faccessat-y--secontext.c"
-Index: strace-5.7/tests-mx32/fanotify_mark--secontext_full.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-mx32/fanotify_mark--secontext_full.c	2021-08-24 21:08:43.300245646 +0200
-@@ -0,0 +1,2 @@
-+#define PRINT_SECONTEXT_FULL
-+#include "fanotify_mark--secontext.c"
-Index: strace-5.7/tests-mx32/fchmod--secontext_full.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-mx32/fchmod--secontext_full.c	2021-08-24 21:08:43.300245646 +0200
-@@ -0,0 +1,2 @@
-+#define PRINT_SECONTEXT_FULL
-+#include "fchmod--secontext.c"
-Index: strace-5.7/tests-mx32/fchmod-y--secontext_full.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-mx32/fchmod-y--secontext_full.c	2021-08-24 21:08:43.300245646 +0200
-@@ -0,0 +1,2 @@
-+#define PRINT_SECONTEXT_FULL
-+#include "fchmod-y--secontext.c"
-Index: strace-5.7/tests-mx32/fchmodat--secontext_full.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-mx32/fchmodat--secontext_full.c	2021-08-24 21:08:43.301245637 +0200
-@@ -0,0 +1,2 @@
-+#define PRINT_SECONTEXT_FULL
-+#include "fchmodat--secontext.c"
-Index: strace-5.7/tests-mx32/fchownat--secontext_full.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-mx32/fchownat--secontext_full.c	2021-08-24 21:08:43.301245637 +0200
-@@ -0,0 +1,2 @@
-+#define PRINT_SECONTEXT_FULL
-+#include "fchownat--secontext.c"
-Index: strace-5.7/tests-mx32/file_handle--secontext_full.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-mx32/file_handle--secontext_full.c	2021-08-24 21:08:43.301245637 +0200
-@@ -0,0 +1,2 @@
-+#define PRINT_SECONTEXT_FULL
-+#include "file_handle--secontext.c"
-Index: strace-5.7/tests-mx32/linkat--secontext_full.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-mx32/linkat--secontext_full.c	2021-08-24 21:08:43.301245637 +0200
-@@ -0,0 +1,2 @@
-+#define PRINT_SECONTEXT_FULL
-+#include "linkat--secontext.c"
-Index: strace-5.7/tests-mx32/open--secontext_full.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-mx32/open--secontext_full.c	2021-08-24 21:08:43.301245637 +0200
-@@ -0,0 +1,2 @@
-+#define PRINT_SECONTEXT_FULL
-+#include "open--secontext.c"
-Index: strace-5.7/tests-mx32/openat--secontext_full.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests-mx32/openat--secontext_full.c	2021-08-24 21:08:43.301245637 +0200
-@@ -0,0 +1,2 @@
-+#define PRINT_SECONTEXT_FULL
-+#include "openat--secontext.c"
-Index: strace-5.7/tests/access--secontext_full.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests/access--secontext_full.c	2021-08-24 21:08:43.301245637 +0200
-@@ -0,0 +1,2 @@
-+#define PRINT_SECONTEXT_FULL
-+#include "access--secontext.c"
-Index: strace-5.7/tests/chmod--secontext_full.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests/chmod--secontext_full.c	2021-08-24 21:08:43.302245629 +0200
-@@ -0,0 +1,2 @@
-+#define PRINT_SECONTEXT_FULL
-+#include "chmod--secontext.c"
-Index: strace-5.7/tests/execve--secontext_full.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests/execve--secontext_full.c	2021-08-24 21:08:43.302245629 +0200
-@@ -0,0 +1,2 @@
-+#define PRINT_SECONTEXT_FULL
-+#include "execve--secontext.c"
-Index: strace-5.7/tests/execveat--secontext_full.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests/execveat--secontext_full.c	2021-08-24 21:08:43.302245629 +0200
-@@ -0,0 +1,2 @@
-+#define PRINT_SECONTEXT_FULL
-+#include "execveat--secontext.c"
-Index: strace-5.7/tests/faccessat--secontext_full.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests/faccessat--secontext_full.c	2021-08-24 21:08:43.302245629 +0200
-@@ -0,0 +1,2 @@
-+#define PRINT_SECONTEXT_FULL
-+#include "faccessat--secontext.c"
-Index: strace-5.7/tests/faccessat-y--secontext_full.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests/faccessat-y--secontext_full.c	2021-08-24 21:08:43.302245629 +0200
-@@ -0,0 +1,2 @@
-+#define PRINT_SECONTEXT_FULL
-+#include "faccessat-y--secontext.c"
-Index: strace-5.7/tests/fanotify_mark--secontext_full.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests/fanotify_mark--secontext_full.c	2021-08-24 21:08:43.302245629 +0200
-@@ -0,0 +1,2 @@
-+#define PRINT_SECONTEXT_FULL
-+#include "fanotify_mark--secontext.c"
-Index: strace-5.7/tests/fchmod--secontext_full.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests/fchmod--secontext_full.c	2021-08-24 21:08:43.302245629 +0200
-@@ -0,0 +1,2 @@
-+#define PRINT_SECONTEXT_FULL
-+#include "fchmod--secontext.c"
-Index: strace-5.7/tests/fchmod-y--secontext_full.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests/fchmod-y--secontext_full.c	2021-08-24 21:08:43.303245621 +0200
-@@ -0,0 +1,2 @@
-+#define PRINT_SECONTEXT_FULL
-+#include "fchmod-y--secontext.c"
-Index: strace-5.7/tests/fchmodat--secontext_full.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests/fchmodat--secontext_full.c	2021-08-24 21:08:43.303245621 +0200
-@@ -0,0 +1,2 @@
-+#define PRINT_SECONTEXT_FULL
-+#include "fchmodat--secontext.c"
-Index: strace-5.7/tests/fchownat--secontext_full.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests/fchownat--secontext_full.c	2021-08-24 21:08:43.303245621 +0200
-@@ -0,0 +1,2 @@
-+#define PRINT_SECONTEXT_FULL
-+#include "fchownat--secontext.c"
-Index: strace-5.7/tests/file_handle--secontext_full.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests/file_handle--secontext_full.c	2021-08-24 21:08:43.303245621 +0200
-@@ -0,0 +1,2 @@
-+#define PRINT_SECONTEXT_FULL
-+#include "file_handle--secontext.c"
-Index: strace-5.7/tests/linkat--secontext_full.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests/linkat--secontext_full.c	2021-08-24 21:08:43.303245621 +0200
-@@ -0,0 +1,2 @@
-+#define PRINT_SECONTEXT_FULL
-+#include "linkat--secontext.c"
-Index: strace-5.7/tests/open--secontext_full.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests/open--secontext_full.c	2021-08-24 21:08:43.303245621 +0200
-@@ -0,0 +1,2 @@
-+#define PRINT_SECONTEXT_FULL
-+#include "open--secontext.c"
-Index: strace-5.7/tests/openat--secontext_full.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ strace-5.7/tests/openat--secontext_full.c	2021-08-24 21:08:43.303245621 +0200
-@@ -0,0 +1,2 @@
-+#define PRINT_SECONTEXT_FULL
-+#include "openat--secontext.c"
-Index: strace-5.7/config.h.in
-===================================================================
---- strace-5.7.orig/config.h.in	2021-08-24 21:08:35.510311579 +0200
-+++ strace-5.7/config.h.in	2021-08-24 21:08:43.304245612 +0200
-@@ -36,6 +36,9 @@
- /* Define to 1 if you want OABI support on ARM EABI. */
- #undef ENABLE_ARM_OABI
- 
-+/* Define to enable SELinux security contexts support */
-+#undef ENABLE_SECONTEXT
-+
- /* Define to enable stack tracing support */
- #undef ENABLE_STACKTRACE
- 
-@@ -2253,6 +2256,12 @@
- /* Define to 1 if you have the <scsi/sg.h> header file. */
- #undef HAVE_SCSI_SG_H
- 
-+/* Define to enable SELinux security contexts testing */
-+#undef HAVE_SELINUX_RUNTIME
-+
-+/* Define to 1 if you have the <selinux/selinux.h> header file. */
-+#undef HAVE_SELINUX_SELINUX_H
-+
- /* Define to 1 if `si_overrun' is a member of `siginfo_t'. */
- #undef HAVE_SIGINFO_T_SI_OVERRUN
- 
-Index: strace-5.7/configure
-===================================================================
---- strace-5.7.orig/configure	2021-08-24 17:01:46.714990240 +0200
-+++ strace-5.7/configure	2021-08-24 21:08:43.315245519 +0200
-@@ -641,10 +641,14 @@
- VALGRIND
- HAVE_MX32_MPERS_FALSE
- HAVE_MX32_MPERS_TRUE
-+HAVE_MX32_SELINUX_RUNTIME_FALSE
-+HAVE_MX32_SELINUX_RUNTIME_TRUE
- HAVE_MX32_RUNTIME_FALSE
- HAVE_MX32_RUNTIME_TRUE
- HAVE_M32_MPERS_FALSE
- HAVE_M32_MPERS_TRUE
-+HAVE_M32_SELINUX_RUNTIME_FALSE
-+HAVE_M32_SELINUX_RUNTIME_TRUE
- HAVE_M32_RUNTIME_FALSE
- HAVE_M32_RUNTIME_TRUE
- CFLAGS_FOR_MX32
-@@ -655,6 +659,13 @@
- CPPFLAGS_FOR_M32
- CPP_FOR_M32
- CC_FOR_M32
-+HAVE_SELINUX_RUNTIME_FALSE
-+HAVE_SELINUX_RUNTIME_TRUE
-+ENABLE_SECONTEXT_FALSE
-+ENABLE_SECONTEXT_TRUE
-+libselinux_CPPFLAGS
-+libselinux_LDFLAGS
-+libselinux_LIBS
- USE_DEMANGLE_FALSE
- USE_DEMANGLE_TRUE
- libiberty_CPPFLAGS
-@@ -827,6 +838,7 @@
- with_libdw
- with_libunwind
- with_libiberty
-+with_libselinux
- enable_mpers
- enable_valgrind
- enable_valgrind_memcheck
-@@ -1498,6 +1510,7 @@
- 
-   --with-libunwind        use libunwind to implement stack tracing support
-   --with-libiberty        use libiberty to demangle symbols in stack trace
-+  --with-libselinux       use libselinux to collect security contexts
- 
- Some influential environment variables:
-   CC          C compiler command
-@@ -22728,6 +22741,203 @@
- 
- 
- 
-+
-+libselinux_CPPFLAGS=
-+libselinux_LDFLAGS=
-+libselinux_LIBS=
-+enable_secontext=no
-+
-+
-+# Check whether --with-libselinux was given.
-+if test "${with_libselinux+set}" = set; then :
-+  withval=$with_libselinux; case "${withval}" in
-+	     yes|no|check) ;;
-+	     *) with_libselinux=yes
-+		libselinux_CPPFLAGS="-I${withval}/include"
-+		libselinux_LDFLAGS="-L${withval}/lib" ;;
-+	     esac
-+else
-+  with_libselinux=check
-+
-+fi
-+
-+
-+if test "x$with_libselinux" != xno; then :
-+  saved_CPPFLAGS="$CPPFLAGS"
-+       CPPFLAGS="$CPPFLAGS $libselinux_CPPFLAGS"
-+       found_selinux_h=no
-+       for ac_header in selinux/selinux.h
-+do :
-+  ac_fn_c_check_header_mongrel "$LINENO" "selinux/selinux.h" "ac_cv_header_selinux_selinux_h" "$ac_includes_default"
-+if test "x$ac_cv_header_selinux_selinux_h" = xyes; then :
-+  cat >>confdefs.h <<_ACEOF
-+#define HAVE_SELINUX_SELINUX_H 1
-+_ACEOF
-+ found_selinux_h=yes
-+fi
-+
-+done
-+
-+       CPPFLAGS="$saved_CPPFLAGS"
-+       if test "x$found_selinux_h" = xyes; then :
-+  saved_LDFLAGS="$LDFLAGS"
-+	      LDFLAGS="$LDFLAGS $libselinux_LDFLAGS"
-+	      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getpidcon in -lselinux" >&5
-+$as_echo_n "checking for getpidcon in -lselinux... " >&6; }
-+if ${ac_cv_lib_selinux_getpidcon+:} false; then :
-+  $as_echo_n "(cached) " >&6
-+else
-+  ac_check_lib_save_LIBS=$LIBS
-+LIBS="-lselinux  $LIBS"
-+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-+/* end confdefs.h.  */
-+
-+/* Override any GCC internal prototype to avoid an error.
-+   Use char because int might match the return type of a GCC
-+   builtin and then its argument prototype would still apply.  */
-+#ifdef __cplusplus
-+extern "C"
-+#endif
-+char getpidcon ();
-+int
-+main ()
-+{
-+return getpidcon ();
-+  ;
-+  return 0;
-+}
-+_ACEOF
-+if ac_fn_c_try_link "$LINENO"; then :
-+  ac_cv_lib_selinux_getpidcon=yes
-+else
-+  ac_cv_lib_selinux_getpidcon=no
-+fi
-+rm -f core conftest.err conftest.$ac_objext \
-+    conftest$ac_exeext conftest.$ac_ext
-+LIBS=$ac_check_lib_save_LIBS
-+fi
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_selinux_getpidcon" >&5
-+$as_echo "$ac_cv_lib_selinux_getpidcon" >&6; }
-+if test "x$ac_cv_lib_selinux_getpidcon" = xyes; then :
-+  libselinux_LIBS="-lselinux"
-+		 enable_secontext=yes
-+
-+else
-+  if test "x$with_libselinux" != xcheck; then
-+		   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-+as_fn_error $? "failed to find getpidcon in libselinux
-+See \`config.log' for more details" "$LINENO" 5; }
-+		 fi
-+
-+
-+fi
-+
-+	      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getfilecon in -lselinux" >&5
-+$as_echo_n "checking for getfilecon in -lselinux... " >&6; }
-+if ${ac_cv_lib_selinux_getfilecon+:} false; then :
-+  $as_echo_n "(cached) " >&6
-+else
-+  ac_check_lib_save_LIBS=$LIBS
-+LIBS="-lselinux  $LIBS"
-+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-+/* end confdefs.h.  */
-+
-+/* Override any GCC internal prototype to avoid an error.
-+   Use char because int might match the return type of a GCC
-+   builtin and then its argument prototype would still apply.  */
-+#ifdef __cplusplus
-+extern "C"
-+#endif
-+char getfilecon ();
-+int
-+main ()
-+{
-+return getfilecon ();
-+  ;
-+  return 0;
-+}
-+_ACEOF
-+if ac_fn_c_try_link "$LINENO"; then :
-+  ac_cv_lib_selinux_getfilecon=yes
-+else
-+  ac_cv_lib_selinux_getfilecon=no
-+fi
-+rm -f core conftest.err conftest.$ac_objext \
-+    conftest$ac_exeext conftest.$ac_ext
-+LIBS=$ac_check_lib_save_LIBS
-+fi
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_selinux_getfilecon" >&5
-+$as_echo "$ac_cv_lib_selinux_getfilecon" >&6; }
-+if test "x$ac_cv_lib_selinux_getfilecon" = xyes; then :
-+  libselinux_LIBS="-lselinux"
-+		 enable_secontext=yes
-+
-+else
-+  if test "x$with_libselinux" != xcheck; then
-+		   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-+as_fn_error $? "failed to find getfilecon in libselinux
-+See \`config.log' for more details" "$LINENO" 5; }
-+		 fi
-+
-+
-+fi
-+
-+	      LDFLAGS="$saved_LDFLAGS"
-+
-+else
-+  if test "x$with_libselinux" != xcheck; then
-+		{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-+as_fn_error $? "failed to find selinux.h
-+See \`config.log' for more details" "$LINENO" 5; }
-+	      fi
-+
-+
-+fi
-+
-+
-+fi
-+
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable security contexts support" >&5
-+$as_echo_n "checking whether to enable security contexts support... " >&6; }
-+if test "x$enable_secontext" = xyes; then :
-+
-+$as_echo "#define ENABLE_SECONTEXT 1" >>confdefs.h
-+
-+
-+$as_echo "#define HAVE_SELINUX_RUNTIME 1" >>confdefs.h
-+
-+
-+
-+
-+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-+$as_echo "yes" >&6; }
-+else
-+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-+$as_echo "no" >&6; }
-+fi
-+
-+ if test "x$enable_secontext" = xyes; then
-+  ENABLE_SECONTEXT_TRUE=
-+  ENABLE_SECONTEXT_FALSE='#'
-+else
-+  ENABLE_SECONTEXT_TRUE='#'
-+  ENABLE_SECONTEXT_FALSE=
-+fi
-+
-+ if test "x$enable_secontext" = xyes; then
-+  HAVE_SELINUX_RUNTIME_TRUE=
-+  HAVE_SELINUX_RUNTIME_FALSE='#'
-+else
-+  HAVE_SELINUX_RUNTIME_TRUE='#'
-+  HAVE_SELINUX_RUNTIME_FALSE=
-+fi
-+
-+
-+
-+
- if test "$arch" = mips && test "$no_create" != yes; then
- 	mkdir -p linux/mips
- 	if $srcdir/linux/mips/genstub.sh \
-@@ -22839,6 +23049,8 @@
- 
- 
- 
-+
-+
- if test -n "${CC+set}"; then :
-   st_saved_CC="${CC}"; unset CC
- fi
-@@ -22964,6 +23176,47 @@
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $st_cv_m32_mpers" >&5
- $as_echo "$st_cv_m32_mpers" >&6; }
-+		if test "x$enable_secontext$st_cv_m32_mpers$st_cv_m32_runtime" = xyesyesyes; then :
-+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether selinux runtime works with m32 personality" >&5
-+$as_echo_n "checking whether selinux runtime works with m32 personality... " >&6; }
-+if ${st_cv_m32_selinux_runtime+:} false; then :
-+  $as_echo_n "(cached) " >&6
-+else
-+  saved_CPPFLAGS="$CPPFLAGS"
-+				 saved_LDFLAGS="$LDFLAGS_FOR_M32"
-+				 saved_LIBS="$LIBS"
-+				 CPPFLAGS="$CPPFLAGS $libselinux_CPPFLAGS"
-+				 LDFLAGS_FOR_M32="$LDFLAGS_FOR_M32 $libselinux_LDFLAGS"
-+				 LIBS="$LIBS $libselinux_LIBS"
-+				 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-+/* end confdefs.h.  */
-+#include <selinux/selinux.h>
-+int
-+main ()
-+{
-+return 0
-+  ;
-+  return 0;
-+}
-+_ACEOF
-+if ac_fn_c_try_link "$LINENO"; then :
-+  st_cv_m32_selinux_runtime=yes
-+else
-+  st_cv_m32_selinux_runtime=no
-+fi
-+rm -f core conftest.err conftest.$ac_objext \
-+    conftest$ac_exeext conftest.$ac_ext
-+				 LIBS="$saved_LIBS"
-+				 LDFLAGS_FOR_M32="$saved_LDFLAGS"
-+				 CPPFLAGS="$saved_CPPFLAGS"
-+
-+fi
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $st_cv_m32_selinux_runtime" >&5
-+$as_echo "$st_cv_m32_selinux_runtime" >&6; }
-+
-+else
-+  st_cv_m32_selinux_runtime=no
-+fi
- 		if test $st_cv_m32_mpers = yes; then
- 
- $as_echo "#define HAVE_M32_MPERS 1" >>confdefs.h
-@@ -23387,6 +23640,7 @@
- 	*) # case "$enable_mpers"
- 	st_cv_m32_runtime=no
- 	st_cv_m32_mpers=no
-+	st_cv_m32_selinux_runtime=no
- 	;;
- 	esac
- 
-@@ -23418,6 +23672,14 @@
-   HAVE_M32_RUNTIME_FALSE=
- fi
- 
-+ if test "$st_cv_m32_mpers$st_cv_m32_selinux_runtime" = yesyes; then
-+  HAVE_M32_SELINUX_RUNTIME_TRUE=
-+  HAVE_M32_SELINUX_RUNTIME_FALSE='#'
-+else
-+  HAVE_M32_SELINUX_RUNTIME_TRUE='#'
-+  HAVE_M32_SELINUX_RUNTIME_FALSE=
-+fi
-+
-  if test "$st_cv_m32_mpers" = yes; then
-   HAVE_M32_MPERS_TRUE=
-   HAVE_M32_MPERS_FALSE='#'
-@@ -23467,6 +23729,10 @@
- 
- 
- 
-+
-+
-+
-+
- if test -n "${CC+set}"; then :
-   st_saved_CC="${CC}"; unset CC
- fi
-@@ -23592,6 +23858,47 @@
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $st_cv_mx32_mpers" >&5
- $as_echo "$st_cv_mx32_mpers" >&6; }
-+		if test "x$enable_secontext$st_cv_mx32_mpers$st_cv_mx32_runtime" = xyesyesyes; then :
-+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether selinux runtime works with mx32 personality" >&5
-+$as_echo_n "checking whether selinux runtime works with mx32 personality... " >&6; }
-+if ${st_cv_mx32_selinux_runtime+:} false; then :
-+  $as_echo_n "(cached) " >&6
-+else
-+  saved_CPPFLAGS="$CPPFLAGS"
-+				 saved_LDFLAGS="$LDFLAGS_FOR_MX32"
-+				 saved_LIBS="$LIBS"
-+				 CPPFLAGS="$CPPFLAGS $libselinux_CPPFLAGS"
-+				 LDFLAGS_FOR_MX32="$LDFLAGS_FOR_MX32 $libselinux_LDFLAGS"
-+				 LIBS="$LIBS $libselinux_LIBS"
-+				 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-+/* end confdefs.h.  */
-+#include <selinux/selinux.h>
-+int
-+main ()
-+{
-+return 0
-+  ;
-+  return 0;
-+}
-+_ACEOF
-+if ac_fn_c_try_link "$LINENO"; then :
-+  st_cv_mx32_selinux_runtime=yes
-+else
-+  st_cv_mx32_selinux_runtime=no
-+fi
-+rm -f core conftest.err conftest.$ac_objext \
-+    conftest$ac_exeext conftest.$ac_ext
-+				 LIBS="$saved_LIBS"
-+				 LDFLAGS_FOR_MX32="$saved_LDFLAGS"
-+				 CPPFLAGS="$saved_CPPFLAGS"
-+
-+fi
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $st_cv_mx32_selinux_runtime" >&5
-+$as_echo "$st_cv_mx32_selinux_runtime" >&6; }
-+
-+else
-+  st_cv_mx32_selinux_runtime=no
-+fi
- 		if test $st_cv_mx32_mpers = yes; then
- 
- $as_echo "#define HAVE_MX32_MPERS 1" >>confdefs.h
-@@ -24015,6 +24322,7 @@
- 	*) # case "$enable_mpers"
- 	st_cv_mx32_runtime=no
- 	st_cv_mx32_mpers=no
-+	st_cv_mx32_selinux_runtime=no
- 	;;
- 	esac
- 
-@@ -24046,6 +24354,14 @@
-   HAVE_MX32_RUNTIME_FALSE=
- fi
- 
-+ if test "$st_cv_mx32_mpers$st_cv_mx32_selinux_runtime" = yesyes; then
-+  HAVE_MX32_SELINUX_RUNTIME_TRUE=
-+  HAVE_MX32_SELINUX_RUNTIME_FALSE='#'
-+else
-+  HAVE_MX32_SELINUX_RUNTIME_TRUE='#'
-+  HAVE_MX32_SELINUX_RUNTIME_FALSE=
-+fi
-+
-  if test "$st_cv_mx32_mpers" = yes; then
-   HAVE_MX32_MPERS_TRUE=
-   HAVE_MX32_MPERS_FALSE='#'
-@@ -24088,6 +24404,8 @@
- 
- 
- 
-+
-+
- 		# Check whether --enable-valgrind was given.
- if test "${enable_valgrind+set}" = set; then :
-   enableval=$enable_valgrind; enable_valgrind=$enableval
-@@ -24659,10 +24977,22 @@
-   as_fn_error $? "conditional \"USE_DEMANGLE\" was never defined.
- Usually this means the macro was only invoked conditionally." "$LINENO" 5
- fi
-+if test -z "${ENABLE_SECONTEXT_TRUE}" && test -z "${ENABLE_SECONTEXT_FALSE}"; then
-+  as_fn_error $? "conditional \"ENABLE_SECONTEXT\" was never defined.
-+Usually this means the macro was only invoked conditionally." "$LINENO" 5
-+fi
-+if test -z "${HAVE_SELINUX_RUNTIME_TRUE}" && test -z "${HAVE_SELINUX_RUNTIME_FALSE}"; then
-+  as_fn_error $? "conditional \"HAVE_SELINUX_RUNTIME\" was never defined.
-+Usually this means the macro was only invoked conditionally." "$LINENO" 5
-+fi
- if test -z "${HAVE_M32_RUNTIME_TRUE}" && test -z "${HAVE_M32_RUNTIME_FALSE}"; then
-   as_fn_error $? "conditional \"HAVE_M32_RUNTIME\" was never defined.
- Usually this means the macro was only invoked conditionally." "$LINENO" 5
- fi
-+if test -z "${HAVE_M32_SELINUX_RUNTIME_TRUE}" && test -z "${HAVE_M32_SELINUX_RUNTIME_FALSE}"; then
-+  as_fn_error $? "conditional \"HAVE_M32_SELINUX_RUNTIME\" was never defined.
-+Usually this means the macro was only invoked conditionally." "$LINENO" 5
-+fi
- if test -z "${HAVE_M32_MPERS_TRUE}" && test -z "${HAVE_M32_MPERS_FALSE}"; then
-   as_fn_error $? "conditional \"HAVE_M32_MPERS\" was never defined.
- Usually this means the macro was only invoked conditionally." "$LINENO" 5
-@@ -24671,6 +25001,10 @@
-   as_fn_error $? "conditional \"HAVE_MX32_RUNTIME\" was never defined.
- Usually this means the macro was only invoked conditionally." "$LINENO" 5
- fi
-+if test -z "${HAVE_MX32_SELINUX_RUNTIME_TRUE}" && test -z "${HAVE_MX32_SELINUX_RUNTIME_FALSE}"; then
-+  as_fn_error $? "conditional \"HAVE_MX32_SELINUX_RUNTIME\" was never defined.
-+Usually this means the macro was only invoked conditionally." "$LINENO" 5
-+fi
- if test -z "${HAVE_MX32_MPERS_TRUE}" && test -z "${HAVE_MX32_MPERS_FALSE}"; then
-   as_fn_error $? "conditional \"HAVE_MX32_MPERS\" was never defined.
- Usually this means the macro was only invoked conditionally." "$LINENO" 5
diff --git a/SOURCES/0155-m4-mpers.m4-generate-HAVE_-_SELINUX_RUNTIME-config-d.patch b/SOURCES/0155-m4-mpers.m4-generate-HAVE_-_SELINUX_RUNTIME-config-d.patch
index 7eb61f1..d7f05d3 100644
--- a/SOURCES/0155-m4-mpers.m4-generate-HAVE_-_SELINUX_RUNTIME-config-d.patch
+++ b/SOURCES/0155-m4-mpers.m4-generate-HAVE_-_SELINUX_RUNTIME-config-d.patch
@@ -32,10 +32,10 @@ Index: strace-5.7/m4/mpers.m4
  	fi
  	CPPFLAGS="$saved_CPPFLAGS"
  	CFLAGS="$saved_CFLAGS"
-Index: strace-5.7/config.h.in
+Index: strace-5.7/src/config.h.in
 ===================================================================
---- strace-5.7.orig/config.h.in	2021-08-24 21:08:43.304245612 +0200
-+++ strace-5.7/config.h.in	2021-08-24 21:26:07.437408141 +0200
+--- strace-5.7.orig/src/config.h.in	2021-08-24 21:08:43.304245612 +0200
++++ strace-5.7/src/config.h.in	2021-08-24 21:26:07.437408141 +0200
 @@ -2181,6 +2181,9 @@
  /* Define to 1 if you have mpers_name mpers support */
  #undef HAVE_M32_MPERS
@@ -60,7 +60,7 @@ Index: strace-5.7/configure
 ===================================================================
 --- strace-5.7.orig/configure	2021-08-24 21:08:43.315245519 +0200
 +++ strace-5.7/configure	2021-08-24 21:26:07.439408124 +0200
-@@ -23632,6 +23632,11 @@
+@@ -19317,6 +19217,11 @@
  
  			fi
  		fi
@@ -72,7 +72,7 @@ Index: strace-5.7/configure
  	fi
  	CPPFLAGS="$saved_CPPFLAGS"
  	CFLAGS="$saved_CFLAGS"
-@@ -24314,6 +24319,11 @@
+@@ -20001,6 +20006,11 @@
  
  			fi
  		fi
diff --git a/SOURCES/0156-Introduce-GLIBC_PREREQ_GE-and-GLIBC_PREREQ_LT-macros.patch b/SOURCES/0156-Introduce-GLIBC_PREREQ_GE-and-GLIBC_PREREQ_LT-macros.patch
deleted file mode 100644
index 0ad0eef..0000000
--- a/SOURCES/0156-Introduce-GLIBC_PREREQ_GE-and-GLIBC_PREREQ_LT-macros.patch
+++ /dev/null
@@ -1,209 +0,0 @@
-From 21bbf3a53b8be9b3fe90bcdb66c7ded35bc3e344 Mon Sep 17 00:00:00 2001
-From: "Dmitry V. Levin" <ldv@altlinux.org>
-Date: Sat, 12 Sep 2020 08:00:00 +0000
-Subject: [PATCH 156/162] Introduce GLIBC_PREREQ_GE and GLIBC_PREREQ_LT macros
-
-* gcc_compat.h (GLIBC_PREREQ_GE, GLIBC_PREREQ_LT): New macros.
-* tests/ipc_msg.c: Use GLIBC_PREREQ_LT instead of manual checking
-for __GLIBC__ and __GLIBC_MINOR__.
-* tests/readahead.c: Likewise.
----
- gcc_compat.h      | 15 +++++++++++++++
- tests/ipc_msg.c   |  9 +++------
- tests/readahead.c | 16 ++++++----------
- 3 files changed, 24 insertions(+), 16 deletions(-)
-
-diff --git a/gcc_compat.h b/gcc_compat.h
-index 0525b5e..4c23ebc 100644
---- a/gcc_compat.h
-+++ b/gcc_compat.h
-@@ -23,6 +23,21 @@
- #  define CLANG_PREREQ(maj, min)	0
- # endif
- 
-+# ifdef __GLIBC__
-+#  ifdef __GLIBC_MINOR__
-+#   define GLIBC_PREREQ_GE(maj, min)	\
-+	((__GLIBC__ << 16) + __GLIBC_MINOR__ >= ((maj) << 16) + (min))
-+#   define GLIBC_PREREQ_LT(maj, min)	\
-+	((__GLIBC__ << 16) + __GLIBC_MINOR__ < ((maj) << 16) + (min))
-+#  else /* !__GLIBC_MINOR__ */
-+#   define GLIBC_PREREQ_GE(maj, min)	0
-+#   define GLIBC_PREREQ_LT(maj, min)	1
-+#  endif
-+# else /* !__GLIBC__ */
-+#  define GLIBC_PREREQ_GE(maj, min)	0
-+#  define GLIBC_PREREQ_LT(maj, min)	0
-+# endif
-+
- # if !(GNUC_PREREQ(2, 0) || CLANG_PREREQ(1, 0))
- #  define __attribute__(x)	/* empty */
- # endif
-diff --git a/tests/ipc_msg.c b/tests/ipc_msg.c
-index 63bdd77..dd0f303 100644
---- a/tests/ipc_msg.c
-+++ b/tests/ipc_msg.c
-@@ -26,12 +26,9 @@
-  * which led to segmentation fault.
-  */
- #undef TEST_MSGCTL_BOGUS_ADDR
--#if defined __GLIBC__ && (defined POWERPC64 || defined POWERPC64LE)
--# if !(defined __GLIBC_MINOR__) \
--   || ((__GLIBC__ << 16) + __GLIBC_MINOR__ < (2 << 16) + 23)
--#  define TEST_MSGCTL_BOGUS_ADDR 0
--# endif
--#endif /* __GLIBC__ && (POWERPC64 || POWERPC64LE) */
-+#if GLIBC_PREREQ_LT(2, 23) && (defined POWERPC64 || defined POWERPC64LE)
-+# define TEST_MSGCTL_BOGUS_ADDR 0
-+#endif
- 
- #ifndef TEST_MSGCTL_BOGUS_ADDR
- # define TEST_MSGCTL_BOGUS_ADDR 1
-diff --git a/tests/readahead.c b/tests/readahead.c
-index 86d09b0..6f4b81e 100644
---- a/tests/readahead.c
-+++ b/tests/readahead.c
-@@ -11,24 +11,20 @@
- 
- #ifdef HAVE_READAHEAD
- /* Check for glibc readahead argument passing bugs. */
--# ifdef __GLIBC__
- /*
-  * glibc < 2.8 had an incorrect order of higher and lower parts of offset,
-  * see https://sourceware.org/bugzilla/show_bug.cgi?id=5208
-  */
--#  if !(defined __GLIBC_MINOR__ && \
--	(__GLIBC__ << 16) + __GLIBC_MINOR__ >= (2 << 16) + 8)
--#   undef HAVE_READAHEAD
--#  endif /* glibc < 2.8 */
-+# if GLIBC_PREREQ_LT(2, 8)
-+#  undef HAVE_READAHEAD
-+# endif /* glibc < 2.8 */
- /*
-  * glibc < 2.25 had an incorrect implementation on mips n64,
-  * see https://sourceware.org/bugzilla/show_bug.cgi?id=21026
-  */
--#  if defined LINUX_MIPSN64 && !(defined __GLIBC_MINOR__ && \
--	(__GLIBC__ << 16) + __GLIBC_MINOR__ >= (2 << 16) + 25)
--#   undef HAVE_READAHEAD
--#  endif /* LINUX_MIPSN64 && glibc < 2.25 */
--# endif /* __GLIBC__ */
-+# if GLIBC_PREREQ_LT(2, 25) && defined LINUX_MIPSN64
-+#  undef HAVE_READAHEAD
-+# endif /* LINUX_MIPSN64 && glibc < 2.25 */
- #endif /* HAVE_READAHEAD */
- 
- #ifdef HAVE_READAHEAD
-diff --git a/tests-m32/ipc_msg.c b/tests-m32/ipc_msg.c
-index 63bdd77..dd0f303 100644
---- a/tests-m32/ipc_msg.c
-+++ b/tests-m32/ipc_msg.c
-@@ -26,12 +26,9 @@
-  * which led to segmentation fault.
-  */
- #undef TEST_MSGCTL_BOGUS_ADDR
--#if defined __GLIBC__ && (defined POWERPC64 || defined POWERPC64LE)
--# if !(defined __GLIBC_MINOR__) \
--   || ((__GLIBC__ << 16) + __GLIBC_MINOR__ < (2 << 16) + 23)
--#  define TEST_MSGCTL_BOGUS_ADDR 0
--# endif
--#endif /* __GLIBC__ && (POWERPC64 || POWERPC64LE) */
-+#if GLIBC_PREREQ_LT(2, 23) && (defined POWERPC64 || defined POWERPC64LE)
-+# define TEST_MSGCTL_BOGUS_ADDR 0
-+#endif
- 
- #ifndef TEST_MSGCTL_BOGUS_ADDR
- # define TEST_MSGCTL_BOGUS_ADDR 1
-diff --git a/tests-m32/readahead.c b/tests-m32/readahead.c
-index 86d09b0..6f4b81e 100644
---- a/tests-m32/readahead.c
-+++ b/tests-m32/readahead.c
-@@ -11,24 +11,20 @@
- 
- #ifdef HAVE_READAHEAD
- /* Check for glibc readahead argument passing bugs. */
--# ifdef __GLIBC__
- /*
-  * glibc < 2.8 had an incorrect order of higher and lower parts of offset,
-  * see https://sourceware.org/bugzilla/show_bug.cgi?id=5208
-  */
--#  if !(defined __GLIBC_MINOR__ && \
--	(__GLIBC__ << 16) + __GLIBC_MINOR__ >= (2 << 16) + 8)
--#   undef HAVE_READAHEAD
--#  endif /* glibc < 2.8 */
-+# if GLIBC_PREREQ_LT(2, 8)
-+#  undef HAVE_READAHEAD
-+# endif /* glibc < 2.8 */
- /*
-  * glibc < 2.25 had an incorrect implementation on mips n64,
-  * see https://sourceware.org/bugzilla/show_bug.cgi?id=21026
-  */
--#  if defined LINUX_MIPSN64 && !(defined __GLIBC_MINOR__ && \
--	(__GLIBC__ << 16) + __GLIBC_MINOR__ >= (2 << 16) + 25)
--#   undef HAVE_READAHEAD
--#  endif /* LINUX_MIPSN64 && glibc < 2.25 */
--# endif /* __GLIBC__ */
-+# if GLIBC_PREREQ_LT(2, 25) && defined LINUX_MIPSN64
-+#  undef HAVE_READAHEAD
-+# endif /* LINUX_MIPSN64 && glibc < 2.25 */
- #endif /* HAVE_READAHEAD */
- 
- #ifdef HAVE_READAHEAD
-diff --git a/tests-mx32/ipc_msg.c b/tests-mx32/ipc_msg.c
-index 63bdd77..dd0f303 100644
---- a/tests-mx32/ipc_msg.c
-+++ b/tests-mx32/ipc_msg.c
-@@ -26,12 +26,9 @@
-  * which led to segmentation fault.
-  */
- #undef TEST_MSGCTL_BOGUS_ADDR
--#if defined __GLIBC__ && (defined POWERPC64 || defined POWERPC64LE)
--# if !(defined __GLIBC_MINOR__) \
--   || ((__GLIBC__ << 16) + __GLIBC_MINOR__ < (2 << 16) + 23)
--#  define TEST_MSGCTL_BOGUS_ADDR 0
--# endif
--#endif /* __GLIBC__ && (POWERPC64 || POWERPC64LE) */
-+#if GLIBC_PREREQ_LT(2, 23) && (defined POWERPC64 || defined POWERPC64LE)
-+# define TEST_MSGCTL_BOGUS_ADDR 0
-+#endif
- 
- #ifndef TEST_MSGCTL_BOGUS_ADDR
- # define TEST_MSGCTL_BOGUS_ADDR 1
-diff --git a/tests-mx32/readahead.c b/tests-mx32/readahead.c
-index 86d09b0..6f4b81e 100644
---- a/tests-mx32/readahead.c
-+++ b/tests-mx32/readahead.c
-@@ -11,24 +11,20 @@
- 
- #ifdef HAVE_READAHEAD
- /* Check for glibc readahead argument passing bugs. */
--# ifdef __GLIBC__
- /*
-  * glibc < 2.8 had an incorrect order of higher and lower parts of offset,
-  * see https://sourceware.org/bugzilla/show_bug.cgi?id=5208
-  */
--#  if !(defined __GLIBC_MINOR__ && \
--	(__GLIBC__ << 16) + __GLIBC_MINOR__ >= (2 << 16) + 8)
--#   undef HAVE_READAHEAD
--#  endif /* glibc < 2.8 */
-+# if GLIBC_PREREQ_LT(2, 8)
-+#  undef HAVE_READAHEAD
-+# endif /* glibc < 2.8 */
- /*
-  * glibc < 2.25 had an incorrect implementation on mips n64,
-  * see https://sourceware.org/bugzilla/show_bug.cgi?id=21026
-  */
--#  if defined LINUX_MIPSN64 && !(defined __GLIBC_MINOR__ && \
--	(__GLIBC__ << 16) + __GLIBC_MINOR__ >= (2 << 16) + 25)
--#   undef HAVE_READAHEAD
--#  endif /* LINUX_MIPSN64 && glibc < 2.25 */
--# endif /* __GLIBC__ */
-+# if GLIBC_PREREQ_LT(2, 25) && defined LINUX_MIPSN64
-+#  undef HAVE_READAHEAD
-+# endif /* LINUX_MIPSN64 && glibc < 2.25 */
- #endif /* HAVE_READAHEAD */
- 
- #ifdef HAVE_READAHEAD
--- 
-2.1.4
-
diff --git a/SOURCES/0157-tests-ipc_msg.c-disable-TEST_MSGCTL_BOGUS_ADDR-on-gl.patch b/SOURCES/0157-tests-ipc_msg.c-disable-TEST_MSGCTL_BOGUS_ADDR-on-gl.patch
deleted file mode 100644
index 351693a..0000000
--- a/SOURCES/0157-tests-ipc_msg.c-disable-TEST_MSGCTL_BOGUS_ADDR-on-gl.patch
+++ /dev/null
@@ -1,103 +0,0 @@
-From af1e2888699afc985d7f354b875c517531dff4ea Mon Sep 17 00:00:00 2001
-From: "Dmitry V. Levin" <ldv@altlinux.org>
-Date: Sat, 12 Sep 2020 08:00:00 +0000
-Subject: [PATCH 157/162] tests/ipc_msg.c: disable TEST_MSGCTL_BOGUS_ADDR on
- glibc >= 2.32
-
-Starting with commit glibc-2.32~83, on every 32-bit architecture where
-32-bit time_t support is enabled, glibc tries to retrieve the data
-provided in the third argument of msgctl call.  This results to
-segfaults inside glibc if TEST_MSGCTL_BOGUS_ADDR is enabled.
-
-* tests/ipc_msg.c [GLIBC_PREREQ_GE(2, 32) && __TIMESIZE != 64]
-(TEST_MSGCTL_BOGUS_ADDR): Define to 0.
-
-Reported-by: Ruinland ChuanTzu Tsai <ruinland@andestech.com>
----
- tests/ipc_msg.c | 11 ++++++++++-
- 1 file changed, 10 insertions(+), 1 deletion(-)
-
-diff --git a/tests/ipc_msg.c b/tests/ipc_msg.c
-index dd0f303..3ab8b90 100644
---- a/tests/ipc_msg.c
-+++ b/tests/ipc_msg.c
-@@ -20,12 +20,21 @@
- # define MSG_STAT_ANY 13
- #endif
- 
-+#undef TEST_MSGCTL_BOGUS_ADDR
-+
-+/*
-+ * Starting with commit glibc-2.32~83, on every 32-bit architecture
-+ * where 32-bit time_t support is enabled, glibc tries to retrieve
-+ * the data provided in the third argument of msgctl call.
-+ */
-+#if GLIBC_PREREQ_GE(2, 32) && defined __TIMESIZE && __TIMESIZE != 64
-+# define TEST_MSGCTL_BOGUS_ADDR 0
-+#endif
- /*
-  * Before glibc-2.22-122-gbe48165, ppc64 code tried to retrieve data
-  * provided in third argument of msgctl call (in case of IPC_SET cmd)
-  * which led to segmentation fault.
-  */
--#undef TEST_MSGCTL_BOGUS_ADDR
- #if GLIBC_PREREQ_LT(2, 23) && (defined POWERPC64 || defined POWERPC64LE)
- # define TEST_MSGCTL_BOGUS_ADDR 0
- #endif
-diff --git a/tests-m32/ipc_msg.c b/tests-m32/ipc_msg.c
-index dd0f303..3ab8b90 100644
---- a/tests-m32/ipc_msg.c
-+++ b/tests-m32/ipc_msg.c
-@@ -20,12 +20,21 @@
- # define MSG_STAT_ANY 13
- #endif
- 
-+#undef TEST_MSGCTL_BOGUS_ADDR
-+
-+/*
-+ * Starting with commit glibc-2.32~83, on every 32-bit architecture
-+ * where 32-bit time_t support is enabled, glibc tries to retrieve
-+ * the data provided in the third argument of msgctl call.
-+ */
-+#if GLIBC_PREREQ_GE(2, 32) && defined __TIMESIZE && __TIMESIZE != 64
-+# define TEST_MSGCTL_BOGUS_ADDR 0
-+#endif
- /*
-  * Before glibc-2.22-122-gbe48165, ppc64 code tried to retrieve data
-  * provided in third argument of msgctl call (in case of IPC_SET cmd)
-  * which led to segmentation fault.
-  */
--#undef TEST_MSGCTL_BOGUS_ADDR
- #if GLIBC_PREREQ_LT(2, 23) && (defined POWERPC64 || defined POWERPC64LE)
- # define TEST_MSGCTL_BOGUS_ADDR 0
- #endif
-diff --git a/tests-mx32/ipc_msg.c b/tests-mx32/ipc_msg.c
-index dd0f303..3ab8b90 100644
---- a/tests-mx32/ipc_msg.c
-+++ b/tests-mx32/ipc_msg.c
-@@ -20,12 +20,21 @@
- # define MSG_STAT_ANY 13
- #endif
- 
-+#undef TEST_MSGCTL_BOGUS_ADDR
-+
-+/*
-+ * Starting with commit glibc-2.32~83, on every 32-bit architecture
-+ * where 32-bit time_t support is enabled, glibc tries to retrieve
-+ * the data provided in the third argument of msgctl call.
-+ */
-+#if GLIBC_PREREQ_GE(2, 32) && defined __TIMESIZE && __TIMESIZE != 64
-+# define TEST_MSGCTL_BOGUS_ADDR 0
-+#endif
- /*
-  * Before glibc-2.22-122-gbe48165, ppc64 code tried to retrieve data
-  * provided in third argument of msgctl call (in case of IPC_SET cmd)
-  * which led to segmentation fault.
-  */
--#undef TEST_MSGCTL_BOGUS_ADDR
- #if GLIBC_PREREQ_LT(2, 23) && (defined POWERPC64 || defined POWERPC64LE)
- # define TEST_MSGCTL_BOGUS_ADDR 0
- #endif
--- 
-2.1.4
-
diff --git a/SOURCES/0158-tests-disable-TEST_MSGCTL_BOGUS_ADDR-in-ipc_msg-test.patch b/SOURCES/0158-tests-disable-TEST_MSGCTL_BOGUS_ADDR-in-ipc_msg-test.patch
deleted file mode 100644
index 1832a5f..0000000
--- a/SOURCES/0158-tests-disable-TEST_MSGCTL_BOGUS_ADDR-in-ipc_msg-test.patch
+++ /dev/null
@@ -1,89 +0,0 @@
-From b4623939316807928680913ece9a6cefc23a73b2 Mon Sep 17 00:00:00 2001
-From: "Dmitry V. Levin" <ldv@altlinux.org>
-Date: Tue, 10 Nov 2020 08:00:00 +0000
-Subject: [PATCH 158/162] tests: disable TEST_MSGCTL_BOGUS_ADDR in ipc_msg test
- on glibc >= 2.31
-
-Starting with commit glibc-2.31~358, on every architecture where
-__ASSUME_SYSVIPC_BROKEN_MODE_T is defined, glibc tries to modify the
-data provided in the third argument of msgctl call.  This results
-to segfaults inside glibc if TEST_MSGCTL_BOGUS_ADDR is enabled.
-
-* tests/ipc_msg.c [GLIBC_PREREQ_GE(2, 31) && (__m68k__ || __s390__ ||
-(WORDS_BIGENDIAN && (__arm__ || __microblaze__ || __sh__)))]
-(TEST_MSGCTL_BOGUS_ADDR): Define to 0.
-
-Reported-by: Sven Schnelle <svens@linux.ibm.com>
----
- tests/ipc_msg.c | 11 +++++++++++
- 1 file changed, 11 insertions(+)
-
-diff --git a/tests/ipc_msg.c b/tests/ipc_msg.c
-index 3ab8b90..f7c36cd 100644
---- a/tests/ipc_msg.c
-+++ b/tests/ipc_msg.c
-@@ -31,6 +31,17 @@
- # define TEST_MSGCTL_BOGUS_ADDR 0
- #endif
- /*
-+ * Starting with commit glibc-2.31~358, on every architecture where
-+ * __ASSUME_SYSVIPC_BROKEN_MODE_T is defined, glibc tries to modify
-+ * the data provided in the third argument of msgctl call.
-+ */
-+#if GLIBC_PREREQ_GE(2, 31) && \
-+ (defined __m68k__ || defined __s390__ || \
-+  (WORDS_BIGENDIAN && \
-+   (defined __arm__ || defined __microblaze__ || defined __sh__)))
-+# define TEST_MSGCTL_BOGUS_ADDR 0
-+#endif
-+/*
-  * Before glibc-2.22-122-gbe48165, ppc64 code tried to retrieve data
-  * provided in third argument of msgctl call (in case of IPC_SET cmd)
-  * which led to segmentation fault.
-diff --git a/tests-m32/ipc_msg.c b/tests-m32/ipc_msg.c
-index 3ab8b90..f7c36cd 100644
---- a/tests-m32/ipc_msg.c
-+++ b/tests-m32/ipc_msg.c
-@@ -31,6 +31,17 @@
- # define TEST_MSGCTL_BOGUS_ADDR 0
- #endif
- /*
-+ * Starting with commit glibc-2.31~358, on every architecture where
-+ * __ASSUME_SYSVIPC_BROKEN_MODE_T is defined, glibc tries to modify
-+ * the data provided in the third argument of msgctl call.
-+ */
-+#if GLIBC_PREREQ_GE(2, 31) && \
-+ (defined __m68k__ || defined __s390__ || \
-+  (WORDS_BIGENDIAN && \
-+   (defined __arm__ || defined __microblaze__ || defined __sh__)))
-+# define TEST_MSGCTL_BOGUS_ADDR 0
-+#endif
-+/*
-  * Before glibc-2.22-122-gbe48165, ppc64 code tried to retrieve data
-  * provided in third argument of msgctl call (in case of IPC_SET cmd)
-  * which led to segmentation fault.
-diff --git a/tests-mx32/ipc_msg.c b/tests-mx32/ipc_msg.c
-index 3ab8b90..f7c36cd 100644
---- a/tests-mx32/ipc_msg.c
-+++ b/tests-mx32/ipc_msg.c
-@@ -31,6 +31,17 @@
- # define TEST_MSGCTL_BOGUS_ADDR 0
- #endif
- /*
-+ * Starting with commit glibc-2.31~358, on every architecture where
-+ * __ASSUME_SYSVIPC_BROKEN_MODE_T is defined, glibc tries to modify
-+ * the data provided in the third argument of msgctl call.
-+ */
-+#if GLIBC_PREREQ_GE(2, 31) && \
-+ (defined __m68k__ || defined __s390__ || \
-+  (WORDS_BIGENDIAN && \
-+   (defined __arm__ || defined __microblaze__ || defined __sh__)))
-+# define TEST_MSGCTL_BOGUS_ADDR 0
-+#endif
-+/*
-  * Before glibc-2.22-122-gbe48165, ppc64 code tried to retrieve data
-  * provided in third argument of msgctl call (in case of IPC_SET cmd)
-  * which led to segmentation fault.
--- 
-2.1.4
-
diff --git a/SOURCES/0159-tests-disable-tests-for-invalid-msgctl-commands-on-g.patch b/SOURCES/0159-tests-disable-tests-for-invalid-msgctl-commands-on-g.patch
deleted file mode 100644
index 94fe64e..0000000
--- a/SOURCES/0159-tests-disable-tests-for-invalid-msgctl-commands-on-g.patch
+++ /dev/null
@@ -1,214 +0,0 @@
-From b702ddfd448794f3ac5033c897a07da3de8f5fc7 Mon Sep 17 00:00:00 2001
-From: "Dmitry V. Levin" <ldv@altlinux.org>
-Date: Sun, 6 Dec 2020 08:00:00 +0000
-Subject: [PATCH 159/162] tests: disable tests for invalid msgctl commands on
- glibc >= 2.32
-
-Starting with commit glibc-2.32.9000-149-gbe9b0b9a012780a403a2,
-glibc skips msgctl syscall invocations and returns EINVAL
-for invalid msgctl commands.
-
-* tests/ipc_msg.c [GLIBC_PREREQ_GE(2, 32)] (TEST_MSGCTL_BOGUS_CMD):
-Define to 0.
-[!TEST_MSGCTL_BOGUS_CMD] (TEST_MSGCTL_BOGUS_CMD): Define to 1.
-(main) [!TEST_MSGCTL_BOGUS_CMD] (bogus_cmd): Do not define and do not
-use.
----
- tests/ipc_msg.c | 21 ++++++++++++++++++++-
- 1 file changed, 20 insertions(+), 1 deletion(-)
-
-diff --git a/tests/ipc_msg.c b/tests/ipc_msg.c
-index f7c36cd..6a96a5f 100644
---- a/tests/ipc_msg.c
-+++ b/tests/ipc_msg.c
-@@ -21,6 +21,7 @@
- #endif
- 
- #undef TEST_MSGCTL_BOGUS_ADDR
-+#undef TEST_MSGCTL_BOGUS_CMD
- 
- /*
-  * Starting with commit glibc-2.32~83, on every 32-bit architecture
-@@ -50,9 +51,21 @@
- # define TEST_MSGCTL_BOGUS_ADDR 0
- #endif
- 
-+/*
-+ * Starting with commit glibc-2.32.9000-149-gbe9b0b9a012780a403a2,
-+ * glibc skips msgctl syscall invocations and returns EINVAL
-+ * for invalid msgctl commands.
-+ */
-+#if GLIBC_PREREQ_GE(2, 32)
-+# define TEST_MSGCTL_BOGUS_CMD 0
-+#endif
-+
- #ifndef TEST_MSGCTL_BOGUS_ADDR
- # define TEST_MSGCTL_BOGUS_ADDR 1
- #endif
-+#ifndef TEST_MSGCTL_BOGUS_CMD
-+# define TEST_MSGCTL_BOGUS_CMD 1
-+#endif
- 
- #if XLAT_RAW
- # define str_ipc_excl_nowait "0xface1c00"
-@@ -107,12 +120,16 @@ main(void)
- 	static const key_t private_key =
- 		(key_t) (0xffffffff00000000ULL | IPC_PRIVATE);
- 	static const key_t bogus_key = (key_t) 0xeca86420fdb9f531ULL;
-+	static const int bogus_flags = 0xface1e55 & ~IPC_CREAT;
-+#if TEST_MSGCTL_BOGUS_CMD || TEST_MSGCTL_BOGUS_ADDR
- 	static const int bogus_msgid = 0xfdb97531;
-+#endif
-+#if TEST_MSGCTL_BOGUS_CMD
- 	static const int bogus_cmd = 0xdeadbeef;
-+#endif
- #if TEST_MSGCTL_BOGUS_ADDR
- 	static void * const bogus_addr = (void *) -1L;
- #endif
--	static const int bogus_flags = 0xface1e55 & ~IPC_CREAT;
- 
- 	int rc;
- 	struct msqid_ds ds;
-@@ -129,9 +146,11 @@ main(void)
- 	printf("msgget\\(%s, 0600\\) = %d\n", str_ipc_private, id);
- 	atexit(cleanup);
- 
-+#if TEST_MSGCTL_BOGUS_CMD
- 	rc = msgctl(bogus_msgid, bogus_cmd, NULL);
- 	printf("msgctl\\(%d, (%s\\|)?%s, NULL\\) = %s\n",
- 	       bogus_msgid, str_ipc_64, str_bogus_cmd, sprintrc_grep(rc));
-+#endif
- 
- #if TEST_MSGCTL_BOGUS_ADDR
- 	rc = msgctl(bogus_msgid, IPC_SET, bogus_addr);
-diff --git a/tests-m32/ipc_msg.c b/tests-m32/ipc_msg.c
-index f7c36cd..6a96a5f 100644
---- a/tests-m32/ipc_msg.c
-+++ b/tests-m32/ipc_msg.c
-@@ -21,6 +21,7 @@
- #endif
- 
- #undef TEST_MSGCTL_BOGUS_ADDR
-+#undef TEST_MSGCTL_BOGUS_CMD
- 
- /*
-  * Starting with commit glibc-2.32~83, on every 32-bit architecture
-@@ -50,9 +51,21 @@
- # define TEST_MSGCTL_BOGUS_ADDR 0
- #endif
- 
-+/*
-+ * Starting with commit glibc-2.32.9000-149-gbe9b0b9a012780a403a2,
-+ * glibc skips msgctl syscall invocations and returns EINVAL
-+ * for invalid msgctl commands.
-+ */
-+#if GLIBC_PREREQ_GE(2, 32)
-+# define TEST_MSGCTL_BOGUS_CMD 0
-+#endif
-+
- #ifndef TEST_MSGCTL_BOGUS_ADDR
- # define TEST_MSGCTL_BOGUS_ADDR 1
- #endif
-+#ifndef TEST_MSGCTL_BOGUS_CMD
-+# define TEST_MSGCTL_BOGUS_CMD 1
-+#endif
- 
- #if XLAT_RAW
- # define str_ipc_excl_nowait "0xface1c00"
-@@ -107,12 +120,16 @@ main(void)
- 	static const key_t private_key =
- 		(key_t) (0xffffffff00000000ULL | IPC_PRIVATE);
- 	static const key_t bogus_key = (key_t) 0xeca86420fdb9f531ULL;
-+	static const int bogus_flags = 0xface1e55 & ~IPC_CREAT;
-+#if TEST_MSGCTL_BOGUS_CMD || TEST_MSGCTL_BOGUS_ADDR
- 	static const int bogus_msgid = 0xfdb97531;
-+#endif
-+#if TEST_MSGCTL_BOGUS_CMD
- 	static const int bogus_cmd = 0xdeadbeef;
-+#endif
- #if TEST_MSGCTL_BOGUS_ADDR
- 	static void * const bogus_addr = (void *) -1L;
- #endif
--	static const int bogus_flags = 0xface1e55 & ~IPC_CREAT;
- 
- 	int rc;
- 	struct msqid_ds ds;
-@@ -129,9 +146,11 @@ main(void)
- 	printf("msgget\\(%s, 0600\\) = %d\n", str_ipc_private, id);
- 	atexit(cleanup);
- 
-+#if TEST_MSGCTL_BOGUS_CMD
- 	rc = msgctl(bogus_msgid, bogus_cmd, NULL);
- 	printf("msgctl\\(%d, (%s\\|)?%s, NULL\\) = %s\n",
- 	       bogus_msgid, str_ipc_64, str_bogus_cmd, sprintrc_grep(rc));
-+#endif
- 
- #if TEST_MSGCTL_BOGUS_ADDR
- 	rc = msgctl(bogus_msgid, IPC_SET, bogus_addr);
-diff --git a/tests-mx32/ipc_msg.c b/tests-mx32/ipc_msg.c
-index f7c36cd..6a96a5f 100644
---- a/tests-mx32/ipc_msg.c
-+++ b/tests-mx32/ipc_msg.c
-@@ -21,6 +21,7 @@
- #endif
- 
- #undef TEST_MSGCTL_BOGUS_ADDR
-+#undef TEST_MSGCTL_BOGUS_CMD
- 
- /*
-  * Starting with commit glibc-2.32~83, on every 32-bit architecture
-@@ -50,9 +51,21 @@
- # define TEST_MSGCTL_BOGUS_ADDR 0
- #endif
- 
-+/*
-+ * Starting with commit glibc-2.32.9000-149-gbe9b0b9a012780a403a2,
-+ * glibc skips msgctl syscall invocations and returns EINVAL
-+ * for invalid msgctl commands.
-+ */
-+#if GLIBC_PREREQ_GE(2, 32)
-+# define TEST_MSGCTL_BOGUS_CMD 0
-+#endif
-+
- #ifndef TEST_MSGCTL_BOGUS_ADDR
- # define TEST_MSGCTL_BOGUS_ADDR 1
- #endif
-+#ifndef TEST_MSGCTL_BOGUS_CMD
-+# define TEST_MSGCTL_BOGUS_CMD 1
-+#endif
- 
- #if XLAT_RAW
- # define str_ipc_excl_nowait "0xface1c00"
-@@ -107,12 +120,16 @@ main(void)
- 	static const key_t private_key =
- 		(key_t) (0xffffffff00000000ULL | IPC_PRIVATE);
- 	static const key_t bogus_key = (key_t) 0xeca86420fdb9f531ULL;
-+	static const int bogus_flags = 0xface1e55 & ~IPC_CREAT;
-+#if TEST_MSGCTL_BOGUS_CMD || TEST_MSGCTL_BOGUS_ADDR
- 	static const int bogus_msgid = 0xfdb97531;
-+#endif
-+#if TEST_MSGCTL_BOGUS_CMD
- 	static const int bogus_cmd = 0xdeadbeef;
-+#endif
- #if TEST_MSGCTL_BOGUS_ADDR
- 	static void * const bogus_addr = (void *) -1L;
- #endif
--	static const int bogus_flags = 0xface1e55 & ~IPC_CREAT;
- 
- 	int rc;
- 	struct msqid_ds ds;
-@@ -129,9 +146,11 @@ main(void)
- 	printf("msgget\\(%s, 0600\\) = %d\n", str_ipc_private, id);
- 	atexit(cleanup);
- 
-+#if TEST_MSGCTL_BOGUS_CMD
- 	rc = msgctl(bogus_msgid, bogus_cmd, NULL);
- 	printf("msgctl\\(%d, (%s\\|)?%s, NULL\\) = %s\n",
- 	       bogus_msgid, str_ipc_64, str_bogus_cmd, sprintrc_grep(rc));
-+#endif
- 
- #if TEST_MSGCTL_BOGUS_ADDR
- 	rc = msgctl(bogus_msgid, IPC_SET, bogus_addr);
--- 
-2.1.4
-
diff --git a/SOURCES/0160-tests-disable-shmctl-IPC_STAT-test-with-a-bogus-addr.patch b/SOURCES/0160-tests-disable-shmctl-IPC_STAT-test-with-a-bogus-addr.patch
deleted file mode 100644
index 480848f..0000000
--- a/SOURCES/0160-tests-disable-shmctl-IPC_STAT-test-with-a-bogus-addr.patch
+++ /dev/null
@@ -1,169 +0,0 @@
-From 8c1a84778bb05a3becc493698b215681bf7249b3 Mon Sep 17 00:00:00 2001
-From: "Dmitry V. Levin" <ldv@altlinux.org>
-Date: Sat, 19 Sep 2020 08:00:00 +0000
-Subject: [PATCH 160/162] tests: disable shmctl IPC_STAT test with a bogus
- address on glibc >= 2.32
-
-Starting with commit glibc-2.32~80, on every 32-bit architecture where
-32-bit time_t support is enabled, glibc tries to retrieve the data
-provided in the third argument of shmctl call.  This results to
-segfaults inside glibc when shmctl is called with a bogus address.
-
-* tests/ipc_shm.c [GLIBC_PREREQ_GE(2, 32) && __TIMESIZE != 64]
-(TEST_SHMCTL_BOGUS_ADDR): Define to 0.
-(main): Conditionalize on TEST_SHMCTL_BOGUS_ADDR the shmctl IPC_STAT
-invocation with a bogus address.
----
- tests/ipc_shm.c | 19 +++++++++++++++++++
- 1 file changed, 19 insertions(+)
-
-diff --git a/tests/ipc_shm.c b/tests/ipc_shm.c
-index 5cd414e..695fd94 100644
---- a/tests/ipc_shm.c
-+++ b/tests/ipc_shm.c
-@@ -73,6 +73,21 @@
- # define str_bogus_cmd "0xdefaced2 /\\* SHM_\\?\\?\\? \\*/"
- #endif
- 
-+#undef TEST_SHMCTL_BOGUS_ADDR
-+
-+/*
-+ * Starting with commit glibc-2.32~80, on every 32-bit architecture
-+ * where 32-bit time_t support is enabled, glibc tries to retrieve
-+ * the data provided in the third argument of shmctl call.
-+ */
-+#if GLIBC_PREREQ_GE(2, 32) && defined __TIMESIZE && __TIMESIZE != 64
-+# define TEST_SHMCTL_BOGUS_ADDR 0
-+#endif
-+
-+#ifndef TEST_SHMCTL_BOGUS_ADDR
-+# define TEST_SHMCTL_BOGUS_ADDR 1
-+#endif
-+
- static int id = -1;
- 
- static void
-@@ -92,7 +107,9 @@ main(void)
- 	static const key_t bogus_key = (key_t) 0xeca86420fdb97531ULL;
- 	static const int bogus_id = 0xdefaced1;
- 	static const int bogus_cmd = 0xdefaced2;
-+#if TEST_SHMCTL_BOGUS_ADDR
- 	static void * const bogus_addr = (void *) -1L;
-+#endif
- 	static const size_t bogus_size =
- 	/*
- 	 * musl sets size to SIZE_MAX if size argument is greater than
-@@ -160,10 +177,12 @@ main(void)
- 	printf("shmctl\\(%d, (%s\\|)?%s, NULL\\) = %s\n",
- 	       bogus_id, str_ipc_64, str_bogus_cmd, sprintrc_grep(rc));
- 
-+#if TEST_SHMCTL_BOGUS_ADDR
- 	rc = shmctl(bogus_id, IPC_STAT, bogus_addr);
- 	printf("shmctl\\(%d, (%s\\|)?%s, %p\\) = %s\n",
- 	       bogus_id, str_ipc_64, str_ipc_stat, bogus_addr,
- 	       sprintrc_grep(rc));
-+#endif
- 
- 	if (shmctl(id, IPC_STAT, &ds))
- 		perror_msg_and_skip("shmctl IPC_STAT");
-diff --git a/tests-m32/ipc_shm.c b/tests-m32/ipc_shm.c
-index 5cd414e..695fd94 100644
---- a/tests-m32/ipc_shm.c
-+++ b/tests-m32/ipc_shm.c
-@@ -73,6 +73,21 @@
- # define str_bogus_cmd "0xdefaced2 /\\* SHM_\\?\\?\\? \\*/"
- #endif
- 
-+#undef TEST_SHMCTL_BOGUS_ADDR
-+
-+/*
-+ * Starting with commit glibc-2.32~80, on every 32-bit architecture
-+ * where 32-bit time_t support is enabled, glibc tries to retrieve
-+ * the data provided in the third argument of shmctl call.
-+ */
-+#if GLIBC_PREREQ_GE(2, 32) && defined __TIMESIZE && __TIMESIZE != 64
-+# define TEST_SHMCTL_BOGUS_ADDR 0
-+#endif
-+
-+#ifndef TEST_SHMCTL_BOGUS_ADDR
-+# define TEST_SHMCTL_BOGUS_ADDR 1
-+#endif
-+
- static int id = -1;
- 
- static void
-@@ -92,7 +107,9 @@ main(void)
- 	static const key_t bogus_key = (key_t) 0xeca86420fdb97531ULL;
- 	static const int bogus_id = 0xdefaced1;
- 	static const int bogus_cmd = 0xdefaced2;
-+#if TEST_SHMCTL_BOGUS_ADDR
- 	static void * const bogus_addr = (void *) -1L;
-+#endif
- 	static const size_t bogus_size =
- 	/*
- 	 * musl sets size to SIZE_MAX if size argument is greater than
-@@ -160,10 +177,12 @@ main(void)
- 	printf("shmctl\\(%d, (%s\\|)?%s, NULL\\) = %s\n",
- 	       bogus_id, str_ipc_64, str_bogus_cmd, sprintrc_grep(rc));
- 
-+#if TEST_SHMCTL_BOGUS_ADDR
- 	rc = shmctl(bogus_id, IPC_STAT, bogus_addr);
- 	printf("shmctl\\(%d, (%s\\|)?%s, %p\\) = %s\n",
- 	       bogus_id, str_ipc_64, str_ipc_stat, bogus_addr,
- 	       sprintrc_grep(rc));
-+#endif
- 
- 	if (shmctl(id, IPC_STAT, &ds))
- 		perror_msg_and_skip("shmctl IPC_STAT");
-diff --git a/tests-mx32/ipc_shm.c b/tests-mx32/ipc_shm.c
-index 5cd414e..695fd94 100644
---- a/tests-mx32/ipc_shm.c
-+++ b/tests-mx32/ipc_shm.c
-@@ -73,6 +73,21 @@
- # define str_bogus_cmd "0xdefaced2 /\\* SHM_\\?\\?\\? \\*/"
- #endif
- 
-+#undef TEST_SHMCTL_BOGUS_ADDR
-+
-+/*
-+ * Starting with commit glibc-2.32~80, on every 32-bit architecture
-+ * where 32-bit time_t support is enabled, glibc tries to retrieve
-+ * the data provided in the third argument of shmctl call.
-+ */
-+#if GLIBC_PREREQ_GE(2, 32) && defined __TIMESIZE && __TIMESIZE != 64
-+# define TEST_SHMCTL_BOGUS_ADDR 0
-+#endif
-+
-+#ifndef TEST_SHMCTL_BOGUS_ADDR
-+# define TEST_SHMCTL_BOGUS_ADDR 1
-+#endif
-+
- static int id = -1;
- 
- static void
-@@ -92,7 +107,9 @@ main(void)
- 	static const key_t bogus_key = (key_t) 0xeca86420fdb97531ULL;
- 	static const int bogus_id = 0xdefaced1;
- 	static const int bogus_cmd = 0xdefaced2;
-+#if TEST_SHMCTL_BOGUS_ADDR
- 	static void * const bogus_addr = (void *) -1L;
-+#endif
- 	static const size_t bogus_size =
- 	/*
- 	 * musl sets size to SIZE_MAX if size argument is greater than
-@@ -160,10 +177,12 @@ main(void)
- 	printf("shmctl\\(%d, (%s\\|)?%s, NULL\\) = %s\n",
- 	       bogus_id, str_ipc_64, str_bogus_cmd, sprintrc_grep(rc));
- 
-+#if TEST_SHMCTL_BOGUS_ADDR
- 	rc = shmctl(bogus_id, IPC_STAT, bogus_addr);
- 	printf("shmctl\\(%d, (%s\\|)?%s, %p\\) = %s\n",
- 	       bogus_id, str_ipc_64, str_ipc_stat, bogus_addr,
- 	       sprintrc_grep(rc));
-+#endif
- 
- 	if (shmctl(id, IPC_STAT, &ds))
- 		perror_msg_and_skip("shmctl IPC_STAT");
--- 
-2.1.4
-
diff --git a/SOURCES/0161-tests-disable-tests-for-invalid-shmctl-commands-on-g.patch b/SOURCES/0161-tests-disable-tests-for-invalid-shmctl-commands-on-g.patch
deleted file mode 100644
index 45d1112..0000000
--- a/SOURCES/0161-tests-disable-tests-for-invalid-shmctl-commands-on-g.patch
+++ /dev/null
@@ -1,280 +0,0 @@
-From 268b9341ef6397cc337f612563af88ccb5752ca7 Mon Sep 17 00:00:00 2001
-From: "Dmitry V. Levin" <ldv@altlinux.org>
-Date: Sun, 6 Dec 2020 08:00:00 +0000
-Subject: [PATCH 161/162] tests: disable tests for invalid shmctl commands on
- glibc >= 2.32
-
-Starting with commit glibc-2.32.9000-207-g9ebaabeaac1a96b0d91f,
-glibc skips shmctl syscall invocations and returns EINVAL
-for invalid shmctl commands.
-
-* tests/ipc_shm.c [GLIBC_PREREQ_GE(2, 32)] (TEST_SHMCTL_BOGUS_CMD):
-Define to 0.
-[!TEST_SHMCTL_BOGUS_CMD] (TEST_SHMCTL_BOGUS_CMD): Define to 1.
-(main) [!TEST_SHMCTL_BOGUS_CMD] (bogus_cmd): Do not define and do not
-use.
----
- tests/ipc_shm.c | 49 ++++++++++++++++++++++++++++++++++---------------
- 1 file changed, 34 insertions(+), 15 deletions(-)
-
-diff --git a/tests/ipc_shm.c b/tests/ipc_shm.c
-index 695fd94..350bde5 100644
---- a/tests/ipc_shm.c
-+++ b/tests/ipc_shm.c
-@@ -29,6 +29,34 @@
- # define SHM_NORESERVE 010000
- #endif
- 
-+#undef TEST_SHMCTL_BOGUS_ADDR
-+#undef TEST_SHMCTL_BOGUS_CMD
-+
-+/*
-+ * Starting with commit glibc-2.32~80, on every 32-bit architecture
-+ * where 32-bit time_t support is enabled, glibc tries to retrieve
-+ * the data provided in the third argument of shmctl call.
-+ */
-+#if GLIBC_PREREQ_GE(2, 32) && defined __TIMESIZE && __TIMESIZE != 64
-+# define TEST_SHMCTL_BOGUS_ADDR 0
-+#endif
-+
-+/*
-+ * Starting with commit glibc-2.32.9000-207-g9ebaabeaac1a96b0d91f,
-+ * glibc skips shmctl syscall invocations and returns EINVAL
-+ * for invalid shmctl commands.
-+ */
-+#if GLIBC_PREREQ_GE(2, 32)
-+# define TEST_SHMCTL_BOGUS_CMD 0
-+#endif
-+
-+#ifndef TEST_SHMCTL_BOGUS_ADDR
-+# define TEST_SHMCTL_BOGUS_ADDR 1
-+#endif
-+#ifndef TEST_SHMCTL_BOGUS_CMD
-+# define TEST_SHMCTL_BOGUS_CMD 1
-+#endif
-+
- #include "xlat.h"
- #include "xlat/shm_resource_flags.h"
- 
-@@ -73,21 +101,6 @@
- # define str_bogus_cmd "0xdefaced2 /\\* SHM_\\?\\?\\? \\*/"
- #endif
- 
--#undef TEST_SHMCTL_BOGUS_ADDR
--
--/*
-- * Starting with commit glibc-2.32~80, on every 32-bit architecture
-- * where 32-bit time_t support is enabled, glibc tries to retrieve
-- * the data provided in the third argument of shmctl call.
-- */
--#if GLIBC_PREREQ_GE(2, 32) && defined __TIMESIZE && __TIMESIZE != 64
--# define TEST_SHMCTL_BOGUS_ADDR 0
--#endif
--
--#ifndef TEST_SHMCTL_BOGUS_ADDR
--# define TEST_SHMCTL_BOGUS_ADDR 1
--#endif
--
- static int id = -1;
- 
- static void
-@@ -105,8 +118,12 @@ main(void)
- 	static const key_t private_key =
- 		(key_t) (0xffffffff00000000ULL | IPC_PRIVATE);
- 	static const key_t bogus_key = (key_t) 0xeca86420fdb97531ULL;
-+#if TEST_SHMCTL_BOGUS_CMD || TEST_SHMCTL_BOGUS_ADDR
- 	static const int bogus_id = 0xdefaced1;
-+#endif
-+#if TEST_SHMCTL_BOGUS_CMD
- 	static const int bogus_cmd = 0xdefaced2;
-+#endif
- #if TEST_SHMCTL_BOGUS_ADDR
- 	static void * const bogus_addr = (void *) -1L;
- #endif
-@@ -173,9 +190,11 @@ main(void)
- 	printf("shmget\\(%s, 1, 0600\\) = %d\n", str_ipc_private, id);
- 	atexit(cleanup);
- 
-+#if TEST_SHMCTL_BOGUS_CMD
- 	rc = shmctl(bogus_id, bogus_cmd, NULL);
- 	printf("shmctl\\(%d, (%s\\|)?%s, NULL\\) = %s\n",
- 	       bogus_id, str_ipc_64, str_bogus_cmd, sprintrc_grep(rc));
-+#endif
- 
- #if TEST_SHMCTL_BOGUS_ADDR
- 	rc = shmctl(bogus_id, IPC_STAT, bogus_addr);
-diff --git a/tests-m32/ipc_shm.c b/tests-m32/ipc_shm.c
-index 695fd94..350bde5 100644
---- a/tests-m32/ipc_shm.c
-+++ b/tests-m32/ipc_shm.c
-@@ -29,6 +29,34 @@
- # define SHM_NORESERVE 010000
- #endif
- 
-+#undef TEST_SHMCTL_BOGUS_ADDR
-+#undef TEST_SHMCTL_BOGUS_CMD
-+
-+/*
-+ * Starting with commit glibc-2.32~80, on every 32-bit architecture
-+ * where 32-bit time_t support is enabled, glibc tries to retrieve
-+ * the data provided in the third argument of shmctl call.
-+ */
-+#if GLIBC_PREREQ_GE(2, 32) && defined __TIMESIZE && __TIMESIZE != 64
-+# define TEST_SHMCTL_BOGUS_ADDR 0
-+#endif
-+
-+/*
-+ * Starting with commit glibc-2.32.9000-207-g9ebaabeaac1a96b0d91f,
-+ * glibc skips shmctl syscall invocations and returns EINVAL
-+ * for invalid shmctl commands.
-+ */
-+#if GLIBC_PREREQ_GE(2, 32)
-+# define TEST_SHMCTL_BOGUS_CMD 0
-+#endif
-+
-+#ifndef TEST_SHMCTL_BOGUS_ADDR
-+# define TEST_SHMCTL_BOGUS_ADDR 1
-+#endif
-+#ifndef TEST_SHMCTL_BOGUS_CMD
-+# define TEST_SHMCTL_BOGUS_CMD 1
-+#endif
-+
- #include "xlat.h"
- #include "xlat/shm_resource_flags.h"
- 
-@@ -73,21 +101,6 @@
- # define str_bogus_cmd "0xdefaced2 /\\* SHM_\\?\\?\\? \\*/"
- #endif
- 
--#undef TEST_SHMCTL_BOGUS_ADDR
--
--/*
-- * Starting with commit glibc-2.32~80, on every 32-bit architecture
-- * where 32-bit time_t support is enabled, glibc tries to retrieve
-- * the data provided in the third argument of shmctl call.
-- */
--#if GLIBC_PREREQ_GE(2, 32) && defined __TIMESIZE && __TIMESIZE != 64
--# define TEST_SHMCTL_BOGUS_ADDR 0
--#endif
--
--#ifndef TEST_SHMCTL_BOGUS_ADDR
--# define TEST_SHMCTL_BOGUS_ADDR 1
--#endif
--
- static int id = -1;
- 
- static void
-@@ -105,8 +118,12 @@ main(void)
- 	static const key_t private_key =
- 		(key_t) (0xffffffff00000000ULL | IPC_PRIVATE);
- 	static const key_t bogus_key = (key_t) 0xeca86420fdb97531ULL;
-+#if TEST_SHMCTL_BOGUS_CMD || TEST_SHMCTL_BOGUS_ADDR
- 	static const int bogus_id = 0xdefaced1;
-+#endif
-+#if TEST_SHMCTL_BOGUS_CMD
- 	static const int bogus_cmd = 0xdefaced2;
-+#endif
- #if TEST_SHMCTL_BOGUS_ADDR
- 	static void * const bogus_addr = (void *) -1L;
- #endif
-@@ -173,9 +190,11 @@ main(void)
- 	printf("shmget\\(%s, 1, 0600\\) = %d\n", str_ipc_private, id);
- 	atexit(cleanup);
- 
-+#if TEST_SHMCTL_BOGUS_CMD
- 	rc = shmctl(bogus_id, bogus_cmd, NULL);
- 	printf("shmctl\\(%d, (%s\\|)?%s, NULL\\) = %s\n",
- 	       bogus_id, str_ipc_64, str_bogus_cmd, sprintrc_grep(rc));
-+#endif
- 
- #if TEST_SHMCTL_BOGUS_ADDR
- 	rc = shmctl(bogus_id, IPC_STAT, bogus_addr);
-diff --git a/tests-mx32/ipc_shm.c b/tests-mx32/ipc_shm.c
-index 695fd94..350bde5 100644
---- a/tests-mx32/ipc_shm.c
-+++ b/tests-mx32/ipc_shm.c
-@@ -29,6 +29,34 @@
- # define SHM_NORESERVE 010000
- #endif
- 
-+#undef TEST_SHMCTL_BOGUS_ADDR
-+#undef TEST_SHMCTL_BOGUS_CMD
-+
-+/*
-+ * Starting with commit glibc-2.32~80, on every 32-bit architecture
-+ * where 32-bit time_t support is enabled, glibc tries to retrieve
-+ * the data provided in the third argument of shmctl call.
-+ */
-+#if GLIBC_PREREQ_GE(2, 32) && defined __TIMESIZE && __TIMESIZE != 64
-+# define TEST_SHMCTL_BOGUS_ADDR 0
-+#endif
-+
-+/*
-+ * Starting with commit glibc-2.32.9000-207-g9ebaabeaac1a96b0d91f,
-+ * glibc skips shmctl syscall invocations and returns EINVAL
-+ * for invalid shmctl commands.
-+ */
-+#if GLIBC_PREREQ_GE(2, 32)
-+# define TEST_SHMCTL_BOGUS_CMD 0
-+#endif
-+
-+#ifndef TEST_SHMCTL_BOGUS_ADDR
-+# define TEST_SHMCTL_BOGUS_ADDR 1
-+#endif
-+#ifndef TEST_SHMCTL_BOGUS_CMD
-+# define TEST_SHMCTL_BOGUS_CMD 1
-+#endif
-+
- #include "xlat.h"
- #include "xlat/shm_resource_flags.h"
- 
-@@ -73,21 +101,6 @@
- # define str_bogus_cmd "0xdefaced2 /\\* SHM_\\?\\?\\? \\*/"
- #endif
- 
--#undef TEST_SHMCTL_BOGUS_ADDR
--
--/*
-- * Starting with commit glibc-2.32~80, on every 32-bit architecture
-- * where 32-bit time_t support is enabled, glibc tries to retrieve
-- * the data provided in the third argument of shmctl call.
-- */
--#if GLIBC_PREREQ_GE(2, 32) && defined __TIMESIZE && __TIMESIZE != 64
--# define TEST_SHMCTL_BOGUS_ADDR 0
--#endif
--
--#ifndef TEST_SHMCTL_BOGUS_ADDR
--# define TEST_SHMCTL_BOGUS_ADDR 1
--#endif
--
- static int id = -1;
- 
- static void
-@@ -105,8 +118,12 @@ main(void)
- 	static const key_t private_key =
- 		(key_t) (0xffffffff00000000ULL | IPC_PRIVATE);
- 	static const key_t bogus_key = (key_t) 0xeca86420fdb97531ULL;
-+#if TEST_SHMCTL_BOGUS_CMD || TEST_SHMCTL_BOGUS_ADDR
- 	static const int bogus_id = 0xdefaced1;
-+#endif
-+#if TEST_SHMCTL_BOGUS_CMD
- 	static const int bogus_cmd = 0xdefaced2;
-+#endif
- #if TEST_SHMCTL_BOGUS_ADDR
- 	static void * const bogus_addr = (void *) -1L;
- #endif
-@@ -173,9 +190,11 @@ main(void)
- 	printf("shmget\\(%s, 1, 0600\\) = %d\n", str_ipc_private, id);
- 	atexit(cleanup);
- 
-+#if TEST_SHMCTL_BOGUS_CMD
- 	rc = shmctl(bogus_id, bogus_cmd, NULL);
- 	printf("shmctl\\(%d, (%s\\|)?%s, NULL\\) = %s\n",
- 	       bogus_id, str_ipc_64, str_bogus_cmd, sprintrc_grep(rc));
-+#endif
- 
- #if TEST_SHMCTL_BOGUS_ADDR
- 	rc = shmctl(bogus_id, IPC_STAT, bogus_addr);
--- 
-2.1.4
-
diff --git a/SOURCES/0162-tests-disable-tests-for-invalid-semctl-commands-on-g.patch b/SOURCES/0162-tests-disable-tests-for-invalid-semctl-commands-on-g.patch
deleted file mode 100644
index 61381bf..0000000
--- a/SOURCES/0162-tests-disable-tests-for-invalid-semctl-commands-on-g.patch
+++ /dev/null
@@ -1,199 +0,0 @@
-From dd8d558394b2b8cb7f743a2a4bf763974d6c2dd9 Mon Sep 17 00:00:00 2001
-From: "Dmitry V. Levin" <ldv@altlinux.org>
-Date: Sun, 6 Dec 2020 08:00:00 +0000
-Subject: [PATCH 162/162] tests: disable tests for invalid semctl commands on
- glibc >= 2.32
-
-Starting with commit glibc-2.32.9000-147-ga16d2abd496bd974a882,
-glibc skips semctl syscall invocations and returns EINVAL
-for invalid semctl commands.
-
-* tests/ipc_sem.c [GLIBC_PREREQ_GE(2, 32)] (TEST_SEMCTL_BOGUS_CMD):
-Define to 0.
-[!TEST_SEMCTL_BOGUS_CMD] (TEST_SEMCTL_BOGUS_CMD): Define to 1.
-(main) [!TEST_SEMCTL_BOGUS_CMD] (bogus_semid, bogus_semnum, bogus_cmd,
-bogus_arg): Do not define and do not use.
----
- tests/ipc_sem.c | 25 ++++++++++++++++++++++---
- 1 file changed, 22 insertions(+), 3 deletions(-)
-
-diff --git a/tests/ipc_sem.c b/tests/ipc_sem.c
-index 7341f72..0351e53 100644
---- a/tests/ipc_sem.c
-+++ b/tests/ipc_sem.c
-@@ -20,6 +20,21 @@
- # define SEM_STAT_ANY 20
- #endif
- 
-+#undef TEST_SEMCTL_BOGUS_CMD
-+
-+/*
-+ * Starting with commit glibc-2.32.9000-147-ga16d2abd496bd974a882,
-+ * glibc skips semctl syscall invocations and returns EINVAL
-+ * for invalid semctl commands.
-+ */
-+#if GLIBC_PREREQ_GE(2, 32)
-+# define TEST_SEMCTL_BOGUS_CMD 0
-+#endif
-+
-+#ifndef TEST_SEMCTL_BOGUS_CMD
-+# define TEST_SEMCTL_BOGUS_CMD 1
-+#endif
-+
- #if XLAT_RAW
- # define str_ipc_flags "0xface1e00"
- # define str_ipc_private "0"
-@@ -78,13 +93,15 @@ main(void)
- 	static const key_t private_key =
- 		(key_t) (0xffffffff00000000ULL | IPC_PRIVATE);
- 	static const key_t bogus_key = (key_t) 0xeca86420fdb97531ULL;
--	static const int bogus_semid = 0xfdb97531;
--	static const int bogus_semnum = 0xeca86420;
- 	static const int bogus_size = 0xdec0ded1;
- 	static const int bogus_flags = 0xface1e55;
-+#if TEST_SEMCTL_BOGUS_CMD
-+	static const int bogus_semid = 0xfdb97531;
-+	static const int bogus_semnum = 0xeca86420;
- 	static const int bogus_cmd = 0xdeadbeef;
- 	static const unsigned long bogus_arg =
- 		(unsigned long) 0xbadc0dedfffffaceULL;
-+#endif
- 
- 	int rc;
- 	union semun un;
-@@ -102,11 +119,13 @@ main(void)
- 	printf("semget\\(%s, 1, 0600\\) = %d\n", str_ipc_private, id);
- 	atexit(cleanup);
- 
-+#if TEST_SEMCTL_BOGUS_CMD
- 	rc = semctl(bogus_semid, bogus_semnum, bogus_cmd, bogus_arg);
--#define SEMCTL_BOGUS_ARG_FMT "(%#lx|\\[(%#lx|NULL)\\]|NULL)"
-+# define SEMCTL_BOGUS_ARG_FMT "(%#lx|\\[(%#lx|NULL)\\]|NULL)"
- 	printf("semctl\\(%d, %d, (%s\\|)?%s, " SEMCTL_BOGUS_ARG_FMT "\\) = %s\n",
- 	       bogus_semid, bogus_semnum, str_ipc_64, str_bogus_cmd,
- 	       bogus_arg, bogus_arg, sprintrc_grep(rc));
-+#endif
- 
- 	un.buf = &ds;
- 	if (semctl(id, 0, IPC_STAT, un))
-diff --git a/tests-m32/ipc_sem.c b/tests-m32/ipc_sem.c
-index 7341f72..0351e53 100644
---- a/tests-m32/ipc_sem.c
-+++ b/tests-m32/ipc_sem.c
-@@ -20,6 +20,21 @@
- # define SEM_STAT_ANY 20
- #endif
- 
-+#undef TEST_SEMCTL_BOGUS_CMD
-+
-+/*
-+ * Starting with commit glibc-2.32.9000-147-ga16d2abd496bd974a882,
-+ * glibc skips semctl syscall invocations and returns EINVAL
-+ * for invalid semctl commands.
-+ */
-+#if GLIBC_PREREQ_GE(2, 32)
-+# define TEST_SEMCTL_BOGUS_CMD 0
-+#endif
-+
-+#ifndef TEST_SEMCTL_BOGUS_CMD
-+# define TEST_SEMCTL_BOGUS_CMD 1
-+#endif
-+
- #if XLAT_RAW
- # define str_ipc_flags "0xface1e00"
- # define str_ipc_private "0"
-@@ -78,13 +93,15 @@ main(void)
- 	static const key_t private_key =
- 		(key_t) (0xffffffff00000000ULL | IPC_PRIVATE);
- 	static const key_t bogus_key = (key_t) 0xeca86420fdb97531ULL;
--	static const int bogus_semid = 0xfdb97531;
--	static const int bogus_semnum = 0xeca86420;
- 	static const int bogus_size = 0xdec0ded1;
- 	static const int bogus_flags = 0xface1e55;
-+#if TEST_SEMCTL_BOGUS_CMD
-+	static const int bogus_semid = 0xfdb97531;
-+	static const int bogus_semnum = 0xeca86420;
- 	static const int bogus_cmd = 0xdeadbeef;
- 	static const unsigned long bogus_arg =
- 		(unsigned long) 0xbadc0dedfffffaceULL;
-+#endif
- 
- 	int rc;
- 	union semun un;
-@@ -102,11 +119,13 @@ main(void)
- 	printf("semget\\(%s, 1, 0600\\) = %d\n", str_ipc_private, id);
- 	atexit(cleanup);
- 
-+#if TEST_SEMCTL_BOGUS_CMD
- 	rc = semctl(bogus_semid, bogus_semnum, bogus_cmd, bogus_arg);
--#define SEMCTL_BOGUS_ARG_FMT "(%#lx|\\[(%#lx|NULL)\\]|NULL)"
-+# define SEMCTL_BOGUS_ARG_FMT "(%#lx|\\[(%#lx|NULL)\\]|NULL)"
- 	printf("semctl\\(%d, %d, (%s\\|)?%s, " SEMCTL_BOGUS_ARG_FMT "\\) = %s\n",
- 	       bogus_semid, bogus_semnum, str_ipc_64, str_bogus_cmd,
- 	       bogus_arg, bogus_arg, sprintrc_grep(rc));
-+#endif
- 
- 	un.buf = &ds;
- 	if (semctl(id, 0, IPC_STAT, un))
-diff --git a/tests-mx32/ipc_sem.c b/tests-mx32/ipc_sem.c
-index 7341f72..0351e53 100644
---- a/tests-mx32/ipc_sem.c
-+++ b/tests-mx32/ipc_sem.c
-@@ -20,6 +20,21 @@
- # define SEM_STAT_ANY 20
- #endif
- 
-+#undef TEST_SEMCTL_BOGUS_CMD
-+
-+/*
-+ * Starting with commit glibc-2.32.9000-147-ga16d2abd496bd974a882,
-+ * glibc skips semctl syscall invocations and returns EINVAL
-+ * for invalid semctl commands.
-+ */
-+#if GLIBC_PREREQ_GE(2, 32)
-+# define TEST_SEMCTL_BOGUS_CMD 0
-+#endif
-+
-+#ifndef TEST_SEMCTL_BOGUS_CMD
-+# define TEST_SEMCTL_BOGUS_CMD 1
-+#endif
-+
- #if XLAT_RAW
- # define str_ipc_flags "0xface1e00"
- # define str_ipc_private "0"
-@@ -78,13 +93,15 @@ main(void)
- 	static const key_t private_key =
- 		(key_t) (0xffffffff00000000ULL | IPC_PRIVATE);
- 	static const key_t bogus_key = (key_t) 0xeca86420fdb97531ULL;
--	static const int bogus_semid = 0xfdb97531;
--	static const int bogus_semnum = 0xeca86420;
- 	static const int bogus_size = 0xdec0ded1;
- 	static const int bogus_flags = 0xface1e55;
-+#if TEST_SEMCTL_BOGUS_CMD
-+	static const int bogus_semid = 0xfdb97531;
-+	static const int bogus_semnum = 0xeca86420;
- 	static const int bogus_cmd = 0xdeadbeef;
- 	static const unsigned long bogus_arg =
- 		(unsigned long) 0xbadc0dedfffffaceULL;
-+#endif
- 
- 	int rc;
- 	union semun un;
-@@ -102,11 +119,13 @@ main(void)
- 	printf("semget\\(%s, 1, 0600\\) = %d\n", str_ipc_private, id);
- 	atexit(cleanup);
- 
-+#if TEST_SEMCTL_BOGUS_CMD
- 	rc = semctl(bogus_semid, bogus_semnum, bogus_cmd, bogus_arg);
--#define SEMCTL_BOGUS_ARG_FMT "(%#lx|\\[(%#lx|NULL)\\]|NULL)"
-+# define SEMCTL_BOGUS_ARG_FMT "(%#lx|\\[(%#lx|NULL)\\]|NULL)"
- 	printf("semctl\\(%d, %d, (%s\\|)?%s, " SEMCTL_BOGUS_ARG_FMT "\\) = %s\n",
- 	       bogus_semid, bogus_semnum, str_ipc_64, str_bogus_cmd,
- 	       bogus_arg, bogus_arg, sprintrc_grep(rc));
-+#endif
- 
- 	un.buf = &ds;
- 	if (semctl(id, 0, IPC_STAT, un))
--- 
-2.1.4
-
diff --git a/SOURCES/0163-filter_qualify-free-allocated-data-on-the-error-path.patch b/SOURCES/0163-filter_qualify-free-allocated-data-on-the-error-path.patch
new file mode 100644
index 0000000..7043b2f
--- /dev/null
+++ b/SOURCES/0163-filter_qualify-free-allocated-data-on-the-error-path.patch
@@ -0,0 +1,77 @@
+From a034f8a50cbe15d250457ed2eefbf9db059f724f Mon Sep 17 00:00:00 2001
+From: Eugene Syromyatnikov <evgsyr@gmail.com>
+Date: Wed, 18 Aug 2021 21:48:38 +0200
+Subject: [PATCH 147/150] filter_qualify: free allocated data on the error path
+ exit of parse_poke_token
+
+While not terribly required due to the fact that issues with option
+parsing lead to program termination, these changes avoid leaking data
+allocated in the function's scope and not stored elsewhere, which might
+come handy if it ever be used dynamically during the runtime.
+
+This also has been reported as resource leaks by covscan, and these
+changes should calm it.
+
+* src/filter_qualify.c (parse_poke_token): Go to err label instead of
+returning right away; free poke->data, poke, and str_tokenized before
+returning false.
+
+References: https://bugzilla.redhat.com/show_bug.cgi?id=1995509
+---
+ src/filter_qualify.c | 18 ++++++++++++------
+ 1 file changed, 12 insertions(+), 6 deletions(-)
+
+diff --git a/src/filter_qualify.c b/src/filter_qualify.c
+index df05496..a1a6471 100644
+--- a/src/filter_qualify.c
++++ b/src/filter_qualify.c
+@@ -169,34 +169,40 @@ parse_poke_token(const char *input, struct inject_opts *fopts, bool isenter)
+ 		poke->is_enter = isenter;
+ 
+ 		if ((val = STR_STRIP_PREFIX(token, "@arg")) == token)
+-			return false;
++			goto err;
+ 		if ((val[0] >= '1') && (val[0] <= '7')) {
+ 			poke->arg_no = val[0] - '0';
+ 		} else {
+-			return false;
++			goto err;
+ 		}
+ 		if (val[1] != '=')
+-			return false;
++			goto err;
+ 		val += 2;
+ 
+ 		data_len = strlen(val);
+ 		if ((data_len == 0) || (data_len % 2) || (data_len > 2048))
+-			return false;
++			goto err;
+ 		data_len /= 2;
+ 		poke->data_len = data_len;
+ 		poke->data = xmalloc(data_len);
+ 
+ 		for (size_t i = 0; i < data_len; i++)
+ 			if (sscanf(&val[2 * i], "%2hhx", &poke->data[i]) != 1)
+-				return false;
++				goto err;
+ 
+ 		if (poke_add(fopts->data.poke_idx, poke))
+-			return false;
++			goto err;
+ 	}
+ 	free(str_tokenized);
+ 
+ 	fopts->data.flags |= flag;
+ 	return true;
++
++err:
++	free(poke->data);
++	free(poke);
++	free(str_tokenized);
++	return false;
+ }
+ 
+ static bool
+-- 
+2.1.4
+
diff --git a/SOURCES/0164-macros-expand-BIT-macros-add-MASK-macros-add-_SAFE-m.patch b/SOURCES/0164-macros-expand-BIT-macros-add-MASK-macros-add-_SAFE-m.patch
new file mode 100644
index 0000000..6ee45fb
--- /dev/null
+++ b/SOURCES/0164-macros-expand-BIT-macros-add-MASK-macros-add-_SAFE-m.patch
@@ -0,0 +1,70 @@
+From 3f3dd44f1964c54b55e8c84343579bd7c1924df5 Mon Sep 17 00:00:00 2001
+From: Eugene Syromyatnikov <evgsyr@gmail.com>
+Date: Wed, 18 Aug 2021 21:49:12 +0200
+Subject: [PATCH 148/150] macros: expand BIT macros, add MASK macros; add
+ *_SAFE macros
+
+These macros might make reading a code that often converts between powers
+of 2 and values/masks a bit easier;  moreover, the *_SAFE versions should
+help in cases where the shift values are expected to be equal to the type
+bit width (which lead to UB otherwise).
+
+Switching from BIT to BIT32 should also clarify bitness, which may be somewhat
+murky at times (cf. printxval, printflags, and printxvals).
+
+* src/macros.h [!BIT] (BIT): Rename to...
+[!BIT32] (BIT32): ...this.
+[!BIT64] (BIT64): New macro.
+[!MASK32] (MASK32): Likewise.
+[!MASK64] (MASK64): Likewise.
+(BIT32_SAFE, BIT64_SAFE, MASK32_SAFE, MASK64_SAFE): New macros.
+(FLAG): Use BIT32.
+---
+ src/macros.h | 30 +++++++++++++++++++++++++++---
+ 1 file changed, 27 insertions(+), 3 deletions(-)
+
+diff --git a/src/macros.h b/src/macros.h
+index 467f5d0..2d7a83d 100644
+--- a/src/macros.h
++++ b/src/macros.h
+@@ -78,10 +78,34 @@ is_filled(const char *ptr, char fill, size_t size)
+ # define IS_ARRAY_ZERO(arr_)	\
+ 	is_filled((const char *) (arr_), 0, sizeof(arr_) + MUST_BE_ARRAY(arr_))
+ 
+-# ifndef BIT
+-#  define BIT(x_) (1U << (x_))
++# ifndef BIT32
++#  define BIT32(x_) (1U << (x_))
+ # endif
+ 
+-# define FLAG(name_) name_ = BIT(name_##_BIT)
++# ifndef BIT64
++#  define BIT64(x_) (1ULL << (x_))
++# endif
++
++# ifndef MASK32
++#  define MASK32(x_) (BIT32(x_) - 1U)
++# endif
++
++# ifndef MASK64
++#  define MASK64(x_) (BIT64(x_) - 1ULL)
++# endif
++
++/*
++ * "Safe" versions that avoid UB for values that are >= type bit size
++ * (the usually expected behaviour of the bit shift in that case is zero,
++ * but at least powerpc is notorious for returning the input value when shift
++ * by 64 bits is performed).
++ */
++
++# define BIT32_SAFE(x_) ((x_) < 32 ? BIT32(x_) : 0)
++# define BIT64_SAFE(x_) ((x_) < 64 ? BIT64(x_) : 0)
++# define MASK32_SAFE(x_) (BIT32_SAFE(x_) - 1U)
++# define MASK64_SAFE(x_) (BIT64_SAFE(x_) - 1ULL)
++
++# define FLAG(name_) name_ = BIT32(name_##_BIT)
+ 
+ #endif /* !STRACE_MACROS_H */
+-- 
+2.1.4
+
diff --git a/SOURCES/0165-trie-use-BIT-and-MASK-macros.patch b/SOURCES/0165-trie-use-BIT-and-MASK-macros.patch
new file mode 100644
index 0000000..91c6fe3
--- /dev/null
+++ b/SOURCES/0165-trie-use-BIT-and-MASK-macros.patch
@@ -0,0 +1,151 @@
+From 8ef5456338a947944cc03b95c22c837af5884ddc Mon Sep 17 00:00:00 2001
+From: Eugene Syromyatnikov <evgsyr@gmail.com>
+Date: Wed, 18 Aug 2021 21:51:22 +0200
+Subject: [PATCH 149/150] trie: use BIT* and MASK* macros
+
+This makes reading the code a bit easier.  It also solves some issues
+where there is a hypothertical possibility of having bit shifts of size
+64, by virtue of using the *_SAFE macros (that should silence some
+reported "left shifting by more than 63 bits has undefined behavior"
+covscan issues).
+
+* src/trie.c (trie_create): Use BIT32, MASK64.
+(trie_create_data_block): Use BIT32, change iterator variable type
+to size_t.
+(trie_get_node): Use BIT64, MASK64.
+(trie_data_block_calc_pos): Use BIT32, MASK64, MASK64_SAFE.
+(trie_iterate_keys_node): Use BIT64, MASK64, MASK64_SAFE.
+(trie_free_node): Use BIT64.
+---
+ src/trie.c | 34 +++++++++++++++++-----------------
+ 1 file changed, 17 insertions(+), 17 deletions(-)
+
+diff --git a/src/trie.c b/src/trie.c
+index 586ff25..0a231e4 100644
+--- a/src/trie.c
++++ b/src/trie.c
+@@ -15,6 +15,7 @@
+ #include <stdio.h>
+ 
+ #include "trie.h"
++#include "macros.h"
+ #include "xmalloc.h"
+ 
+ static const uint8_t ptr_sz_lg = (sizeof(void *) == 8 ? 6 : 5);
+@@ -87,7 +88,7 @@ trie_create(uint8_t key_size, uint8_t item_size_lg, uint8_t node_key_bits,
+ 		/ t->node_key_bits;
+ 
+ 	if (item_size_lg != 6)
+-		t->empty_value &= (((uint64_t) 1 << (1 << t->item_size_lg)) - 1);
++		t->empty_value &= MASK64(BIT32(t->item_size_lg));
+ 
+ 	return t;
+ }
+@@ -96,8 +97,8 @@ static void *
+ trie_create_data_block(struct trie *t)
+ {
+ 	uint64_t fill_value = t->empty_value;
+-	for (int i = 1; i < 1 << (6 - t->item_size_lg); i++) {
+-		fill_value <<= (1 << t->item_size_lg);
++	for (size_t i = 1; i < BIT32(6 - t->item_size_lg); i++) {
++		fill_value <<= BIT32(t->item_size_lg);
+ 		fill_value |= t->empty_value;
+ 	}
+ 
+@@ -105,7 +106,7 @@ trie_create_data_block(struct trie *t)
+ 	if (sz < 6)
+ 		sz = 6;
+ 
+-	size_t count = 1 << (sz - 6);
++	size_t count = BIT32(sz - 6);
+ 	uint64_t *data_block = xcalloc(count, 8);
+ 
+ 	for (size_t i = 0; i < count; i++)
+@@ -119,7 +120,7 @@ trie_get_node(struct trie *t, uint64_t key, bool auto_create)
+ {
+ 	void **cur_node = &(t->data);
+ 
+-	if (t->key_size < 64 && key > (uint64_t) 1 << t->key_size)
++	if (t->key_size < 64 && key > MASK64(t->key_size))
+ 		return NULL;
+ 
+ 	for (uint8_t cur_depth = 0; cur_depth <= t->max_depth; cur_depth++) {
+@@ -133,13 +134,13 @@ trie_get_node(struct trie *t, uint64_t key, bool auto_create)
+ 			if (cur_depth == t->max_depth)
+ 				*cur_node = trie_create_data_block(t);
+ 			else
+-				*cur_node = xcalloc(1 << sz, 1);
++				*cur_node = xcalloc(BIT64(sz), 1);
+ 		}
+ 
+ 		if (cur_depth == t->max_depth)
+ 			break;
+ 
+-		size_t pos = (key >> offs) & ((1 << (sz - ptr_sz_lg)) - 1);
++		size_t pos = (key >> offs) & MASK64(sz - ptr_sz_lg);
+ 		cur_node = (((void **) (*cur_node)) + pos);
+ 	}
+ 
+@@ -152,7 +153,7 @@ trie_data_block_calc_pos(struct trie *t, uint64_t key,
+ {
+ 	uint64_t key_mask;
+ 
+-	key_mask = (1 << t->data_block_key_bits) - 1;
++	key_mask = MASK64(t->data_block_key_bits);
+ 	*pos = (key & key_mask) >> (6 - t->item_size_lg);
+ 
+ 	if (t->item_size_lg == 6) {
+@@ -161,10 +162,10 @@ trie_data_block_calc_pos(struct trie *t, uint64_t key,
+ 		return;
+ 	}
+ 
+-	key_mask = (1 << (6 - t->item_size_lg)) - 1;
+-	*offs = (key & key_mask) * (1 << t->item_size_lg);
++	key_mask = MASK64(6 - t->item_size_lg);
++	*offs = (key & key_mask) << t->item_size_lg;
+ 
+-	*mask = (((uint64_t) 1 << (1 << t->item_size_lg)) - 1) << *offs;
++	*mask = MASK64_SAFE(BIT32(t->item_size_lg)) << *offs;
+ }
+ 
+ bool
+@@ -211,7 +212,7 @@ trie_iterate_keys_node(struct trie *t,
+ 		return 0;
+ 
+ 	if (t->key_size < 64) {
+-		uint64_t key_max = ((uint64_t) 1 << t->key_size) - 1;
++		uint64_t key_max = MASK64(t->key_size);
+ 		if (end > key_max)
+ 			end = key_max;
+ 	}
+@@ -228,15 +229,14 @@ trie_iterate_keys_node(struct trie *t,
+ 		t->key_size :
+ 		trie_get_node_bit_offs(t, depth - 1);
+ 
+-	uint64_t first_key_in_node = start &
+-		(uint64_t) -1 << parent_node_bit_off;
++	uint64_t first_key_in_node = start & ~MASK64_SAFE(parent_node_bit_off);
+ 
+ 	uint8_t node_bit_off = trie_get_node_bit_offs(t, depth);
+ 	uint8_t node_key_bits = parent_node_bit_off - node_bit_off;
+-	uint64_t mask = ((uint64_t) 1 << (node_key_bits)) - 1;
++	uint64_t mask = MASK64_SAFE(node_key_bits);
+ 	uint64_t start_index = (start >> node_bit_off) & mask;
+ 	uint64_t end_index = (end >> node_bit_off) & mask;
+-	uint64_t child_key_count = (uint64_t) 1 << node_bit_off;
++	uint64_t child_key_count = BIT64(node_bit_off);
+ 
+ 	uint64_t count = 0;
+ 
+@@ -274,7 +274,7 @@ trie_free_node(struct trie *t, void *node, uint8_t depth)
+ 	if (depth >= t->max_depth)
+ 		goto free_node;
+ 
+-	size_t sz = 1 << (trie_get_node_size(t, depth) - ptr_sz_lg);
++	size_t sz = BIT64(trie_get_node_size(t, depth) - ptr_sz_lg);
+ 	for (size_t i = 0; i < sz; i++)
+ 		trie_free_node(t, ((void **) node)[i], depth + 1);
+ 
+-- 
+2.1.4
+
diff --git a/SOURCES/0166-tee-rewrite-num_params-access-in-tee_fetch_buf_data.patch b/SOURCES/0166-tee-rewrite-num_params-access-in-tee_fetch_buf_data.patch
new file mode 100644
index 0000000..56aa8a1
--- /dev/null
+++ b/SOURCES/0166-tee-rewrite-num_params-access-in-tee_fetch_buf_data.patch
@@ -0,0 +1,52 @@
+From 3a68f90c2a5a208b475cc2014f85ae04541ec5b6 Mon Sep 17 00:00:00 2001
+From: Eugene Syromyatnikov <evgsyr@gmail.com>
+Date: Fri, 20 Aug 2021 21:31:01 +0200
+Subject: [PATCH 150/150] tee: rewrite num_params access in tee_fetch_buf_data
+
+Pointer to num_params field of the fetched structure is passed in a
+separate function argument which provokes covscan complaints about
+uninitialised accesses and also tingles my aliasing rules senses.
+Rewrite to access it via the arg_struct argument which is fetched
+earlier in the function flow.
+
+* src/tee.c (TEE_FETCH_BUF_DATA): Change &arg_.num_params
+to offsetof(typeof(arg_), num_params).
+(tee_fetch_buf_data): Accept offset of the num_params field instead
+of pointer to it; reconstruct the num_params pointer using it.
+---
+ src/tee.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/src/tee.c b/src/tee.c
+index f9eda52..d7e9b15 100644
+--- a/src/tee.c
++++ b/src/tee.c
+@@ -33,7 +33,7 @@ struct tee_ioctl_shm_register_fd_data {
+ 
+ #define TEE_FETCH_BUF_DATA(buf_, arg_, params_) \
+ 	tee_fetch_buf_data(tcp, arg, &buf_, sizeof(arg_), \
+-			   &arg_, &arg_.num_params, \
++			   &arg_, offsetof(typeof(arg_), num_params), \
+ 			   params_)
+ 
+ /* session id is printed as 0x%x in libteec */
+@@ -56,7 +56,7 @@ tee_fetch_buf_data(struct tcb *const tcp,
+ 		   struct tee_ioctl_buf_data *buf,
+ 		   size_t arg_size,
+ 		   void *arg_struct,
+-		   unsigned *num_params,
++		   size_t num_params_offs,
+ 		   uint64_t *params)
+ {
+ 	if (umove_or_printaddr(tcp, arg, buf))
+@@ -69,6 +69,7 @@ tee_fetch_buf_data(struct tcb *const tcp,
+ 		tee_print_buf(buf);
+ 		return RVAL_IOCTL_DECODED;
+ 	}
++	uint32_t *num_params = (uint32_t *) (arg_struct + num_params_offs);
+ 	if (entering(tcp) &&
+ 	    (arg_size + TEE_IOCTL_PARAM_SIZE(*num_params) != buf->buf_len)) {
+ 		/*
+-- 
+2.1.4
+
diff --git a/SOURCES/0167-print_ifindex-fix-IFNAME_QUOTED_SZ-definition.patch b/SOURCES/0167-print_ifindex-fix-IFNAME_QUOTED_SZ-definition.patch
new file mode 100644
index 0000000..9f19614
--- /dev/null
+++ b/SOURCES/0167-print_ifindex-fix-IFNAME_QUOTED_SZ-definition.patch
@@ -0,0 +1,55 @@
+From e27b06773eaf5c0307bcc5637d7457be9be1e6ea Mon Sep 17 00:00:00 2001
+From: Eugene Syromyatnikov <evgsyr@gmail.com>
+Date: Wed, 1 Dec 2021 17:11:02 +0100
+Subject: [PATCH] print_ifindex: fix IFNAME_QUOTED_SZ definition
+
+sizeof(IFNAMSIZ) instead of IFNAMSIZ was mistakenly used
+for IFNAME_QUOTED_SZ initial definition in commit v4.23~87
+"print_ifindex: respect xlat style settings".
+
+* src/print_ifindex.c (IFNAME_QUOTED_SZ): Use IFNAMSIZ
+instead of sizeof(IFNAMSIZ).
+* NEWS: Mention it.
+
+Reported-by: Paulo Andrade <pandrade@redhat.com>
+Suggested-by: Paulo Andrade <pandrade@redhat.com>
+Fixes: v4.23~87 "print_ifindex: respect xlat style settings"
+References: https://bugzilla.redhat.com/show_bug.cgi?id=2028146
+---
+ NEWS                | 4 ++++
+ src/print_ifindex.c | 2 +-
+ 2 files changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/NEWS b/NEWS
+index 9bab673..a3036b8 100644
+--- a/NEWS
++++ b/NEWS
+@@ -16,6 +16,12 @@ Noteworthy changes in release ?.?? (????-??-??)
+     PTRACE_*, RTM_*, RTPROT_*, TRAP_*, UFFD_*, UFFDIO_*, and V4L2_* constants.
+   * Updated lists of ioctl commands from Linux 5.13.
+ 
++ * Bug fixes
++  * Fixed insufficient buffer size used for network interface name printing,
++    that previously led to assertions on attempts of printing interface names
++    that require quoting, for example, names longer than 4 characters in -xx
++    mode (addresses RHBZ bug #2028146).
++
+ * Portability
+   * On powerpc and powerpc64, linux kernel >= 2.6.23 is required.
+     Older versions without a decent PTRACE_GETREGS support will not work.
+diff --git a/src/print_ifindex.c b/src/print_ifindex.c
+index ec48093..dc9d592 100644
+--- a/src/print_ifindex.c
++++ b/src/print_ifindex.c
+@@ -13,7 +13,7 @@
+ 
+ # define INI_PFX "if_nametoindex(\""
+ # define INI_SFX "\")"
+-# define IFNAME_QUOTED_SZ (sizeof(IFNAMSIZ) * 4 + 3)
++# define IFNAME_QUOTED_SZ (IFNAMSIZ * 4 + 3)
+ 
+ const char *
+ get_ifname(const unsigned int ifindex)
+-- 
+2.1.4
+
diff --git a/SOURCES/0168-m4-fix-st_SELINUX-check.patch b/SOURCES/0168-m4-fix-st_SELINUX-check.patch
new file mode 100644
index 0000000..9c3203f
--- /dev/null
+++ b/SOURCES/0168-m4-fix-st_SELINUX-check.patch
@@ -0,0 +1,208 @@
+From b8f375c2c8140e759122bca3e3469386d3ba5184 Mon Sep 17 00:00:00 2001
+From: "Dmitry V. Levin" <ldv@strace.io>
+Date: Mon, 29 Nov 2021 08:00:00 +0000
+Subject: [PATCH 168/174] m4: fix st_SELINUX check
+
+* m4/st_selinux.m4: Make sure selinux support is enabled only if
+all expected functions are provided by libselinux.
+
+Fixes: v5.12~49 "Implement --secontext[=full] option to display SELinux contexts"
+---
+ m4/st_selinux.m4 | 36 ++++++++++++++++--------------------
+ 1 file changed, 16 insertions(+), 20 deletions(-)
+
+diff --git a/m4/st_selinux.m4 b/m4/st_selinux.m4
+index da72a48..7b24eba 100644
+--- a/m4/st_selinux.m4
++++ b/m4/st_selinux.m4
+@@ -34,29 +34,25 @@ AS_IF([test "x$with_libselinux" != xno],
+        AS_IF([test "x$found_selinux_h" = xyes],
+ 	     [saved_LDFLAGS="$LDFLAGS"
+ 	      LDFLAGS="$LDFLAGS $libselinux_LDFLAGS"
+-	      AC_CHECK_LIB([selinux],[getpidcon],
+-		[libselinux_LIBS="-lselinux"
+-		 enable_secontext=yes
+-		],
+-		[if test "x$with_libselinux" != xcheck; then
+-		   AC_MSG_FAILURE([failed to find getpidcon in libselinux])
+-		 fi
+-		]
+-	      )
+-	      AC_CHECK_LIB([selinux],[getfilecon],
+-		[libselinux_LIBS="-lselinux"
+-		 enable_secontext=yes
+-		],
+-		[if test "x$with_libselinux" != xcheck; then
+-		   AC_MSG_FAILURE([failed to find getfilecon in libselinux])
+-		 fi
+-		]
++	      missing=
++	      for func in getpidcon getfilecon; do
++		AC_CHECK_LIB([selinux], [$func], [:],
++			     [missing="$missing $func"])
++	      done
++	      AS_IF([test "x$missing" = x],
++	            [libselinux_LIBS="-lselinux"
++		     enable_secontext=yes
++		    ],
++		    [AS_IF([test "x$with_libselinux" != xcheck],
++			   [AC_MSG_FAILURE([failed to find in libselinux:$missing])]
++		     )
++		    ]
+ 	      )
+ 	      LDFLAGS="$saved_LDFLAGS"
+ 	     ],
+-	     [if test "x$with_libselinux" != xcheck; then
+-		AC_MSG_FAILURE([failed to find selinux.h])
+-	      fi
++	     [AS_IF([test "x$with_libselinux" != xcheck],
++		    [AC_MSG_FAILURE([failed to find selinux.h])]
++	      )
+ 	     ]
+        )
+       ]
+--- old/configure	2022-02-07 20:17:58.364068436 +0100
++++ new/configure	2022-02-07 20:19:17.092067347 +0100
+@@ -18437,9 +18437,12 @@
+        if test "x$found_selinux_h" = xyes; then :
+   saved_LDFLAGS="$LDFLAGS"
+ 	      LDFLAGS="$LDFLAGS $libselinux_LDFLAGS"
+-	      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getpidcon in -lselinux" >&5
+-$as_echo_n "checking for getpidcon in -lselinux... " >&6; }
+-if ${ac_cv_lib_selinux_getpidcon+:} false; then :
++	      missing=
++	      for func in getpidcon getfilecon; do
++		as_ac_Lib=`$as_echo "ac_cv_lib_selinux_$func" | $as_tr_sh`
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $func in -lselinux" >&5
++$as_echo_n "checking for $func in -lselinux... " >&6; }
++if eval \${$as_ac_Lib+:} false; then :
+   $as_echo_n "(cached) " >&6
+ else
+   ac_check_lib_save_LIBS=$LIBS
+@@ -18453,101 +18456,59 @@
+ #ifdef __cplusplus
+ extern "C"
+ #endif
+-char getpidcon ();
++char $func ();
+ int
+ main ()
+ {
+-return getpidcon ();
++return $func ();
+   ;
+   return 0;
+ }
+ _ACEOF
+ if ac_fn_c_try_link "$LINENO"; then :
+-  ac_cv_lib_selinux_getpidcon=yes
++  eval "$as_ac_Lib=yes"
+ else
+-  ac_cv_lib_selinux_getpidcon=no
++  eval "$as_ac_Lib=no"
+ fi
+ rm -f core conftest.err conftest.$ac_objext \
+     conftest$ac_exeext conftest.$ac_ext
+ LIBS=$ac_check_lib_save_LIBS
+ fi
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_selinux_getpidcon" >&5
+-$as_echo "$ac_cv_lib_selinux_getpidcon" >&6; }
+-if test "x$ac_cv_lib_selinux_getpidcon" = xyes; then :
+-  libselinux_LIBS="-lselinux"
+-		 enable_secontext=yes
+-
++eval ac_res=\$$as_ac_Lib
++	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
++$as_echo "$ac_res" >&6; }
++if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then :
++  :
+ else
+-  if test "x$with_libselinux" != xcheck; then
+-		   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+-as_fn_error $? "failed to find getpidcon in libselinux
+-See \`config.log' for more details" "$LINENO" 5; }
+-		 fi
+-
+-
++  missing="$missing $func"
+ fi
+ 
+-	      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getfilecon in -lselinux" >&5
+-$as_echo_n "checking for getfilecon in -lselinux... " >&6; }
+-if ${ac_cv_lib_selinux_getfilecon+:} false; then :
+-  $as_echo_n "(cached) " >&6
+-else
+-  ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lselinux  $LIBS"
+-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+-/* end confdefs.h.  */
+-
+-/* Override any GCC internal prototype to avoid an error.
+-   Use char because int might match the return type of a GCC
+-   builtin and then its argument prototype would still apply.  */
+-#ifdef __cplusplus
+-extern "C"
+-#endif
+-char getfilecon ();
+-int
+-main ()
+-{
+-return getfilecon ();
+-  ;
+-  return 0;
+-}
+-_ACEOF
+-if ac_fn_c_try_link "$LINENO"; then :
+-  ac_cv_lib_selinux_getfilecon=yes
+-else
+-  ac_cv_lib_selinux_getfilecon=no
+-fi
+-rm -f core conftest.err conftest.$ac_objext \
+-    conftest$ac_exeext conftest.$ac_ext
+-LIBS=$ac_check_lib_save_LIBS
+-fi
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_selinux_getfilecon" >&5
+-$as_echo "$ac_cv_lib_selinux_getfilecon" >&6; }
+-if test "x$ac_cv_lib_selinux_getfilecon" = xyes; then :
++	      done
++	      if test "x$missing" = x; then :
+   libselinux_LIBS="-lselinux"
+-		 enable_secontext=yes
++		     enable_secontext=yes
+ 
+ else
+-  if test "x$with_libselinux" != xcheck; then
+-		   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
++  if test "x$with_libselinux" != xcheck; then :
++  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+-as_fn_error $? "failed to find getfilecon in libselinux
++as_fn_error $? "failed to find in libselinux:$missing
+ See \`config.log' for more details" "$LINENO" 5; }
+-		 fi
+-
+ 
+ fi
+ 
++
++fi
+ 	      LDFLAGS="$saved_LDFLAGS"
+ 
+ else
+-  if test "x$with_libselinux" != xcheck; then
+-		{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
++  if test "x$with_libselinux" != xcheck; then :
++  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+ as_fn_error $? "failed to find selinux.h
+ See \`config.log' for more details" "$LINENO" 5; }
+-	      fi
++
++fi
+ 
+ 
+ fi
+-- 
+2.1.4
+
diff --git a/SOURCES/0169-Implement-displaying-of-expected-context-upon-mismat.patch b/SOURCES/0169-Implement-displaying-of-expected-context-upon-mismat.patch
new file mode 100644
index 0000000..c1e08db
--- /dev/null
+++ b/SOURCES/0169-Implement-displaying-of-expected-context-upon-mismat.patch
@@ -0,0 +1,6958 @@
+From 8b07b18a44f7e0ebdb65b791d79d588dd90b70b6 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Renaud=20M=C3=A9trich?= <rmetrich@redhat.com>
+Date: Tue, 5 Oct 2021 08:36:22 +0200
+Subject: [PATCH 169/174] Implement displaying of expected context upon
+ mismatch
+
+New option to --secontext=... (also available as -e secontext=...)
+- mismatch: print expected context on mismatch
+
+When using 'mismatch', an additional check is made on the context by
+reading the context database and comparing the output after stripping
+the unwanted part (e.g. stripping nothing in 'full' mode, keeping the
+type only in default mode):
+- if it differs, prints the expected context after printing '!!'
+- if not, don't print anything
+
+Example with /home/rmetrich/GIT/strace/autom4te.cache/output.3 file:
+
+----
+$ matchpathcon /home/rmetrich/GIT/strace/autom4te.cache/output.3
+/home/rmetrich/GIT/strace/autom4te.cache/output.3	unconfined_u:object_r:user_home_t:s0
+
+$ ls -Z /home/rmetrich/GIT/strace/autom4te.cache/output.3
+system_u:object_r:user_home_t:s0 /home/rmetrich/GIT/strace/autom4te.cache/output.3
+----
+
+From above, we see the user part differs ('unconfined_u' vs 'system_u')
+
+Output in '!full' mode (no diff found on type):
+
+----
+$ strace --secontext=mismatch -e statx stat /home/rmetrich/GIT/strace/autom4te.cache/output.3
+... statx(AT_FDCWD, "/home/rmetrich/GIT/strace/autom4te.cache/output.3" [user_home_t], ...
+----
+
+Output in 'full' mode (diff found on user):
+
+----
+... statx(AT_FDCWD, "/home/rmetrich/GIT/strace/autom4te.cache/output.3" [system_u:object_r:user_home_t:s0!!unconfined_u:object_r:user_home_t:s0], ...
+----
+
+* NEWS: Mention this change.
+* doc/strace.1.in: Document it.
+* m4/st_selinux.m4 (st_SELINUX): Check for selabel_open
+and selabel_lookup.
+* src/filter_qualify.c [ENABLE_SECONTEXT]: Include "secontext.h".
+[ENABLE_SECONTEXT] (secontext_set): New variable.
+[ENABLE_SECONTEXT] (secontextstr_to_uint, qualify_secontext): New
+functions.
+(qual_options) [ENABLE_SECONTEXT]: Add "secontext".
+* src/secontext.c: Include <sys/stat.h>, <unistd.h>, <selinux/label.h>,
+"largefile_wrappers.h", "number_set.h", and "xmalloc.h".
+(selinux_context, selinux_context_full): Remove.
+(getcontext): Use is_number_in_set instead of selinux_context_full.
+(selinux_getpidcon): Use is_number_in_set instead of selinux_context.
+(get_expected_filecontext): New function.
+(selinux_getfdcon, selinux_getfilecon): Use it to print context mismatch
+if SECONTEXT_MISMATCH is set in secontext_set.
+* src/secontext.h (selinux_context, selinux_context_full): Remove.
+(secontext_bits): New enum.
+(secontext_set, qualify_secontext, selinux_set_format): New
+declarations.
+* src/strace.c (SECONTEXT_E_QUAL): New macro.
+(usage): Use it, describe --secontext.
+(init) [ENABLE_SECONTEXT]: Call qualify_secontext, rename
+GETOPT_SECONTEXT to GETOPT_QUAL_SECONTEXT, use is_number_in_set
+instead of selinux_context.
+(init) [ENABLE_SECONTEXT] (secontext_qual): New variable.
+(init) [ENABLE_SECONTEXT] <GETOPT_QUAL_SECONTEXT>: Use it.
+* tests/.gitignore: Add *--secontext_full_mismatch,
+*--secontext_full_mismatch.c, *--secontext_mismatch, and
+*--secontext_mismatch.c.
+* tests/gen_secontext.sh: Generate *--secontext_full_mismatch.c
+and *--secontext_mismatch.c.
+* tests/gen_tests.in (access--secontext_full_mismatch,
+access--secontext_mismatch, chmod--secontext_full_mismatch,
+chmod--secontext_mismatch, execve--secontext_full_mismatch,
+execve--secontext_mismatch, execveat--secontext_full_mismatch,
+execveat--secontext_mismatch, faccessat--secontext_full_mismatch,
+faccessat--secontext_mismatch, faccessat-y--secontext_full_mismatch,
+faccessat-y--secontext_mismatch, fanotify_mark--secontext_full_mismatch,
+fanotify_mark--secontext_mismatch, fchmod--secontext_full_mismatch,
+fchmod--secontext_mismatch, fchmod-y--secontext_full_mismatch,
+fchmod-y--secontext_mismatch, fchmodat--secontext_full_mismatch,
+fchmodat--secontext_mismatch, fchownat--secontext_full_mismatch,
+fchownat--secontext_mismatch, file_handle--secontext_full_mismatch,
+file_handle--secontext_mismatch, linkat--secontext_full_mismatch,
+linkat--secontext_mismatch, open--secontext_full_mismatch,
+open--secontext_mismatch, openat--secontext_full_mismatch,
+openat--secontext_mismatch): New tests.
+* tests/linkat.c: Include <string.h>.
+(main) [PRINT_SECONTEXT_MISMATCH]: Check context mismatch.
+* tests/options-syntax.test: Check --secontext and -e secontext syntax.
+* tests/secontext.h (secontext_field): New enum.
+(secontext_full_file, secontext_short_file): Add "mismatch" argument.
+(update_secontext_type): Rename to update_secontext_field, add "field"
+argument.
+(SECONTEXT_FILE): Conditionalize "mismatch" argument passed to
+secontext_full_file and secontext_short_file on
+PRINT_SECONTEXT_MISMATCH.
+* tests/secontext.c: Include <sys/stat.h> and <selinux/label.h>.
+(get_type_from_context, raw_expected_secontext_full_file,
+raw_expected_secontext_short_file): New functions.
+(raw_secontext_short_file, raw_secontext_short_pid): Use
+get_type_from_context.
+(secontext_full_file): Add "mismatch" argument, use
+raw_expected_secontext_full_file if mismatch is enabled.
+(secontext_short_file): Add "mismatch" argument, use
+raw_expected_secontext_short_file if mismatch is enabled.
+(update_secontext_type): Rename to update_secontext_field, add "field"
+argument.
+
+Co-authored-by: Dmitry V. Levin <ldv@strace.io>
+
+Conflicts:
+	NEWS
+	doc/strace.1.in
+	src/filter_qualify.c
+	src/strace.c
+---
+ NEWS                      |   2 +
+ doc/strace.1.in           |  33 +++++++--
+ m4/st_selinux.m4          |   2 +-
+ src/filter_qualify.c      |  29 ++++++++
+ src/secontext.c           | 114 ++++++++++++++++++++++++++----
+ src/secontext.h           |  15 +++-
+ src/strace.c              |  49 ++++++++-----
+ tests/.gitignore          |   4 ++
+ tests/gen_secontext.sh    |  12 +++-
+ tests/gen_tests.in        |  34 ++++++++-
+ tests/linkat.c            |  46 +++++++++++-
+ tests/options-syntax.test |  14 +++-
+ tests/secontext.c         | 176 ++++++++++++++++++++++++++++++++--------------
+ tests/secontext.h         |  28 ++++++--
+ 14 files changed, 453 insertions(+), 105 deletions(-)
+
+diff --git a/NEWS b/NEWS
+index 969ed11..f7542ea 100644
+--- a/NEWS
++++ b/NEWS
+@@ -2,6 +2,8 @@ Noteworthy changes in release 5.13 (2021-07-18)
+ ===============================================
+ 
+ * Improvements
++  * Implemented --secontext=mismatch option to find mismatches in SELinux
++    contexts.
+   * Print netlink data in a more structured way.
+   * Implemented decoding of NT_PRSTATUS and NT_FPREGSET regsets
+     of PTRACE_GETREGSET and PTRACE_SETREGSET requests.
+diff --git a/doc/strace.1.in b/doc/strace.1.in
+index 003e9e5..439243b 100644
+--- a/doc/strace.1.in
++++ b/doc/strace.1.in
+@@ -53,7 +53,7 @@ strace \- trace system calls and signals
+ .OM \-P path
+ .OM \-p pid
+ .OP \-\-seccomp\-bpf
+-.if '@ENABLE_SECONTEXT_FALSE@'#' .OP \-\-secontext\fR[=full]
++.if '@ENABLE_SECONTEXT_FALSE@'#' .OP \-\-secontext\fR[=\fIformat\fR]
+ .BR "" {
+ .OR \-p pid
+ .BR "" |
+@@ -259,6 +259,7 @@ is one of
+ .BR inject ,
+ .BR status ,
+ .BR quiet " (or " silent " or " silence " or " q ),
++.if '@ENABLE_SECONTEXT_FALSE@'#' .BR secontext ,
+ .BR decode\-fds " (or " decode\-fd ),
+ or
+ .BR kvm ,
+@@ -1086,13 +1087,33 @@ and PIDs associated with pidfd file descriptors.
+ If strace and tracee are in different PID namespaces, print PIDs in
+ strace's namespace, too.
+ .if '@ENABLE_SECONTEXT_FALSE@'#' .TP
+-.if '@ENABLE_SECONTEXT_FALSE@'#' .BR \-\-secontext "[=full]"
++.if '@ENABLE_SECONTEXT_FALSE@'#' .BR \-\-secontext\fR[=\fIformat\fR]
++.if '@ENABLE_SECONTEXT_FALSE@'#' .TQ
++.if '@ENABLE_SECONTEXT_FALSE@'#' .BR \-e\ secontext\fR=\fIformat\fR
+ .if '@ENABLE_SECONTEXT_FALSE@'#' When SELinux is available and is not disabled,
+ .if '@ENABLE_SECONTEXT_FALSE@'#' print in square brackets SELinux contexts of
+-.if '@ENABLE_SECONTEXT_FALSE@'#' processes, files, and descriptors.  When
+-.if '@ENABLE_SECONTEXT_FALSE@'#' .B full
+-.if '@ENABLE_SECONTEXT_FALSE@'#' is specified, print the complete context (user,
+-.if '@ENABLE_SECONTEXT_FALSE@'#' role, type and category) instead of just the type.
++.if '@ENABLE_SECONTEXT_FALSE@'#' processes, files, and descriptors.  The
++.if '@ENABLE_SECONTEXT_FALSE@'#' .I format
++.if '@ENABLE_SECONTEXT_FALSE@'#' argument is a comma-separated list of items
++.if '@ENABLE_SECONTEXT_FALSE@'#' being one of the following:
++.if '@ENABLE_SECONTEXT_FALSE@'#' .RS
++.if '@ENABLE_SECONTEXT_FALSE@'#' .TP 18
++.if '@ENABLE_SECONTEXT_FALSE@'#' .BR full
++.if '@ENABLE_SECONTEXT_FALSE@'#' Print the full context (user, role, type level
++.if '@ENABLE_SECONTEXT_FALSE@'#' and category).
++.if '@ENABLE_SECONTEXT_FALSE@'#' .TQ
++.if '@ENABLE_SECONTEXT_FALSE@'#' .BR mismatch
++.if '@ENABLE_SECONTEXT_FALSE@'#' Also print the context recorded by the SELinux
++.if '@ENABLE_SECONTEXT_FALSE@'#' database in case the current context differs.
++.if '@ENABLE_SECONTEXT_FALSE@'#' The latter is printed after two exclamation marks (!!).
++.if '@ENABLE_SECONTEXT_FALSE@'#' .RE
++.if '@ENABLE_SECONTEXT_FALSE@'#' .IP
++.if '@ENABLE_SECONTEXT_FALSE@'#' The default value for
++.if '@ENABLE_SECONTEXT_FALSE@'#' .BR \-\-secontext
++.if '@ENABLE_SECONTEXT_FALSE@'#' is
++.if '@ENABLE_SECONTEXT_FALSE@'#' .BR !full,mismatch
++.if '@ENABLE_SECONTEXT_FALSE@'#' which prints only the type instead of full context
++.if '@ENABLE_SECONTEXT_FALSE@'#' and doesn't check for context mismatches.
+ .SS Statistics
+ .TP 12
+ .B \-c
+diff --git a/m4/st_selinux.m4 b/m4/st_selinux.m4
+index 7b24eba..60e23a9 100644
+--- a/m4/st_selinux.m4
++++ b/m4/st_selinux.m4
+@@ -35,7 +35,7 @@ AS_IF([test "x$with_libselinux" != xno],
+ 	     [saved_LDFLAGS="$LDFLAGS"
+ 	      LDFLAGS="$LDFLAGS $libselinux_LDFLAGS"
+ 	      missing=
+-	      for func in getpidcon getfilecon; do
++	      for func in getpidcon getfilecon selabel_open selabel_lookup; do
+ 		AC_CHECK_LIB([selinux], [$func], [:],
+ 			     [missing="$missing $func"])
+ 	      done
+diff --git a/src/filter_qualify.c b/src/filter_qualify.c
+index df05496..a5b4fe7 100644
+--- a/src/filter_qualify.c
++++ b/src/filter_qualify.c
+@@ -14,6 +14,9 @@
+ #include "poke.h"
+ #include "retval.h"
+ #include "static_assert.h"
++#ifdef ENABLE_SECONTEXT
++# include "secontext.h"
++#endif
+ 
+ struct number_set *read_set;
+ struct number_set *write_set;
+@@ -591,6 +594,29 @@ qualify_kvm(const char *const str)
+ 	}
+ }
+ 
++#ifdef ENABLE_SECONTEXT
++struct number_set *secontext_set;
++
++static int
++secontextstr_to_uint(const char *s)
++{
++	static const struct xlat_data secontext_strs[] = {
++		{ SECONTEXT_FULL,	"full" },
++		{ SECONTEXT_MISMATCH,	"mismatch" },
++	};
++
++	return (int) find_arg_val(s, secontext_strs, -1ULL, -1ULL);
++}
++
++void
++qualify_secontext(const char *const str)
++{
++	if (!secontext_set)
++		secontext_set = alloc_number_set_array(1);
++	qualify_tokens(str, secontext_set, secontextstr_to_uint, "secontext");
++}
++#endif
++
+ static const struct qual_options {
+ 	const char *name;
+ 	void (*qualify)(const char *);
+@@ -622,6 +648,9 @@ static const struct qual_options {
+ 	{ "kvm",	qualify_kvm	},
+ 	{ "decode-fd",	qualify_decode_fd },
+ 	{ "decode-fds",	qualify_decode_fd },
++#ifdef ENABLE_SECONTEXT
++	{ "secontext",  qualify_secontext },
++#endif
+ };
+ 
+ void
+diff --git a/src/secontext.c b/src/secontext.c
+index ccf9b34..9a91386 100644
+--- a/src/secontext.c
++++ b/src/secontext.c
+@@ -10,14 +10,17 @@
+ #include <stdlib.h>
+ #include <fcntl.h>
+ #include <limits.h>
++#include <sys/stat.h>
++#include <unistd.h>
+ #include <selinux/selinux.h>
++#include <selinux/label.h>
+ 
++#include "largefile_wrappers.h"
++#include "number_set.h"
+ #include "secontext.h"
++#include "xmalloc.h"
+ #include "xstring.h"
+ 
+-bool selinux_context = false;
+-bool selinux_context_full = false;
+-
+ static int
+ getcontext(int rc, char **secontext, char **result)
+ {
+@@ -25,7 +28,7 @@ getcontext(int rc, char **secontext, char **result)
+ 		return rc;
+ 
+ 	*result = NULL;
+-	if (!selinux_context_full) {
++	if (!is_number_in_set(SECONTEXT_FULL, secontext_set)) {
+ 		char *saveptr = NULL;
+ 		char *secontext_copy = xstrdup(*secontext);
+ 		const char *token;
+@@ -59,6 +62,36 @@ getcontext(int rc, char **secontext, char **result)
+ 	freecon(*secontext);
+ 	return 0;
+ }
++
++static int
++get_expected_filecontext(const char *path, char **result)
++{
++	static struct selabel_handle *hdl;
++
++	if (!hdl) {
++		static bool disabled;
++		if (disabled)
++			return -1;
++
++		hdl = selabel_open(SELABEL_CTX_FILE, NULL, 0);
++		if (!hdl) {
++			perror_msg("could not open SELinux database, disabling "
++				   "context mismatch checking");
++			disabled = true;
++			return -1;
++		}
++	}
++
++	strace_stat_t stb;
++	if (stat_file(path, &stb) < 0) {
++		return -1;
++	}
++
++	char *secontext;
++	return getcontext(selabel_lookup(hdl, &secontext, path, stb.st_mode),
++			  &secontext, result);
++}
++
+ /*
+  * Retrieves the SELinux context of the given PID (extracted from the tcb).
+  * Memory must be freed.
+@@ -67,7 +100,7 @@ getcontext(int rc, char **secontext, char **result)
+ int
+ selinux_getpidcon(struct tcb *tcp, char **result)
+ {
+-	if (!selinux_context)
++	if (number_set_array_is_empty(secontext_set, 0))
+ 		return -1;
+ 
+ 	int proc_pid = 0;
+@@ -87,7 +120,7 @@ selinux_getpidcon(struct tcb *tcp, char **result)
+ int
+ selinux_getfdcon(pid_t pid, int fd, char **result)
+ {
+-	if (!selinux_context || pid <= 0 || fd < 0)
++	if (number_set_array_is_empty(secontext_set, 0) || pid <= 0 || fd < 0)
+ 		return -1;
+ 
+ 	int proc_pid = 0;
+@@ -99,7 +132,33 @@ selinux_getfdcon(pid_t pid, int fd, char **result)
+ 	xsprintf(linkpath, "/proc/%u/fd/%u", proc_pid, fd);
+ 
+ 	char *secontext;
+-	return getcontext(getfilecon(linkpath, &secontext), &secontext, result);
++	int rc = getcontext(getfilecon(linkpath, &secontext), &secontext, result);
++	if (rc < 0 || !is_number_in_set(SECONTEXT_MISMATCH, secontext_set))
++		return rc;
++
++	/*
++	 * We need to resolve the path, because selabel_lookup() doesn't
++	 * resolve anything.  Using readlink() is sufficient here.
++	 */
++
++	char buf[PATH_MAX];
++	ssize_t n = readlink(linkpath, buf, sizeof(buf));
++	if ((size_t) n >= sizeof(buf))
++		return 0;
++	buf[n] = '\0';
++
++	char *expected;
++	if (get_expected_filecontext(buf, &expected) < 0)
++		return 0;
++	if (strcmp(expected, *result) == 0) {
++		free(expected);
++		return 0;
++	}
++	char *final_result = xasprintf("%s!!%s", *result, expected);
++	free(expected);
++	free(*result);
++	*result = final_result;
++	return 0;
+ }
+ 
+ /*
+@@ -110,7 +169,7 @@ selinux_getfdcon(pid_t pid, int fd, char **result)
+ int
+ selinux_getfilecon(struct tcb *tcp, const char *path, char **result)
+ {
+-	if (!selinux_context)
++	if (number_set_array_is_empty(secontext_set, 0))
+ 		return -1;
+ 
+ 	int proc_pid = 0;
+@@ -118,22 +177,49 @@ selinux_getfilecon(struct tcb *tcp, const char *path, char **result)
+ 	if (!proc_pid)
+ 		return -1;
+ 
+-	int ret = -1;
++	int rc = -1;
+ 	char fname[PATH_MAX];
+ 
+ 	if (path[0] == '/')
+-		ret = snprintf(fname, sizeof(fname), "/proc/%u/root%s",
++		rc = snprintf(fname, sizeof(fname), "/proc/%u/root%s",
+ 			       proc_pid, path);
+ 	else if (tcp->last_dirfd == AT_FDCWD)
+-		ret = snprintf(fname, sizeof(fname), "/proc/%u/cwd/%s",
++		rc = snprintf(fname, sizeof(fname), "/proc/%u/cwd/%s",
+ 			       proc_pid, path);
+ 	else if (tcp->last_dirfd >= 0 )
+-		ret = snprintf(fname, sizeof(fname), "/proc/%u/fd/%u/%s",
++		rc = snprintf(fname, sizeof(fname), "/proc/%u/fd/%u/%s",
+ 			       proc_pid, tcp->last_dirfd, path);
+ 
+-	if ((unsigned int) ret >= sizeof(fname))
++	if ((unsigned int) rc >= sizeof(fname))
+ 		return -1;
+ 
+ 	char *secontext;
+-	return getcontext(getfilecon(fname, &secontext), &secontext, result);
++	rc = getcontext(getfilecon(fname, &secontext), &secontext, result);
++	if (rc < 0 || !is_number_in_set(SECONTEXT_MISMATCH, secontext_set))
++		return rc;
++
++	/*
++	 * We need to fully resolve the path, because selabel_lookup() doesn't
++	 * resolve anything.  Using realpath() is the only solution here to make
++	 * sure the path is canonicalized.
++	 */
++
++	char *resolved = realpath(fname, NULL);
++	if (!resolved)
++		return 0;
++
++	char *expected;
++	rc = get_expected_filecontext(resolved, &expected);
++	free(resolved);
++	if (rc < 0)
++		return 0;
++	if (strcmp(expected, *result) == 0) {
++		free(expected);
++		return 0;
++	}
++	char *final_result = xasprintf("%s!!%s", *result, expected);
++	free(expected);
++	free(*result);
++	*result = final_result;
++	return 0;
+ }
+diff --git a/src/secontext.h b/src/secontext.h
+index 1ed88c7..39222d0 100644
+--- a/src/secontext.h
++++ b/src/secontext.h
+@@ -11,11 +11,22 @@
+ 
+ # include "defs.h"
+ 
+-extern bool selinux_context;
+-extern bool selinux_context_full;
++void qualify_secontext(const char *const str);
++
++enum secontext_bits {
++	/* Display full context instead of type only */
++	SECONTEXT_FULL,
++	/* Check for context mismatch */
++	SECONTEXT_MISMATCH,
++
++	NUMBER_OF_SECONTEXT_BITS
++};
++
++extern struct number_set *secontext_set;
+ 
+ int selinux_getfdcon(pid_t pid, int fd, char **context);
+ int selinux_getfilecon(struct tcb *tcp, const char *path, char **context);
+ int selinux_getpidcon(struct tcb *tcp, char **context);
++void selinux_set_format(const char *optarg);
+ 
+ #endif /* !STRACE_SECONTEXT_H */
+diff --git a/src/strace.c b/src/strace.c
+index fb42fe9..0a18478 100644
+--- a/src/strace.c
++++ b/src/strace.c
+@@ -264,9 +264,11 @@ usage(void)
+ # define K_OPT ""
+ #endif
+ #ifdef ENABLE_SECONTEXT
+-# define SECONTEXT_OPT "[--secontext[=full]]\n"
++# define SECONTEXT_OPT "              [--secontext[=FORMAT]]\n"
++# define SECONTEXT_E_QUAL ", secontext"
+ #else
+ # define SECONTEXT_OPT ""
++# define SECONTEXT_E_QUAL ""
+ #endif
+ 
+ 	printf("\
+@@ -282,7 +284,7 @@ Usage: strace [-ACdffhi" K_OPT "qqrtttTvVwxxyyzZ] [-I N] [-b execve] [-e EXPR]..
+ General:\n\
+   -e EXPR        a qualifying expression: OPTION=[!]all or OPTION=[!]VAL1[,VAL2]...\n\
+      options:    trace, abbrev, verbose, raw, signal, read, write, fault,\n\
+-                 inject, status, quiet, kvm, decode-fds\n\
++                 inject, status, quiet, kvm, decode-fds" SECONTEXT_E_QUAL "\n\
+ \n\
+ Startup:\n\
+   -E VAR=VAL, --env=VAR=VAL\n\
+@@ -358,6 +360,19 @@ Output format:\n\
+                  path (file path),\n\
+                  pidfd (associated PID for pidfds),\n\
+                  socket (protocol-specific information for socket descriptors)\n\
++"
++#ifdef ENABLE_SECONTEXT
++"\
++  -e secontext=FORMAT, --secontext[=FORMAT]\n\
++                 print SELinux contexts in square brackets\n\
++     formats:    comma-separated list of all, full, mismatch, none\n\
++                 all: equivalent to full,mismatch\n\
++                 full: print the full context instead of the type only\n\
++                 mismatch: print expected context when actual is not matching\n\
++                 none: equivalent to not specifying the option at all\n\
++"
++#endif
++"\
+   -i, --instruction-pointer\n\
+                  print instruction pointer at time of syscall\n\
+ "
+@@ -1991,6 +2006,9 @@ init(int argc, char *argv[])
+ 	static const char tflag_str[] = "format:time";
+ 	static const char ttflag_str[] = "precision:us,format:time";
+ 	static const char tttflag_str[] = "format:unix,precision:us";
++#ifdef ENABLE_SECONTEXT
++	static const char secontext_qual[] = "!full,mismatch";
++#endif
+ 
+ 	int c, i;
+ 	int optF = 0, zflags = 0;
+@@ -2054,6 +2072,9 @@ init(int argc, char *argv[])
+ 	qualify_quiet("none");
+ 	qualify_decode_fd("none");
+ 	qualify_signals("all");
++#ifdef ENABLE_SECONTEXT
++	qualify_secontext("none");
++#endif
+ 
+ 	static const char optstring[] =
+ 		"+a:Ab:cCdDe:E:fFhiI:kno:O:p:P:qrs:S:tTu:U:vVwxX:yzZ";
+@@ -2066,9 +2087,6 @@ init(int argc, char *argv[])
+ 		GETOPT_OUTPUT_SEPARATELY,
+ 		GETOPT_TS,
+ 		GETOPT_PIDNS_TRANSLATION,
+-#ifdef ENABLE_SECONTEXT
+-		GETOPT_SECONTEXT,
+-#endif
+ 
+ 		GETOPT_QUAL_TRACE,
+ 		GETOPT_QUAL_ABBREV,
+@@ -2083,6 +2101,9 @@ init(int argc, char *argv[])
+ 		GETOPT_QUAL_KVM,
+ 		GETOPT_QUAL_QUIET,
+ 		GETOPT_QUAL_DECODE_FD,
++#ifdef ENABLE_SECONTEXT
++		GETOPT_QUAL_SECONTEXT,
++#endif
+ 	};
+ 	static const struct option longopts[] = {
+ 		{ "columns",		required_argument, 0, 'a' },
+@@ -2125,9 +2146,6 @@ init(int argc, char *argv[])
+ 		{ "failed-only",	no_argument,	   0, 'Z' },
+ 		{ "failing-only",	no_argument,	   0, 'Z' },
+ 		{ "seccomp-bpf",	no_argument,	   0, GETOPT_SECCOMP },
+-#ifdef ENABLE_SECONTEXT
+-		{ "secontext",		optional_argument, 0, GETOPT_SECONTEXT },
+-#endif
+ 
+ 		{ "trace",	required_argument, 0, GETOPT_QUAL_TRACE },
+ 		{ "abbrev",	required_argument, 0, GETOPT_QUAL_ABBREV },
+@@ -2144,6 +2162,9 @@ init(int argc, char *argv[])
+ 		{ "silent",	optional_argument, 0, GETOPT_QUAL_QUIET },
+ 		{ "silence",	optional_argument, 0, GETOPT_QUAL_QUIET },
+ 		{ "decode-fds",	optional_argument, 0, GETOPT_QUAL_DECODE_FD },
++#ifdef ENABLE_SECONTEXT
++		{ "secontext",	optional_argument, 0, GETOPT_QUAL_SECONTEXT },
++#endif
+ 
+ 		{ 0, 0, 0, 0 }
+ 	};
+@@ -2357,14 +2378,8 @@ init(int argc, char *argv[])
+ 			seccomp_filtering = true;
+ 			break;
+ #ifdef ENABLE_SECONTEXT
+-		case GETOPT_SECONTEXT:
+-			selinux_context = true;
+-			if (optarg) {
+-				if (!strcmp(optarg, "full"))
+-					selinux_context_full = true;
+-				else
+-					error_opt_arg(c, lopt, optarg);
+-			}
++		case GETOPT_QUAL_SECONTEXT:
++			qualify_secontext(optarg ? optarg : secontext_qual);
+ 			break;
+ #endif
+ 		case GETOPT_QUAL_TRACE:
+@@ -2550,7 +2565,7 @@ init(int argc, char *argv[])
+ 			error_msg("-y/--decode-fds has no effect "
+ 				  "with -c/--summary-only");
+ #ifdef ENABLE_SECONTEXT
+-		if (selinux_context)
++		if (!number_set_array_is_empty(secontext_set, 0))
+ 			error_msg("--secontext has no effect with "
+ 				  "-c/--summary-only");
+ #endif
+diff --git a/tests/gen_tests.in b/tests/gen_tests.in
+index 8b4e2e9..71e2f17 100644
+--- a/tests/gen_tests.in
++++ b/tests/gen_tests.in
+@@ -12,6 +12,8 @@ accept4	-a37
+ access	-a30 --trace-path=access_sample
+ access--secontext	-a30 --secontext --trace-path=access_sample -e trace=access
+ access--secontext_full	-a30 --secontext=full --trace-path=access_sample -e trace=access
++access--secontext_full_mismatch	-a30 --secontext=full,mismatch --trace-path=access_sample -e trace=access
++access--secontext_mismatch	-a30 --secontext=mismatch --trace-path=access_sample -e trace=access
+ acct	-a20
+ add_key	-a30 -s12
+ adjtimex	-a15
+@@ -27,8 +29,10 @@ bpf-v	-a20 -v -e trace=bpf
+ btrfs	+ioctl.test
+ chdir	-a10
+ chmod	-a28
+-chmod--secontext	-a28 --secontext -e trace=chmod
+-chmod--secontext_full	-a28 --secontext=full -e trace=chmod
++chmod--secontext	-a28 -e secontext=!full,mismatch -e trace=chmod
++chmod--secontext_full	-a28 -e secontext=full -e trace=chmod
++chmod--secontext_full_mismatch	-a28 --secontext=mismatch,full -e trace=chmod
++chmod--secontext_mismatch	-a28 --secontext=mismatch -e trace=chmod
+ chown	-a28
+ chown32	-a31
+ chroot	-a13
+@@ -84,16 +88,24 @@ epoll_wait	-a26
+ erestartsys	-a34 -e signal=none -e trace=recvfrom
+ execve--secontext	+execve.test --secontext
+ execve--secontext_full	+execve.test --secontext=full
++execve--secontext_full_mismatch	+execve.test --secontext=full,mismatch
++execve--secontext_mismatch	+execve.test --secontext=mismatch
+ execveat
+ execveat--secontext	--secontext --trace=execveat
+ execveat--secontext_full	--secontext=full --trace=execveat
++execveat--secontext_full_mismatch	--secontext=full,mismatch --trace=execveat
++execveat--secontext_mismatch	--secontext=mismatch --trace=execveat
+ execveat-v	-v -e trace=execveat
+ faccessat--secontext	+faccessat.test -a24 --secontext
+ faccessat--secontext_full	+faccessat.test -a24 --secontext=full
++faccessat--secontext_full_mismatch	+faccessat.test -a24 --secontext=full,mismatch
++faccessat--secontext_mismatch	+faccessat.test -a24 --secontext=mismatch
+ faccessat-P	-a23 --trace=faccessat -P /dev/full
+ faccessat-y	+faccessat.test -a24 -y
+ faccessat-y--secontext	+faccessat.test -a24 -y --secontext
+ faccessat-y--secontext_full	+faccessat.test -a24 -y --secontext=full
++faccessat-y--secontext_full_mismatch	+faccessat.test -a24 -y --secontext=full,mismatch
++faccessat-y--secontext_mismatch	+faccessat.test -a24 -y --secontext=mismatch
+ faccessat-yy	+faccessat.test -a24 -yy
+ faccessat2-P	-a27 --trace=faccessat2 -P /dev/full
+ faccessat2-y	+faccessat2.test -a28 -y
+@@ -104,6 +116,8 @@ fanotify_init
+ fanotify_mark	-a32
+ fanotify_mark--secontext	-a32 --secontext -e trace=fanotify_mark
+ fanotify_mark--secontext_full	-a32 --secontext=full -e trace=fanotify_mark
++fanotify_mark--secontext_full_mismatch	-a32 --secontext=full,mismatch -e trace=fanotify_mark
++fanotify_mark--secontext_mismatch	-a32 --secontext=mismatch -e trace=fanotify_mark
+ fanotify_mark-Xabbrev	-a32 -Xabbrev -e trace=fanotify_mark
+ fanotify_mark-Xraw	-a32 -Xraw -e trace=fanotify_mark
+ fanotify_mark-Xverbose	-a32 -Xverbose -e trace=fanotify_mark
+@@ -111,17 +125,25 @@ fchdir	-a11
+ fchmod	-a15
+ fchmod--secontext	-a15 --secontext -e trace=fchmod
+ fchmod--secontext_full	-a15 --secontext=full -e trace=fchmod
++fchmod--secontext_full_mismatch	-a15 --secontext=full,mismatch -e trace=fchmod
++fchmod--secontext_mismatch	-a15 --secontext=mismatch -e trace=fchmod
+ fchmod-y	-y -e trace=fchmod
+ fchmod-y--secontext	-a15 -y --secontext -e trace=fchmod
+ fchmod-y--secontext_full	-a15 -y --secontext=full -e trace=fchmod
++fchmod-y--secontext_full_mismatch	-a15 -y --secontext=full,mismatch -e trace=fchmod
++fchmod-y--secontext_mismatch	-a15 -y --secontext=mismatch -e trace=fchmod
+ fchmodat
+ fchmodat--secontext	--secontext -e trace=fchmodat
+ fchmodat--secontext_full	--secontext=full -e trace=fchmodat
++fchmodat--secontext_full_mismatch	--secontext=full,mismatch -e trace=fchmodat
++fchmodat--secontext_mismatch	--secontext=mismatch -e trace=fchmodat
+ fchown	-a16
+ fchown32	-a18
+ fchownat
+ fchownat--secontext	--secontext -e trace=fchownat
+ fchownat--secontext_full	--secontext=full -e trace=fchownat
++fchownat--secontext_full_mismatch	-e secontext=full,mismatch -e trace=fchownat
++fchownat--secontext_mismatch	-e secontext=mismatch -e trace=fchownat
+ fcntl	-a8
+ fcntl--pidns-translation	test_pidns -a8 -e trace=fcntl
+ fcntl64	-a8
+@@ -130,6 +152,8 @@ fdatasync	-a14
+ file_handle	-e trace=name_to_handle_at,open_by_handle_at
+ file_handle--secontext	--secontext -e trace=name_to_handle_at,open_by_handle_at
+ file_handle--secontext_full	--secontext=full -e trace=name_to_handle_at,open_by_handle_at
++file_handle--secontext_full_mismatch	--secontext=full,mismatch -e trace=name_to_handle_at,open_by_handle_at
++file_handle--secontext_mismatch	--secontext=mismatch -e trace=name_to_handle_at,open_by_handle_at
+ filter_seccomp	. "${srcdir=.}/filter_seccomp.sh"; test_prog_set --seccomp-bpf -f
+ filter_seccomp-flag	../$NAME
+ finit_module	-a25
+@@ -383,6 +407,8 @@ link
+ linkat
+ linkat--secontext	--secontext -e trace=linkat
+ linkat--secontext_full	--secontext=full -e trace=linkat
++linkat--secontext_full_mismatch	--secontext=full,mismatch -e trace=linkat
++linkat--secontext_mismatch	--secontext=mismatch -e trace=linkat
+ lookup_dcookie	-a27
+ lstat	-a31 --no-abbrev --trace-path=stat.sample --trace-path=/dev/full
+ lstat64	-a32 --no-abbrev --trace-path=stat.sample --trace-path=/dev/full
+@@ -526,11 +552,15 @@ oldstat	-a32 -v -P stat.sample -P /dev/full
+ open	-a30 -P $NAME.sample
+ open--secontext		-a30 -P open.sample --secontext --trace=open
+ open--secontext_full	-a30 -P open.sample --secontext=full --trace=open
++open--secontext_full_mismatch	-a30 -P open.sample --secontext=full,mismatch --trace=open
++open--secontext_mismatch		-a30 -P open.sample --secontext=mismatch --trace=open
+ open_tree -a30 -y
+ open_tree-P -a30 --decode-fds -P /dev/full -e trace=open_tree
+ openat	-a36 -P $NAME.sample
+ openat--secontext	-a36 -P openat.sample -P $PWD/openat.sample --secontext -e trace=openat
+ openat--secontext_full	-a36 -P openat.sample -P $PWD/openat.sample --secontext=full -e trace=openat
++openat--secontext_full_mismatch	-a36 -P openat.sample -P $PWD/openat.sample --secontext=full,mismatch -e trace=openat
++openat--secontext_mismatch	-a36 -P openat.sample -P $PWD/openat.sample --secontext=mismatch -e trace=openat
+ openat2	-a35
+ openat2-Xabbrev	--trace=openat2 -a35 -Xabbrev
+ openat2-Xraw	--trace=openat2 -a32 -Xraw
+diff --git a/tests/linkat.c b/tests/linkat.c
+index 1d41d3d..1a869e3 100644
+--- a/tests/linkat.c
++++ b/tests/linkat.c
+@@ -15,6 +15,7 @@
+ #include <stdlib.h>
+ #include <unistd.h>
+ #include <sys/stat.h>
++#include <string.h>
+ 
+ #include "secontext.h"
+ #include "xmalloc.h"
+@@ -88,10 +89,42 @@ main(void)
+ 		perror_msg_and_fail("close");
+ 
+ 	free(sample_1_secontext);
+-	update_secontext_type(sample_1, "default_t");
++
++#ifdef PRINT_SECONTEXT_MISMATCH
++	update_secontext_field(sample_1, SECONTEXT_USER, "system_u");
++	sample_1_secontext = SECONTEXT_FILE(sample_1);
++
++# ifdef PRINT_SECONTEXT_FULL
++	/* The mismatch should be detected */
++	if (*sample_1_secontext && strstr(sample_1_secontext, "!!") == NULL)
++		perror_msg_and_fail("Context mismatch not detected: %s",
++				    sample_1_secontext);
++	if (*sample_1_secontext && strstr(sample_1_secontext, "system_u") == NULL)
++		perror_msg_and_fail("Context mismatch not detected: %s",
++				    sample_1_secontext);
++# else
++	/* The mismatch cannot be detected since it's on user part */
++	if (*sample_1_secontext && strstr(sample_1_secontext, "!!") != NULL)
++		perror_msg_and_fail("Context mismatch detected: %s",
++				    sample_1_secontext);
++# endif
++
++	free(sample_1_secontext);
++#endif
++
++	update_secontext_field(sample_1, SECONTEXT_TYPE, "default_t");
+ 	sample_1_secontext = SECONTEXT_FILE(sample_1);
+ 	sample_2_secontext = sample_1_secontext;
+ 
++#ifdef PRINT_SECONTEXT_MISMATCH
++	if (*sample_1_secontext && strstr(sample_1_secontext, "!!") == NULL)
++		perror_msg_and_fail("Context mismatch not detected: %s",
++				    sample_1_secontext);
++	if (*sample_1_secontext && strstr(sample_1_secontext, "default_t") == NULL)
++		perror_msg_and_fail("Context mismatch not detected: %s",
++				    sample_1_secontext);
++#endif
++
+ 	rc = syscall(__NR_linkat, -100, sample_1, -100, sample_2, 0);
+ 	printf("%s%s(AT_FDCWD, \"%s\"%s, AT_FDCWD, \"%s\"%s, 0) = %s\n",
+ 	       my_secontext, "linkat",
+@@ -108,8 +141,19 @@ main(void)
+ 
+ 	int dfd_old = get_dir_fd(".");
+ 	char *cwd = get_fd_path(dfd_old);
++
++	update_secontext_field(".", SECONTEXT_TYPE, "default_t");
+ 	char *dfd_old_secontext = SECONTEXT_FILE(".");
+ 
++#ifdef PRINT_SECONTEXT_MISMATCH
++	if (*dfd_old_secontext && strstr(dfd_old_secontext, "!!") == NULL)
++		perror_msg_and_fail("Context mismatch not detected: %s",
++				    dfd_old_secontext);
++	if (*dfd_old_secontext && strstr(dfd_old_secontext, "default_t") == NULL)
++		perror_msg_and_fail("Context mismatch not detected: %s",
++				    dfd_old_secontext);
++#endif
++
+ 	rc = syscall(__NR_linkat, dfd_old, sample_1, -100, sample_2, 0);
+ 	/* no context printed for sample_2 since file doesn't exist yet */
+ 	printf("%s%s(%d%s, \"%s\"%s, AT_FDCWD, \"%s\", 0) = %s\n",
+diff --git a/tests/options-syntax.test b/tests/options-syntax.test
+index 765b2f8..848d297 100755
+--- a/tests/options-syntax.test
++++ b/tests/options-syntax.test
+@@ -48,8 +48,18 @@ check_e '-t and --absolute-timestamps cannot be provided simultaneously' -t --ti
+ check_e '-t and --absolute-timestamps cannot be provided simultaneously' --absolute-timestamps -ttt -p $$
+ check_e '-t and --absolute-timestamps cannot be provided simultaneously' -t --timestamps=ns -t -p $$
+ check_e '-t and --absolute-timestamps cannot be provided simultaneously' --timestamps=ns -t --absolute-timestamps=unix -p $$
+-[ -z "$compiled_with_secontext" ] ||
+-	check_h "invalid --secontext argument: 'ss'" --secontext=ss
++if [ -n "$compiled_with_secontext" ]; then
++	for opt in '--secontext' '-e secontext'; do
++		check_e "invalid secontext ''" $opt=
++		check_e "invalid secontext 'ss'" $opt=ss
++		check_e "invalid secontext 'ss'" $opt=ss,full,mismatch
++		check_e "invalid secontext 'ss'" $opt=full,ss,mismatch
++		check_e "invalid secontext 'ss'" $opt=full,ss
++		check_e "invalid secontext 'ss'" $opt=full,mismatch,ss
++		check_e "invalid secontext 'ss'" $opt=!full,ss
++		check_e "invalid secontext 'ss'" $opt=!full,mismatch,ss
++	done
++fi
+ check_h 'PROG [ARGS] must be specified with -D/--daemonize' -D -p $$
+ check_h 'PROG [ARGS] must be specified with -D/--daemonize' -DD -p $$
+ check_h 'PROG [ARGS] must be specified with -D/--daemonize' -DDD -p $$
+diff --git a/tests/secontext.c b/tests/secontext.c
+index 21c6370..848eea9 100644
+--- a/tests/secontext.c
++++ b/tests/secontext.c
+@@ -13,8 +13,10 @@
+ # include <errno.h>
+ # include <stdlib.h>
+ # include <string.h>
++# include <sys/stat.h>
+ # include <unistd.h>
+ # include <selinux/selinux.h>
++# include <selinux/label.h>
+ 
+ # include "xmalloc.h"
+ 
+@@ -55,6 +57,79 @@ strip_trailing_newlines(char *context)
+ }
+ 
+ static char *
++get_type_from_context(const char *full_context)
++{
++	int saved_errno = errno;
++
++	if (!full_context)
++		return NULL;
++
++	char *saveptr = NULL;
++	const char *token;
++	unsigned int i;
++
++	char *ctx_copy = xstrdup(full_context);
++	char *context = NULL;
++	for (token = strtok_r(ctx_copy, ":", &saveptr), i = 0;
++	     token; token = strtok_r(NULL, ":", &saveptr), i++) {
++		if (i == 2) {
++			context = xstrdup(token);
++			break;
++		}
++	}
++	if (!context)
++		context = xstrdup(full_context);
++	free(ctx_copy);
++
++	errno = saved_errno;
++	return context;
++}
++
++static char *
++raw_expected_secontext_full_file(const char *filename)
++{
++	int saved_errno = errno;
++	char *secontext;
++
++	static struct selabel_handle *hdl;
++	if (!hdl) {
++		hdl = selabel_open(SELABEL_CTX_FILE, NULL, 0);
++		if (!hdl)
++			perror_msg_and_skip("selabel_open");
++	}
++
++	char *resolved = realpath(filename, NULL);
++	if (!resolved)
++		perror_msg_and_fail("realpath: %s", filename);
++
++	struct stat statbuf;
++	if (stat(resolved, &statbuf) < 0)
++		perror_msg_and_fail("stat: %s", resolved);
++
++	if (selabel_lookup(hdl, &secontext, resolved, statbuf.st_mode) < 0)
++		perror_msg_and_skip("selabel_lookup: %s", resolved);
++	free(resolved);
++
++	char *full_secontext = xstrdup(secontext);
++	freecon(secontext);
++	errno = saved_errno;
++	return full_secontext;
++}
++
++static char *
++raw_expected_secontext_short_file(const char *filename)
++{
++	int saved_errno = errno;
++
++	char *ctx = raw_expected_secontext_full_file(filename);
++	char *type = get_type_from_context(ctx);
++	free(ctx);
++
++	errno = saved_errno;
++	return type;
++}
++
++static char *
+ raw_secontext_full_file(const char *filename)
+ {
+ 	int saved_errno = errno;
+@@ -75,29 +150,11 @@ raw_secontext_short_file(const char *filename)
+ 	int saved_errno = errno;
+ 
+ 	char *ctx = raw_secontext_full_file(filename);
+-	if (ctx == NULL)
+-		return ctx;
+-
+-	char *saveptr = NULL;
+-	const char *token;
+-	unsigned int i;
+-
+-	char *ctx_copy = xstrdup(ctx);
+-	char *context = NULL;
+-	for (token = strtok_r(ctx_copy, ":", &saveptr), i = 0;
+-	     token; token = strtok_r(NULL, ":", &saveptr), i++) {
+-		if (i == 2) {
+-			context = xstrdup(token);
+-			break;
+-		}
+-	}
+-	if (context == NULL)
+-		context = xstrdup(ctx);
+-	free(ctx_copy);
++	char *type = get_type_from_context(ctx);
+ 	free(ctx);
+ 
+ 	errno = saved_errno;
+-	return context;
++	return type;
+ }
+ 
+ static char *
+@@ -121,35 +178,30 @@ raw_secontext_short_pid(pid_t pid)
+ 	int saved_errno = errno;
+ 
+ 	char *ctx = raw_secontext_full_pid(pid);
+-	if (ctx == NULL)
+-		return ctx;
+-
+-	char *saveptr = NULL;
+-	const char *token;
+-	int i;
+-
+-	char *ctx_copy = xstrdup(ctx);
+-	char *context = NULL;
+-	for (token = strtok_r(ctx_copy, ":", &saveptr), i = 0;
+-	     token; token = strtok_r(NULL, ":", &saveptr), i++) {
+-		if (i == 2) {
+-			context = xstrdup(token);
+-			break;
+-		}
+-	}
+-	if (context == NULL)
+-		context = xstrdup(ctx);
+-	free(ctx_copy);
++	char *type = get_type_from_context(ctx);
+ 	free(ctx);
+ 
+ 	errno = saved_errno;
+-	return context;
++	return type;
+ }
+ 
+ char *
+-secontext_full_file(const char *filename)
++secontext_full_file(const char *filename, bool mismatch)
+ {
+-	return FORMAT_SPACE_BEFORE(raw_secontext_full_file(filename));
++	int saved_errno = errno;
++	char *context = raw_secontext_full_file(filename);
++	if (context && mismatch) {
++		char *expected = raw_expected_secontext_full_file(filename);
++		if (expected && strcmp(context, expected)) {
++			char *context_mismatch =
++				xasprintf("%s!!%s", context, expected);
++			free(context);
++			context = context_mismatch;
++		}
++		free(expected);
++	}
++	errno = saved_errno;
++	return FORMAT_SPACE_BEFORE(context);
+ }
+ 
+ char *
+@@ -159,9 +211,22 @@ secontext_full_pid(pid_t pid)
+ }
+ 
+ char *
+-secontext_short_file(const char *filename)
++secontext_short_file(const char *filename, bool mismatch)
+ {
+-	return FORMAT_SPACE_BEFORE(raw_secontext_short_file(filename));
++	int saved_errno = errno;
++	char *context = raw_secontext_short_file(filename);
++	if (context && mismatch) {
++		char *expected = raw_expected_secontext_short_file(filename);
++		if (expected && strcmp(context, expected)) {
++			char *context_mismatch =
++				xasprintf("%s!!%s", context, expected);
++			free(context);
++			context = context_mismatch;
++		}
++		free(expected);
++	}
++	errno = saved_errno;
++	return FORMAT_SPACE_BEFORE(context);
+ }
+ 
+ char *
+@@ -171,31 +236,38 @@ secontext_short_pid(pid_t pid)
+ }
+ 
+ void
+-update_secontext_type(const char *file, const char *newtype)
++update_secontext_field(const char *file, enum secontext_field field,
++		       const char *newvalue)
+ {
++	int saved_errno = errno;
++	assert(field >= SECONTEXT_USER && field <= SECONTEXT_TYPE);
++
+ 	char *ctx = raw_secontext_full_file(file);
+ 	if (ctx == NULL)
+ 		return;
+ 
+ 	char *saveptr = NULL;
+ 	char *token;
+-	int field;
++	int nfields;
+ 	char *split[4];
+ 
+-	for (token = strtok_r(ctx, ":", &saveptr), field = 0;
+-	     token; token = strtok_r(NULL, ":", &saveptr), field++) {
+-		assert(field < 4);
+-		split[field] = token;
++	for (token = strtok_r(ctx, ":", &saveptr), nfields = 0;
++	     token; token = strtok_r(NULL, ":", &saveptr), nfields++) {
++		assert(nfields < 4);
++		split[nfields] = token;
+ 	}
+-	assert(field == 4);
++	assert(nfields == 4);
++
++	split[field] = (char *)newvalue;
+ 
+ 	char *newcontext = xasprintf("%s:%s:%s:%s", split[0], split[1],
+-				     newtype, split[3]);
++				     split[2], split[3]);
+ 
+ 	(void) setfilecon(file, newcontext);
+ 
+ 	free(newcontext);
+ 	free(ctx);
++	errno = saved_errno;
+ }
+ 
+ #endif /* HAVE_SELINUX_RUNTIME */
+diff --git a/tests/secontext.h b/tests/secontext.h
+index c65f53a..1d0251a 100644
+--- a/tests/secontext.h
++++ b/tests/secontext.h
+@@ -9,24 +9,39 @@
+ #include "xmalloc.h"
+ #include <unistd.h>
+ 
+-char *secontext_full_file(const char *) ATTRIBUTE_MALLOC;
++char *secontext_full_file(const char *, bool) ATTRIBUTE_MALLOC;
+ char *secontext_full_pid(pid_t) ATTRIBUTE_MALLOC;
+ 
+-char *secontext_short_file(const char *) ATTRIBUTE_MALLOC;
++char *secontext_short_file(const char *, bool) ATTRIBUTE_MALLOC;
+ char *secontext_short_pid(pid_t) ATTRIBUTE_MALLOC;
+ 
++enum secontext_field {
++	SECONTEXT_USER,
++	SECONTEXT_ROLE,
++	SECONTEXT_TYPE
++};
++
+ #if defined TEST_SECONTEXT && defined HAVE_SELINUX_RUNTIME
+ 
+-void update_secontext_type(const char *file, const char *newtype);
++void update_secontext_field(const char *file, enum secontext_field field,
++			    const char *newvalue);
+ 
+ # ifdef PRINT_SECONTEXT_FULL
+ 
+-#  define SECONTEXT_FILE(filename)	secontext_full_file(filename)
++#  ifdef PRINT_SECONTEXT_MISMATCH
++#   define SECONTEXT_FILE(filename)	secontext_full_file(filename, true)
++#  else
++#   define SECONTEXT_FILE(filename)	secontext_full_file(filename, false)
++#  endif
+ #  define SECONTEXT_PID(pid)		secontext_full_pid(pid)
+ 
+ # else
+ 
+-#  define SECONTEXT_FILE(filename)	secontext_short_file(filename)
++#  ifdef PRINT_SECONTEXT_MISMATCH
++#   define SECONTEXT_FILE(filename)	secontext_short_file(filename, true)
++#  else
++#   define SECONTEXT_FILE(filename)	secontext_short_file(filename, false)
++#  endif
+ #  define SECONTEXT_PID(pid)		secontext_short_pid(pid)
+ 
+ # endif
+@@ -34,7 +49,8 @@ void update_secontext_type(const char *file, const char *newtype);
+ #else
+ 
+ static inline void
+-update_secontext_type(const char *file, const char *newtype)
++update_secontext_field(const char *file, enum secontext_field field,
++		       const char *newvalue)
+ {
+ }
+ 
+diff --git a/tests-m32/gen_tests.in b/tests-m32/gen_tests.in
+index 8b4e2e9..71e2f17 100644
+--- a/tests-m32/gen_tests.in
++++ b/tests-m32/gen_tests.in
+@@ -12,6 +12,8 @@ accept4	-a37
+ access	-a30 --trace-path=access_sample
+ access--secontext	-a30 --secontext --trace-path=access_sample -e trace=access
+ access--secontext_full	-a30 --secontext=full --trace-path=access_sample -e trace=access
++access--secontext_full_mismatch	-a30 --secontext=full,mismatch --trace-path=access_sample -e trace=access
++access--secontext_mismatch	-a30 --secontext=mismatch --trace-path=access_sample -e trace=access
+ acct	-a20
+ add_key	-a30 -s12
+ adjtimex	-a15
+@@ -27,8 +29,10 @@ bpf-v	-a20 -v -e trace=bpf
+ btrfs	+ioctl.test
+ chdir	-a10
+ chmod	-a28
+-chmod--secontext	-a28 --secontext -e trace=chmod
+-chmod--secontext_full	-a28 --secontext=full -e trace=chmod
++chmod--secontext	-a28 -e secontext=!full,mismatch -e trace=chmod
++chmod--secontext_full	-a28 -e secontext=full -e trace=chmod
++chmod--secontext_full_mismatch	-a28 --secontext=mismatch,full -e trace=chmod
++chmod--secontext_mismatch	-a28 --secontext=mismatch -e trace=chmod
+ chown	-a28
+ chown32	-a31
+ chroot	-a13
+@@ -84,16 +88,24 @@ epoll_wait	-a26
+ erestartsys	-a34 -e signal=none -e trace=recvfrom
+ execve--secontext	+execve.test --secontext
+ execve--secontext_full	+execve.test --secontext=full
++execve--secontext_full_mismatch	+execve.test --secontext=full,mismatch
++execve--secontext_mismatch	+execve.test --secontext=mismatch
+ execveat
+ execveat--secontext	--secontext --trace=execveat
+ execveat--secontext_full	--secontext=full --trace=execveat
++execveat--secontext_full_mismatch	--secontext=full,mismatch --trace=execveat
++execveat--secontext_mismatch	--secontext=mismatch --trace=execveat
+ execveat-v	-v -e trace=execveat
+ faccessat--secontext	+faccessat.test -a24 --secontext
+ faccessat--secontext_full	+faccessat.test -a24 --secontext=full
++faccessat--secontext_full_mismatch	+faccessat.test -a24 --secontext=full,mismatch
++faccessat--secontext_mismatch	+faccessat.test -a24 --secontext=mismatch
+ faccessat-P	-a23 --trace=faccessat -P /dev/full
+ faccessat-y	+faccessat.test -a24 -y
+ faccessat-y--secontext	+faccessat.test -a24 -y --secontext
+ faccessat-y--secontext_full	+faccessat.test -a24 -y --secontext=full
++faccessat-y--secontext_full_mismatch	+faccessat.test -a24 -y --secontext=full,mismatch
++faccessat-y--secontext_mismatch	+faccessat.test -a24 -y --secontext=mismatch
+ faccessat-yy	+faccessat.test -a24 -yy
+ faccessat2-P	-a27 --trace=faccessat2 -P /dev/full
+ faccessat2-y	+faccessat2.test -a28 -y
+@@ -104,6 +116,8 @@ fanotify_init
+ fanotify_mark	-a32
+ fanotify_mark--secontext	-a32 --secontext -e trace=fanotify_mark
+ fanotify_mark--secontext_full	-a32 --secontext=full -e trace=fanotify_mark
++fanotify_mark--secontext_full_mismatch	-a32 --secontext=full,mismatch -e trace=fanotify_mark
++fanotify_mark--secontext_mismatch	-a32 --secontext=mismatch -e trace=fanotify_mark
+ fanotify_mark-Xabbrev	-a32 -Xabbrev -e trace=fanotify_mark
+ fanotify_mark-Xraw	-a32 -Xraw -e trace=fanotify_mark
+ fanotify_mark-Xverbose	-a32 -Xverbose -e trace=fanotify_mark
+@@ -111,17 +125,25 @@ fchdir	-a11
+ fchmod	-a15
+ fchmod--secontext	-a15 --secontext -e trace=fchmod
+ fchmod--secontext_full	-a15 --secontext=full -e trace=fchmod
++fchmod--secontext_full_mismatch	-a15 --secontext=full,mismatch -e trace=fchmod
++fchmod--secontext_mismatch	-a15 --secontext=mismatch -e trace=fchmod
+ fchmod-y	-y -e trace=fchmod
+ fchmod-y--secontext	-a15 -y --secontext -e trace=fchmod
+ fchmod-y--secontext_full	-a15 -y --secontext=full -e trace=fchmod
++fchmod-y--secontext_full_mismatch	-a15 -y --secontext=full,mismatch -e trace=fchmod
++fchmod-y--secontext_mismatch	-a15 -y --secontext=mismatch -e trace=fchmod
+ fchmodat
+ fchmodat--secontext	--secontext -e trace=fchmodat
+ fchmodat--secontext_full	--secontext=full -e trace=fchmodat
++fchmodat--secontext_full_mismatch	--secontext=full,mismatch -e trace=fchmodat
++fchmodat--secontext_mismatch	--secontext=mismatch -e trace=fchmodat
+ fchown	-a16
+ fchown32	-a18
+ fchownat
+ fchownat--secontext	--secontext -e trace=fchownat
+ fchownat--secontext_full	--secontext=full -e trace=fchownat
++fchownat--secontext_full_mismatch	-e secontext=full,mismatch -e trace=fchownat
++fchownat--secontext_mismatch	-e secontext=mismatch -e trace=fchownat
+ fcntl	-a8
+ fcntl--pidns-translation	test_pidns -a8 -e trace=fcntl
+ fcntl64	-a8
+@@ -130,6 +152,8 @@ fdatasync	-a14
+ file_handle	-e trace=name_to_handle_at,open_by_handle_at
+ file_handle--secontext	--secontext -e trace=name_to_handle_at,open_by_handle_at
+ file_handle--secontext_full	--secontext=full -e trace=name_to_handle_at,open_by_handle_at
++file_handle--secontext_full_mismatch	--secontext=full,mismatch -e trace=name_to_handle_at,open_by_handle_at
++file_handle--secontext_mismatch	--secontext=mismatch -e trace=name_to_handle_at,open_by_handle_at
+ filter_seccomp	. "${srcdir=.}/filter_seccomp.sh"; test_prog_set --seccomp-bpf -f
+ filter_seccomp-flag	../$NAME
+ finit_module	-a25
+@@ -383,6 +407,8 @@ link
+ linkat
+ linkat--secontext	--secontext -e trace=linkat
+ linkat--secontext_full	--secontext=full -e trace=linkat
++linkat--secontext_full_mismatch	--secontext=full,mismatch -e trace=linkat
++linkat--secontext_mismatch	--secontext=mismatch -e trace=linkat
+ lookup_dcookie	-a27
+ lstat	-a31 --no-abbrev --trace-path=stat.sample --trace-path=/dev/full
+ lstat64	-a32 --no-abbrev --trace-path=stat.sample --trace-path=/dev/full
+@@ -526,11 +552,15 @@ oldstat	-a32 -v -P stat.sample -P /dev/full
+ open	-a30 -P $NAME.sample
+ open--secontext		-a30 -P open.sample --secontext --trace=open
+ open--secontext_full	-a30 -P open.sample --secontext=full --trace=open
++open--secontext_full_mismatch	-a30 -P open.sample --secontext=full,mismatch --trace=open
++open--secontext_mismatch		-a30 -P open.sample --secontext=mismatch --trace=open
+ open_tree -a30 -y
+ open_tree-P -a30 --decode-fds -P /dev/full -e trace=open_tree
+ openat	-a36 -P $NAME.sample
+ openat--secontext	-a36 -P openat.sample -P $PWD/openat.sample --secontext -e trace=openat
+ openat--secontext_full	-a36 -P openat.sample -P $PWD/openat.sample --secontext=full -e trace=openat
++openat--secontext_full_mismatch	-a36 -P openat.sample -P $PWD/openat.sample --secontext=full,mismatch -e trace=openat
++openat--secontext_mismatch	-a36 -P openat.sample -P $PWD/openat.sample --secontext=mismatch -e trace=openat
+ openat2	-a35
+ openat2-Xabbrev	--trace=openat2 -a35 -Xabbrev
+ openat2-Xraw	--trace=openat2 -a32 -Xraw
+diff --git a/tests-m32/linkat.c b/tests-m32/linkat.c
+index 1d41d3d..1a869e3 100644
+--- a/tests-m32/linkat.c
++++ b/tests-m32/linkat.c
+@@ -15,6 +15,7 @@
+ #include <stdlib.h>
+ #include <unistd.h>
+ #include <sys/stat.h>
++#include <string.h>
+ 
+ #include "secontext.h"
+ #include "xmalloc.h"
+@@ -88,10 +89,42 @@ main(void)
+ 		perror_msg_and_fail("close");
+ 
+ 	free(sample_1_secontext);
+-	update_secontext_type(sample_1, "default_t");
++
++#ifdef PRINT_SECONTEXT_MISMATCH
++	update_secontext_field(sample_1, SECONTEXT_USER, "system_u");
++	sample_1_secontext = SECONTEXT_FILE(sample_1);
++
++# ifdef PRINT_SECONTEXT_FULL
++	/* The mismatch should be detected */
++	if (*sample_1_secontext && strstr(sample_1_secontext, "!!") == NULL)
++		perror_msg_and_fail("Context mismatch not detected: %s",
++				    sample_1_secontext);
++	if (*sample_1_secontext && strstr(sample_1_secontext, "system_u") == NULL)
++		perror_msg_and_fail("Context mismatch not detected: %s",
++				    sample_1_secontext);
++# else
++	/* The mismatch cannot be detected since it's on user part */
++	if (*sample_1_secontext && strstr(sample_1_secontext, "!!") != NULL)
++		perror_msg_and_fail("Context mismatch detected: %s",
++				    sample_1_secontext);
++# endif
++
++	free(sample_1_secontext);
++#endif
++
++	update_secontext_field(sample_1, SECONTEXT_TYPE, "default_t");
+ 	sample_1_secontext = SECONTEXT_FILE(sample_1);
+ 	sample_2_secontext = sample_1_secontext;
+ 
++#ifdef PRINT_SECONTEXT_MISMATCH
++	if (*sample_1_secontext && strstr(sample_1_secontext, "!!") == NULL)
++		perror_msg_and_fail("Context mismatch not detected: %s",
++				    sample_1_secontext);
++	if (*sample_1_secontext && strstr(sample_1_secontext, "default_t") == NULL)
++		perror_msg_and_fail("Context mismatch not detected: %s",
++				    sample_1_secontext);
++#endif
++
+ 	rc = syscall(__NR_linkat, -100, sample_1, -100, sample_2, 0);
+ 	printf("%s%s(AT_FDCWD, \"%s\"%s, AT_FDCWD, \"%s\"%s, 0) = %s\n",
+ 	       my_secontext, "linkat",
+@@ -108,8 +141,19 @@ main(void)
+ 
+ 	int dfd_old = get_dir_fd(".");
+ 	char *cwd = get_fd_path(dfd_old);
++
++	update_secontext_field(".", SECONTEXT_TYPE, "default_t");
+ 	char *dfd_old_secontext = SECONTEXT_FILE(".");
+ 
++#ifdef PRINT_SECONTEXT_MISMATCH
++	if (*dfd_old_secontext && strstr(dfd_old_secontext, "!!") == NULL)
++		perror_msg_and_fail("Context mismatch not detected: %s",
++				    dfd_old_secontext);
++	if (*dfd_old_secontext && strstr(dfd_old_secontext, "default_t") == NULL)
++		perror_msg_and_fail("Context mismatch not detected: %s",
++				    dfd_old_secontext);
++#endif
++
+ 	rc = syscall(__NR_linkat, dfd_old, sample_1, -100, sample_2, 0);
+ 	/* no context printed for sample_2 since file doesn't exist yet */
+ 	printf("%s%s(%d%s, \"%s\"%s, AT_FDCWD, \"%s\", 0) = %s\n",
+diff --git a/tests-m32/options-syntax.test b/tests-m32/options-syntax.test
+index 765b2f8..848d297 100755
+--- a/tests-m32/options-syntax.test
++++ b/tests-m32/options-syntax.test
+@@ -48,8 +48,18 @@ check_e '-t and --absolute-timestamps cannot be provided simultaneously' -t --ti
+ check_e '-t and --absolute-timestamps cannot be provided simultaneously' --absolute-timestamps -ttt -p $$
+ check_e '-t and --absolute-timestamps cannot be provided simultaneously' -t --timestamps=ns -t -p $$
+ check_e '-t and --absolute-timestamps cannot be provided simultaneously' --timestamps=ns -t --absolute-timestamps=unix -p $$
+-[ -z "$compiled_with_secontext" ] ||
+-	check_h "invalid --secontext argument: 'ss'" --secontext=ss
++if [ -n "$compiled_with_secontext" ]; then
++	for opt in '--secontext' '-e secontext'; do
++		check_e "invalid secontext ''" $opt=
++		check_e "invalid secontext 'ss'" $opt=ss
++		check_e "invalid secontext 'ss'" $opt=ss,full,mismatch
++		check_e "invalid secontext 'ss'" $opt=full,ss,mismatch
++		check_e "invalid secontext 'ss'" $opt=full,ss
++		check_e "invalid secontext 'ss'" $opt=full,mismatch,ss
++		check_e "invalid secontext 'ss'" $opt=!full,ss
++		check_e "invalid secontext 'ss'" $opt=!full,mismatch,ss
++	done
++fi
+ check_h 'PROG [ARGS] must be specified with -D/--daemonize' -D -p $$
+ check_h 'PROG [ARGS] must be specified with -D/--daemonize' -DD -p $$
+ check_h 'PROG [ARGS] must be specified with -D/--daemonize' -DDD -p $$
+diff --git a/tests-m32/secontext.c b/tests-m32/secontext.c
+index 21c6370..848eea9 100644
+--- a/tests-m32/secontext.c
++++ b/tests-m32/secontext.c
+@@ -13,8 +13,10 @@
+ # include <errno.h>
+ # include <stdlib.h>
+ # include <string.h>
++# include <sys/stat.h>
+ # include <unistd.h>
+ # include <selinux/selinux.h>
++# include <selinux/label.h>
+ 
+ # include "xmalloc.h"
+ 
+@@ -55,6 +57,79 @@ strip_trailing_newlines(char *context)
+ }
+ 
+ static char *
++get_type_from_context(const char *full_context)
++{
++	int saved_errno = errno;
++
++	if (!full_context)
++		return NULL;
++
++	char *saveptr = NULL;
++	const char *token;
++	unsigned int i;
++
++	char *ctx_copy = xstrdup(full_context);
++	char *context = NULL;
++	for (token = strtok_r(ctx_copy, ":", &saveptr), i = 0;
++	     token; token = strtok_r(NULL, ":", &saveptr), i++) {
++		if (i == 2) {
++			context = xstrdup(token);
++			break;
++		}
++	}
++	if (!context)
++		context = xstrdup(full_context);
++	free(ctx_copy);
++
++	errno = saved_errno;
++	return context;
++}
++
++static char *
++raw_expected_secontext_full_file(const char *filename)
++{
++	int saved_errno = errno;
++	char *secontext;
++
++	static struct selabel_handle *hdl;
++	if (!hdl) {
++		hdl = selabel_open(SELABEL_CTX_FILE, NULL, 0);
++		if (!hdl)
++			perror_msg_and_skip("selabel_open");
++	}
++
++	char *resolved = realpath(filename, NULL);
++	if (!resolved)
++		perror_msg_and_fail("realpath: %s", filename);
++
++	struct stat statbuf;
++	if (stat(resolved, &statbuf) < 0)
++		perror_msg_and_fail("stat: %s", resolved);
++
++	if (selabel_lookup(hdl, &secontext, resolved, statbuf.st_mode) < 0)
++		perror_msg_and_skip("selabel_lookup: %s", resolved);
++	free(resolved);
++
++	char *full_secontext = xstrdup(secontext);
++	freecon(secontext);
++	errno = saved_errno;
++	return full_secontext;
++}
++
++static char *
++raw_expected_secontext_short_file(const char *filename)
++{
++	int saved_errno = errno;
++
++	char *ctx = raw_expected_secontext_full_file(filename);
++	char *type = get_type_from_context(ctx);
++	free(ctx);
++
++	errno = saved_errno;
++	return type;
++}
++
++static char *
+ raw_secontext_full_file(const char *filename)
+ {
+ 	int saved_errno = errno;
+@@ -75,29 +150,11 @@ raw_secontext_short_file(const char *filename)
+ 	int saved_errno = errno;
+ 
+ 	char *ctx = raw_secontext_full_file(filename);
+-	if (ctx == NULL)
+-		return ctx;
+-
+-	char *saveptr = NULL;
+-	const char *token;
+-	unsigned int i;
+-
+-	char *ctx_copy = xstrdup(ctx);
+-	char *context = NULL;
+-	for (token = strtok_r(ctx_copy, ":", &saveptr), i = 0;
+-	     token; token = strtok_r(NULL, ":", &saveptr), i++) {
+-		if (i == 2) {
+-			context = xstrdup(token);
+-			break;
+-		}
+-	}
+-	if (context == NULL)
+-		context = xstrdup(ctx);
+-	free(ctx_copy);
++	char *type = get_type_from_context(ctx);
+ 	free(ctx);
+ 
+ 	errno = saved_errno;
+-	return context;
++	return type;
+ }
+ 
+ static char *
+@@ -121,35 +178,30 @@ raw_secontext_short_pid(pid_t pid)
+ 	int saved_errno = errno;
+ 
+ 	char *ctx = raw_secontext_full_pid(pid);
+-	if (ctx == NULL)
+-		return ctx;
+-
+-	char *saveptr = NULL;
+-	const char *token;
+-	int i;
+-
+-	char *ctx_copy = xstrdup(ctx);
+-	char *context = NULL;
+-	for (token = strtok_r(ctx_copy, ":", &saveptr), i = 0;
+-	     token; token = strtok_r(NULL, ":", &saveptr), i++) {
+-		if (i == 2) {
+-			context = xstrdup(token);
+-			break;
+-		}
+-	}
+-	if (context == NULL)
+-		context = xstrdup(ctx);
+-	free(ctx_copy);
++	char *type = get_type_from_context(ctx);
+ 	free(ctx);
+ 
+ 	errno = saved_errno;
+-	return context;
++	return type;
+ }
+ 
+ char *
+-secontext_full_file(const char *filename)
++secontext_full_file(const char *filename, bool mismatch)
+ {
+-	return FORMAT_SPACE_BEFORE(raw_secontext_full_file(filename));
++	int saved_errno = errno;
++	char *context = raw_secontext_full_file(filename);
++	if (context && mismatch) {
++		char *expected = raw_expected_secontext_full_file(filename);
++		if (expected && strcmp(context, expected)) {
++			char *context_mismatch =
++				xasprintf("%s!!%s", context, expected);
++			free(context);
++			context = context_mismatch;
++		}
++		free(expected);
++	}
++	errno = saved_errno;
++	return FORMAT_SPACE_BEFORE(context);
+ }
+ 
+ char *
+@@ -159,9 +211,22 @@ secontext_full_pid(pid_t pid)
+ }
+ 
+ char *
+-secontext_short_file(const char *filename)
++secontext_short_file(const char *filename, bool mismatch)
+ {
+-	return FORMAT_SPACE_BEFORE(raw_secontext_short_file(filename));
++	int saved_errno = errno;
++	char *context = raw_secontext_short_file(filename);
++	if (context && mismatch) {
++		char *expected = raw_expected_secontext_short_file(filename);
++		if (expected && strcmp(context, expected)) {
++			char *context_mismatch =
++				xasprintf("%s!!%s", context, expected);
++			free(context);
++			context = context_mismatch;
++		}
++		free(expected);
++	}
++	errno = saved_errno;
++	return FORMAT_SPACE_BEFORE(context);
+ }
+ 
+ char *
+@@ -171,31 +236,38 @@ secontext_short_pid(pid_t pid)
+ }
+ 
+ void
+-update_secontext_type(const char *file, const char *newtype)
++update_secontext_field(const char *file, enum secontext_field field,
++		       const char *newvalue)
+ {
++	int saved_errno = errno;
++	assert(field >= SECONTEXT_USER && field <= SECONTEXT_TYPE);
++
+ 	char *ctx = raw_secontext_full_file(file);
+ 	if (ctx == NULL)
+ 		return;
+ 
+ 	char *saveptr = NULL;
+ 	char *token;
+-	int field;
++	int nfields;
+ 	char *split[4];
+ 
+-	for (token = strtok_r(ctx, ":", &saveptr), field = 0;
+-	     token; token = strtok_r(NULL, ":", &saveptr), field++) {
+-		assert(field < 4);
+-		split[field] = token;
++	for (token = strtok_r(ctx, ":", &saveptr), nfields = 0;
++	     token; token = strtok_r(NULL, ":", &saveptr), nfields++) {
++		assert(nfields < 4);
++		split[nfields] = token;
+ 	}
+-	assert(field == 4);
++	assert(nfields == 4);
++
++	split[field] = (char *)newvalue;
+ 
+ 	char *newcontext = xasprintf("%s:%s:%s:%s", split[0], split[1],
+-				     newtype, split[3]);
++				     split[2], split[3]);
+ 
+ 	(void) setfilecon(file, newcontext);
+ 
+ 	free(newcontext);
+ 	free(ctx);
++	errno = saved_errno;
+ }
+ 
+ #endif /* HAVE_SELINUX_RUNTIME */
+diff --git a/tests-m32/secontext.h b/tests-m32/secontext.h
+index c65f53a..1d0251a 100644
+--- a/tests-m32/secontext.h
++++ b/tests-m32/secontext.h
+@@ -9,24 +9,39 @@
+ #include "xmalloc.h"
+ #include <unistd.h>
+ 
+-char *secontext_full_file(const char *) ATTRIBUTE_MALLOC;
++char *secontext_full_file(const char *, bool) ATTRIBUTE_MALLOC;
+ char *secontext_full_pid(pid_t) ATTRIBUTE_MALLOC;
+ 
+-char *secontext_short_file(const char *) ATTRIBUTE_MALLOC;
++char *secontext_short_file(const char *, bool) ATTRIBUTE_MALLOC;
+ char *secontext_short_pid(pid_t) ATTRIBUTE_MALLOC;
+ 
++enum secontext_field {
++	SECONTEXT_USER,
++	SECONTEXT_ROLE,
++	SECONTEXT_TYPE
++};
++
+ #if defined TEST_SECONTEXT && defined HAVE_SELINUX_RUNTIME
+ 
+-void update_secontext_type(const char *file, const char *newtype);
++void update_secontext_field(const char *file, enum secontext_field field,
++			    const char *newvalue);
+ 
+ # ifdef PRINT_SECONTEXT_FULL
+ 
+-#  define SECONTEXT_FILE(filename)	secontext_full_file(filename)
++#  ifdef PRINT_SECONTEXT_MISMATCH
++#   define SECONTEXT_FILE(filename)	secontext_full_file(filename, true)
++#  else
++#   define SECONTEXT_FILE(filename)	secontext_full_file(filename, false)
++#  endif
+ #  define SECONTEXT_PID(pid)		secontext_full_pid(pid)
+ 
+ # else
+ 
+-#  define SECONTEXT_FILE(filename)	secontext_short_file(filename)
++#  ifdef PRINT_SECONTEXT_MISMATCH
++#   define SECONTEXT_FILE(filename)	secontext_short_file(filename, true)
++#  else
++#   define SECONTEXT_FILE(filename)	secontext_short_file(filename, false)
++#  endif
+ #  define SECONTEXT_PID(pid)		secontext_short_pid(pid)
+ 
+ # endif
+@@ -34,7 +49,8 @@ void update_secontext_type(const char *file, const char *newtype);
+ #else
+ 
+ static inline void
+-update_secontext_type(const char *file, const char *newtype)
++update_secontext_field(const char *file, enum secontext_field field,
++		       const char *newvalue)
+ {
+ }
+ 
+diff --git a/tests-mx32/gen_tests.in b/tests-mx32/gen_tests.in
+index 8b4e2e9..71e2f17 100644
+--- a/tests-mx32/gen_tests.in
++++ b/tests-mx32/gen_tests.in
+@@ -12,6 +12,8 @@ accept4	-a37
+ access	-a30 --trace-path=access_sample
+ access--secontext	-a30 --secontext --trace-path=access_sample -e trace=access
+ access--secontext_full	-a30 --secontext=full --trace-path=access_sample -e trace=access
++access--secontext_full_mismatch	-a30 --secontext=full,mismatch --trace-path=access_sample -e trace=access
++access--secontext_mismatch	-a30 --secontext=mismatch --trace-path=access_sample -e trace=access
+ acct	-a20
+ add_key	-a30 -s12
+ adjtimex	-a15
+@@ -27,8 +29,10 @@ bpf-v	-a20 -v -e trace=bpf
+ btrfs	+ioctl.test
+ chdir	-a10
+ chmod	-a28
+-chmod--secontext	-a28 --secontext -e trace=chmod
+-chmod--secontext_full	-a28 --secontext=full -e trace=chmod
++chmod--secontext	-a28 -e secontext=!full,mismatch -e trace=chmod
++chmod--secontext_full	-a28 -e secontext=full -e trace=chmod
++chmod--secontext_full_mismatch	-a28 --secontext=mismatch,full -e trace=chmod
++chmod--secontext_mismatch	-a28 --secontext=mismatch -e trace=chmod
+ chown	-a28
+ chown32	-a31
+ chroot	-a13
+@@ -84,16 +88,24 @@ epoll_wait	-a26
+ erestartsys	-a34 -e signal=none -e trace=recvfrom
+ execve--secontext	+execve.test --secontext
+ execve--secontext_full	+execve.test --secontext=full
++execve--secontext_full_mismatch	+execve.test --secontext=full,mismatch
++execve--secontext_mismatch	+execve.test --secontext=mismatch
+ execveat
+ execveat--secontext	--secontext --trace=execveat
+ execveat--secontext_full	--secontext=full --trace=execveat
++execveat--secontext_full_mismatch	--secontext=full,mismatch --trace=execveat
++execveat--secontext_mismatch	--secontext=mismatch --trace=execveat
+ execveat-v	-v -e trace=execveat
+ faccessat--secontext	+faccessat.test -a24 --secontext
+ faccessat--secontext_full	+faccessat.test -a24 --secontext=full
++faccessat--secontext_full_mismatch	+faccessat.test -a24 --secontext=full,mismatch
++faccessat--secontext_mismatch	+faccessat.test -a24 --secontext=mismatch
+ faccessat-P	-a23 --trace=faccessat -P /dev/full
+ faccessat-y	+faccessat.test -a24 -y
+ faccessat-y--secontext	+faccessat.test -a24 -y --secontext
+ faccessat-y--secontext_full	+faccessat.test -a24 -y --secontext=full
++faccessat-y--secontext_full_mismatch	+faccessat.test -a24 -y --secontext=full,mismatch
++faccessat-y--secontext_mismatch	+faccessat.test -a24 -y --secontext=mismatch
+ faccessat-yy	+faccessat.test -a24 -yy
+ faccessat2-P	-a27 --trace=faccessat2 -P /dev/full
+ faccessat2-y	+faccessat2.test -a28 -y
+@@ -104,6 +116,8 @@ fanotify_init
+ fanotify_mark	-a32
+ fanotify_mark--secontext	-a32 --secontext -e trace=fanotify_mark
+ fanotify_mark--secontext_full	-a32 --secontext=full -e trace=fanotify_mark
++fanotify_mark--secontext_full_mismatch	-a32 --secontext=full,mismatch -e trace=fanotify_mark
++fanotify_mark--secontext_mismatch	-a32 --secontext=mismatch -e trace=fanotify_mark
+ fanotify_mark-Xabbrev	-a32 -Xabbrev -e trace=fanotify_mark
+ fanotify_mark-Xraw	-a32 -Xraw -e trace=fanotify_mark
+ fanotify_mark-Xverbose	-a32 -Xverbose -e trace=fanotify_mark
+@@ -111,17 +125,25 @@ fchdir	-a11
+ fchmod	-a15
+ fchmod--secontext	-a15 --secontext -e trace=fchmod
+ fchmod--secontext_full	-a15 --secontext=full -e trace=fchmod
++fchmod--secontext_full_mismatch	-a15 --secontext=full,mismatch -e trace=fchmod
++fchmod--secontext_mismatch	-a15 --secontext=mismatch -e trace=fchmod
+ fchmod-y	-y -e trace=fchmod
+ fchmod-y--secontext	-a15 -y --secontext -e trace=fchmod
+ fchmod-y--secontext_full	-a15 -y --secontext=full -e trace=fchmod
++fchmod-y--secontext_full_mismatch	-a15 -y --secontext=full,mismatch -e trace=fchmod
++fchmod-y--secontext_mismatch	-a15 -y --secontext=mismatch -e trace=fchmod
+ fchmodat
+ fchmodat--secontext	--secontext -e trace=fchmodat
+ fchmodat--secontext_full	--secontext=full -e trace=fchmodat
++fchmodat--secontext_full_mismatch	--secontext=full,mismatch -e trace=fchmodat
++fchmodat--secontext_mismatch	--secontext=mismatch -e trace=fchmodat
+ fchown	-a16
+ fchown32	-a18
+ fchownat
+ fchownat--secontext	--secontext -e trace=fchownat
+ fchownat--secontext_full	--secontext=full -e trace=fchownat
++fchownat--secontext_full_mismatch	-e secontext=full,mismatch -e trace=fchownat
++fchownat--secontext_mismatch	-e secontext=mismatch -e trace=fchownat
+ fcntl	-a8
+ fcntl--pidns-translation	test_pidns -a8 -e trace=fcntl
+ fcntl64	-a8
+@@ -130,6 +152,8 @@ fdatasync	-a14
+ file_handle	-e trace=name_to_handle_at,open_by_handle_at
+ file_handle--secontext	--secontext -e trace=name_to_handle_at,open_by_handle_at
+ file_handle--secontext_full	--secontext=full -e trace=name_to_handle_at,open_by_handle_at
++file_handle--secontext_full_mismatch	--secontext=full,mismatch -e trace=name_to_handle_at,open_by_handle_at
++file_handle--secontext_mismatch	--secontext=mismatch -e trace=name_to_handle_at,open_by_handle_at
+ filter_seccomp	. "${srcdir=.}/filter_seccomp.sh"; test_prog_set --seccomp-bpf -f
+ filter_seccomp-flag	../$NAME
+ finit_module	-a25
+@@ -383,6 +407,8 @@ link
+ linkat
+ linkat--secontext	--secontext -e trace=linkat
+ linkat--secontext_full	--secontext=full -e trace=linkat
++linkat--secontext_full_mismatch	--secontext=full,mismatch -e trace=linkat
++linkat--secontext_mismatch	--secontext=mismatch -e trace=linkat
+ lookup_dcookie	-a27
+ lstat	-a31 --no-abbrev --trace-path=stat.sample --trace-path=/dev/full
+ lstat64	-a32 --no-abbrev --trace-path=stat.sample --trace-path=/dev/full
+@@ -526,11 +552,15 @@ oldstat	-a32 -v -P stat.sample -P /dev/full
+ open	-a30 -P $NAME.sample
+ open--secontext		-a30 -P open.sample --secontext --trace=open
+ open--secontext_full	-a30 -P open.sample --secontext=full --trace=open
++open--secontext_full_mismatch	-a30 -P open.sample --secontext=full,mismatch --trace=open
++open--secontext_mismatch		-a30 -P open.sample --secontext=mismatch --trace=open
+ open_tree -a30 -y
+ open_tree-P -a30 --decode-fds -P /dev/full -e trace=open_tree
+ openat	-a36 -P $NAME.sample
+ openat--secontext	-a36 -P openat.sample -P $PWD/openat.sample --secontext -e trace=openat
+ openat--secontext_full	-a36 -P openat.sample -P $PWD/openat.sample --secontext=full -e trace=openat
++openat--secontext_full_mismatch	-a36 -P openat.sample -P $PWD/openat.sample --secontext=full,mismatch -e trace=openat
++openat--secontext_mismatch	-a36 -P openat.sample -P $PWD/openat.sample --secontext=mismatch -e trace=openat
+ openat2	-a35
+ openat2-Xabbrev	--trace=openat2 -a35 -Xabbrev
+ openat2-Xraw	--trace=openat2 -a32 -Xraw
+diff --git a/tests-mx32/linkat.c b/tests-mx32/linkat.c
+index 1d41d3d..1a869e3 100644
+--- a/tests-mx32/linkat.c
++++ b/tests-mx32/linkat.c
+@@ -15,6 +15,7 @@
+ #include <stdlib.h>
+ #include <unistd.h>
+ #include <sys/stat.h>
++#include <string.h>
+ 
+ #include "secontext.h"
+ #include "xmalloc.h"
+@@ -88,10 +89,42 @@ main(void)
+ 		perror_msg_and_fail("close");
+ 
+ 	free(sample_1_secontext);
+-	update_secontext_type(sample_1, "default_t");
++
++#ifdef PRINT_SECONTEXT_MISMATCH
++	update_secontext_field(sample_1, SECONTEXT_USER, "system_u");
++	sample_1_secontext = SECONTEXT_FILE(sample_1);
++
++# ifdef PRINT_SECONTEXT_FULL
++	/* The mismatch should be detected */
++	if (*sample_1_secontext && strstr(sample_1_secontext, "!!") == NULL)
++		perror_msg_and_fail("Context mismatch not detected: %s",
++				    sample_1_secontext);
++	if (*sample_1_secontext && strstr(sample_1_secontext, "system_u") == NULL)
++		perror_msg_and_fail("Context mismatch not detected: %s",
++				    sample_1_secontext);
++# else
++	/* The mismatch cannot be detected since it's on user part */
++	if (*sample_1_secontext && strstr(sample_1_secontext, "!!") != NULL)
++		perror_msg_and_fail("Context mismatch detected: %s",
++				    sample_1_secontext);
++# endif
++
++	free(sample_1_secontext);
++#endif
++
++	update_secontext_field(sample_1, SECONTEXT_TYPE, "default_t");
+ 	sample_1_secontext = SECONTEXT_FILE(sample_1);
+ 	sample_2_secontext = sample_1_secontext;
+ 
++#ifdef PRINT_SECONTEXT_MISMATCH
++	if (*sample_1_secontext && strstr(sample_1_secontext, "!!") == NULL)
++		perror_msg_and_fail("Context mismatch not detected: %s",
++				    sample_1_secontext);
++	if (*sample_1_secontext && strstr(sample_1_secontext, "default_t") == NULL)
++		perror_msg_and_fail("Context mismatch not detected: %s",
++				    sample_1_secontext);
++#endif
++
+ 	rc = syscall(__NR_linkat, -100, sample_1, -100, sample_2, 0);
+ 	printf("%s%s(AT_FDCWD, \"%s\"%s, AT_FDCWD, \"%s\"%s, 0) = %s\n",
+ 	       my_secontext, "linkat",
+@@ -108,8 +141,19 @@ main(void)
+ 
+ 	int dfd_old = get_dir_fd(".");
+ 	char *cwd = get_fd_path(dfd_old);
++
++	update_secontext_field(".", SECONTEXT_TYPE, "default_t");
+ 	char *dfd_old_secontext = SECONTEXT_FILE(".");
+ 
++#ifdef PRINT_SECONTEXT_MISMATCH
++	if (*dfd_old_secontext && strstr(dfd_old_secontext, "!!") == NULL)
++		perror_msg_and_fail("Context mismatch not detected: %s",
++				    dfd_old_secontext);
++	if (*dfd_old_secontext && strstr(dfd_old_secontext, "default_t") == NULL)
++		perror_msg_and_fail("Context mismatch not detected: %s",
++				    dfd_old_secontext);
++#endif
++
+ 	rc = syscall(__NR_linkat, dfd_old, sample_1, -100, sample_2, 0);
+ 	/* no context printed for sample_2 since file doesn't exist yet */
+ 	printf("%s%s(%d%s, \"%s\"%s, AT_FDCWD, \"%s\", 0) = %s\n",
+diff --git a/tests-mx32/options-syntax.test b/tests-mx32/options-syntax.test
+index 765b2f8..848d297 100755
+--- a/tests-mx32/options-syntax.test
++++ b/tests-mx32/options-syntax.test
+@@ -48,8 +48,18 @@ check_e '-t and --absolute-timestamps cannot be provided simultaneously' -t --ti
+ check_e '-t and --absolute-timestamps cannot be provided simultaneously' --absolute-timestamps -ttt -p $$
+ check_e '-t and --absolute-timestamps cannot be provided simultaneously' -t --timestamps=ns -t -p $$
+ check_e '-t and --absolute-timestamps cannot be provided simultaneously' --timestamps=ns -t --absolute-timestamps=unix -p $$
+-[ -z "$compiled_with_secontext" ] ||
+-	check_h "invalid --secontext argument: 'ss'" --secontext=ss
++if [ -n "$compiled_with_secontext" ]; then
++	for opt in '--secontext' '-e secontext'; do
++		check_e "invalid secontext ''" $opt=
++		check_e "invalid secontext 'ss'" $opt=ss
++		check_e "invalid secontext 'ss'" $opt=ss,full,mismatch
++		check_e "invalid secontext 'ss'" $opt=full,ss,mismatch
++		check_e "invalid secontext 'ss'" $opt=full,ss
++		check_e "invalid secontext 'ss'" $opt=full,mismatch,ss
++		check_e "invalid secontext 'ss'" $opt=!full,ss
++		check_e "invalid secontext 'ss'" $opt=!full,mismatch,ss
++	done
++fi
+ check_h 'PROG [ARGS] must be specified with -D/--daemonize' -D -p $$
+ check_h 'PROG [ARGS] must be specified with -D/--daemonize' -DD -p $$
+ check_h 'PROG [ARGS] must be specified with -D/--daemonize' -DDD -p $$
+diff --git a/tests-mx32/secontext.c b/tests-mx32/secontext.c
+index 21c6370..848eea9 100644
+--- a/tests-mx32/secontext.c
++++ b/tests-mx32/secontext.c
+@@ -13,8 +13,10 @@
+ # include <errno.h>
+ # include <stdlib.h>
+ # include <string.h>
++# include <sys/stat.h>
+ # include <unistd.h>
+ # include <selinux/selinux.h>
++# include <selinux/label.h>
+ 
+ # include "xmalloc.h"
+ 
+@@ -55,6 +57,79 @@ strip_trailing_newlines(char *context)
+ }
+ 
+ static char *
++get_type_from_context(const char *full_context)
++{
++	int saved_errno = errno;
++
++	if (!full_context)
++		return NULL;
++
++	char *saveptr = NULL;
++	const char *token;
++	unsigned int i;
++
++	char *ctx_copy = xstrdup(full_context);
++	char *context = NULL;
++	for (token = strtok_r(ctx_copy, ":", &saveptr), i = 0;
++	     token; token = strtok_r(NULL, ":", &saveptr), i++) {
++		if (i == 2) {
++			context = xstrdup(token);
++			break;
++		}
++	}
++	if (!context)
++		context = xstrdup(full_context);
++	free(ctx_copy);
++
++	errno = saved_errno;
++	return context;
++}
++
++static char *
++raw_expected_secontext_full_file(const char *filename)
++{
++	int saved_errno = errno;
++	char *secontext;
++
++	static struct selabel_handle *hdl;
++	if (!hdl) {
++		hdl = selabel_open(SELABEL_CTX_FILE, NULL, 0);
++		if (!hdl)
++			perror_msg_and_skip("selabel_open");
++	}
++
++	char *resolved = realpath(filename, NULL);
++	if (!resolved)
++		perror_msg_and_fail("realpath: %s", filename);
++
++	struct stat statbuf;
++	if (stat(resolved, &statbuf) < 0)
++		perror_msg_and_fail("stat: %s", resolved);
++
++	if (selabel_lookup(hdl, &secontext, resolved, statbuf.st_mode) < 0)
++		perror_msg_and_skip("selabel_lookup: %s", resolved);
++	free(resolved);
++
++	char *full_secontext = xstrdup(secontext);
++	freecon(secontext);
++	errno = saved_errno;
++	return full_secontext;
++}
++
++static char *
++raw_expected_secontext_short_file(const char *filename)
++{
++	int saved_errno = errno;
++
++	char *ctx = raw_expected_secontext_full_file(filename);
++	char *type = get_type_from_context(ctx);
++	free(ctx);
++
++	errno = saved_errno;
++	return type;
++}
++
++static char *
+ raw_secontext_full_file(const char *filename)
+ {
+ 	int saved_errno = errno;
+@@ -75,29 +150,11 @@ raw_secontext_short_file(const char *filename)
+ 	int saved_errno = errno;
+ 
+ 	char *ctx = raw_secontext_full_file(filename);
+-	if (ctx == NULL)
+-		return ctx;
+-
+-	char *saveptr = NULL;
+-	const char *token;
+-	unsigned int i;
+-
+-	char *ctx_copy = xstrdup(ctx);
+-	char *context = NULL;
+-	for (token = strtok_r(ctx_copy, ":", &saveptr), i = 0;
+-	     token; token = strtok_r(NULL, ":", &saveptr), i++) {
+-		if (i == 2) {
+-			context = xstrdup(token);
+-			break;
+-		}
+-	}
+-	if (context == NULL)
+-		context = xstrdup(ctx);
+-	free(ctx_copy);
++	char *type = get_type_from_context(ctx);
+ 	free(ctx);
+ 
+ 	errno = saved_errno;
+-	return context;
++	return type;
+ }
+ 
+ static char *
+@@ -121,35 +178,30 @@ raw_secontext_short_pid(pid_t pid)
+ 	int saved_errno = errno;
+ 
+ 	char *ctx = raw_secontext_full_pid(pid);
+-	if (ctx == NULL)
+-		return ctx;
+-
+-	char *saveptr = NULL;
+-	const char *token;
+-	int i;
+-
+-	char *ctx_copy = xstrdup(ctx);
+-	char *context = NULL;
+-	for (token = strtok_r(ctx_copy, ":", &saveptr), i = 0;
+-	     token; token = strtok_r(NULL, ":", &saveptr), i++) {
+-		if (i == 2) {
+-			context = xstrdup(token);
+-			break;
+-		}
+-	}
+-	if (context == NULL)
+-		context = xstrdup(ctx);
+-	free(ctx_copy);
++	char *type = get_type_from_context(ctx);
+ 	free(ctx);
+ 
+ 	errno = saved_errno;
+-	return context;
++	return type;
+ }
+ 
+ char *
+-secontext_full_file(const char *filename)
++secontext_full_file(const char *filename, bool mismatch)
+ {
+-	return FORMAT_SPACE_BEFORE(raw_secontext_full_file(filename));
++	int saved_errno = errno;
++	char *context = raw_secontext_full_file(filename);
++	if (context && mismatch) {
++		char *expected = raw_expected_secontext_full_file(filename);
++		if (expected && strcmp(context, expected)) {
++			char *context_mismatch =
++				xasprintf("%s!!%s", context, expected);
++			free(context);
++			context = context_mismatch;
++		}
++		free(expected);
++	}
++	errno = saved_errno;
++	return FORMAT_SPACE_BEFORE(context);
+ }
+ 
+ char *
+@@ -159,9 +211,22 @@ secontext_full_pid(pid_t pid)
+ }
+ 
+ char *
+-secontext_short_file(const char *filename)
++secontext_short_file(const char *filename, bool mismatch)
+ {
+-	return FORMAT_SPACE_BEFORE(raw_secontext_short_file(filename));
++	int saved_errno = errno;
++	char *context = raw_secontext_short_file(filename);
++	if (context && mismatch) {
++		char *expected = raw_expected_secontext_short_file(filename);
++		if (expected && strcmp(context, expected)) {
++			char *context_mismatch =
++				xasprintf("%s!!%s", context, expected);
++			free(context);
++			context = context_mismatch;
++		}
++		free(expected);
++	}
++	errno = saved_errno;
++	return FORMAT_SPACE_BEFORE(context);
+ }
+ 
+ char *
+@@ -171,31 +236,38 @@ secontext_short_pid(pid_t pid)
+ }
+ 
+ void
+-update_secontext_type(const char *file, const char *newtype)
++update_secontext_field(const char *file, enum secontext_field field,
++		       const char *newvalue)
+ {
++	int saved_errno = errno;
++	assert(field >= SECONTEXT_USER && field <= SECONTEXT_TYPE);
++
+ 	char *ctx = raw_secontext_full_file(file);
+ 	if (ctx == NULL)
+ 		return;
+ 
+ 	char *saveptr = NULL;
+ 	char *token;
+-	int field;
++	int nfields;
+ 	char *split[4];
+ 
+-	for (token = strtok_r(ctx, ":", &saveptr), field = 0;
+-	     token; token = strtok_r(NULL, ":", &saveptr), field++) {
+-		assert(field < 4);
+-		split[field] = token;
++	for (token = strtok_r(ctx, ":", &saveptr), nfields = 0;
++	     token; token = strtok_r(NULL, ":", &saveptr), nfields++) {
++		assert(nfields < 4);
++		split[nfields] = token;
+ 	}
+-	assert(field == 4);
++	assert(nfields == 4);
++
++	split[field] = (char *)newvalue;
+ 
+ 	char *newcontext = xasprintf("%s:%s:%s:%s", split[0], split[1],
+-				     newtype, split[3]);
++				     split[2], split[3]);
+ 
+ 	(void) setfilecon(file, newcontext);
+ 
+ 	free(newcontext);
+ 	free(ctx);
++	errno = saved_errno;
+ }
+ 
+ #endif /* HAVE_SELINUX_RUNTIME */
+diff --git a/tests-mx32/secontext.h b/tests-mx32/secontext.h
+index c65f53a..1d0251a 100644
+--- a/tests-mx32/secontext.h
++++ b/tests-mx32/secontext.h
+@@ -9,24 +9,39 @@
+ #include "xmalloc.h"
+ #include <unistd.h>
+ 
+-char *secontext_full_file(const char *) ATTRIBUTE_MALLOC;
++char *secontext_full_file(const char *, bool) ATTRIBUTE_MALLOC;
+ char *secontext_full_pid(pid_t) ATTRIBUTE_MALLOC;
+ 
+-char *secontext_short_file(const char *) ATTRIBUTE_MALLOC;
++char *secontext_short_file(const char *, bool) ATTRIBUTE_MALLOC;
+ char *secontext_short_pid(pid_t) ATTRIBUTE_MALLOC;
+ 
++enum secontext_field {
++	SECONTEXT_USER,
++	SECONTEXT_ROLE,
++	SECONTEXT_TYPE
++};
++
+ #if defined TEST_SECONTEXT && defined HAVE_SELINUX_RUNTIME
+ 
+-void update_secontext_type(const char *file, const char *newtype);
++void update_secontext_field(const char *file, enum secontext_field field,
++			    const char *newvalue);
+ 
+ # ifdef PRINT_SECONTEXT_FULL
+ 
+-#  define SECONTEXT_FILE(filename)	secontext_full_file(filename)
++#  ifdef PRINT_SECONTEXT_MISMATCH
++#   define SECONTEXT_FILE(filename)	secontext_full_file(filename, true)
++#  else
++#   define SECONTEXT_FILE(filename)	secontext_full_file(filename, false)
++#  endif
+ #  define SECONTEXT_PID(pid)		secontext_full_pid(pid)
+ 
+ # else
+ 
+-#  define SECONTEXT_FILE(filename)	secontext_short_file(filename)
++#  ifdef PRINT_SECONTEXT_MISMATCH
++#   define SECONTEXT_FILE(filename)	secontext_short_file(filename, true)
++#  else
++#   define SECONTEXT_FILE(filename)	secontext_short_file(filename, false)
++#  endif
+ #  define SECONTEXT_PID(pid)		secontext_short_pid(pid)
+ 
+ # endif
+@@ -34,7 +49,8 @@ void update_secontext_type(const char *file, const char *newtype);
+ #else
+ 
+ static inline void
+-update_secontext_type(const char *file, const char *newtype)
++update_secontext_field(const char *file, enum secontext_field field,
++		       const char *newvalue)
+ {
+ }
+ 
+--- old/tests/Makefile.in	2022-02-07 20:23:38.724063729 +0100
++++ new/tests/Makefile.in	2022-02-07 20:24:05.660063357 +0100
+@@ -614,25 +614,55 @@
+ 	xet_thread_area_x86$(EXEEXT) xetitimer$(EXEEXT) \
+ 	xetpgid$(EXEEXT) xetpriority$(EXEEXT) xettimeofday$(EXEEXT)
+ am__EXEEXT_2 = access--secontext$(EXEEXT) \
+-	access--secontext_full$(EXEEXT) chmod--secontext$(EXEEXT) \
+-	chmod--secontext_full$(EXEEXT) execve--secontext$(EXEEXT) \
+-	execve--secontext_full$(EXEEXT) execveat--secontext$(EXEEXT) \
+-	execveat--secontext_full$(EXEEXT) \
++	access--secontext_full$(EXEEXT) \
++	access--secontext_full_mismatch$(EXEEXT) \
++	access--secontext_mismatch$(EXEEXT) chmod--secontext$(EXEEXT) \
++	chmod--secontext_full$(EXEEXT) \
++	chmod--secontext_full_mismatch$(EXEEXT) \
++	chmod--secontext_mismatch$(EXEEXT) execve--secontext$(EXEEXT) \
++	execve--secontext_full$(EXEEXT) \
++	execve--secontext_full_mismatch$(EXEEXT) \
++	execve--secontext_mismatch$(EXEEXT) \
++	execveat--secontext$(EXEEXT) execveat--secontext_full$(EXEEXT) \
++	execveat--secontext_full_mismatch$(EXEEXT) \
++	execveat--secontext_mismatch$(EXEEXT) \
+ 	faccessat--secontext$(EXEEXT) \
+ 	faccessat--secontext_full$(EXEEXT) \
++	faccessat--secontext_full_mismatch$(EXEEXT) \
++	faccessat--secontext_mismatch$(EXEEXT) \
+ 	faccessat-y--secontext$(EXEEXT) \
+ 	faccessat-y--secontext_full$(EXEEXT) \
++	faccessat-y--secontext_full_mismatch$(EXEEXT) \
++	faccessat-y--secontext_mismatch$(EXEEXT) \
+ 	fanotify_mark--secontext$(EXEEXT) \
+ 	fanotify_mark--secontext_full$(EXEEXT) \
++	fanotify_mark--secontext_full_mismatch$(EXEEXT) \
++	fanotify_mark--secontext_mismatch$(EXEEXT) \
+ 	fchmod--secontext$(EXEEXT) fchmod--secontext_full$(EXEEXT) \
++	fchmod--secontext_full_mismatch$(EXEEXT) \
++	fchmod--secontext_mismatch$(EXEEXT) \
+ 	fchmod-y--secontext$(EXEEXT) fchmod-y--secontext_full$(EXEEXT) \
++	fchmod-y--secontext_full_mismatch$(EXEEXT) \
++	fchmod-y--secontext_mismatch$(EXEEXT) \
+ 	fchmodat--secontext$(EXEEXT) fchmodat--secontext_full$(EXEEXT) \
++	fchmodat--secontext_full_mismatch$(EXEEXT) \
++	fchmodat--secontext_mismatch$(EXEEXT) \
+ 	fchownat--secontext$(EXEEXT) fchownat--secontext_full$(EXEEXT) \
++	fchownat--secontext_full_mismatch$(EXEEXT) \
++	fchownat--secontext_mismatch$(EXEEXT) \
+ 	file_handle--secontext$(EXEEXT) \
+ 	file_handle--secontext_full$(EXEEXT) \
++	file_handle--secontext_full_mismatch$(EXEEXT) \
++	file_handle--secontext_mismatch$(EXEEXT) \
+ 	linkat--secontext$(EXEEXT) linkat--secontext_full$(EXEEXT) \
+-	open--secontext$(EXEEXT) open--secontext_full$(EXEEXT) \
+-	openat--secontext$(EXEEXT) openat--secontext_full$(EXEEXT)
++	linkat--secontext_full_mismatch$(EXEEXT) \
++	linkat--secontext_mismatch$(EXEEXT) open--secontext$(EXEEXT) \
++	open--secontext_full$(EXEEXT) \
++	open--secontext_full_mismatch$(EXEEXT) \
++	open--secontext_mismatch$(EXEEXT) openat--secontext$(EXEEXT) \
++	openat--secontext_full$(EXEEXT) \
++	openat--secontext_full_mismatch$(EXEEXT) \
++	openat--secontext_mismatch$(EXEEXT)
+ ARFLAGS = cru
+ AM_V_AR = $(am__v_AR_@AM_V@)
+ am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@)
+@@ -661,6 +691,17 @@
+ access__secontext_full_SOURCES = access--secontext_full.c
+ access__secontext_full_OBJECTS = access--secontext_full.$(OBJEXT)
+ access__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
++access__secontext_full_mismatch_SOURCES =  \
++	access--secontext_full_mismatch.c
++access__secontext_full_mismatch_OBJECTS =  \
++	access--secontext_full_mismatch.$(OBJEXT)
++access__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \
++	$(am__DEPENDENCIES_2)
++access__secontext_mismatch_SOURCES = access--secontext_mismatch.c
++access__secontext_mismatch_OBJECTS =  \
++	access--secontext_mismatch.$(OBJEXT)
++access__secontext_mismatch_DEPENDENCIES = $(LDADD) \
++	$(am__DEPENDENCIES_2)
+ acct_SOURCES = acct.c
+ acct_OBJECTS = acct.$(OBJEXT)
+ acct_LDADD = $(LDADD)
+@@ -789,6 +830,17 @@
+ chmod__secontext_full_SOURCES = chmod--secontext_full.c
+ chmod__secontext_full_OBJECTS = chmod--secontext_full.$(OBJEXT)
+ chmod__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
++chmod__secontext_full_mismatch_SOURCES =  \
++	chmod--secontext_full_mismatch.c
++chmod__secontext_full_mismatch_OBJECTS =  \
++	chmod--secontext_full_mismatch.$(OBJEXT)
++chmod__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \
++	$(am__DEPENDENCIES_2)
++chmod__secontext_mismatch_SOURCES = chmod--secontext_mismatch.c
++chmod__secontext_mismatch_OBJECTS =  \
++	chmod--secontext_mismatch.$(OBJEXT)
++chmod__secontext_mismatch_DEPENDENCIES = $(LDADD) \
++	$(am__DEPENDENCIES_2)
+ chown_SOURCES = chown.c
+ chown_OBJECTS = chown.$(OBJEXT)
+ chown_LDADD = $(LDADD)
+@@ -1030,6 +1082,17 @@
+ execve__secontext_full_SOURCES = execve--secontext_full.c
+ execve__secontext_full_OBJECTS = execve--secontext_full.$(OBJEXT)
+ execve__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
++execve__secontext_full_mismatch_SOURCES =  \
++	execve--secontext_full_mismatch.c
++execve__secontext_full_mismatch_OBJECTS =  \
++	execve--secontext_full_mismatch.$(OBJEXT)
++execve__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \
++	$(am__DEPENDENCIES_2)
++execve__secontext_mismatch_SOURCES = execve--secontext_mismatch.c
++execve__secontext_mismatch_OBJECTS =  \
++	execve--secontext_mismatch.$(OBJEXT)
++execve__secontext_mismatch_DEPENDENCIES = $(LDADD) \
++	$(am__DEPENDENCIES_2)
+ execve_v_SOURCES = execve-v.c
+ execve_v_OBJECTS = execve-v.$(OBJEXT)
+ execve_v_LDADD = $(LDADD)
+@@ -1044,6 +1107,17 @@
+ execveat__secontext_full_SOURCES = execveat--secontext_full.c
+ execveat__secontext_full_OBJECTS = execveat--secontext_full.$(OBJEXT)
+ execveat__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
++execveat__secontext_full_mismatch_SOURCES =  \
++	execveat--secontext_full_mismatch.c
++execveat__secontext_full_mismatch_OBJECTS =  \
++	execveat--secontext_full_mismatch.$(OBJEXT)
++execveat__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \
++	$(am__DEPENDENCIES_2)
++execveat__secontext_mismatch_SOURCES = execveat--secontext_mismatch.c
++execveat__secontext_mismatch_OBJECTS =  \
++	execveat--secontext_mismatch.$(OBJEXT)
++execveat__secontext_mismatch_DEPENDENCIES = $(LDADD) \
++	$(am__DEPENDENCIES_2)
+ execveat_v_SOURCES = execveat-v.c
+ execveat_v_OBJECTS = execveat-v.$(OBJEXT)
+ execveat_v_LDADD = $(LDADD)
+@@ -1060,6 +1134,18 @@
+ 	faccessat--secontext_full.$(OBJEXT)
+ faccessat__secontext_full_DEPENDENCIES = $(LDADD) \
+ 	$(am__DEPENDENCIES_2)
++faccessat__secontext_full_mismatch_SOURCES =  \
++	faccessat--secontext_full_mismatch.c
++faccessat__secontext_full_mismatch_OBJECTS =  \
++	faccessat--secontext_full_mismatch.$(OBJEXT)
++faccessat__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \
++	$(am__DEPENDENCIES_2)
++faccessat__secontext_mismatch_SOURCES =  \
++	faccessat--secontext_mismatch.c
++faccessat__secontext_mismatch_OBJECTS =  \
++	faccessat--secontext_mismatch.$(OBJEXT)
++faccessat__secontext_mismatch_DEPENDENCIES = $(LDADD) \
++	$(am__DEPENDENCIES_2)
+ faccessat_P_SOURCES = faccessat-P.c
+ faccessat_P_OBJECTS = faccessat-P.$(OBJEXT)
+ faccessat_P_LDADD = $(LDADD)
+@@ -1076,6 +1162,18 @@
+ 	faccessat-y--secontext_full.$(OBJEXT)
+ faccessat_y__secontext_full_DEPENDENCIES = $(LDADD) \
+ 	$(am__DEPENDENCIES_2)
++faccessat_y__secontext_full_mismatch_SOURCES =  \
++	faccessat-y--secontext_full_mismatch.c
++faccessat_y__secontext_full_mismatch_OBJECTS =  \
++	faccessat-y--secontext_full_mismatch.$(OBJEXT)
++faccessat_y__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \
++	$(am__DEPENDENCIES_2)
++faccessat_y__secontext_mismatch_SOURCES =  \
++	faccessat-y--secontext_mismatch.c
++faccessat_y__secontext_mismatch_OBJECTS =  \
++	faccessat-y--secontext_mismatch.$(OBJEXT)
++faccessat_y__secontext_mismatch_DEPENDENCIES = $(LDADD) \
++	$(am__DEPENDENCIES_2)
+ faccessat_yy_SOURCES = faccessat-yy.c
+ faccessat_yy_OBJECTS = faccessat-yy.$(OBJEXT)
+ faccessat_yy_LDADD = $(LDADD)
+@@ -1125,6 +1223,18 @@
+ 	fanotify_mark--secontext_full.$(OBJEXT)
+ fanotify_mark__secontext_full_DEPENDENCIES = $(LDADD) \
+ 	$(am__DEPENDENCIES_2)
++fanotify_mark__secontext_full_mismatch_SOURCES =  \
++	fanotify_mark--secontext_full_mismatch.c
++fanotify_mark__secontext_full_mismatch_OBJECTS =  \
++	fanotify_mark--secontext_full_mismatch.$(OBJEXT)
++fanotify_mark__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \
++	$(am__DEPENDENCIES_2)
++fanotify_mark__secontext_mismatch_SOURCES =  \
++	fanotify_mark--secontext_mismatch.c
++fanotify_mark__secontext_mismatch_OBJECTS =  \
++	fanotify_mark--secontext_mismatch.$(OBJEXT)
++fanotify_mark__secontext_mismatch_DEPENDENCIES = $(LDADD) \
++	$(am__DEPENDENCIES_2)
+ fanotify_mark_Xabbrev_SOURCES = fanotify_mark-Xabbrev.c
+ fanotify_mark_Xabbrev_OBJECTS = fanotify_mark-Xabbrev.$(OBJEXT)
+ fanotify_mark_Xabbrev_LDADD = $(LDADD)
+@@ -1151,6 +1261,17 @@
+ fchmod__secontext_full_SOURCES = fchmod--secontext_full.c
+ fchmod__secontext_full_OBJECTS = fchmod--secontext_full.$(OBJEXT)
+ fchmod__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
++fchmod__secontext_full_mismatch_SOURCES =  \
++	fchmod--secontext_full_mismatch.c
++fchmod__secontext_full_mismatch_OBJECTS =  \
++	fchmod--secontext_full_mismatch.$(OBJEXT)
++fchmod__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \
++	$(am__DEPENDENCIES_2)
++fchmod__secontext_mismatch_SOURCES = fchmod--secontext_mismatch.c
++fchmod__secontext_mismatch_OBJECTS =  \
++	fchmod--secontext_mismatch.$(OBJEXT)
++fchmod__secontext_mismatch_DEPENDENCIES = $(LDADD) \
++	$(am__DEPENDENCIES_2)
+ fchmod_y_SOURCES = fchmod-y.c
+ fchmod_y_OBJECTS = fchmod-y.$(OBJEXT)
+ fchmod_y_LDADD = $(LDADD)
+@@ -1161,6 +1282,17 @@
+ fchmod_y__secontext_full_SOURCES = fchmod-y--secontext_full.c
+ fchmod_y__secontext_full_OBJECTS = fchmod-y--secontext_full.$(OBJEXT)
+ fchmod_y__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
++fchmod_y__secontext_full_mismatch_SOURCES =  \
++	fchmod-y--secontext_full_mismatch.c
++fchmod_y__secontext_full_mismatch_OBJECTS =  \
++	fchmod-y--secontext_full_mismatch.$(OBJEXT)
++fchmod_y__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \
++	$(am__DEPENDENCIES_2)
++fchmod_y__secontext_mismatch_SOURCES = fchmod-y--secontext_mismatch.c
++fchmod_y__secontext_mismatch_OBJECTS =  \
++	fchmod-y--secontext_mismatch.$(OBJEXT)
++fchmod_y__secontext_mismatch_DEPENDENCIES = $(LDADD) \
++	$(am__DEPENDENCIES_2)
+ fchmodat_SOURCES = fchmodat.c
+ fchmodat_OBJECTS = fchmodat.$(OBJEXT)
+ fchmodat_LDADD = $(LDADD)
+@@ -1171,6 +1303,17 @@
+ fchmodat__secontext_full_SOURCES = fchmodat--secontext_full.c
+ fchmodat__secontext_full_OBJECTS = fchmodat--secontext_full.$(OBJEXT)
+ fchmodat__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
++fchmodat__secontext_full_mismatch_SOURCES =  \
++	fchmodat--secontext_full_mismatch.c
++fchmodat__secontext_full_mismatch_OBJECTS =  \
++	fchmodat--secontext_full_mismatch.$(OBJEXT)
++fchmodat__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \
++	$(am__DEPENDENCIES_2)
++fchmodat__secontext_mismatch_SOURCES = fchmodat--secontext_mismatch.c
++fchmodat__secontext_mismatch_OBJECTS =  \
++	fchmodat--secontext_mismatch.$(OBJEXT)
++fchmodat__secontext_mismatch_DEPENDENCIES = $(LDADD) \
++	$(am__DEPENDENCIES_2)
+ fchown_SOURCES = fchown.c
+ fchown_OBJECTS = fchown.$(OBJEXT)
+ fchown_LDADD = $(LDADD)
+@@ -1189,6 +1332,17 @@
+ fchownat__secontext_full_SOURCES = fchownat--secontext_full.c
+ fchownat__secontext_full_OBJECTS = fchownat--secontext_full.$(OBJEXT)
+ fchownat__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
++fchownat__secontext_full_mismatch_SOURCES =  \
++	fchownat--secontext_full_mismatch.c
++fchownat__secontext_full_mismatch_OBJECTS =  \
++	fchownat--secontext_full_mismatch.$(OBJEXT)
++fchownat__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \
++	$(am__DEPENDENCIES_2)
++fchownat__secontext_mismatch_SOURCES = fchownat--secontext_mismatch.c
++fchownat__secontext_mismatch_OBJECTS =  \
++	fchownat--secontext_mismatch.$(OBJEXT)
++fchownat__secontext_mismatch_DEPENDENCIES = $(LDADD) \
++	$(am__DEPENDENCIES_2)
+ fcntl_SOURCES = fcntl.c
+ fcntl_OBJECTS = fcntl.$(OBJEXT)
+ fcntl_LDADD = $(LDADD)
+@@ -1226,6 +1380,18 @@
+ 	file_handle--secontext_full.$(OBJEXT)
+ file_handle__secontext_full_DEPENDENCIES = $(LDADD) \
+ 	$(am__DEPENDENCIES_2)
++file_handle__secontext_full_mismatch_SOURCES =  \
++	file_handle--secontext_full_mismatch.c
++file_handle__secontext_full_mismatch_OBJECTS =  \
++	file_handle--secontext_full_mismatch.$(OBJEXT)
++file_handle__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \
++	$(am__DEPENDENCIES_2)
++file_handle__secontext_mismatch_SOURCES =  \
++	file_handle--secontext_mismatch.c
++file_handle__secontext_mismatch_OBJECTS =  \
++	file_handle--secontext_mismatch.$(OBJEXT)
++file_handle__secontext_mismatch_DEPENDENCIES = $(LDADD) \
++	$(am__DEPENDENCIES_2)
+ filter_unavailable_SOURCES = filter-unavailable.c
+ filter_unavailable_OBJECTS = filter-unavailable.$(OBJEXT)
+ filter_unavailable_DEPENDENCIES = $(LDADD)
+@@ -2317,6 +2483,17 @@
+ linkat__secontext_full_SOURCES = linkat--secontext_full.c
+ linkat__secontext_full_OBJECTS = linkat--secontext_full.$(OBJEXT)
+ linkat__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
++linkat__secontext_full_mismatch_SOURCES =  \
++	linkat--secontext_full_mismatch.c
++linkat__secontext_full_mismatch_OBJECTS =  \
++	linkat--secontext_full_mismatch.$(OBJEXT)
++linkat__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \
++	$(am__DEPENDENCIES_2)
++linkat__secontext_mismatch_SOURCES = linkat--secontext_mismatch.c
++linkat__secontext_mismatch_OBJECTS =  \
++	linkat--secontext_mismatch.$(OBJEXT)
++linkat__secontext_mismatch_DEPENDENCIES = $(LDADD) \
++	$(am__DEPENDENCIES_2)
+ list_sigaction_signum_SOURCES = list_sigaction_signum.c
+ list_sigaction_signum_OBJECTS = list_sigaction_signum.$(OBJEXT)
+ list_sigaction_signum_LDADD = $(LDADD)
+@@ -2975,6 +3152,15 @@
+ open__secontext_full_SOURCES = open--secontext_full.c
+ open__secontext_full_OBJECTS = open--secontext_full.$(OBJEXT)
+ open__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
++open__secontext_full_mismatch_SOURCES =  \
++	open--secontext_full_mismatch.c
++open__secontext_full_mismatch_OBJECTS =  \
++	open--secontext_full_mismatch.$(OBJEXT)
++open__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \
++	$(am__DEPENDENCIES_2)
++open__secontext_mismatch_SOURCES = open--secontext_mismatch.c
++open__secontext_mismatch_OBJECTS = open--secontext_mismatch.$(OBJEXT)
++open__secontext_mismatch_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
+ open_tree_SOURCES = open_tree.c
+ open_tree_OBJECTS = open_tree.$(OBJEXT)
+ open_tree_LDADD = $(LDADD)
+@@ -2993,6 +3179,17 @@
+ openat__secontext_full_SOURCES = openat--secontext_full.c
+ openat__secontext_full_OBJECTS = openat--secontext_full.$(OBJEXT)
+ openat__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
++openat__secontext_full_mismatch_SOURCES =  \
++	openat--secontext_full_mismatch.c
++openat__secontext_full_mismatch_OBJECTS =  \
++	openat--secontext_full_mismatch.$(OBJEXT)
++openat__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \
++	$(am__DEPENDENCIES_2)
++openat__secontext_mismatch_SOURCES = openat--secontext_mismatch.c
++openat__secontext_mismatch_OBJECTS =  \
++	openat--secontext_mismatch.$(OBJEXT)
++openat__secontext_mismatch_DEPENDENCIES = $(LDADD) \
++	$(am__DEPENDENCIES_2)
+ openat2_SOURCES = openat2.c
+ openat2_OBJECTS = openat2.$(OBJEXT)
+ openat2_LDADD = $(LDADD)
+@@ -4449,6 +4646,8 @@
+ 	./$(DEPDIR)/_newselect.Po ./$(DEPDIR)/accept.Po \
+ 	./$(DEPDIR)/accept4.Po ./$(DEPDIR)/access--secontext.Po \
+ 	./$(DEPDIR)/access--secontext_full.Po ./$(DEPDIR)/access.Po \
++	./$(DEPDIR)/access--secontext_full_mismatch.Po \
++	./$(DEPDIR)/access--secontext_mismatch.Po \
+ 	./$(DEPDIR)/acct.Po ./$(DEPDIR)/add_key.Po \
+ 	./$(DEPDIR)/adjtimex.Po ./$(DEPDIR)/aio.Po \
+ 	./$(DEPDIR)/aio_pgetevents.Po ./$(DEPDIR)/alarm.Po \
+@@ -4468,6 +4667,8 @@
+ 	./$(DEPDIR)/chdir.Po ./$(DEPDIR)/check_sigblock.Po \
+ 	./$(DEPDIR)/check_sigign.Po ./$(DEPDIR)/chmod--secontext.Po \
+ 	./$(DEPDIR)/chmod--secontext_full.Po ./$(DEPDIR)/chmod.Po \
++	./$(DEPDIR)/chmod--secontext_full_mismatch.Po \
++	./$(DEPDIR)/chmod--secontext_mismatch.Po \
+ 	./$(DEPDIR)/chown.Po ./$(DEPDIR)/chown32.Po \
+ 	./$(DEPDIR)/chroot.Po ./$(DEPDIR)/clock_adjtime.Po \
+ 	./$(DEPDIR)/clock_adjtime64.Po ./$(DEPDIR)/clock_nanosleep.Po \
+@@ -4503,14 +4704,22 @@
+ 	./$(DEPDIR)/epoll_wait.Po ./$(DEPDIR)/erestartsys.Po \
+ 	./$(DEPDIR)/eventfd.Po ./$(DEPDIR)/execve--secontext.Po \
+ 	./$(DEPDIR)/execve--secontext_full.Po ./$(DEPDIR)/execve-v.Po \
++	./$(DEPDIR)/execve--secontext_full_mismatch.Po \
++	./$(DEPDIR)/execve--secontext_mismatch.Po \
+ 	./$(DEPDIR)/execve.Po ./$(DEPDIR)/execveat--secontext.Po \
+ 	./$(DEPDIR)/execveat--secontext_full.Po \
++	./$(DEPDIR)/execveat--secontext_full_mismatch.Po \
++	./$(DEPDIR)/execveat--secontext_mismatch.Po \
+ 	./$(DEPDIR)/execveat-v.Po ./$(DEPDIR)/execveat.Po \
+ 	./$(DEPDIR)/faccessat--secontext.Po \
+ 	./$(DEPDIR)/faccessat--secontext_full.Po \
++	./$(DEPDIR)/faccessat--secontext_full_mismatch.Po \
++	./$(DEPDIR)/faccessat--secontext_mismatch.Po \
+ 	./$(DEPDIR)/faccessat-P.Po \
+ 	./$(DEPDIR)/faccessat-y--secontext.Po \
+ 	./$(DEPDIR)/faccessat-y--secontext_full.Po \
++	./$(DEPDIR)/faccessat-y--secontext_full_mismatch.Po \
++	./$(DEPDIR)/faccessat-y--secontext_mismatch.Po \
+ 	./$(DEPDIR)/faccessat-y.Po ./$(DEPDIR)/faccessat-yy.Po \
+ 	./$(DEPDIR)/faccessat.Po ./$(DEPDIR)/faccessat2-P.Po \
+ 	./$(DEPDIR)/faccessat2-y.Po ./$(DEPDIR)/faccessat2-yy.Po \
+@@ -4519,26 +4728,38 @@
+ 	./$(DEPDIR)/fanotify_init.Po \
+ 	./$(DEPDIR)/fanotify_mark--secontext.Po \
+ 	./$(DEPDIR)/fanotify_mark--secontext_full.Po \
++	./$(DEPDIR)/fanotify_mark--secontext_full_mismatch.Po \
++	./$(DEPDIR)/fanotify_mark--secontext_mismatch.Po \
+ 	./$(DEPDIR)/fanotify_mark-Xabbrev.Po \
+ 	./$(DEPDIR)/fanotify_mark-Xraw.Po \
+ 	./$(DEPDIR)/fanotify_mark-Xverbose.Po \
+ 	./$(DEPDIR)/fanotify_mark.Po ./$(DEPDIR)/fchdir.Po \
+ 	./$(DEPDIR)/fchmod--secontext.Po \
+ 	./$(DEPDIR)/fchmod--secontext_full.Po \
++	./$(DEPDIR)/fchmod--secontext_full_mismatch.Po \
++	./$(DEPDIR)/fchmod--secontext_mismatch.Po \
+ 	./$(DEPDIR)/fchmod-y--secontext.Po \
+ 	./$(DEPDIR)/fchmod-y--secontext_full.Po \
++	./$(DEPDIR)/fchmod-y--secontext_full_mismatch.Po \
++	./$(DEPDIR)/fchmod-y--secontext_mismatch.Po \
+ 	./$(DEPDIR)/fchmod-y.Po ./$(DEPDIR)/fchmod.Po \
+ 	./$(DEPDIR)/fchmodat--secontext.Po \
+ 	./$(DEPDIR)/fchmodat--secontext_full.Po \
++	./$(DEPDIR)/fchmodat--secontext_full_mismatch.Po \
++	./$(DEPDIR)/fchmodat--secontext_mismatch.Po \
+ 	./$(DEPDIR)/fchmodat.Po ./$(DEPDIR)/fchown.Po \
+ 	./$(DEPDIR)/fchown32.Po ./$(DEPDIR)/fchownat--secontext.Po \
+ 	./$(DEPDIR)/fchownat--secontext_full.Po \
++	./$(DEPDIR)/fchownat--secontext_full_mismatch.Po \
++	./$(DEPDIR)/fchownat--secontext_mismatch.Po \
+ 	./$(DEPDIR)/fchownat.Po \
+ 	./$(DEPDIR)/fcntl--pidns-translation.Po ./$(DEPDIR)/fcntl.Po \
+ 	./$(DEPDIR)/fcntl64--pidns-translation.Po \
+ 	./$(DEPDIR)/fcntl64.Po ./$(DEPDIR)/fdatasync.Po \
+ 	./$(DEPDIR)/fflush.Po ./$(DEPDIR)/file_handle--secontext.Po \
+ 	./$(DEPDIR)/file_handle--secontext_full.Po \
++	./$(DEPDIR)/file_handle--secontext_full_mismatch.Po \
++	./$(DEPDIR)/file_handle--secontext_mismatch.Po \
+ 	./$(DEPDIR)/file_handle.Po ./$(DEPDIR)/filter-unavailable.Po \
+ 	./$(DEPDIR)/filter_seccomp-flag.Po \
+ 	./$(DEPDIR)/filter_seccomp-perf.Po ./$(DEPDIR)/finit_module.Po \
+@@ -4753,6 +4972,8 @@
+ 	./$(DEPDIR)/libtests_a-xmalloc_for_tests.Po \
+ 	./$(DEPDIR)/link.Po ./$(DEPDIR)/linkat--secontext.Po \
+ 	./$(DEPDIR)/linkat--secontext_full.Po ./$(DEPDIR)/linkat.Po \
++	./$(DEPDIR)/linkat--secontext_full_mismatch.Po \
++	./$(DEPDIR)/linkat--secontext_mismatch.Po \
+ 	./$(DEPDIR)/list_sigaction_signum.Po ./$(DEPDIR)/llseek.Po \
+ 	./$(DEPDIR)/localtime.Po ./$(DEPDIR)/lookup_dcookie.Po \
+ 	./$(DEPDIR)/looping_threads.Po ./$(DEPDIR)/lseek.Po \
+@@ -4867,9 +5088,13 @@
+ 	./$(DEPDIR)/oldselect-efault.Po ./$(DEPDIR)/oldselect.Po \
+ 	./$(DEPDIR)/oldstat.Po ./$(DEPDIR)/open--secontext.Po \
+ 	./$(DEPDIR)/open--secontext_full.Po ./$(DEPDIR)/open.Po \
++	./$(DEPDIR)/open--secontext_full_mismatch.Po \
++	./$(DEPDIR)/open--secontext_mismatch.Po \
+ 	./$(DEPDIR)/open_tree-P.Po ./$(DEPDIR)/open_tree.Po \
+ 	./$(DEPDIR)/openat--secontext.Po \
+ 	./$(DEPDIR)/openat--secontext_full.Po ./$(DEPDIR)/openat.Po \
++	./$(DEPDIR)/openat--secontext_full_mismatch.Po \
++	./$(DEPDIR)/openat--secontext_mismatch.Po \
+ 	./$(DEPDIR)/openat2-Xabbrev.Po ./$(DEPDIR)/openat2-Xraw.Po \
+ 	./$(DEPDIR)/openat2-Xverbose.Po \
+ 	./$(DEPDIR)/openat2-v-y-Xabbrev.Po \
+@@ -5118,7 +5343,8 @@
+ am__v_CCLD_1 = 
+ SOURCES = $(libtests_a_SOURCES) _newselect.c _newselect-P.c accept.c \
+ 	accept4.c access.c access--secontext.c \
+-	access--secontext_full.c acct.c add_key.c adjtimex.c aio.c \
++	access--secontext_full.c access--secontext_full_mismatch.c \
++	access--secontext_mismatch.c acct.c add_key.c adjtimex.c aio.c \
+ 	aio_pgetevents.c alarm.c answer.c attach-f-p.c \
+ 	attach-f-p-cmd.c attach-p-cmd-cmd.c attach-p-cmd-p.c \
+ 	block_reset_raise_run.c block_reset_run.c bpf.c \
+@@ -4467,7 +4665,8 @@
+ 	bpf-success.c bpf-success-long-y.c bpf-success-v.c bpf-v.c \
+ 	brk.c btrfs.c caps.c caps-abbrev.c chdir.c check_sigblock.c \
+ 	check_sigign.c chmod.c chmod--secontext.c \
+-	chmod--secontext_full.c chown.c chown32.c chroot.c \
++	chmod--secontext_full.c chmod--secontext_full_mismatch.c \
++	chmod--secontext_mismatch.c chown.c chown32.c chroot.c \
+ 	clock_adjtime.c clock_adjtime64.c clock_nanosleep.c \
+ 	clock_xettime.c clock_xettime64.c clone-flags.c clone3.c \
+ 	clone3-Xabbrev.c clone3-Xraw.c clone3-Xverbose.c \
+@@ -4483,24 +4682,40 @@
+ 	dup3-y.c dup3-yy.c epoll_create.c epoll_create1.c epoll_ctl.c \
+ 	epoll_pwait.c epoll_pwait2.c epoll_pwait2-P.c epoll_pwait2-y.c \
+ 	epoll_wait.c erestartsys.c eventfd.c execve.c \
+-	execve--secontext.c execve--secontext_full.c execve-v.c \
+-	execveat.c execveat--secontext.c execveat--secontext_full.c \
+-	execveat-v.c faccessat.c faccessat--secontext.c \
+-	faccessat--secontext_full.c faccessat-P.c faccessat-y.c \
++	execve--secontext.c execve--secontext_full.c \
++	execve--secontext_full_mismatch.c execve--secontext_mismatch.c \
++	execve-v.c execveat.c execveat--secontext.c \
++	execveat--secontext_full.c execveat--secontext_full_mismatch.c \
++	execveat--secontext_mismatch.c execveat-v.c faccessat.c \
++	faccessat--secontext.c faccessat--secontext_full.c \
++	faccessat--secontext_full_mismatch.c \
++	faccessat--secontext_mismatch.c faccessat-P.c faccessat-y.c \
+ 	faccessat-y--secontext.c faccessat-y--secontext_full.c \
+-	faccessat-yy.c faccessat2.c faccessat2-P.c faccessat2-y.c \
+-	faccessat2-yy.c fadvise64.c fadvise64_64.c fallocate.c \
+-	fanotify_init.c fanotify_mark.c fanotify_mark--secontext.c \
+-	fanotify_mark--secontext_full.c fanotify_mark-Xabbrev.c \
++	faccessat-y--secontext_full_mismatch.c \
++	faccessat-y--secontext_mismatch.c faccessat-yy.c faccessat2.c \
++	faccessat2-P.c faccessat2-y.c faccessat2-yy.c fadvise64.c \
++	fadvise64_64.c fallocate.c fanotify_init.c fanotify_mark.c \
++	fanotify_mark--secontext.c fanotify_mark--secontext_full.c \
++	fanotify_mark--secontext_full_mismatch.c \
++	fanotify_mark--secontext_mismatch.c fanotify_mark-Xabbrev.c \
+ 	fanotify_mark-Xraw.c fanotify_mark-Xverbose.c fchdir.c \
+ 	fchmod.c fchmod--secontext.c fchmod--secontext_full.c \
++	fchmod--secontext_full_mismatch.c fchmod--secontext_mismatch.c \
+ 	fchmod-y.c fchmod-y--secontext.c fchmod-y--secontext_full.c \
+-	fchmodat.c fchmodat--secontext.c fchmodat--secontext_full.c \
+-	fchown.c fchown32.c fchownat.c fchownat--secontext.c \
+-	fchownat--secontext_full.c fcntl.c fcntl--pidns-translation.c \
+-	fcntl64.c fcntl64--pidns-translation.c fdatasync.c fflush.c \
++	fchmod-y--secontext_full_mismatch.c \
++	fchmod-y--secontext_mismatch.c fchmodat.c \
++	fchmodat--secontext.c fchmodat--secontext_full.c \
++	fchmodat--secontext_full_mismatch.c \
++	fchmodat--secontext_mismatch.c fchown.c fchown32.c fchownat.c \
++	fchownat--secontext.c fchownat--secontext_full.c \
++	fchownat--secontext_full_mismatch.c \
++	fchownat--secontext_mismatch.c fcntl.c \
++	fcntl--pidns-translation.c fcntl64.c \
++	fcntl64--pidns-translation.c fdatasync.c fflush.c \
+ 	file_handle.c file_handle--secontext.c \
+-	file_handle--secontext_full.c filter-unavailable.c \
++	file_handle--secontext_full.c \
++	file_handle--secontext_full_mismatch.c \
++	file_handle--secontext_mismatch.c filter-unavailable.c \
+ 	filter_seccomp-flag.c filter_seccomp-perf.c finit_module.c \
+ 	flock.c fork--pidns-translation.c fork-f.c fsconfig.c \
+ 	fsconfig-P.c fsmount.c fsopen.c fspick.c fspick-P.c fstat.c \
+@@ -4587,6 +4802,7 @@
+ 	landlock_create_ruleset-y.c landlock_restrict_self.c \
+ 	landlock_restrict_self-y.c lchown.c lchown32.c link.c linkat.c \
+ 	linkat--secontext.c linkat--secontext_full.c \
++	linkat--secontext_full_mismatch.c linkat--secontext_mismatch.c \
+ 	list_sigaction_signum.c llseek.c localtime.c lookup_dcookie.c \
+ 	looping_threads.c lseek.c lstat.c lstat64.c madvise.c \
+ 	maybe_switch_current_tcp.c \
+@@ -4640,8 +4856,10 @@
+ 	old_mmap-v-none.c oldfstat.c oldlstat.c oldselect.c \
+ 	oldselect-P.c oldselect-efault.c oldselect-efault-P.c \
+ 	oldstat.c open.c open--secontext.c open--secontext_full.c \
++	open--secontext_full_mismatch.c open--secontext_mismatch.c \
+ 	open_tree.c open_tree-P.c openat.c openat--secontext.c \
+-	openat--secontext_full.c openat2.c openat2-Xabbrev.c \
++	openat--secontext_full.c openat--secontext_full_mismatch.c \
++	openat--secontext_mismatch.c openat2.c openat2-Xabbrev.c \
+ 	openat2-Xraw.c openat2-Xverbose.c openat2-v.c openat2-v-y.c \
+ 	openat2-v-y-Xabbrev.c openat2-v-y-Xraw.c \
+ 	openat2-v-y-Xverbose.c openat2-y.c orphaned_process_group.c \
+@@ -4752,7 +4970,8 @@
+ 	xetpriority--pidns-translation.c xettimeofday.c zeroargc.c
+ DIST_SOURCES = $(libtests_a_SOURCES) _newselect.c _newselect-P.c \
+ 	accept.c accept4.c access.c access--secontext.c \
+-	access--secontext_full.c acct.c add_key.c adjtimex.c aio.c \
++	access--secontext_full.c access--secontext_full_mismatch.c \
++	access--secontext_mismatch.c acct.c add_key.c adjtimex.c aio.c \
+ 	aio_pgetevents.c alarm.c answer.c attach-f-p.c \
+ 	attach-f-p-cmd.c attach-p-cmd-cmd.c attach-p-cmd-p.c \
+ 	block_reset_raise_run.c block_reset_run.c bpf.c \
+@@ -4761,7 +4980,8 @@
+ 	bpf-success.c bpf-success-long-y.c bpf-success-v.c bpf-v.c \
+ 	brk.c btrfs.c caps.c caps-abbrev.c chdir.c check_sigblock.c \
+ 	check_sigign.c chmod.c chmod--secontext.c \
+-	chmod--secontext_full.c chown.c chown32.c chroot.c \
++	chmod--secontext_full.c chmod--secontext_full_mismatch.c \
++	chmod--secontext_mismatch.c chown.c chown32.c chroot.c \
+ 	clock_adjtime.c clock_adjtime64.c clock_nanosleep.c \
+ 	clock_xettime.c clock_xettime64.c clone-flags.c clone3.c \
+ 	clone3-Xabbrev.c clone3-Xraw.c clone3-Xverbose.c \
+@@ -4777,24 +4997,40 @@
+ 	dup3-y.c dup3-yy.c epoll_create.c epoll_create1.c epoll_ctl.c \
+ 	epoll_pwait.c epoll_pwait2.c epoll_pwait2-P.c epoll_pwait2-y.c \
+ 	epoll_wait.c erestartsys.c eventfd.c execve.c \
+-	execve--secontext.c execve--secontext_full.c execve-v.c \
+-	execveat.c execveat--secontext.c execveat--secontext_full.c \
+-	execveat-v.c faccessat.c faccessat--secontext.c \
+-	faccessat--secontext_full.c faccessat-P.c faccessat-y.c \
++	execve--secontext.c execve--secontext_full.c \
++	execve--secontext_full_mismatch.c execve--secontext_mismatch.c \
++	execve-v.c execveat.c execveat--secontext.c \
++	execveat--secontext_full.c execveat--secontext_full_mismatch.c \
++	execveat--secontext_mismatch.c execveat-v.c faccessat.c \
++	faccessat--secontext.c faccessat--secontext_full.c \
++	faccessat--secontext_full_mismatch.c \
++	faccessat--secontext_mismatch.c faccessat-P.c faccessat-y.c \
+ 	faccessat-y--secontext.c faccessat-y--secontext_full.c \
+-	faccessat-yy.c faccessat2.c faccessat2-P.c faccessat2-y.c \
+-	faccessat2-yy.c fadvise64.c fadvise64_64.c fallocate.c \
+-	fanotify_init.c fanotify_mark.c fanotify_mark--secontext.c \
+-	fanotify_mark--secontext_full.c fanotify_mark-Xabbrev.c \
++	faccessat-y--secontext_full_mismatch.c \
++	faccessat-y--secontext_mismatch.c faccessat-yy.c faccessat2.c \
++	faccessat2-P.c faccessat2-y.c faccessat2-yy.c fadvise64.c \
++	fadvise64_64.c fallocate.c fanotify_init.c fanotify_mark.c \
++	fanotify_mark--secontext.c fanotify_mark--secontext_full.c \
++	fanotify_mark--secontext_full_mismatch.c \
++	fanotify_mark--secontext_mismatch.c fanotify_mark-Xabbrev.c \
+ 	fanotify_mark-Xraw.c fanotify_mark-Xverbose.c fchdir.c \
+ 	fchmod.c fchmod--secontext.c fchmod--secontext_full.c \
++	fchmod--secontext_full_mismatch.c fchmod--secontext_mismatch.c \
+ 	fchmod-y.c fchmod-y--secontext.c fchmod-y--secontext_full.c \
+-	fchmodat.c fchmodat--secontext.c fchmodat--secontext_full.c \
+-	fchown.c fchown32.c fchownat.c fchownat--secontext.c \
+-	fchownat--secontext_full.c fcntl.c fcntl--pidns-translation.c \
+-	fcntl64.c fcntl64--pidns-translation.c fdatasync.c fflush.c \
++	fchmod-y--secontext_full_mismatch.c \
++	fchmod-y--secontext_mismatch.c fchmodat.c \
++	fchmodat--secontext.c fchmodat--secontext_full.c \
++	fchmodat--secontext_full_mismatch.c \
++	fchmodat--secontext_mismatch.c fchown.c fchown32.c fchownat.c \
++	fchownat--secontext.c fchownat--secontext_full.c \
++	fchownat--secontext_full_mismatch.c \
++	fchownat--secontext_mismatch.c fcntl.c \
++	fcntl--pidns-translation.c fcntl64.c \
++	fcntl64--pidns-translation.c fdatasync.c fflush.c \
+ 	file_handle.c file_handle--secontext.c \
+-	file_handle--secontext_full.c filter-unavailable.c \
++	file_handle--secontext_full.c \
++	file_handle--secontext_full_mismatch.c \
++	file_handle--secontext_mismatch.c filter-unavailable.c \
+ 	filter_seccomp-flag.c filter_seccomp-perf.c finit_module.c \
+ 	flock.c fork--pidns-translation.c fork-f.c fsconfig.c \
+ 	fsconfig-P.c fsmount.c fsopen.c fspick.c fspick-P.c fstat.c \
+@@ -4881,6 +5117,7 @@
+ 	landlock_create_ruleset-y.c landlock_restrict_self.c \
+ 	landlock_restrict_self-y.c lchown.c lchown32.c link.c linkat.c \
+ 	linkat--secontext.c linkat--secontext_full.c \
++	linkat--secontext_full_mismatch.c linkat--secontext_mismatch.c \
+ 	list_sigaction_signum.c llseek.c localtime.c lookup_dcookie.c \
+ 	looping_threads.c lseek.c lstat.c lstat64.c madvise.c \
+ 	maybe_switch_current_tcp.c \
+@@ -4934,8 +5171,10 @@
+ 	old_mmap-v-none.c oldfstat.c oldlstat.c oldselect.c \
+ 	oldselect-P.c oldselect-efault.c oldselect-efault-P.c \
+ 	oldstat.c open.c open--secontext.c open--secontext_full.c \
++	open--secontext_full_mismatch.c open--secontext_mismatch.c \
+ 	open_tree.c open_tree-P.c openat.c openat--secontext.c \
+-	openat--secontext_full.c openat2.c openat2-Xabbrev.c \
++	openat--secontext_full.c openat--secontext_full_mismatch.c \
++	openat--secontext_mismatch.c openat2.c openat2-Xabbrev.c \
+ 	openat2-Xraw.c openat2-Xverbose.c openat2-v.c openat2-v-y.c \
+ 	openat2-v-y-Xabbrev.c openat2-v-y-Xraw.c \
+ 	openat2-v-y-Xverbose.c openat2-y.c orphaned_process_group.c \
+@@ -6211,66 +6450,126 @@
+ secontext_EXECUTABLES = \
+   access--secontext \
+   access--secontext_full \
++  access--secontext_full_mismatch \
++  access--secontext_mismatch \
+   chmod--secontext \
+   chmod--secontext_full \
++  chmod--secontext_full_mismatch \
++  chmod--secontext_mismatch \
+   execve--secontext \
+   execve--secontext_full \
++  execve--secontext_full_mismatch \
++  execve--secontext_mismatch \
+   execveat--secontext \
+   execveat--secontext_full \
++  execveat--secontext_full_mismatch \
++  execveat--secontext_mismatch \
+   faccessat--secontext \
+   faccessat--secontext_full \
++  faccessat--secontext_full_mismatch \
++  faccessat--secontext_mismatch \
+   faccessat-y--secontext \
+   faccessat-y--secontext_full \
++  faccessat-y--secontext_full_mismatch \
++  faccessat-y--secontext_mismatch \
+   fanotify_mark--secontext \
+   fanotify_mark--secontext_full \
++  fanotify_mark--secontext_full_mismatch \
++  fanotify_mark--secontext_mismatch \
+   fchmod--secontext \
+   fchmod--secontext_full \
++  fchmod--secontext_full_mismatch \
++  fchmod--secontext_mismatch \
+   fchmod-y--secontext \
+   fchmod-y--secontext_full \
++  fchmod-y--secontext_full_mismatch \
++  fchmod-y--secontext_mismatch \
+   fchmodat--secontext \
+   fchmodat--secontext_full \
++  fchmodat--secontext_full_mismatch \
++  fchmodat--secontext_mismatch \
+   fchownat--secontext \
+   fchownat--secontext_full \
++  fchownat--secontext_full_mismatch \
++  fchownat--secontext_mismatch \
+   file_handle--secontext \
+   file_handle--secontext_full \
++  file_handle--secontext_full_mismatch \
++  file_handle--secontext_mismatch \
+   linkat--secontext \
+   linkat--secontext_full \
++  linkat--secontext_full_mismatch \
++  linkat--secontext_mismatch \
+   open--secontext \
+   open--secontext_full \
++  open--secontext_full_mismatch \
++  open--secontext_mismatch \
+   openat--secontext \
+   openat--secontext_full \
++  openat--secontext_full_mismatch \
++  openat--secontext_mismatch \
+   #
+ 
+ access__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
+ access__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
++access__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
++access__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
+ chmod__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
+ chmod__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
++chmod__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
++chmod__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
+ execve__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
+ execve__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
++execve__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
++execve__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
+ execveat__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
+ execveat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
++execveat__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
++execveat__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
+ faccessat__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
+ faccessat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
++faccessat__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
++faccessat__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
+ faccessat_y__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
+ faccessat_y__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
++faccessat_y__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
++faccessat_y__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
+ fanotify_mark__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
+ fanotify_mark__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
++fanotify_mark__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
++fanotify_mark__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
+ fchmod__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
+ fchmod__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
++fchmod__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
++fchmod__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
+ fchmod_y__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
+ fchmod_y__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
++fchmod_y__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
++fchmod_y__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
+ fchmodat__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
+ fchmodat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
++fchmodat__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
++fchmodat__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
+ fchownat__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
+ fchownat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
++fchownat__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
++fchownat__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
+ file_handle__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
+ file_handle__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
++file_handle__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
++file_handle__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
+ linkat__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
+ linkat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
++linkat__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
++linkat__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
+ open__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
+ open__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
++open__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
++open__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
+ openat__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
+ openat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
++openat__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
++openat__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
+ attach_f_p_LDADD = -lpthread $(LDADD)
+ count_f_LDADD = -lpthread $(LDADD)
+ delay_LDADD = $(clock_LIBS) $(LDADD)
+@@ -6324,15 +6623,20 @@
+ # Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in; do not edit.
+ GEN_TESTS = _newselect.gen.test _newselect-P.gen.test accept.gen.test \
+ 	accept4.gen.test access.gen.test access--secontext.gen.test \
+-	access--secontext_full.gen.test acct.gen.test add_key.gen.test \
+-	adjtimex.gen.test aio.gen.test aio_pgetevents.gen.test \
+-	alarm.gen.test bpf.gen.test bpf-obj_get_info_by_fd.gen.test \
++	access--secontext_full.gen.test \
++	access--secontext_full_mismatch.gen.test \
++	access--secontext_mismatch.gen.test acct.gen.test \
++	add_key.gen.test adjtimex.gen.test aio.gen.test \
++	aio_pgetevents.gen.test alarm.gen.test bpf.gen.test \
++	bpf-obj_get_info_by_fd.gen.test \
+ 	bpf-obj_get_info_by_fd-prog.gen.test \
+ 	bpf-obj_get_info_by_fd-prog-v.gen.test \
+ 	bpf-obj_get_info_by_fd-v.gen.test bpf-v.gen.test \
+ 	btrfs.gen.test chdir.gen.test chmod.gen.test \
+ 	chmod--secontext.gen.test chmod--secontext_full.gen.test \
+-	chown.gen.test chown32.gen.test chroot.gen.test clock.gen.test \
++	chmod--secontext_full_mismatch.gen.test \
++	chmod--secontext_mismatch.gen.test chown.gen.test \
++	chown32.gen.test chroot.gen.test clock.gen.test \
+ 	clock_adjtime.gen.test clock_adjtime64.gen.test \
+ 	clock_nanosleep.gen.test clock_xettime.gen.test \
+ 	clock_xettime64.gen.test clone3.gen.test \
+@@ -6355,36 +6659,53 @@
+ 	epoll_pwait2-P.gen.test epoll_pwait2-y.gen.test \
+ 	epoll_wait.gen.test erestartsys.gen.test \
+ 	execve--secontext.gen.test execve--secontext_full.gen.test \
+-	execveat.gen.test execveat--secontext.gen.test \
+-	execveat--secontext_full.gen.test execveat-v.gen.test \
++	execve--secontext_full_mismatch.gen.test \
++	execve--secontext_mismatch.gen.test execveat.gen.test \
++	execveat--secontext.gen.test execveat--secontext_full.gen.test \
++	execveat--secontext_full_mismatch.gen.test \
++	execveat--secontext_mismatch.gen.test execveat-v.gen.test \
+ 	faccessat--secontext.gen.test \
+-	faccessat--secontext_full.gen.test faccessat-P.gen.test \
++	faccessat--secontext_full.gen.test \
++	faccessat--secontext_full_mismatch.gen.test \
++	faccessat--secontext_mismatch.gen.test faccessat-P.gen.test \
+ 	faccessat-y.gen.test faccessat-y--secontext.gen.test \
+-	faccessat-y--secontext_full.gen.test faccessat-yy.gen.test \
++	faccessat-y--secontext_full.gen.test \
++	faccessat-y--secontext_full_mismatch.gen.test \
++	faccessat-y--secontext_mismatch.gen.test faccessat-yy.gen.test \
+ 	faccessat2-P.gen.test faccessat2-y.gen.test \
+ 	faccessat2-yy.gen.test fadvise64_64.gen.test \
+ 	fallocate.gen.test fanotify_init.gen.test \
+ 	fanotify_mark.gen.test fanotify_mark--secontext.gen.test \
+ 	fanotify_mark--secontext_full.gen.test \
++	fanotify_mark--secontext_full_mismatch.gen.test \
++	fanotify_mark--secontext_mismatch.gen.test \
+ 	fanotify_mark-Xabbrev.gen.test fanotify_mark-Xraw.gen.test \
+ 	fanotify_mark-Xverbose.gen.test fchdir.gen.test \
+ 	fchmod.gen.test fchmod--secontext.gen.test \
+-	fchmod--secontext_full.gen.test fchmod-y.gen.test \
++	fchmod--secontext_full.gen.test \
++	fchmod--secontext_full_mismatch.gen.test \
++	fchmod--secontext_mismatch.gen.test fchmod-y.gen.test \
+ 	fchmod-y--secontext.gen.test fchmod-y--secontext_full.gen.test \
+-	fchmodat.gen.test fchmodat--secontext.gen.test \
+-	fchmodat--secontext_full.gen.test fchown.gen.test \
++	fchmod-y--secontext_full_mismatch.gen.test \
++	fchmod-y--secontext_mismatch.gen.test fchmodat.gen.test \
++	fchmodat--secontext.gen.test fchmodat--secontext_full.gen.test \
++	fchmodat--secontext_full_mismatch.gen.test \
++	fchmodat--secontext_mismatch.gen.test fchown.gen.test \
+ 	fchown32.gen.test fchownat.gen.test \
+ 	fchownat--secontext.gen.test fchownat--secontext_full.gen.test \
+-	fcntl.gen.test fcntl--pidns-translation.gen.test \
+-	fcntl64.gen.test fcntl64--pidns-translation.gen.test \
+-	fdatasync.gen.test file_handle.gen.test \
+-	file_handle--secontext.gen.test \
+-	file_handle--secontext_full.gen.test filter_seccomp.gen.test \
+-	filter_seccomp-flag.gen.test finit_module.gen.test \
+-	flock.gen.test fork-f.gen.test fsconfig.gen.test \
+-	fsconfig-P.gen.test fsmount.gen.test fsopen.gen.test \
+-	fspick.gen.test fspick-P.gen.test fstat.gen.test \
+-	fstat-Xabbrev.gen.test fstat-Xraw.gen.test \
++	fchownat--secontext_full_mismatch.gen.test \
++	fchownat--secontext_mismatch.gen.test fcntl.gen.test \
++	fcntl--pidns-translation.gen.test fcntl64.gen.test \
++	fcntl64--pidns-translation.gen.test fdatasync.gen.test \
++	file_handle.gen.test file_handle--secontext.gen.test \
++	file_handle--secontext_full.gen.test \
++	file_handle--secontext_full_mismatch.gen.test \
++	file_handle--secontext_mismatch.gen.test \
++	filter_seccomp.gen.test filter_seccomp-flag.gen.test \
++	finit_module.gen.test flock.gen.test fork-f.gen.test \
++	fsconfig.gen.test fsconfig-P.gen.test fsmount.gen.test \
++	fsopen.gen.test fspick.gen.test fspick-P.gen.test \
++	fstat.gen.test fstat-Xabbrev.gen.test fstat-Xraw.gen.test \
+ 	fstat-Xverbose.gen.test fstat64.gen.test \
+ 	fstat64-Xabbrev.gen.test fstat64-Xraw.gen.test \
+ 	fstat64-Xverbose.gen.test fstatat64.gen.test fstatfs.gen.test \
+@@ -6511,8 +6832,10 @@
+ 	landlock_restrict_self-y.gen.test lchown.gen.test \
+ 	lchown32.gen.test link.gen.test linkat.gen.test \
+ 	linkat--secontext.gen.test linkat--secontext_full.gen.test \
+-	lookup_dcookie.gen.test lstat.gen.test lstat64.gen.test \
+-	madvise.gen.test maybe_switch_current_tcp.gen.test \
++	linkat--secontext_full_mismatch.gen.test \
++	linkat--secontext_mismatch.gen.test lookup_dcookie.gen.test \
++	lstat.gen.test lstat64.gen.test madvise.gen.test \
++	maybe_switch_current_tcp.gen.test \
+ 	maybe_switch_current_tcp--quiet-thread-execve.gen.test \
+ 	mbind.gen.test mbind-Xabbrev.gen.test mbind-Xraw.gen.test \
+ 	mbind-Xverbose.gen.test membarrier.gen.test \
+@@ -6581,16 +6904,19 @@
+ 	oldselect.gen.test oldselect-P.gen.test \
+ 	oldselect-efault.gen.test oldselect-efault-P.gen.test \
+ 	oldstat.gen.test open.gen.test open--secontext.gen.test \
+-	open--secontext_full.gen.test open_tree.gen.test \
++	open--secontext_full.gen.test \
++	open--secontext_full_mismatch.gen.test \
++	open--secontext_mismatch.gen.test open_tree.gen.test \
+ 	open_tree-P.gen.test openat.gen.test \
+ 	openat--secontext.gen.test openat--secontext_full.gen.test \
+-	openat2.gen.test openat2-Xabbrev.gen.test \
+-	openat2-Xraw.gen.test openat2-Xverbose.gen.test \
+-	openat2-v.gen.test openat2-v-y.gen.test \
+-	openat2-v-y-Xabbrev.gen.test openat2-v-y-Xraw.gen.test \
+-	openat2-v-y-Xverbose.gen.test openat2-y.gen.test \
+-	orphaned_process_group.gen.test osf_utimes.gen.test \
+-	pause.gen.test perf_event_open.gen.test \
++	openat--secontext_full_mismatch.gen.test \
++	openat--secontext_mismatch.gen.test openat2.gen.test \
++	openat2-Xabbrev.gen.test openat2-Xraw.gen.test \
++	openat2-Xverbose.gen.test openat2-v.gen.test \
++	openat2-v-y.gen.test openat2-v-y-Xabbrev.gen.test \
++	openat2-v-y-Xraw.gen.test openat2-v-y-Xverbose.gen.test \
++	openat2-y.gen.test orphaned_process_group.gen.test \
++	osf_utimes.gen.test pause.gen.test perf_event_open.gen.test \
+ 	perf_event_open_nonverbose.gen.test \
+ 	perf_event_open_unabbrev.gen.test personality-Xabbrev.gen.test \
+ 	personality-Xraw.gen.test personality-Xverbose.gen.test \
+@@ -7154,6 +7480,14 @@
+ 	@rm -f access--secontext_full$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(access__secontext_full_OBJECTS) $(access__secontext_full_LDADD) $(LIBS)
+ 
++access--secontext_full_mismatch$(EXEEXT): $(access__secontext_full_mismatch_OBJECTS) $(access__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_access__secontext_full_mismatch_DEPENDENCIES) 
++	@rm -f access--secontext_full_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(access__secontext_full_mismatch_OBJECTS) $(access__secontext_full_mismatch_LDADD) $(LIBS)
++
++access--secontext_mismatch$(EXEEXT): $(access__secontext_mismatch_OBJECTS) $(access__secontext_mismatch_DEPENDENCIES) $(EXTRA_access__secontext_mismatch_DEPENDENCIES) 
++	@rm -f access--secontext_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(access__secontext_mismatch_OBJECTS) $(access__secontext_mismatch_LDADD) $(LIBS)
++
+ acct$(EXEEXT): $(acct_OBJECTS) $(acct_DEPENDENCIES) $(EXTRA_acct_DEPENDENCIES) 
+ 	@rm -f acct$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(acct_OBJECTS) $(acct_LDADD) $(LIBS)
+@@ -7282,6 +7616,14 @@
+ 	@rm -f chmod--secontext_full$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(chmod__secontext_full_OBJECTS) $(chmod__secontext_full_LDADD) $(LIBS)
+ 
++chmod--secontext_full_mismatch$(EXEEXT): $(chmod__secontext_full_mismatch_OBJECTS) $(chmod__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_chmod__secontext_full_mismatch_DEPENDENCIES) 
++	@rm -f chmod--secontext_full_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(chmod__secontext_full_mismatch_OBJECTS) $(chmod__secontext_full_mismatch_LDADD) $(LIBS)
++
++chmod--secontext_mismatch$(EXEEXT): $(chmod__secontext_mismatch_OBJECTS) $(chmod__secontext_mismatch_DEPENDENCIES) $(EXTRA_chmod__secontext_mismatch_DEPENDENCIES) 
++	@rm -f chmod--secontext_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(chmod__secontext_mismatch_OBJECTS) $(chmod__secontext_mismatch_LDADD) $(LIBS)
++
+ chown$(EXEEXT): $(chown_OBJECTS) $(chown_DEPENDENCIES) $(EXTRA_chown_DEPENDENCIES) 
+ 	@rm -f chown$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(chown_OBJECTS) $(chown_LDADD) $(LIBS)
+@@ -7526,6 +7868,14 @@
+ 	@rm -f execve--secontext_full$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(execve__secontext_full_OBJECTS) $(execve__secontext_full_LDADD) $(LIBS)
+ 
++execve--secontext_full_mismatch$(EXEEXT): $(execve__secontext_full_mismatch_OBJECTS) $(execve__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_execve__secontext_full_mismatch_DEPENDENCIES) 
++	@rm -f execve--secontext_full_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(execve__secontext_full_mismatch_OBJECTS) $(execve__secontext_full_mismatch_LDADD) $(LIBS)
++
++execve--secontext_mismatch$(EXEEXT): $(execve__secontext_mismatch_OBJECTS) $(execve__secontext_mismatch_DEPENDENCIES) $(EXTRA_execve__secontext_mismatch_DEPENDENCIES) 
++	@rm -f execve--secontext_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(execve__secontext_mismatch_OBJECTS) $(execve__secontext_mismatch_LDADD) $(LIBS)
++
+ execve-v$(EXEEXT): $(execve_v_OBJECTS) $(execve_v_DEPENDENCIES) $(EXTRA_execve_v_DEPENDENCIES) 
+ 	@rm -f execve-v$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(execve_v_OBJECTS) $(execve_v_LDADD) $(LIBS)
+@@ -7542,6 +7892,14 @@
+ 	@rm -f execveat--secontext_full$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(execveat__secontext_full_OBJECTS) $(execveat__secontext_full_LDADD) $(LIBS)
+ 
++execveat--secontext_full_mismatch$(EXEEXT): $(execveat__secontext_full_mismatch_OBJECTS) $(execveat__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_execveat__secontext_full_mismatch_DEPENDENCIES) 
++	@rm -f execveat--secontext_full_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(execveat__secontext_full_mismatch_OBJECTS) $(execveat__secontext_full_mismatch_LDADD) $(LIBS)
++
++execveat--secontext_mismatch$(EXEEXT): $(execveat__secontext_mismatch_OBJECTS) $(execveat__secontext_mismatch_DEPENDENCIES) $(EXTRA_execveat__secontext_mismatch_DEPENDENCIES) 
++	@rm -f execveat--secontext_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(execveat__secontext_mismatch_OBJECTS) $(execveat__secontext_mismatch_LDADD) $(LIBS)
++
+ execveat-v$(EXEEXT): $(execveat_v_OBJECTS) $(execveat_v_DEPENDENCIES) $(EXTRA_execveat_v_DEPENDENCIES) 
+ 	@rm -f execveat-v$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(execveat_v_OBJECTS) $(execveat_v_LDADD) $(LIBS)
+@@ -7558,6 +7916,14 @@
+ 	@rm -f faccessat--secontext_full$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(faccessat__secontext_full_OBJECTS) $(faccessat__secontext_full_LDADD) $(LIBS)
+ 
++faccessat--secontext_full_mismatch$(EXEEXT): $(faccessat__secontext_full_mismatch_OBJECTS) $(faccessat__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_faccessat__secontext_full_mismatch_DEPENDENCIES) 
++	@rm -f faccessat--secontext_full_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(faccessat__secontext_full_mismatch_OBJECTS) $(faccessat__secontext_full_mismatch_LDADD) $(LIBS)
++
++faccessat--secontext_mismatch$(EXEEXT): $(faccessat__secontext_mismatch_OBJECTS) $(faccessat__secontext_mismatch_DEPENDENCIES) $(EXTRA_faccessat__secontext_mismatch_DEPENDENCIES) 
++	@rm -f faccessat--secontext_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(faccessat__secontext_mismatch_OBJECTS) $(faccessat__secontext_mismatch_LDADD) $(LIBS)
++
+ faccessat-P$(EXEEXT): $(faccessat_P_OBJECTS) $(faccessat_P_DEPENDENCIES) $(EXTRA_faccessat_P_DEPENDENCIES) 
+ 	@rm -f faccessat-P$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(faccessat_P_OBJECTS) $(faccessat_P_LDADD) $(LIBS)
+@@ -7574,6 +7940,14 @@
+ 	@rm -f faccessat-y--secontext_full$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(faccessat_y__secontext_full_OBJECTS) $(faccessat_y__secontext_full_LDADD) $(LIBS)
+ 
++faccessat-y--secontext_full_mismatch$(EXEEXT): $(faccessat_y__secontext_full_mismatch_OBJECTS) $(faccessat_y__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_faccessat_y__secontext_full_mismatch_DEPENDENCIES) 
++	@rm -f faccessat-y--secontext_full_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(faccessat_y__secontext_full_mismatch_OBJECTS) $(faccessat_y__secontext_full_mismatch_LDADD) $(LIBS)
++
++faccessat-y--secontext_mismatch$(EXEEXT): $(faccessat_y__secontext_mismatch_OBJECTS) $(faccessat_y__secontext_mismatch_DEPENDENCIES) $(EXTRA_faccessat_y__secontext_mismatch_DEPENDENCIES) 
++	@rm -f faccessat-y--secontext_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(faccessat_y__secontext_mismatch_OBJECTS) $(faccessat_y__secontext_mismatch_LDADD) $(LIBS)
++
+ faccessat-yy$(EXEEXT): $(faccessat_yy_OBJECTS) $(faccessat_yy_DEPENDENCIES) $(EXTRA_faccessat_yy_DEPENDENCIES) 
+ 	@rm -f faccessat-yy$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(faccessat_yy_OBJECTS) $(faccessat_yy_LDADD) $(LIBS)
+@@ -7622,6 +7996,14 @@
+ 	@rm -f fanotify_mark--secontext_full$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(fanotify_mark__secontext_full_OBJECTS) $(fanotify_mark__secontext_full_LDADD) $(LIBS)
+ 
++fanotify_mark--secontext_full_mismatch$(EXEEXT): $(fanotify_mark__secontext_full_mismatch_OBJECTS) $(fanotify_mark__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_fanotify_mark__secontext_full_mismatch_DEPENDENCIES) 
++	@rm -f fanotify_mark--secontext_full_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(fanotify_mark__secontext_full_mismatch_OBJECTS) $(fanotify_mark__secontext_full_mismatch_LDADD) $(LIBS)
++
++fanotify_mark--secontext_mismatch$(EXEEXT): $(fanotify_mark__secontext_mismatch_OBJECTS) $(fanotify_mark__secontext_mismatch_DEPENDENCIES) $(EXTRA_fanotify_mark__secontext_mismatch_DEPENDENCIES) 
++	@rm -f fanotify_mark--secontext_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(fanotify_mark__secontext_mismatch_OBJECTS) $(fanotify_mark__secontext_mismatch_LDADD) $(LIBS)
++
+ fanotify_mark-Xabbrev$(EXEEXT): $(fanotify_mark_Xabbrev_OBJECTS) $(fanotify_mark_Xabbrev_DEPENDENCIES) $(EXTRA_fanotify_mark_Xabbrev_DEPENDENCIES) 
+ 	@rm -f fanotify_mark-Xabbrev$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(fanotify_mark_Xabbrev_OBJECTS) $(fanotify_mark_Xabbrev_LDADD) $(LIBS)
+@@ -7650,6 +8032,14 @@
+ 	@rm -f fchmod--secontext_full$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(fchmod__secontext_full_OBJECTS) $(fchmod__secontext_full_LDADD) $(LIBS)
+ 
++fchmod--secontext_full_mismatch$(EXEEXT): $(fchmod__secontext_full_mismatch_OBJECTS) $(fchmod__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_fchmod__secontext_full_mismatch_DEPENDENCIES) 
++	@rm -f fchmod--secontext_full_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(fchmod__secontext_full_mismatch_OBJECTS) $(fchmod__secontext_full_mismatch_LDADD) $(LIBS)
++
++fchmod--secontext_mismatch$(EXEEXT): $(fchmod__secontext_mismatch_OBJECTS) $(fchmod__secontext_mismatch_DEPENDENCIES) $(EXTRA_fchmod__secontext_mismatch_DEPENDENCIES) 
++	@rm -f fchmod--secontext_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(fchmod__secontext_mismatch_OBJECTS) $(fchmod__secontext_mismatch_LDADD) $(LIBS)
++
+ fchmod-y$(EXEEXT): $(fchmod_y_OBJECTS) $(fchmod_y_DEPENDENCIES) $(EXTRA_fchmod_y_DEPENDENCIES) 
+ 	@rm -f fchmod-y$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(fchmod_y_OBJECTS) $(fchmod_y_LDADD) $(LIBS)
+@@ -7662,6 +8052,14 @@
+ 	@rm -f fchmod-y--secontext_full$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(fchmod_y__secontext_full_OBJECTS) $(fchmod_y__secontext_full_LDADD) $(LIBS)
+ 
++fchmod-y--secontext_full_mismatch$(EXEEXT): $(fchmod_y__secontext_full_mismatch_OBJECTS) $(fchmod_y__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_fchmod_y__secontext_full_mismatch_DEPENDENCIES) 
++	@rm -f fchmod-y--secontext_full_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(fchmod_y__secontext_full_mismatch_OBJECTS) $(fchmod_y__secontext_full_mismatch_LDADD) $(LIBS)
++
++fchmod-y--secontext_mismatch$(EXEEXT): $(fchmod_y__secontext_mismatch_OBJECTS) $(fchmod_y__secontext_mismatch_DEPENDENCIES) $(EXTRA_fchmod_y__secontext_mismatch_DEPENDENCIES) 
++	@rm -f fchmod-y--secontext_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(fchmod_y__secontext_mismatch_OBJECTS) $(fchmod_y__secontext_mismatch_LDADD) $(LIBS)
++
+ fchmodat$(EXEEXT): $(fchmodat_OBJECTS) $(fchmodat_DEPENDENCIES) $(EXTRA_fchmodat_DEPENDENCIES) 
+ 	@rm -f fchmodat$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(fchmodat_OBJECTS) $(fchmodat_LDADD) $(LIBS)
+@@ -7674,6 +8072,14 @@
+ 	@rm -f fchmodat--secontext_full$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(fchmodat__secontext_full_OBJECTS) $(fchmodat__secontext_full_LDADD) $(LIBS)
+ 
++fchmodat--secontext_full_mismatch$(EXEEXT): $(fchmodat__secontext_full_mismatch_OBJECTS) $(fchmodat__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_fchmodat__secontext_full_mismatch_DEPENDENCIES) 
++	@rm -f fchmodat--secontext_full_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(fchmodat__secontext_full_mismatch_OBJECTS) $(fchmodat__secontext_full_mismatch_LDADD) $(LIBS)
++
++fchmodat--secontext_mismatch$(EXEEXT): $(fchmodat__secontext_mismatch_OBJECTS) $(fchmodat__secontext_mismatch_DEPENDENCIES) $(EXTRA_fchmodat__secontext_mismatch_DEPENDENCIES) 
++	@rm -f fchmodat--secontext_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(fchmodat__secontext_mismatch_OBJECTS) $(fchmodat__secontext_mismatch_LDADD) $(LIBS)
++
+ fchown$(EXEEXT): $(fchown_OBJECTS) $(fchown_DEPENDENCIES) $(EXTRA_fchown_DEPENDENCIES) 
+ 	@rm -f fchown$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(fchown_OBJECTS) $(fchown_LDADD) $(LIBS)
+@@ -7694,6 +8100,14 @@
+ 	@rm -f fchownat--secontext_full$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(fchownat__secontext_full_OBJECTS) $(fchownat__secontext_full_LDADD) $(LIBS)
+ 
++fchownat--secontext_full_mismatch$(EXEEXT): $(fchownat__secontext_full_mismatch_OBJECTS) $(fchownat__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_fchownat__secontext_full_mismatch_DEPENDENCIES) 
++	@rm -f fchownat--secontext_full_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(fchownat__secontext_full_mismatch_OBJECTS) $(fchownat__secontext_full_mismatch_LDADD) $(LIBS)
++
++fchownat--secontext_mismatch$(EXEEXT): $(fchownat__secontext_mismatch_OBJECTS) $(fchownat__secontext_mismatch_DEPENDENCIES) $(EXTRA_fchownat__secontext_mismatch_DEPENDENCIES) 
++	@rm -f fchownat--secontext_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(fchownat__secontext_mismatch_OBJECTS) $(fchownat__secontext_mismatch_LDADD) $(LIBS)
++
+ fcntl$(EXEEXT): $(fcntl_OBJECTS) $(fcntl_DEPENDENCIES) $(EXTRA_fcntl_DEPENDENCIES) 
+ 	@rm -f fcntl$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(fcntl_OBJECTS) $(fcntl_LDADD) $(LIBS)
+@@ -7730,6 +8144,14 @@
+ 	@rm -f file_handle--secontext_full$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(file_handle__secontext_full_OBJECTS) $(file_handle__secontext_full_LDADD) $(LIBS)
+ 
++file_handle--secontext_full_mismatch$(EXEEXT): $(file_handle__secontext_full_mismatch_OBJECTS) $(file_handle__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_file_handle__secontext_full_mismatch_DEPENDENCIES) 
++	@rm -f file_handle--secontext_full_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(file_handle__secontext_full_mismatch_OBJECTS) $(file_handle__secontext_full_mismatch_LDADD) $(LIBS)
++
++file_handle--secontext_mismatch$(EXEEXT): $(file_handle__secontext_mismatch_OBJECTS) $(file_handle__secontext_mismatch_DEPENDENCIES) $(EXTRA_file_handle__secontext_mismatch_DEPENDENCIES) 
++	@rm -f file_handle--secontext_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(file_handle__secontext_mismatch_OBJECTS) $(file_handle__secontext_mismatch_LDADD) $(LIBS)
++
+ filter-unavailable$(EXEEXT): $(filter_unavailable_OBJECTS) $(filter_unavailable_DEPENDENCIES) $(EXTRA_filter_unavailable_DEPENDENCIES) 
+ 	@rm -f filter-unavailable$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(filter_unavailable_OBJECTS) $(filter_unavailable_LDADD) $(LIBS)
+@@ -8774,6 +9196,14 @@
+ 	@rm -f linkat--secontext_full$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(linkat__secontext_full_OBJECTS) $(linkat__secontext_full_LDADD) $(LIBS)
+ 
++linkat--secontext_full_mismatch$(EXEEXT): $(linkat__secontext_full_mismatch_OBJECTS) $(linkat__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_linkat__secontext_full_mismatch_DEPENDENCIES) 
++	@rm -f linkat--secontext_full_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(linkat__secontext_full_mismatch_OBJECTS) $(linkat__secontext_full_mismatch_LDADD) $(LIBS)
++
++linkat--secontext_mismatch$(EXEEXT): $(linkat__secontext_mismatch_OBJECTS) $(linkat__secontext_mismatch_DEPENDENCIES) $(EXTRA_linkat__secontext_mismatch_DEPENDENCIES) 
++	@rm -f linkat--secontext_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(linkat__secontext_mismatch_OBJECTS) $(linkat__secontext_mismatch_LDADD) $(LIBS)
++
+ list_sigaction_signum$(EXEEXT): $(list_sigaction_signum_OBJECTS) $(list_sigaction_signum_DEPENDENCIES) $(EXTRA_list_sigaction_signum_DEPENDENCIES) 
+ 	@rm -f list_sigaction_signum$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(list_sigaction_signum_OBJECTS) $(list_sigaction_signum_LDADD) $(LIBS)
+@@ -9422,6 +9852,14 @@
+ 	@rm -f open--secontext_full$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(open__secontext_full_OBJECTS) $(open__secontext_full_LDADD) $(LIBS)
+ 
++open--secontext_full_mismatch$(EXEEXT): $(open__secontext_full_mismatch_OBJECTS) $(open__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_open__secontext_full_mismatch_DEPENDENCIES) 
++	@rm -f open--secontext_full_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(open__secontext_full_mismatch_OBJECTS) $(open__secontext_full_mismatch_LDADD) $(LIBS)
++
++open--secontext_mismatch$(EXEEXT): $(open__secontext_mismatch_OBJECTS) $(open__secontext_mismatch_DEPENDENCIES) $(EXTRA_open__secontext_mismatch_DEPENDENCIES) 
++	@rm -f open--secontext_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(open__secontext_mismatch_OBJECTS) $(open__secontext_mismatch_LDADD) $(LIBS)
++
+ open_tree$(EXEEXT): $(open_tree_OBJECTS) $(open_tree_DEPENDENCIES) $(EXTRA_open_tree_DEPENDENCIES) 
+ 	@rm -f open_tree$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(open_tree_OBJECTS) $(open_tree_LDADD) $(LIBS)
+@@ -9442,6 +9880,14 @@
+ 	@rm -f openat--secontext_full$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(openat__secontext_full_OBJECTS) $(openat__secontext_full_LDADD) $(LIBS)
+ 
++openat--secontext_full_mismatch$(EXEEXT): $(openat__secontext_full_mismatch_OBJECTS) $(openat__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_openat__secontext_full_mismatch_DEPENDENCIES) 
++	@rm -f openat--secontext_full_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(openat__secontext_full_mismatch_OBJECTS) $(openat__secontext_full_mismatch_LDADD) $(LIBS)
++
++openat--secontext_mismatch$(EXEEXT): $(openat__secontext_mismatch_OBJECTS) $(openat__secontext_mismatch_DEPENDENCIES) $(EXTRA_openat__secontext_mismatch_DEPENDENCIES) 
++	@rm -f openat--secontext_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(openat__secontext_mismatch_OBJECTS) $(openat__secontext_mismatch_LDADD) $(LIBS)
++
+ openat2$(EXEEXT): $(openat2_OBJECTS) $(openat2_DEPENDENCIES) $(EXTRA_openat2_DEPENDENCIES) 
+ 	@rm -f openat2$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(openat2_OBJECTS) $(openat2_LDADD) $(LIBS)
+@@ -10834,6 +11280,8 @@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/accept4.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/access--secontext.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/access--secontext_full.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/access--secontext_full_mismatch.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/access--secontext_mismatch.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/access.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/acct.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/add_key.Po@am__quote@ # am--include-marker
+@@ -10866,6 +11314,8 @@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_sigign.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chmod--secontext.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chmod--secontext_full.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chmod--secontext_full_mismatch.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chmod--secontext_mismatch.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chmod.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chown.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chown32.Po@am__quote@ # am--include-marker
+@@ -10927,17 +11377,25 @@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eventfd.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execve--secontext.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execve--secontext_full.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execve--secontext_full_mismatch.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execve--secontext_mismatch.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execve-v.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execve.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execveat--secontext.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execveat--secontext_full.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execveat--secontext_full_mismatch.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execveat--secontext_mismatch.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execveat-v.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execveat.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat--secontext.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat--secontext_full.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat--secontext_full_mismatch.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat--secontext_mismatch.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat-P.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat-y--secontext.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat-y--secontext_full.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat-y--secontext_full_mismatch.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat-y--secontext_mismatch.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat-y.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat-yy.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat.Po@am__quote@ # am--include-marker
+@@ -10951,6 +11409,8 @@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_init.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark--secontext.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark--secontext_full.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark--secontext_full_mismatch.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark--secontext_mismatch.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark-Xabbrev.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark-Xraw.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark-Xverbose.Po@am__quote@ # am--include-marker
+@@ -10958,17 +11418,25 @@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchdir.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod--secontext.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod--secontext_full.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod--secontext_full_mismatch.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod--secontext_mismatch.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod-y--secontext.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod-y--secontext_full.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod-y--secontext_full_mismatch.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod-y--secontext_mismatch.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod-y.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmodat--secontext.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmodat--secontext_full.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmodat--secontext_full_mismatch.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmodat--secontext_mismatch.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmodat.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchown.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchown32.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchownat--secontext.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchownat--secontext_full.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchownat--secontext_full_mismatch.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchownat--secontext_mismatch.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchownat.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcntl--pidns-translation.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcntl.Po@am__quote@ # am--include-marker
+@@ -10978,6 +11446,8 @@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fflush.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file_handle--secontext.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file_handle--secontext_full.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file_handle--secontext_full_mismatch.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file_handle--secontext_mismatch.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file_handle.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/filter-unavailable.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/filter_seccomp-flag.Po@am__quote@ # am--include-marker
+@@ -11275,6 +11745,8 @@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/link.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linkat--secontext.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linkat--secontext_full.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linkat--secontext_full_mismatch.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linkat--secontext_mismatch.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linkat.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/list_sigaction_signum.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/llseek.Po@am__quote@ # am--include-marker
+@@ -11437,11 +11909,15 @@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/oldstat.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open--secontext.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open--secontext_full.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open--secontext_full_mismatch.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open--secontext_mismatch.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open_tree-P.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open_tree.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat--secontext.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat--secontext_full.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat--secontext_full_mismatch.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat--secontext_mismatch.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat2-Xabbrev.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat2-Xraw.Po@am__quote@ # am--include-marker
+@@ -13003,6 +13479,12 @@
+ $(srcdir)/access--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
++$(srcdir)/access--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
++$(srcdir)/access--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
+ $(srcdir)/acct.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
+@@ -13054,6 +13536,12 @@
+ $(srcdir)/chmod--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
++$(srcdir)/chmod--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
++$(srcdir)/chmod--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
+ $(srcdir)/chown.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
+@@ -13219,6 +13707,12 @@
+ $(srcdir)/execve--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
++$(srcdir)/execve--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
++$(srcdir)/execve--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
+ $(srcdir)/execveat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
+@@ -13228,6 +13722,12 @@
+ $(srcdir)/execveat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
++$(srcdir)/execveat--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
++$(srcdir)/execveat--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
+ $(srcdir)/execveat-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
+@@ -13237,6 +13737,12 @@
+ $(srcdir)/faccessat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
++$(srcdir)/faccessat--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
++$(srcdir)/faccessat--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
+ $(srcdir)/faccessat-P.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
+@@ -13249,6 +13755,12 @@
+ $(srcdir)/faccessat-y--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
++$(srcdir)/faccessat-y--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
++$(srcdir)/faccessat-y--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
+ $(srcdir)/faccessat-yy.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
+@@ -13279,6 +13791,12 @@
+ $(srcdir)/fanotify_mark--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
++$(srcdir)/fanotify_mark--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
++$(srcdir)/fanotify_mark--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
+ $(srcdir)/fanotify_mark-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
+@@ -13300,6 +13818,12 @@
+ $(srcdir)/fchmod--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
++$(srcdir)/fchmod--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
++$(srcdir)/fchmod--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
+ $(srcdir)/fchmod-y.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
+@@ -13309,6 +13833,12 @@
+ $(srcdir)/fchmod-y--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
++$(srcdir)/fchmod-y--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
++$(srcdir)/fchmod-y--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
+ $(srcdir)/fchmodat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
+@@ -13318,6 +13848,12 @@
+ $(srcdir)/fchmodat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
++$(srcdir)/fchmodat--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
++$(srcdir)/fchmodat--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
+ $(srcdir)/fchown.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
+@@ -13333,6 +13869,12 @@
+ $(srcdir)/fchownat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
++$(srcdir)/fchownat--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
++$(srcdir)/fchownat--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
+ $(srcdir)/fcntl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
+@@ -13357,6 +13899,12 @@
+ $(srcdir)/file_handle--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
++$(srcdir)/file_handle--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
++$(srcdir)/file_handle--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
+ $(srcdir)/filter_seccomp.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
+@@ -14116,6 +14664,12 @@
+ $(srcdir)/linkat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
++$(srcdir)/linkat--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
++$(srcdir)/linkat--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
+ $(srcdir)/lookup_dcookie.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
+@@ -14545,6 +15099,12 @@
+ $(srcdir)/open--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
++$(srcdir)/open--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
++$(srcdir)/open--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
+ $(srcdir)/open_tree.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
+@@ -14560,6 +15120,12 @@
+ $(srcdir)/openat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
++$(srcdir)/openat--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
++$(srcdir)/openat--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
+ $(srcdir)/openat2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
+--- old/tests-m32/Makefile.in	2022-02-07 20:23:38.724063729 +0100
++++ new/tests-m32/Makefile.in	2022-02-07 20:24:03.512063387 +0100
+@@ -614,25 +614,55 @@
+ 	xet_thread_area_x86$(EXEEXT) xetitimer$(EXEEXT) \
+ 	xetpgid$(EXEEXT) xetpriority$(EXEEXT) xettimeofday$(EXEEXT)
+ am__EXEEXT_2 = access--secontext$(EXEEXT) \
+-	access--secontext_full$(EXEEXT) chmod--secontext$(EXEEXT) \
+-	chmod--secontext_full$(EXEEXT) execve--secontext$(EXEEXT) \
+-	execve--secontext_full$(EXEEXT) execveat--secontext$(EXEEXT) \
+-	execveat--secontext_full$(EXEEXT) \
++	access--secontext_full$(EXEEXT) \
++	access--secontext_full_mismatch$(EXEEXT) \
++	access--secontext_mismatch$(EXEEXT) chmod--secontext$(EXEEXT) \
++	chmod--secontext_full$(EXEEXT) \
++	chmod--secontext_full_mismatch$(EXEEXT) \
++	chmod--secontext_mismatch$(EXEEXT) execve--secontext$(EXEEXT) \
++	execve--secontext_full$(EXEEXT) \
++	execve--secontext_full_mismatch$(EXEEXT) \
++	execve--secontext_mismatch$(EXEEXT) \
++	execveat--secontext$(EXEEXT) execveat--secontext_full$(EXEEXT) \
++	execveat--secontext_full_mismatch$(EXEEXT) \
++	execveat--secontext_mismatch$(EXEEXT) \
+ 	faccessat--secontext$(EXEEXT) \
+ 	faccessat--secontext_full$(EXEEXT) \
++	faccessat--secontext_full_mismatch$(EXEEXT) \
++	faccessat--secontext_mismatch$(EXEEXT) \
+ 	faccessat-y--secontext$(EXEEXT) \
+ 	faccessat-y--secontext_full$(EXEEXT) \
++	faccessat-y--secontext_full_mismatch$(EXEEXT) \
++	faccessat-y--secontext_mismatch$(EXEEXT) \
+ 	fanotify_mark--secontext$(EXEEXT) \
+ 	fanotify_mark--secontext_full$(EXEEXT) \
++	fanotify_mark--secontext_full_mismatch$(EXEEXT) \
++	fanotify_mark--secontext_mismatch$(EXEEXT) \
+ 	fchmod--secontext$(EXEEXT) fchmod--secontext_full$(EXEEXT) \
++	fchmod--secontext_full_mismatch$(EXEEXT) \
++	fchmod--secontext_mismatch$(EXEEXT) \
+ 	fchmod-y--secontext$(EXEEXT) fchmod-y--secontext_full$(EXEEXT) \
++	fchmod-y--secontext_full_mismatch$(EXEEXT) \
++	fchmod-y--secontext_mismatch$(EXEEXT) \
+ 	fchmodat--secontext$(EXEEXT) fchmodat--secontext_full$(EXEEXT) \
++	fchmodat--secontext_full_mismatch$(EXEEXT) \
++	fchmodat--secontext_mismatch$(EXEEXT) \
+ 	fchownat--secontext$(EXEEXT) fchownat--secontext_full$(EXEEXT) \
++	fchownat--secontext_full_mismatch$(EXEEXT) \
++	fchownat--secontext_mismatch$(EXEEXT) \
+ 	file_handle--secontext$(EXEEXT) \
+ 	file_handle--secontext_full$(EXEEXT) \
++	file_handle--secontext_full_mismatch$(EXEEXT) \
++	file_handle--secontext_mismatch$(EXEEXT) \
+ 	linkat--secontext$(EXEEXT) linkat--secontext_full$(EXEEXT) \
+-	open--secontext$(EXEEXT) open--secontext_full$(EXEEXT) \
+-	openat--secontext$(EXEEXT) openat--secontext_full$(EXEEXT)
++	linkat--secontext_full_mismatch$(EXEEXT) \
++	linkat--secontext_mismatch$(EXEEXT) open--secontext$(EXEEXT) \
++	open--secontext_full$(EXEEXT) \
++	open--secontext_full_mismatch$(EXEEXT) \
++	open--secontext_mismatch$(EXEEXT) openat--secontext$(EXEEXT) \
++	openat--secontext_full$(EXEEXT) \
++	openat--secontext_full_mismatch$(EXEEXT) \
++	openat--secontext_mismatch$(EXEEXT)
+ ARFLAGS = cru
+ AM_V_AR = $(am__v_AR_@AM_V@)
+ am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@)
+@@ -662,6 +692,17 @@
+ access__secontext_full_SOURCES = access--secontext_full.c
+ access__secontext_full_OBJECTS = access--secontext_full.$(OBJEXT)
+ access__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
++access__secontext_full_mismatch_SOURCES =  \
++	access--secontext_full_mismatch.c
++access__secontext_full_mismatch_OBJECTS =  \
++	access--secontext_full_mismatch.$(OBJEXT)
++access__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \
++	$(am__DEPENDENCIES_2)
++access__secontext_mismatch_SOURCES = access--secontext_mismatch.c
++access__secontext_mismatch_OBJECTS =  \
++	access--secontext_mismatch.$(OBJEXT)
++access__secontext_mismatch_DEPENDENCIES = $(LDADD) \
++	$(am__DEPENDENCIES_2)
+ acct_SOURCES = acct.c
+ acct_OBJECTS = acct.$(OBJEXT)
+ acct_LDADD = $(LDADD)
+@@ -790,6 +831,17 @@
+ chmod__secontext_full_SOURCES = chmod--secontext_full.c
+ chmod__secontext_full_OBJECTS = chmod--secontext_full.$(OBJEXT)
+ chmod__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
++chmod__secontext_full_mismatch_SOURCES =  \
++	chmod--secontext_full_mismatch.c
++chmod__secontext_full_mismatch_OBJECTS =  \
++	chmod--secontext_full_mismatch.$(OBJEXT)
++chmod__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \
++	$(am__DEPENDENCIES_2)
++chmod__secontext_mismatch_SOURCES = chmod--secontext_mismatch.c
++chmod__secontext_mismatch_OBJECTS =  \
++	chmod--secontext_mismatch.$(OBJEXT)
++chmod__secontext_mismatch_DEPENDENCIES = $(LDADD) \
++	$(am__DEPENDENCIES_2)
+ chown_SOURCES = chown.c
+ chown_OBJECTS = chown.$(OBJEXT)
+ chown_LDADD = $(LDADD)
+@@ -1031,6 +1083,17 @@
+ execve__secontext_full_SOURCES = execve--secontext_full.c
+ execve__secontext_full_OBJECTS = execve--secontext_full.$(OBJEXT)
+ execve__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
++execve__secontext_full_mismatch_SOURCES =  \
++	execve--secontext_full_mismatch.c
++execve__secontext_full_mismatch_OBJECTS =  \
++	execve--secontext_full_mismatch.$(OBJEXT)
++execve__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \
++	$(am__DEPENDENCIES_2)
++execve__secontext_mismatch_SOURCES = execve--secontext_mismatch.c
++execve__secontext_mismatch_OBJECTS =  \
++	execve--secontext_mismatch.$(OBJEXT)
++execve__secontext_mismatch_DEPENDENCIES = $(LDADD) \
++	$(am__DEPENDENCIES_2)
+ execve_v_SOURCES = execve-v.c
+ execve_v_OBJECTS = execve-v.$(OBJEXT)
+ execve_v_LDADD = $(LDADD)
+@@ -1045,6 +1108,17 @@
+ execveat__secontext_full_SOURCES = execveat--secontext_full.c
+ execveat__secontext_full_OBJECTS = execveat--secontext_full.$(OBJEXT)
+ execveat__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
++execveat__secontext_full_mismatch_SOURCES =  \
++	execveat--secontext_full_mismatch.c
++execveat__secontext_full_mismatch_OBJECTS =  \
++	execveat--secontext_full_mismatch.$(OBJEXT)
++execveat__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \
++	$(am__DEPENDENCIES_2)
++execveat__secontext_mismatch_SOURCES = execveat--secontext_mismatch.c
++execveat__secontext_mismatch_OBJECTS =  \
++	execveat--secontext_mismatch.$(OBJEXT)
++execveat__secontext_mismatch_DEPENDENCIES = $(LDADD) \
++	$(am__DEPENDENCIES_2)
+ execveat_v_SOURCES = execveat-v.c
+ execveat_v_OBJECTS = execveat-v.$(OBJEXT)
+ execveat_v_LDADD = $(LDADD)
+@@ -1061,6 +1135,18 @@
+ 	faccessat--secontext_full.$(OBJEXT)
+ faccessat__secontext_full_DEPENDENCIES = $(LDADD) \
+ 	$(am__DEPENDENCIES_2)
++faccessat__secontext_full_mismatch_SOURCES =  \
++	faccessat--secontext_full_mismatch.c
++faccessat__secontext_full_mismatch_OBJECTS =  \
++	faccessat--secontext_full_mismatch.$(OBJEXT)
++faccessat__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \
++	$(am__DEPENDENCIES_2)
++faccessat__secontext_mismatch_SOURCES =  \
++	faccessat--secontext_mismatch.c
++faccessat__secontext_mismatch_OBJECTS =  \
++	faccessat--secontext_mismatch.$(OBJEXT)
++faccessat__secontext_mismatch_DEPENDENCIES = $(LDADD) \
++	$(am__DEPENDENCIES_2)
+ faccessat_P_SOURCES = faccessat-P.c
+ faccessat_P_OBJECTS = faccessat-P.$(OBJEXT)
+ faccessat_P_LDADD = $(LDADD)
+@@ -1077,6 +1163,18 @@
+ 	faccessat-y--secontext_full.$(OBJEXT)
+ faccessat_y__secontext_full_DEPENDENCIES = $(LDADD) \
+ 	$(am__DEPENDENCIES_2)
++faccessat_y__secontext_full_mismatch_SOURCES =  \
++	faccessat-y--secontext_full_mismatch.c
++faccessat_y__secontext_full_mismatch_OBJECTS =  \
++	faccessat-y--secontext_full_mismatch.$(OBJEXT)
++faccessat_y__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \
++	$(am__DEPENDENCIES_2)
++faccessat_y__secontext_mismatch_SOURCES =  \
++	faccessat-y--secontext_mismatch.c
++faccessat_y__secontext_mismatch_OBJECTS =  \
++	faccessat-y--secontext_mismatch.$(OBJEXT)
++faccessat_y__secontext_mismatch_DEPENDENCIES = $(LDADD) \
++	$(am__DEPENDENCIES_2)
+ faccessat_yy_SOURCES = faccessat-yy.c
+ faccessat_yy_OBJECTS = faccessat-yy.$(OBJEXT)
+ faccessat_yy_LDADD = $(LDADD)
+@@ -1126,6 +1224,18 @@
+ 	fanotify_mark--secontext_full.$(OBJEXT)
+ fanotify_mark__secontext_full_DEPENDENCIES = $(LDADD) \
+ 	$(am__DEPENDENCIES_2)
++fanotify_mark__secontext_full_mismatch_SOURCES =  \
++	fanotify_mark--secontext_full_mismatch.c
++fanotify_mark__secontext_full_mismatch_OBJECTS =  \
++	fanotify_mark--secontext_full_mismatch.$(OBJEXT)
++fanotify_mark__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \
++	$(am__DEPENDENCIES_2)
++fanotify_mark__secontext_mismatch_SOURCES =  \
++	fanotify_mark--secontext_mismatch.c
++fanotify_mark__secontext_mismatch_OBJECTS =  \
++	fanotify_mark--secontext_mismatch.$(OBJEXT)
++fanotify_mark__secontext_mismatch_DEPENDENCIES = $(LDADD) \
++	$(am__DEPENDENCIES_2)
+ fanotify_mark_Xabbrev_SOURCES = fanotify_mark-Xabbrev.c
+ fanotify_mark_Xabbrev_OBJECTS = fanotify_mark-Xabbrev.$(OBJEXT)
+ fanotify_mark_Xabbrev_LDADD = $(LDADD)
+@@ -1152,6 +1262,17 @@
+ fchmod__secontext_full_SOURCES = fchmod--secontext_full.c
+ fchmod__secontext_full_OBJECTS = fchmod--secontext_full.$(OBJEXT)
+ fchmod__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
++fchmod__secontext_full_mismatch_SOURCES =  \
++	fchmod--secontext_full_mismatch.c
++fchmod__secontext_full_mismatch_OBJECTS =  \
++	fchmod--secontext_full_mismatch.$(OBJEXT)
++fchmod__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \
++	$(am__DEPENDENCIES_2)
++fchmod__secontext_mismatch_SOURCES = fchmod--secontext_mismatch.c
++fchmod__secontext_mismatch_OBJECTS =  \
++	fchmod--secontext_mismatch.$(OBJEXT)
++fchmod__secontext_mismatch_DEPENDENCIES = $(LDADD) \
++	$(am__DEPENDENCIES_2)
+ fchmod_y_SOURCES = fchmod-y.c
+ fchmod_y_OBJECTS = fchmod-y.$(OBJEXT)
+ fchmod_y_LDADD = $(LDADD)
+@@ -1162,6 +1283,17 @@
+ fchmod_y__secontext_full_SOURCES = fchmod-y--secontext_full.c
+ fchmod_y__secontext_full_OBJECTS = fchmod-y--secontext_full.$(OBJEXT)
+ fchmod_y__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
++fchmod_y__secontext_full_mismatch_SOURCES =  \
++	fchmod-y--secontext_full_mismatch.c
++fchmod_y__secontext_full_mismatch_OBJECTS =  \
++	fchmod-y--secontext_full_mismatch.$(OBJEXT)
++fchmod_y__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \
++	$(am__DEPENDENCIES_2)
++fchmod_y__secontext_mismatch_SOURCES = fchmod-y--secontext_mismatch.c
++fchmod_y__secontext_mismatch_OBJECTS =  \
++	fchmod-y--secontext_mismatch.$(OBJEXT)
++fchmod_y__secontext_mismatch_DEPENDENCIES = $(LDADD) \
++	$(am__DEPENDENCIES_2)
+ fchmodat_SOURCES = fchmodat.c
+ fchmodat_OBJECTS = fchmodat.$(OBJEXT)
+ fchmodat_LDADD = $(LDADD)
+@@ -1172,6 +1304,17 @@
+ fchmodat__secontext_full_SOURCES = fchmodat--secontext_full.c
+ fchmodat__secontext_full_OBJECTS = fchmodat--secontext_full.$(OBJEXT)
+ fchmodat__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
++fchmodat__secontext_full_mismatch_SOURCES =  \
++	fchmodat--secontext_full_mismatch.c
++fchmodat__secontext_full_mismatch_OBJECTS =  \
++	fchmodat--secontext_full_mismatch.$(OBJEXT)
++fchmodat__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \
++	$(am__DEPENDENCIES_2)
++fchmodat__secontext_mismatch_SOURCES = fchmodat--secontext_mismatch.c
++fchmodat__secontext_mismatch_OBJECTS =  \
++	fchmodat--secontext_mismatch.$(OBJEXT)
++fchmodat__secontext_mismatch_DEPENDENCIES = $(LDADD) \
++	$(am__DEPENDENCIES_2)
+ fchown_SOURCES = fchown.c
+ fchown_OBJECTS = fchown.$(OBJEXT)
+ fchown_LDADD = $(LDADD)
+@@ -1190,6 +1333,17 @@
+ fchownat__secontext_full_SOURCES = fchownat--secontext_full.c
+ fchownat__secontext_full_OBJECTS = fchownat--secontext_full.$(OBJEXT)
+ fchownat__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
++fchownat__secontext_full_mismatch_SOURCES =  \
++	fchownat--secontext_full_mismatch.c
++fchownat__secontext_full_mismatch_OBJECTS =  \
++	fchownat--secontext_full_mismatch.$(OBJEXT)
++fchownat__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \
++	$(am__DEPENDENCIES_2)
++fchownat__secontext_mismatch_SOURCES = fchownat--secontext_mismatch.c
++fchownat__secontext_mismatch_OBJECTS =  \
++	fchownat--secontext_mismatch.$(OBJEXT)
++fchownat__secontext_mismatch_DEPENDENCIES = $(LDADD) \
++	$(am__DEPENDENCIES_2)
+ fcntl_SOURCES = fcntl.c
+ fcntl_OBJECTS = fcntl.$(OBJEXT)
+ fcntl_LDADD = $(LDADD)
+@@ -1227,6 +1381,18 @@
+ 	file_handle--secontext_full.$(OBJEXT)
+ file_handle__secontext_full_DEPENDENCIES = $(LDADD) \
+ 	$(am__DEPENDENCIES_2)
++file_handle__secontext_full_mismatch_SOURCES =  \
++	file_handle--secontext_full_mismatch.c
++file_handle__secontext_full_mismatch_OBJECTS =  \
++	file_handle--secontext_full_mismatch.$(OBJEXT)
++file_handle__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \
++	$(am__DEPENDENCIES_2)
++file_handle__secontext_mismatch_SOURCES =  \
++	file_handle--secontext_mismatch.c
++file_handle__secontext_mismatch_OBJECTS =  \
++	file_handle--secontext_mismatch.$(OBJEXT)
++file_handle__secontext_mismatch_DEPENDENCIES = $(LDADD) \
++	$(am__DEPENDENCIES_2)
+ filter_unavailable_SOURCES = filter-unavailable.c
+ filter_unavailable_OBJECTS = filter-unavailable.$(OBJEXT)
+ filter_unavailable_DEPENDENCIES = $(LDADD)
+@@ -2318,6 +2484,17 @@
+ linkat__secontext_full_SOURCES = linkat--secontext_full.c
+ linkat__secontext_full_OBJECTS = linkat--secontext_full.$(OBJEXT)
+ linkat__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
++linkat__secontext_full_mismatch_SOURCES =  \
++	linkat--secontext_full_mismatch.c
++linkat__secontext_full_mismatch_OBJECTS =  \
++	linkat--secontext_full_mismatch.$(OBJEXT)
++linkat__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \
++	$(am__DEPENDENCIES_2)
++linkat__secontext_mismatch_SOURCES = linkat--secontext_mismatch.c
++linkat__secontext_mismatch_OBJECTS =  \
++	linkat--secontext_mismatch.$(OBJEXT)
++linkat__secontext_mismatch_DEPENDENCIES = $(LDADD) \
++	$(am__DEPENDENCIES_2)
+ list_sigaction_signum_SOURCES = list_sigaction_signum.c
+ list_sigaction_signum_OBJECTS = list_sigaction_signum.$(OBJEXT)
+ list_sigaction_signum_LDADD = $(LDADD)
+@@ -2976,6 +3153,15 @@
+ open__secontext_full_SOURCES = open--secontext_full.c
+ open__secontext_full_OBJECTS = open--secontext_full.$(OBJEXT)
+ open__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
++open__secontext_full_mismatch_SOURCES =  \
++	open--secontext_full_mismatch.c
++open__secontext_full_mismatch_OBJECTS =  \
++	open--secontext_full_mismatch.$(OBJEXT)
++open__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \
++	$(am__DEPENDENCIES_2)
++open__secontext_mismatch_SOURCES = open--secontext_mismatch.c
++open__secontext_mismatch_OBJECTS = open--secontext_mismatch.$(OBJEXT)
++open__secontext_mismatch_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
+ open_tree_SOURCES = open_tree.c
+ open_tree_OBJECTS = open_tree.$(OBJEXT)
+ open_tree_LDADD = $(LDADD)
+@@ -2994,6 +3180,17 @@
+ openat__secontext_full_SOURCES = openat--secontext_full.c
+ openat__secontext_full_OBJECTS = openat--secontext_full.$(OBJEXT)
+ openat__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
++openat__secontext_full_mismatch_SOURCES =  \
++	openat--secontext_full_mismatch.c
++openat__secontext_full_mismatch_OBJECTS =  \
++	openat--secontext_full_mismatch.$(OBJEXT)
++openat__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \
++	$(am__DEPENDENCIES_2)
++openat__secontext_mismatch_SOURCES = openat--secontext_mismatch.c
++openat__secontext_mismatch_OBJECTS =  \
++	openat--secontext_mismatch.$(OBJEXT)
++openat__secontext_mismatch_DEPENDENCIES = $(LDADD) \
++	$(am__DEPENDENCIES_2)
+ openat2_SOURCES = openat2.c
+ openat2_OBJECTS = openat2.$(OBJEXT)
+ openat2_LDADD = $(LDADD)
+@@ -4449,6 +4646,8 @@
+ 	./$(DEPDIR)/_newselect.Po ./$(DEPDIR)/accept.Po \
+ 	./$(DEPDIR)/accept4.Po ./$(DEPDIR)/access--secontext.Po \
+ 	./$(DEPDIR)/access--secontext_full.Po ./$(DEPDIR)/access.Po \
++	./$(DEPDIR)/access--secontext_full_mismatch.Po \
++	./$(DEPDIR)/access--secontext_mismatch.Po \
+ 	./$(DEPDIR)/acct.Po ./$(DEPDIR)/add_key.Po \
+ 	./$(DEPDIR)/adjtimex.Po ./$(DEPDIR)/aio.Po \
+ 	./$(DEPDIR)/aio_pgetevents.Po ./$(DEPDIR)/alarm.Po \
+@@ -4468,6 +4667,8 @@
+ 	./$(DEPDIR)/chdir.Po ./$(DEPDIR)/check_sigblock.Po \
+ 	./$(DEPDIR)/check_sigign.Po ./$(DEPDIR)/chmod--secontext.Po \
+ 	./$(DEPDIR)/chmod--secontext_full.Po ./$(DEPDIR)/chmod.Po \
++	./$(DEPDIR)/chmod--secontext_full_mismatch.Po \
++	./$(DEPDIR)/chmod--secontext_mismatch.Po \
+ 	./$(DEPDIR)/chown.Po ./$(DEPDIR)/chown32.Po \
+ 	./$(DEPDIR)/chroot.Po ./$(DEPDIR)/clock_adjtime.Po \
+ 	./$(DEPDIR)/clock_adjtime64.Po ./$(DEPDIR)/clock_nanosleep.Po \
+@@ -4503,14 +4704,22 @@
+ 	./$(DEPDIR)/epoll_wait.Po ./$(DEPDIR)/erestartsys.Po \
+ 	./$(DEPDIR)/eventfd.Po ./$(DEPDIR)/execve--secontext.Po \
+ 	./$(DEPDIR)/execve--secontext_full.Po ./$(DEPDIR)/execve-v.Po \
++	./$(DEPDIR)/execve--secontext_full_mismatch.Po \
++	./$(DEPDIR)/execve--secontext_mismatch.Po \
+ 	./$(DEPDIR)/execve.Po ./$(DEPDIR)/execveat--secontext.Po \
+ 	./$(DEPDIR)/execveat--secontext_full.Po \
++	./$(DEPDIR)/execveat--secontext_full_mismatch.Po \
++	./$(DEPDIR)/execveat--secontext_mismatch.Po \
+ 	./$(DEPDIR)/execveat-v.Po ./$(DEPDIR)/execveat.Po \
+ 	./$(DEPDIR)/faccessat--secontext.Po \
+ 	./$(DEPDIR)/faccessat--secontext_full.Po \
++	./$(DEPDIR)/faccessat--secontext_full_mismatch.Po \
++	./$(DEPDIR)/faccessat--secontext_mismatch.Po \
+ 	./$(DEPDIR)/faccessat-P.Po \
+ 	./$(DEPDIR)/faccessat-y--secontext.Po \
+ 	./$(DEPDIR)/faccessat-y--secontext_full.Po \
++	./$(DEPDIR)/faccessat-y--secontext_full_mismatch.Po \
++	./$(DEPDIR)/faccessat-y--secontext_mismatch.Po \
+ 	./$(DEPDIR)/faccessat-y.Po ./$(DEPDIR)/faccessat-yy.Po \
+ 	./$(DEPDIR)/faccessat.Po ./$(DEPDIR)/faccessat2-P.Po \
+ 	./$(DEPDIR)/faccessat2-y.Po ./$(DEPDIR)/faccessat2-yy.Po \
+@@ -4519,26 +4728,38 @@
+ 	./$(DEPDIR)/fanotify_init.Po \
+ 	./$(DEPDIR)/fanotify_mark--secontext.Po \
+ 	./$(DEPDIR)/fanotify_mark--secontext_full.Po \
++	./$(DEPDIR)/fanotify_mark--secontext_full_mismatch.Po \
++	./$(DEPDIR)/fanotify_mark--secontext_mismatch.Po \
+ 	./$(DEPDIR)/fanotify_mark-Xabbrev.Po \
+ 	./$(DEPDIR)/fanotify_mark-Xraw.Po \
+ 	./$(DEPDIR)/fanotify_mark-Xverbose.Po \
+ 	./$(DEPDIR)/fanotify_mark.Po ./$(DEPDIR)/fchdir.Po \
+ 	./$(DEPDIR)/fchmod--secontext.Po \
+ 	./$(DEPDIR)/fchmod--secontext_full.Po \
++	./$(DEPDIR)/fchmod--secontext_full_mismatch.Po \
++	./$(DEPDIR)/fchmod--secontext_mismatch.Po \
+ 	./$(DEPDIR)/fchmod-y--secontext.Po \
+ 	./$(DEPDIR)/fchmod-y--secontext_full.Po \
++	./$(DEPDIR)/fchmod-y--secontext_full_mismatch.Po \
++	./$(DEPDIR)/fchmod-y--secontext_mismatch.Po \
+ 	./$(DEPDIR)/fchmod-y.Po ./$(DEPDIR)/fchmod.Po \
+ 	./$(DEPDIR)/fchmodat--secontext.Po \
+ 	./$(DEPDIR)/fchmodat--secontext_full.Po \
++	./$(DEPDIR)/fchmodat--secontext_full_mismatch.Po \
++	./$(DEPDIR)/fchmodat--secontext_mismatch.Po \
+ 	./$(DEPDIR)/fchmodat.Po ./$(DEPDIR)/fchown.Po \
+ 	./$(DEPDIR)/fchown32.Po ./$(DEPDIR)/fchownat--secontext.Po \
+ 	./$(DEPDIR)/fchownat--secontext_full.Po \
++	./$(DEPDIR)/fchownat--secontext_full_mismatch.Po \
++	./$(DEPDIR)/fchownat--secontext_mismatch.Po \
+ 	./$(DEPDIR)/fchownat.Po \
+ 	./$(DEPDIR)/fcntl--pidns-translation.Po ./$(DEPDIR)/fcntl.Po \
+ 	./$(DEPDIR)/fcntl64--pidns-translation.Po \
+ 	./$(DEPDIR)/fcntl64.Po ./$(DEPDIR)/fdatasync.Po \
+ 	./$(DEPDIR)/fflush.Po ./$(DEPDIR)/file_handle--secontext.Po \
+ 	./$(DEPDIR)/file_handle--secontext_full.Po \
++	./$(DEPDIR)/file_handle--secontext_full_mismatch.Po \
++	./$(DEPDIR)/file_handle--secontext_mismatch.Po \
+ 	./$(DEPDIR)/file_handle.Po ./$(DEPDIR)/filter-unavailable.Po \
+ 	./$(DEPDIR)/filter_seccomp-flag.Po \
+ 	./$(DEPDIR)/filter_seccomp-perf.Po ./$(DEPDIR)/finit_module.Po \
+@@ -4753,6 +4972,8 @@
+ 	./$(DEPDIR)/libtests_a-xmalloc_for_tests.Po \
+ 	./$(DEPDIR)/link.Po ./$(DEPDIR)/linkat--secontext.Po \
+ 	./$(DEPDIR)/linkat--secontext_full.Po ./$(DEPDIR)/linkat.Po \
++	./$(DEPDIR)/linkat--secontext_full_mismatch.Po \
++	./$(DEPDIR)/linkat--secontext_mismatch.Po \
+ 	./$(DEPDIR)/list_sigaction_signum.Po ./$(DEPDIR)/llseek.Po \
+ 	./$(DEPDIR)/localtime.Po ./$(DEPDIR)/lookup_dcookie.Po \
+ 	./$(DEPDIR)/looping_threads.Po ./$(DEPDIR)/lseek.Po \
+@@ -4867,9 +5088,13 @@
+ 	./$(DEPDIR)/oldselect-efault.Po ./$(DEPDIR)/oldselect.Po \
+ 	./$(DEPDIR)/oldstat.Po ./$(DEPDIR)/open--secontext.Po \
+ 	./$(DEPDIR)/open--secontext_full.Po ./$(DEPDIR)/open.Po \
++	./$(DEPDIR)/open--secontext_full_mismatch.Po \
++	./$(DEPDIR)/open--secontext_mismatch.Po \
+ 	./$(DEPDIR)/open_tree-P.Po ./$(DEPDIR)/open_tree.Po \
+ 	./$(DEPDIR)/openat--secontext.Po \
+ 	./$(DEPDIR)/openat--secontext_full.Po ./$(DEPDIR)/openat.Po \
++	./$(DEPDIR)/openat--secontext_full_mismatch.Po \
++	./$(DEPDIR)/openat--secontext_mismatch.Po \
+ 	./$(DEPDIR)/openat2-Xabbrev.Po ./$(DEPDIR)/openat2-Xraw.Po \
+ 	./$(DEPDIR)/openat2-Xverbose.Po \
+ 	./$(DEPDIR)/openat2-v-y-Xabbrev.Po \
+@@ -5119,7 +5316,8 @@
+ am__v_CCLD_1 = 
+ SOURCES = $(libtests_a_SOURCES) _newselect.c _newselect-P.c accept.c \
+ 	accept4.c access.c access--secontext.c \
+-	access--secontext_full.c acct.c add_key.c adjtimex.c aio.c \
++	access--secontext_full.c access--secontext_full_mismatch.c \
++	access--secontext_mismatch.c acct.c add_key.c adjtimex.c aio.c \
+ 	aio_pgetevents.c alarm.c answer.c attach-f-p.c \
+ 	attach-f-p-cmd.c attach-p-cmd-cmd.c attach-p-cmd-p.c \
+ 	block_reset_raise_run.c block_reset_run.c bpf.c \
+@@ -4468,7 +4666,8 @@
+ 	bpf-success.c bpf-success-long-y.c bpf-success-v.c bpf-v.c \
+ 	brk.c btrfs.c caps.c caps-abbrev.c chdir.c check_sigblock.c \
+ 	check_sigign.c chmod.c chmod--secontext.c \
+-	chmod--secontext_full.c chown.c chown32.c chroot.c \
++	chmod--secontext_full.c chmod--secontext_full_mismatch.c \
++	chmod--secontext_mismatch.c chown.c chown32.c chroot.c \
+ 	clock_adjtime.c clock_adjtime64.c clock_nanosleep.c \
+ 	clock_xettime.c clock_xettime64.c clone-flags.c clone3.c \
+ 	clone3-Xabbrev.c clone3-Xraw.c clone3-Xverbose.c \
+@@ -4484,24 +4683,40 @@
+ 	dup3-y.c dup3-yy.c epoll_create.c epoll_create1.c epoll_ctl.c \
+ 	epoll_pwait.c epoll_pwait2.c epoll_pwait2-P.c epoll_pwait2-y.c \
+ 	epoll_wait.c erestartsys.c eventfd.c execve.c \
+-	execve--secontext.c execve--secontext_full.c execve-v.c \
+-	execveat.c execveat--secontext.c execveat--secontext_full.c \
+-	execveat-v.c faccessat.c faccessat--secontext.c \
+-	faccessat--secontext_full.c faccessat-P.c faccessat-y.c \
++	execve--secontext.c execve--secontext_full.c \
++	execve--secontext_full_mismatch.c execve--secontext_mismatch.c \
++	execve-v.c execveat.c execveat--secontext.c \
++	execveat--secontext_full.c execveat--secontext_full_mismatch.c \
++	execveat--secontext_mismatch.c execveat-v.c faccessat.c \
++	faccessat--secontext.c faccessat--secontext_full.c \
++	faccessat--secontext_full_mismatch.c \
++	faccessat--secontext_mismatch.c faccessat-P.c faccessat-y.c \
+ 	faccessat-y--secontext.c faccessat-y--secontext_full.c \
+-	faccessat-yy.c faccessat2.c faccessat2-P.c faccessat2-y.c \
+-	faccessat2-yy.c fadvise64.c fadvise64_64.c fallocate.c \
+-	fanotify_init.c fanotify_mark.c fanotify_mark--secontext.c \
+-	fanotify_mark--secontext_full.c fanotify_mark-Xabbrev.c \
++	faccessat-y--secontext_full_mismatch.c \
++	faccessat-y--secontext_mismatch.c faccessat-yy.c faccessat2.c \
++	faccessat2-P.c faccessat2-y.c faccessat2-yy.c fadvise64.c \
++	fadvise64_64.c fallocate.c fanotify_init.c fanotify_mark.c \
++	fanotify_mark--secontext.c fanotify_mark--secontext_full.c \
++	fanotify_mark--secontext_full_mismatch.c \
++	fanotify_mark--secontext_mismatch.c fanotify_mark-Xabbrev.c \
+ 	fanotify_mark-Xraw.c fanotify_mark-Xverbose.c fchdir.c \
+ 	fchmod.c fchmod--secontext.c fchmod--secontext_full.c \
++	fchmod--secontext_full_mismatch.c fchmod--secontext_mismatch.c \
+ 	fchmod-y.c fchmod-y--secontext.c fchmod-y--secontext_full.c \
+-	fchmodat.c fchmodat--secontext.c fchmodat--secontext_full.c \
+-	fchown.c fchown32.c fchownat.c fchownat--secontext.c \
+-	fchownat--secontext_full.c fcntl.c fcntl--pidns-translation.c \
+-	fcntl64.c fcntl64--pidns-translation.c fdatasync.c fflush.c \
++	fchmod-y--secontext_full_mismatch.c \
++	fchmod-y--secontext_mismatch.c fchmodat.c \
++	fchmodat--secontext.c fchmodat--secontext_full.c \
++	fchmodat--secontext_full_mismatch.c \
++	fchmodat--secontext_mismatch.c fchown.c fchown32.c fchownat.c \
++	fchownat--secontext.c fchownat--secontext_full.c \
++	fchownat--secontext_full_mismatch.c \
++	fchownat--secontext_mismatch.c fcntl.c \
++	fcntl--pidns-translation.c fcntl64.c \
++	fcntl64--pidns-translation.c fdatasync.c fflush.c \
+ 	file_handle.c file_handle--secontext.c \
+-	file_handle--secontext_full.c filter-unavailable.c \
++	file_handle--secontext_full.c \
++	file_handle--secontext_full_mismatch.c \
++	file_handle--secontext_mismatch.c filter-unavailable.c \
+ 	filter_seccomp-flag.c filter_seccomp-perf.c finit_module.c \
+ 	flock.c fork--pidns-translation.c fork-f.c fsconfig.c \
+ 	fsconfig-P.c fsmount.c fsopen.c fspick.c fspick-P.c fstat.c \
+@@ -4588,6 +4803,7 @@
+ 	landlock_create_ruleset-y.c landlock_restrict_self.c \
+ 	landlock_restrict_self-y.c lchown.c lchown32.c link.c linkat.c \
+ 	linkat--secontext.c linkat--secontext_full.c \
++	linkat--secontext_full_mismatch.c linkat--secontext_mismatch.c \
+ 	list_sigaction_signum.c llseek.c localtime.c lookup_dcookie.c \
+ 	looping_threads.c lseek.c lstat.c lstat64.c madvise.c \
+ 	maybe_switch_current_tcp.c \
+@@ -4641,8 +4857,10 @@
+ 	old_mmap-v-none.c oldfstat.c oldlstat.c oldselect.c \
+ 	oldselect-P.c oldselect-efault.c oldselect-efault-P.c \
+ 	oldstat.c open.c open--secontext.c open--secontext_full.c \
++	open--secontext_full_mismatch.c open--secontext_mismatch.c \
+ 	open_tree.c open_tree-P.c openat.c openat--secontext.c \
+-	openat--secontext_full.c openat2.c openat2-Xabbrev.c \
++	openat--secontext_full.c openat--secontext_full_mismatch.c \
++	openat--secontext_mismatch.c openat2.c openat2-Xabbrev.c \
+ 	openat2-Xraw.c openat2-Xverbose.c openat2-v.c openat2-v-y.c \
+ 	openat2-v-y-Xabbrev.c openat2-v-y-Xraw.c \
+ 	openat2-v-y-Xverbose.c openat2-y.c orphaned_process_group.c \
+@@ -4753,7 +4971,8 @@
+ 	xetpriority--pidns-translation.c xettimeofday.c zeroargc.c
+ DIST_SOURCES = $(libtests_a_SOURCES) _newselect.c _newselect-P.c \
+ 	accept.c accept4.c access.c access--secontext.c \
+-	access--secontext_full.c acct.c add_key.c adjtimex.c aio.c \
++	access--secontext_full.c access--secontext_full_mismatch.c \
++	access--secontext_mismatch.c acct.c add_key.c adjtimex.c aio.c \
+ 	aio_pgetevents.c alarm.c answer.c attach-f-p.c \
+ 	attach-f-p-cmd.c attach-p-cmd-cmd.c attach-p-cmd-p.c \
+ 	block_reset_raise_run.c block_reset_run.c bpf.c \
+@@ -4762,7 +4981,8 @@
+ 	bpf-success.c bpf-success-long-y.c bpf-success-v.c bpf-v.c \
+ 	brk.c btrfs.c caps.c caps-abbrev.c chdir.c check_sigblock.c \
+ 	check_sigign.c chmod.c chmod--secontext.c \
+-	chmod--secontext_full.c chown.c chown32.c chroot.c \
++	chmod--secontext_full.c chmod--secontext_full_mismatch.c \
++	chmod--secontext_mismatch.c chown.c chown32.c chroot.c \
+ 	clock_adjtime.c clock_adjtime64.c clock_nanosleep.c \
+ 	clock_xettime.c clock_xettime64.c clone-flags.c clone3.c \
+ 	clone3-Xabbrev.c clone3-Xraw.c clone3-Xverbose.c \
+@@ -4778,24 +4998,40 @@
+ 	dup3-y.c dup3-yy.c epoll_create.c epoll_create1.c epoll_ctl.c \
+ 	epoll_pwait.c epoll_pwait2.c epoll_pwait2-P.c epoll_pwait2-y.c \
+ 	epoll_wait.c erestartsys.c eventfd.c execve.c \
+-	execve--secontext.c execve--secontext_full.c execve-v.c \
+-	execveat.c execveat--secontext.c execveat--secontext_full.c \
+-	execveat-v.c faccessat.c faccessat--secontext.c \
+-	faccessat--secontext_full.c faccessat-P.c faccessat-y.c \
++	execve--secontext.c execve--secontext_full.c \
++	execve--secontext_full_mismatch.c execve--secontext_mismatch.c \
++	execve-v.c execveat.c execveat--secontext.c \
++	execveat--secontext_full.c execveat--secontext_full_mismatch.c \
++	execveat--secontext_mismatch.c execveat-v.c faccessat.c \
++	faccessat--secontext.c faccessat--secontext_full.c \
++	faccessat--secontext_full_mismatch.c \
++	faccessat--secontext_mismatch.c faccessat-P.c faccessat-y.c \
+ 	faccessat-y--secontext.c faccessat-y--secontext_full.c \
+-	faccessat-yy.c faccessat2.c faccessat2-P.c faccessat2-y.c \
+-	faccessat2-yy.c fadvise64.c fadvise64_64.c fallocate.c \
+-	fanotify_init.c fanotify_mark.c fanotify_mark--secontext.c \
+-	fanotify_mark--secontext_full.c fanotify_mark-Xabbrev.c \
++	faccessat-y--secontext_full_mismatch.c \
++	faccessat-y--secontext_mismatch.c faccessat-yy.c faccessat2.c \
++	faccessat2-P.c faccessat2-y.c faccessat2-yy.c fadvise64.c \
++	fadvise64_64.c fallocate.c fanotify_init.c fanotify_mark.c \
++	fanotify_mark--secontext.c fanotify_mark--secontext_full.c \
++	fanotify_mark--secontext_full_mismatch.c \
++	fanotify_mark--secontext_mismatch.c fanotify_mark-Xabbrev.c \
+ 	fanotify_mark-Xraw.c fanotify_mark-Xverbose.c fchdir.c \
+ 	fchmod.c fchmod--secontext.c fchmod--secontext_full.c \
++	fchmod--secontext_full_mismatch.c fchmod--secontext_mismatch.c \
+ 	fchmod-y.c fchmod-y--secontext.c fchmod-y--secontext_full.c \
+-	fchmodat.c fchmodat--secontext.c fchmodat--secontext_full.c \
+-	fchown.c fchown32.c fchownat.c fchownat--secontext.c \
+-	fchownat--secontext_full.c fcntl.c fcntl--pidns-translation.c \
+-	fcntl64.c fcntl64--pidns-translation.c fdatasync.c fflush.c \
++	fchmod-y--secontext_full_mismatch.c \
++	fchmod-y--secontext_mismatch.c fchmodat.c \
++	fchmodat--secontext.c fchmodat--secontext_full.c \
++	fchmodat--secontext_full_mismatch.c \
++	fchmodat--secontext_mismatch.c fchown.c fchown32.c fchownat.c \
++	fchownat--secontext.c fchownat--secontext_full.c \
++	fchownat--secontext_full_mismatch.c \
++	fchownat--secontext_mismatch.c fcntl.c \
++	fcntl--pidns-translation.c fcntl64.c \
++	fcntl64--pidns-translation.c fdatasync.c fflush.c \
+ 	file_handle.c file_handle--secontext.c \
+-	file_handle--secontext_full.c filter-unavailable.c \
++	file_handle--secontext_full.c \
++	file_handle--secontext_full_mismatch.c \
++	file_handle--secontext_mismatch.c filter-unavailable.c \
+ 	filter_seccomp-flag.c filter_seccomp-perf.c finit_module.c \
+ 	flock.c fork--pidns-translation.c fork-f.c fsconfig.c \
+ 	fsconfig-P.c fsmount.c fsopen.c fspick.c fspick-P.c fstat.c \
+@@ -4882,6 +5118,7 @@
+ 	landlock_create_ruleset-y.c landlock_restrict_self.c \
+ 	landlock_restrict_self-y.c lchown.c lchown32.c link.c linkat.c \
+ 	linkat--secontext.c linkat--secontext_full.c \
++	linkat--secontext_full_mismatch.c linkat--secontext_mismatch.c \
+ 	list_sigaction_signum.c llseek.c localtime.c lookup_dcookie.c \
+ 	looping_threads.c lseek.c lstat.c lstat64.c madvise.c \
+ 	maybe_switch_current_tcp.c \
+@@ -4935,8 +5172,10 @@
+ 	old_mmap-v-none.c oldfstat.c oldlstat.c oldselect.c \
+ 	oldselect-P.c oldselect-efault.c oldselect-efault-P.c \
+ 	oldstat.c open.c open--secontext.c open--secontext_full.c \
++	open--secontext_full_mismatch.c open--secontext_mismatch.c \
+ 	open_tree.c open_tree-P.c openat.c openat--secontext.c \
+-	openat--secontext_full.c openat2.c openat2-Xabbrev.c \
++	openat--secontext_full.c openat--secontext_full_mismatch.c \
++	openat--secontext_mismatch.c openat2.c openat2-Xabbrev.c \
+ 	openat2-Xraw.c openat2-Xverbose.c openat2-v.c openat2-v-y.c \
+ 	openat2-v-y-Xabbrev.c openat2-v-y-Xraw.c \
+ 	openat2-v-y-Xverbose.c openat2-y.c orphaned_process_group.c \
+@@ -6212,66 +6451,126 @@
+ secontext_EXECUTABLES = \
+   access--secontext \
+   access--secontext_full \
++  access--secontext_full_mismatch \
++  access--secontext_mismatch \
+   chmod--secontext \
+   chmod--secontext_full \
++  chmod--secontext_full_mismatch \
++  chmod--secontext_mismatch \
+   execve--secontext \
+   execve--secontext_full \
++  execve--secontext_full_mismatch \
++  execve--secontext_mismatch \
+   execveat--secontext \
+   execveat--secontext_full \
++  execveat--secontext_full_mismatch \
++  execveat--secontext_mismatch \
+   faccessat--secontext \
+   faccessat--secontext_full \
++  faccessat--secontext_full_mismatch \
++  faccessat--secontext_mismatch \
+   faccessat-y--secontext \
+   faccessat-y--secontext_full \
++  faccessat-y--secontext_full_mismatch \
++  faccessat-y--secontext_mismatch \
+   fanotify_mark--secontext \
+   fanotify_mark--secontext_full \
++  fanotify_mark--secontext_full_mismatch \
++  fanotify_mark--secontext_mismatch \
+   fchmod--secontext \
+   fchmod--secontext_full \
++  fchmod--secontext_full_mismatch \
++  fchmod--secontext_mismatch \
+   fchmod-y--secontext \
+   fchmod-y--secontext_full \
++  fchmod-y--secontext_full_mismatch \
++  fchmod-y--secontext_mismatch \
+   fchmodat--secontext \
+   fchmodat--secontext_full \
++  fchmodat--secontext_full_mismatch \
++  fchmodat--secontext_mismatch \
+   fchownat--secontext \
+   fchownat--secontext_full \
++  fchownat--secontext_full_mismatch \
++  fchownat--secontext_mismatch \
+   file_handle--secontext \
+   file_handle--secontext_full \
++  file_handle--secontext_full_mismatch \
++  file_handle--secontext_mismatch \
+   linkat--secontext \
+   linkat--secontext_full \
++  linkat--secontext_full_mismatch \
++  linkat--secontext_mismatch \
+   open--secontext \
+   open--secontext_full \
++  open--secontext_full_mismatch \
++  open--secontext_mismatch \
+   openat--secontext \
+   openat--secontext_full \
++  openat--secontext_full_mismatch \
++  openat--secontext_mismatch \
+   #
+ 
+ access__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
+ access__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
++access__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
++access__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
+ chmod__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
+ chmod__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
++chmod__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
++chmod__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
+ execve__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
+ execve__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
++execve__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
++execve__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
+ execveat__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
+ execveat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
++execveat__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
++execveat__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
+ faccessat__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
+ faccessat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
++faccessat__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
++faccessat__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
+ faccessat_y__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
+ faccessat_y__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
++faccessat_y__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
++faccessat_y__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
+ fanotify_mark__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
+ fanotify_mark__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
++fanotify_mark__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
++fanotify_mark__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
+ fchmod__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
+ fchmod__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
++fchmod__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
++fchmod__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
+ fchmod_y__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
+ fchmod_y__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
++fchmod_y__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
++fchmod_y__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
+ fchmodat__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
+ fchmodat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
++fchmodat__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
++fchmodat__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
+ fchownat__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
+ fchownat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
++fchownat__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
++fchownat__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
+ file_handle__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
+ file_handle__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
++file_handle__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
++file_handle__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
+ linkat__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
+ linkat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
++linkat__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
++linkat__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
+ open__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
+ open__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
++open__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
++open__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
+ openat__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
+ openat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
++openat__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
++openat__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
+ attach_f_p_LDADD = -lpthread $(LDADD)
+ count_f_LDADD = -lpthread $(LDADD)
+ delay_LDADD = $(clock_LIBS) $(LDADD)
+@@ -6325,15 +6624,20 @@
+ # Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in; do not edit.
+ GEN_TESTS = _newselect.gen.test _newselect-P.gen.test accept.gen.test \
+ 	accept4.gen.test access.gen.test access--secontext.gen.test \
+-	access--secontext_full.gen.test acct.gen.test add_key.gen.test \
+-	adjtimex.gen.test aio.gen.test aio_pgetevents.gen.test \
+-	alarm.gen.test bpf.gen.test bpf-obj_get_info_by_fd.gen.test \
++	access--secontext_full.gen.test \
++	access--secontext_full_mismatch.gen.test \
++	access--secontext_mismatch.gen.test acct.gen.test \
++	add_key.gen.test adjtimex.gen.test aio.gen.test \
++	aio_pgetevents.gen.test alarm.gen.test bpf.gen.test \
++	bpf-obj_get_info_by_fd.gen.test \
+ 	bpf-obj_get_info_by_fd-prog.gen.test \
+ 	bpf-obj_get_info_by_fd-prog-v.gen.test \
+ 	bpf-obj_get_info_by_fd-v.gen.test bpf-v.gen.test \
+ 	btrfs.gen.test chdir.gen.test chmod.gen.test \
+ 	chmod--secontext.gen.test chmod--secontext_full.gen.test \
+-	chown.gen.test chown32.gen.test chroot.gen.test clock.gen.test \
++	chmod--secontext_full_mismatch.gen.test \
++	chmod--secontext_mismatch.gen.test chown.gen.test \
++	chown32.gen.test chroot.gen.test clock.gen.test \
+ 	clock_adjtime.gen.test clock_adjtime64.gen.test \
+ 	clock_nanosleep.gen.test clock_xettime.gen.test \
+ 	clock_xettime64.gen.test clone3.gen.test \
+@@ -6356,36 +6660,53 @@
+ 	epoll_pwait2-P.gen.test epoll_pwait2-y.gen.test \
+ 	epoll_wait.gen.test erestartsys.gen.test \
+ 	execve--secontext.gen.test execve--secontext_full.gen.test \
+-	execveat.gen.test execveat--secontext.gen.test \
+-	execveat--secontext_full.gen.test execveat-v.gen.test \
++	execve--secontext_full_mismatch.gen.test \
++	execve--secontext_mismatch.gen.test execveat.gen.test \
++	execveat--secontext.gen.test execveat--secontext_full.gen.test \
++	execveat--secontext_full_mismatch.gen.test \
++	execveat--secontext_mismatch.gen.test execveat-v.gen.test \
+ 	faccessat--secontext.gen.test \
+-	faccessat--secontext_full.gen.test faccessat-P.gen.test \
++	faccessat--secontext_full.gen.test \
++	faccessat--secontext_full_mismatch.gen.test \
++	faccessat--secontext_mismatch.gen.test faccessat-P.gen.test \
+ 	faccessat-y.gen.test faccessat-y--secontext.gen.test \
+-	faccessat-y--secontext_full.gen.test faccessat-yy.gen.test \
++	faccessat-y--secontext_full.gen.test \
++	faccessat-y--secontext_full_mismatch.gen.test \
++	faccessat-y--secontext_mismatch.gen.test faccessat-yy.gen.test \
+ 	faccessat2-P.gen.test faccessat2-y.gen.test \
+ 	faccessat2-yy.gen.test fadvise64_64.gen.test \
+ 	fallocate.gen.test fanotify_init.gen.test \
+ 	fanotify_mark.gen.test fanotify_mark--secontext.gen.test \
+ 	fanotify_mark--secontext_full.gen.test \
++	fanotify_mark--secontext_full_mismatch.gen.test \
++	fanotify_mark--secontext_mismatch.gen.test \
+ 	fanotify_mark-Xabbrev.gen.test fanotify_mark-Xraw.gen.test \
+ 	fanotify_mark-Xverbose.gen.test fchdir.gen.test \
+ 	fchmod.gen.test fchmod--secontext.gen.test \
+-	fchmod--secontext_full.gen.test fchmod-y.gen.test \
++	fchmod--secontext_full.gen.test \
++	fchmod--secontext_full_mismatch.gen.test \
++	fchmod--secontext_mismatch.gen.test fchmod-y.gen.test \
+ 	fchmod-y--secontext.gen.test fchmod-y--secontext_full.gen.test \
+-	fchmodat.gen.test fchmodat--secontext.gen.test \
+-	fchmodat--secontext_full.gen.test fchown.gen.test \
++	fchmod-y--secontext_full_mismatch.gen.test \
++	fchmod-y--secontext_mismatch.gen.test fchmodat.gen.test \
++	fchmodat--secontext.gen.test fchmodat--secontext_full.gen.test \
++	fchmodat--secontext_full_mismatch.gen.test \
++	fchmodat--secontext_mismatch.gen.test fchown.gen.test \
+ 	fchown32.gen.test fchownat.gen.test \
+ 	fchownat--secontext.gen.test fchownat--secontext_full.gen.test \
+-	fcntl.gen.test fcntl--pidns-translation.gen.test \
+-	fcntl64.gen.test fcntl64--pidns-translation.gen.test \
+-	fdatasync.gen.test file_handle.gen.test \
+-	file_handle--secontext.gen.test \
+-	file_handle--secontext_full.gen.test filter_seccomp.gen.test \
+-	filter_seccomp-flag.gen.test finit_module.gen.test \
+-	flock.gen.test fork-f.gen.test fsconfig.gen.test \
+-	fsconfig-P.gen.test fsmount.gen.test fsopen.gen.test \
+-	fspick.gen.test fspick-P.gen.test fstat.gen.test \
+-	fstat-Xabbrev.gen.test fstat-Xraw.gen.test \
++	fchownat--secontext_full_mismatch.gen.test \
++	fchownat--secontext_mismatch.gen.test fcntl.gen.test \
++	fcntl--pidns-translation.gen.test fcntl64.gen.test \
++	fcntl64--pidns-translation.gen.test fdatasync.gen.test \
++	file_handle.gen.test file_handle--secontext.gen.test \
++	file_handle--secontext_full.gen.test \
++	file_handle--secontext_full_mismatch.gen.test \
++	file_handle--secontext_mismatch.gen.test \
++	filter_seccomp.gen.test filter_seccomp-flag.gen.test \
++	finit_module.gen.test flock.gen.test fork-f.gen.test \
++	fsconfig.gen.test fsconfig-P.gen.test fsmount.gen.test \
++	fsopen.gen.test fspick.gen.test fspick-P.gen.test \
++	fstat.gen.test fstat-Xabbrev.gen.test fstat-Xraw.gen.test \
+ 	fstat-Xverbose.gen.test fstat64.gen.test \
+ 	fstat64-Xabbrev.gen.test fstat64-Xraw.gen.test \
+ 	fstat64-Xverbose.gen.test fstatat64.gen.test fstatfs.gen.test \
+@@ -6512,8 +6833,10 @@
+ 	landlock_restrict_self-y.gen.test lchown.gen.test \
+ 	lchown32.gen.test link.gen.test linkat.gen.test \
+ 	linkat--secontext.gen.test linkat--secontext_full.gen.test \
+-	lookup_dcookie.gen.test lstat.gen.test lstat64.gen.test \
+-	madvise.gen.test maybe_switch_current_tcp.gen.test \
++	linkat--secontext_full_mismatch.gen.test \
++	linkat--secontext_mismatch.gen.test lookup_dcookie.gen.test \
++	lstat.gen.test lstat64.gen.test madvise.gen.test \
++	maybe_switch_current_tcp.gen.test \
+ 	maybe_switch_current_tcp--quiet-thread-execve.gen.test \
+ 	mbind.gen.test mbind-Xabbrev.gen.test mbind-Xraw.gen.test \
+ 	mbind-Xverbose.gen.test membarrier.gen.test \
+@@ -6582,16 +6905,19 @@
+ 	oldselect.gen.test oldselect-P.gen.test \
+ 	oldselect-efault.gen.test oldselect-efault-P.gen.test \
+ 	oldstat.gen.test open.gen.test open--secontext.gen.test \
+-	open--secontext_full.gen.test open_tree.gen.test \
++	open--secontext_full.gen.test \
++	open--secontext_full_mismatch.gen.test \
++	open--secontext_mismatch.gen.test open_tree.gen.test \
+ 	open_tree-P.gen.test openat.gen.test \
+ 	openat--secontext.gen.test openat--secontext_full.gen.test \
+-	openat2.gen.test openat2-Xabbrev.gen.test \
+-	openat2-Xraw.gen.test openat2-Xverbose.gen.test \
+-	openat2-v.gen.test openat2-v-y.gen.test \
+-	openat2-v-y-Xabbrev.gen.test openat2-v-y-Xraw.gen.test \
+-	openat2-v-y-Xverbose.gen.test openat2-y.gen.test \
+-	orphaned_process_group.gen.test osf_utimes.gen.test \
+-	pause.gen.test perf_event_open.gen.test \
++	openat--secontext_full_mismatch.gen.test \
++	openat--secontext_mismatch.gen.test openat2.gen.test \
++	openat2-Xabbrev.gen.test openat2-Xraw.gen.test \
++	openat2-Xverbose.gen.test openat2-v.gen.test \
++	openat2-v-y.gen.test openat2-v-y-Xabbrev.gen.test \
++	openat2-v-y-Xraw.gen.test openat2-v-y-Xverbose.gen.test \
++	openat2-y.gen.test orphaned_process_group.gen.test \
++	osf_utimes.gen.test pause.gen.test perf_event_open.gen.test \
+ 	perf_event_open_nonverbose.gen.test \
+ 	perf_event_open_unabbrev.gen.test personality-Xabbrev.gen.test \
+ 	personality-Xraw.gen.test personality-Xverbose.gen.test \
+@@ -7155,6 +7481,14 @@
+ 	@rm -f access--secontext_full$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(access__secontext_full_OBJECTS) $(access__secontext_full_LDADD) $(LIBS)
+ 
++access--secontext_full_mismatch$(EXEEXT): $(access__secontext_full_mismatch_OBJECTS) $(access__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_access__secontext_full_mismatch_DEPENDENCIES) 
++	@rm -f access--secontext_full_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(access__secontext_full_mismatch_OBJECTS) $(access__secontext_full_mismatch_LDADD) $(LIBS)
++
++access--secontext_mismatch$(EXEEXT): $(access__secontext_mismatch_OBJECTS) $(access__secontext_mismatch_DEPENDENCIES) $(EXTRA_access__secontext_mismatch_DEPENDENCIES) 
++	@rm -f access--secontext_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(access__secontext_mismatch_OBJECTS) $(access__secontext_mismatch_LDADD) $(LIBS)
++
+ acct$(EXEEXT): $(acct_OBJECTS) $(acct_DEPENDENCIES) $(EXTRA_acct_DEPENDENCIES) 
+ 	@rm -f acct$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(acct_OBJECTS) $(acct_LDADD) $(LIBS)
+@@ -7283,6 +7617,14 @@
+ 	@rm -f chmod--secontext_full$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(chmod__secontext_full_OBJECTS) $(chmod__secontext_full_LDADD) $(LIBS)
+ 
++chmod--secontext_full_mismatch$(EXEEXT): $(chmod__secontext_full_mismatch_OBJECTS) $(chmod__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_chmod__secontext_full_mismatch_DEPENDENCIES) 
++	@rm -f chmod--secontext_full_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(chmod__secontext_full_mismatch_OBJECTS) $(chmod__secontext_full_mismatch_LDADD) $(LIBS)
++
++chmod--secontext_mismatch$(EXEEXT): $(chmod__secontext_mismatch_OBJECTS) $(chmod__secontext_mismatch_DEPENDENCIES) $(EXTRA_chmod__secontext_mismatch_DEPENDENCIES) 
++	@rm -f chmod--secontext_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(chmod__secontext_mismatch_OBJECTS) $(chmod__secontext_mismatch_LDADD) $(LIBS)
++
+ chown$(EXEEXT): $(chown_OBJECTS) $(chown_DEPENDENCIES) $(EXTRA_chown_DEPENDENCIES) 
+ 	@rm -f chown$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(chown_OBJECTS) $(chown_LDADD) $(LIBS)
+@@ -7527,6 +7869,14 @@
+ 	@rm -f execve--secontext_full$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(execve__secontext_full_OBJECTS) $(execve__secontext_full_LDADD) $(LIBS)
+ 
++execve--secontext_full_mismatch$(EXEEXT): $(execve__secontext_full_mismatch_OBJECTS) $(execve__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_execve__secontext_full_mismatch_DEPENDENCIES) 
++	@rm -f execve--secontext_full_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(execve__secontext_full_mismatch_OBJECTS) $(execve__secontext_full_mismatch_LDADD) $(LIBS)
++
++execve--secontext_mismatch$(EXEEXT): $(execve__secontext_mismatch_OBJECTS) $(execve__secontext_mismatch_DEPENDENCIES) $(EXTRA_execve__secontext_mismatch_DEPENDENCIES) 
++	@rm -f execve--secontext_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(execve__secontext_mismatch_OBJECTS) $(execve__secontext_mismatch_LDADD) $(LIBS)
++
+ execve-v$(EXEEXT): $(execve_v_OBJECTS) $(execve_v_DEPENDENCIES) $(EXTRA_execve_v_DEPENDENCIES) 
+ 	@rm -f execve-v$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(execve_v_OBJECTS) $(execve_v_LDADD) $(LIBS)
+@@ -7543,6 +7893,14 @@
+ 	@rm -f execveat--secontext_full$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(execveat__secontext_full_OBJECTS) $(execveat__secontext_full_LDADD) $(LIBS)
+ 
++execveat--secontext_full_mismatch$(EXEEXT): $(execveat__secontext_full_mismatch_OBJECTS) $(execveat__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_execveat__secontext_full_mismatch_DEPENDENCIES) 
++	@rm -f execveat--secontext_full_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(execveat__secontext_full_mismatch_OBJECTS) $(execveat__secontext_full_mismatch_LDADD) $(LIBS)
++
++execveat--secontext_mismatch$(EXEEXT): $(execveat__secontext_mismatch_OBJECTS) $(execveat__secontext_mismatch_DEPENDENCIES) $(EXTRA_execveat__secontext_mismatch_DEPENDENCIES) 
++	@rm -f execveat--secontext_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(execveat__secontext_mismatch_OBJECTS) $(execveat__secontext_mismatch_LDADD) $(LIBS)
++
+ execveat-v$(EXEEXT): $(execveat_v_OBJECTS) $(execveat_v_DEPENDENCIES) $(EXTRA_execveat_v_DEPENDENCIES) 
+ 	@rm -f execveat-v$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(execveat_v_OBJECTS) $(execveat_v_LDADD) $(LIBS)
+@@ -7559,6 +7917,14 @@
+ 	@rm -f faccessat--secontext_full$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(faccessat__secontext_full_OBJECTS) $(faccessat__secontext_full_LDADD) $(LIBS)
+ 
++faccessat--secontext_full_mismatch$(EXEEXT): $(faccessat__secontext_full_mismatch_OBJECTS) $(faccessat__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_faccessat__secontext_full_mismatch_DEPENDENCIES) 
++	@rm -f faccessat--secontext_full_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(faccessat__secontext_full_mismatch_OBJECTS) $(faccessat__secontext_full_mismatch_LDADD) $(LIBS)
++
++faccessat--secontext_mismatch$(EXEEXT): $(faccessat__secontext_mismatch_OBJECTS) $(faccessat__secontext_mismatch_DEPENDENCIES) $(EXTRA_faccessat__secontext_mismatch_DEPENDENCIES) 
++	@rm -f faccessat--secontext_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(faccessat__secontext_mismatch_OBJECTS) $(faccessat__secontext_mismatch_LDADD) $(LIBS)
++
+ faccessat-P$(EXEEXT): $(faccessat_P_OBJECTS) $(faccessat_P_DEPENDENCIES) $(EXTRA_faccessat_P_DEPENDENCIES) 
+ 	@rm -f faccessat-P$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(faccessat_P_OBJECTS) $(faccessat_P_LDADD) $(LIBS)
+@@ -7575,6 +7941,14 @@
+ 	@rm -f faccessat-y--secontext_full$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(faccessat_y__secontext_full_OBJECTS) $(faccessat_y__secontext_full_LDADD) $(LIBS)
+ 
++faccessat-y--secontext_full_mismatch$(EXEEXT): $(faccessat_y__secontext_full_mismatch_OBJECTS) $(faccessat_y__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_faccessat_y__secontext_full_mismatch_DEPENDENCIES) 
++	@rm -f faccessat-y--secontext_full_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(faccessat_y__secontext_full_mismatch_OBJECTS) $(faccessat_y__secontext_full_mismatch_LDADD) $(LIBS)
++
++faccessat-y--secontext_mismatch$(EXEEXT): $(faccessat_y__secontext_mismatch_OBJECTS) $(faccessat_y__secontext_mismatch_DEPENDENCIES) $(EXTRA_faccessat_y__secontext_mismatch_DEPENDENCIES) 
++	@rm -f faccessat-y--secontext_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(faccessat_y__secontext_mismatch_OBJECTS) $(faccessat_y__secontext_mismatch_LDADD) $(LIBS)
++
+ faccessat-yy$(EXEEXT): $(faccessat_yy_OBJECTS) $(faccessat_yy_DEPENDENCIES) $(EXTRA_faccessat_yy_DEPENDENCIES) 
+ 	@rm -f faccessat-yy$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(faccessat_yy_OBJECTS) $(faccessat_yy_LDADD) $(LIBS)
+@@ -7623,6 +7997,14 @@
+ 	@rm -f fanotify_mark--secontext_full$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(fanotify_mark__secontext_full_OBJECTS) $(fanotify_mark__secontext_full_LDADD) $(LIBS)
+ 
++fanotify_mark--secontext_full_mismatch$(EXEEXT): $(fanotify_mark__secontext_full_mismatch_OBJECTS) $(fanotify_mark__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_fanotify_mark__secontext_full_mismatch_DEPENDENCIES) 
++	@rm -f fanotify_mark--secontext_full_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(fanotify_mark__secontext_full_mismatch_OBJECTS) $(fanotify_mark__secontext_full_mismatch_LDADD) $(LIBS)
++
++fanotify_mark--secontext_mismatch$(EXEEXT): $(fanotify_mark__secontext_mismatch_OBJECTS) $(fanotify_mark__secontext_mismatch_DEPENDENCIES) $(EXTRA_fanotify_mark__secontext_mismatch_DEPENDENCIES) 
++	@rm -f fanotify_mark--secontext_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(fanotify_mark__secontext_mismatch_OBJECTS) $(fanotify_mark__secontext_mismatch_LDADD) $(LIBS)
++
+ fanotify_mark-Xabbrev$(EXEEXT): $(fanotify_mark_Xabbrev_OBJECTS) $(fanotify_mark_Xabbrev_DEPENDENCIES) $(EXTRA_fanotify_mark_Xabbrev_DEPENDENCIES) 
+ 	@rm -f fanotify_mark-Xabbrev$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(fanotify_mark_Xabbrev_OBJECTS) $(fanotify_mark_Xabbrev_LDADD) $(LIBS)
+@@ -7651,6 +8033,14 @@
+ 	@rm -f fchmod--secontext_full$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(fchmod__secontext_full_OBJECTS) $(fchmod__secontext_full_LDADD) $(LIBS)
+ 
++fchmod--secontext_full_mismatch$(EXEEXT): $(fchmod__secontext_full_mismatch_OBJECTS) $(fchmod__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_fchmod__secontext_full_mismatch_DEPENDENCIES) 
++	@rm -f fchmod--secontext_full_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(fchmod__secontext_full_mismatch_OBJECTS) $(fchmod__secontext_full_mismatch_LDADD) $(LIBS)
++
++fchmod--secontext_mismatch$(EXEEXT): $(fchmod__secontext_mismatch_OBJECTS) $(fchmod__secontext_mismatch_DEPENDENCIES) $(EXTRA_fchmod__secontext_mismatch_DEPENDENCIES) 
++	@rm -f fchmod--secontext_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(fchmod__secontext_mismatch_OBJECTS) $(fchmod__secontext_mismatch_LDADD) $(LIBS)
++
+ fchmod-y$(EXEEXT): $(fchmod_y_OBJECTS) $(fchmod_y_DEPENDENCIES) $(EXTRA_fchmod_y_DEPENDENCIES) 
+ 	@rm -f fchmod-y$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(fchmod_y_OBJECTS) $(fchmod_y_LDADD) $(LIBS)
+@@ -7663,6 +8053,14 @@
+ 	@rm -f fchmod-y--secontext_full$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(fchmod_y__secontext_full_OBJECTS) $(fchmod_y__secontext_full_LDADD) $(LIBS)
+ 
++fchmod-y--secontext_full_mismatch$(EXEEXT): $(fchmod_y__secontext_full_mismatch_OBJECTS) $(fchmod_y__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_fchmod_y__secontext_full_mismatch_DEPENDENCIES) 
++	@rm -f fchmod-y--secontext_full_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(fchmod_y__secontext_full_mismatch_OBJECTS) $(fchmod_y__secontext_full_mismatch_LDADD) $(LIBS)
++
++fchmod-y--secontext_mismatch$(EXEEXT): $(fchmod_y__secontext_mismatch_OBJECTS) $(fchmod_y__secontext_mismatch_DEPENDENCIES) $(EXTRA_fchmod_y__secontext_mismatch_DEPENDENCIES) 
++	@rm -f fchmod-y--secontext_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(fchmod_y__secontext_mismatch_OBJECTS) $(fchmod_y__secontext_mismatch_LDADD) $(LIBS)
++
+ fchmodat$(EXEEXT): $(fchmodat_OBJECTS) $(fchmodat_DEPENDENCIES) $(EXTRA_fchmodat_DEPENDENCIES) 
+ 	@rm -f fchmodat$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(fchmodat_OBJECTS) $(fchmodat_LDADD) $(LIBS)
+@@ -7675,6 +8073,14 @@
+ 	@rm -f fchmodat--secontext_full$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(fchmodat__secontext_full_OBJECTS) $(fchmodat__secontext_full_LDADD) $(LIBS)
+ 
++fchmodat--secontext_full_mismatch$(EXEEXT): $(fchmodat__secontext_full_mismatch_OBJECTS) $(fchmodat__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_fchmodat__secontext_full_mismatch_DEPENDENCIES) 
++	@rm -f fchmodat--secontext_full_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(fchmodat__secontext_full_mismatch_OBJECTS) $(fchmodat__secontext_full_mismatch_LDADD) $(LIBS)
++
++fchmodat--secontext_mismatch$(EXEEXT): $(fchmodat__secontext_mismatch_OBJECTS) $(fchmodat__secontext_mismatch_DEPENDENCIES) $(EXTRA_fchmodat__secontext_mismatch_DEPENDENCIES) 
++	@rm -f fchmodat--secontext_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(fchmodat__secontext_mismatch_OBJECTS) $(fchmodat__secontext_mismatch_LDADD) $(LIBS)
++
+ fchown$(EXEEXT): $(fchown_OBJECTS) $(fchown_DEPENDENCIES) $(EXTRA_fchown_DEPENDENCIES) 
+ 	@rm -f fchown$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(fchown_OBJECTS) $(fchown_LDADD) $(LIBS)
+@@ -7695,6 +8101,14 @@
+ 	@rm -f fchownat--secontext_full$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(fchownat__secontext_full_OBJECTS) $(fchownat__secontext_full_LDADD) $(LIBS)
+ 
++fchownat--secontext_full_mismatch$(EXEEXT): $(fchownat__secontext_full_mismatch_OBJECTS) $(fchownat__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_fchownat__secontext_full_mismatch_DEPENDENCIES) 
++	@rm -f fchownat--secontext_full_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(fchownat__secontext_full_mismatch_OBJECTS) $(fchownat__secontext_full_mismatch_LDADD) $(LIBS)
++
++fchownat--secontext_mismatch$(EXEEXT): $(fchownat__secontext_mismatch_OBJECTS) $(fchownat__secontext_mismatch_DEPENDENCIES) $(EXTRA_fchownat__secontext_mismatch_DEPENDENCIES) 
++	@rm -f fchownat--secontext_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(fchownat__secontext_mismatch_OBJECTS) $(fchownat__secontext_mismatch_LDADD) $(LIBS)
++
+ fcntl$(EXEEXT): $(fcntl_OBJECTS) $(fcntl_DEPENDENCIES) $(EXTRA_fcntl_DEPENDENCIES) 
+ 	@rm -f fcntl$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(fcntl_OBJECTS) $(fcntl_LDADD) $(LIBS)
+@@ -7731,6 +8145,14 @@
+ 	@rm -f file_handle--secontext_full$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(file_handle__secontext_full_OBJECTS) $(file_handle__secontext_full_LDADD) $(LIBS)
+ 
++file_handle--secontext_full_mismatch$(EXEEXT): $(file_handle__secontext_full_mismatch_OBJECTS) $(file_handle__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_file_handle__secontext_full_mismatch_DEPENDENCIES) 
++	@rm -f file_handle--secontext_full_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(file_handle__secontext_full_mismatch_OBJECTS) $(file_handle__secontext_full_mismatch_LDADD) $(LIBS)
++
++file_handle--secontext_mismatch$(EXEEXT): $(file_handle__secontext_mismatch_OBJECTS) $(file_handle__secontext_mismatch_DEPENDENCIES) $(EXTRA_file_handle__secontext_mismatch_DEPENDENCIES) 
++	@rm -f file_handle--secontext_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(file_handle__secontext_mismatch_OBJECTS) $(file_handle__secontext_mismatch_LDADD) $(LIBS)
++
+ filter-unavailable$(EXEEXT): $(filter_unavailable_OBJECTS) $(filter_unavailable_DEPENDENCIES) $(EXTRA_filter_unavailable_DEPENDENCIES) 
+ 	@rm -f filter-unavailable$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(filter_unavailable_OBJECTS) $(filter_unavailable_LDADD) $(LIBS)
+@@ -8775,6 +9197,14 @@
+ 	@rm -f linkat--secontext_full$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(linkat__secontext_full_OBJECTS) $(linkat__secontext_full_LDADD) $(LIBS)
+ 
++linkat--secontext_full_mismatch$(EXEEXT): $(linkat__secontext_full_mismatch_OBJECTS) $(linkat__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_linkat__secontext_full_mismatch_DEPENDENCIES) 
++	@rm -f linkat--secontext_full_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(linkat__secontext_full_mismatch_OBJECTS) $(linkat__secontext_full_mismatch_LDADD) $(LIBS)
++
++linkat--secontext_mismatch$(EXEEXT): $(linkat__secontext_mismatch_OBJECTS) $(linkat__secontext_mismatch_DEPENDENCIES) $(EXTRA_linkat__secontext_mismatch_DEPENDENCIES) 
++	@rm -f linkat--secontext_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(linkat__secontext_mismatch_OBJECTS) $(linkat__secontext_mismatch_LDADD) $(LIBS)
++
+ list_sigaction_signum$(EXEEXT): $(list_sigaction_signum_OBJECTS) $(list_sigaction_signum_DEPENDENCIES) $(EXTRA_list_sigaction_signum_DEPENDENCIES) 
+ 	@rm -f list_sigaction_signum$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(list_sigaction_signum_OBJECTS) $(list_sigaction_signum_LDADD) $(LIBS)
+@@ -9423,6 +9853,14 @@
+ 	@rm -f open--secontext_full$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(open__secontext_full_OBJECTS) $(open__secontext_full_LDADD) $(LIBS)
+ 
++open--secontext_full_mismatch$(EXEEXT): $(open__secontext_full_mismatch_OBJECTS) $(open__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_open__secontext_full_mismatch_DEPENDENCIES) 
++	@rm -f open--secontext_full_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(open__secontext_full_mismatch_OBJECTS) $(open__secontext_full_mismatch_LDADD) $(LIBS)
++
++open--secontext_mismatch$(EXEEXT): $(open__secontext_mismatch_OBJECTS) $(open__secontext_mismatch_DEPENDENCIES) $(EXTRA_open__secontext_mismatch_DEPENDENCIES) 
++	@rm -f open--secontext_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(open__secontext_mismatch_OBJECTS) $(open__secontext_mismatch_LDADD) $(LIBS)
++
+ open_tree$(EXEEXT): $(open_tree_OBJECTS) $(open_tree_DEPENDENCIES) $(EXTRA_open_tree_DEPENDENCIES) 
+ 	@rm -f open_tree$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(open_tree_OBJECTS) $(open_tree_LDADD) $(LIBS)
+@@ -9443,6 +9881,14 @@
+ 	@rm -f openat--secontext_full$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(openat__secontext_full_OBJECTS) $(openat__secontext_full_LDADD) $(LIBS)
+ 
++openat--secontext_full_mismatch$(EXEEXT): $(openat__secontext_full_mismatch_OBJECTS) $(openat__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_openat__secontext_full_mismatch_DEPENDENCIES) 
++	@rm -f openat--secontext_full_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(openat__secontext_full_mismatch_OBJECTS) $(openat__secontext_full_mismatch_LDADD) $(LIBS)
++
++openat--secontext_mismatch$(EXEEXT): $(openat__secontext_mismatch_OBJECTS) $(openat__secontext_mismatch_DEPENDENCIES) $(EXTRA_openat__secontext_mismatch_DEPENDENCIES) 
++	@rm -f openat--secontext_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(openat__secontext_mismatch_OBJECTS) $(openat__secontext_mismatch_LDADD) $(LIBS)
++
+ openat2$(EXEEXT): $(openat2_OBJECTS) $(openat2_DEPENDENCIES) $(EXTRA_openat2_DEPENDENCIES) 
+ 	@rm -f openat2$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(openat2_OBJECTS) $(openat2_LDADD) $(LIBS)
+@@ -10835,6 +11281,8 @@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/accept4.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/access--secontext.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/access--secontext_full.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/access--secontext_full_mismatch.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/access--secontext_mismatch.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/access.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/acct.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/add_key.Po@am__quote@ # am--include-marker
+@@ -10867,6 +11315,8 @@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_sigign.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chmod--secontext.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chmod--secontext_full.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chmod--secontext_full_mismatch.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chmod--secontext_mismatch.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chmod.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chown.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chown32.Po@am__quote@ # am--include-marker
+@@ -10928,17 +11378,25 @@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eventfd.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execve--secontext.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execve--secontext_full.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execve--secontext_full_mismatch.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execve--secontext_mismatch.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execve-v.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execve.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execveat--secontext.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execveat--secontext_full.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execveat--secontext_full_mismatch.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execveat--secontext_mismatch.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execveat-v.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execveat.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat--secontext.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat--secontext_full.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat--secontext_full_mismatch.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat--secontext_mismatch.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat-P.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat-y--secontext.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat-y--secontext_full.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat-y--secontext_full_mismatch.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat-y--secontext_mismatch.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat-y.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat-yy.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat.Po@am__quote@ # am--include-marker
+@@ -10952,6 +11410,8 @@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_init.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark--secontext.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark--secontext_full.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark--secontext_full_mismatch.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark--secontext_mismatch.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark-Xabbrev.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark-Xraw.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark-Xverbose.Po@am__quote@ # am--include-marker
+@@ -10959,17 +11419,25 @@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchdir.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod--secontext.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod--secontext_full.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod--secontext_full_mismatch.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod--secontext_mismatch.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod-y--secontext.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod-y--secontext_full.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod-y--secontext_full_mismatch.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod-y--secontext_mismatch.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod-y.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmodat--secontext.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmodat--secontext_full.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmodat--secontext_full_mismatch.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmodat--secontext_mismatch.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmodat.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchown.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchown32.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchownat--secontext.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchownat--secontext_full.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchownat--secontext_full_mismatch.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchownat--secontext_mismatch.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchownat.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcntl--pidns-translation.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcntl.Po@am__quote@ # am--include-marker
+@@ -10979,6 +11447,8 @@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fflush.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file_handle--secontext.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file_handle--secontext_full.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file_handle--secontext_full_mismatch.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file_handle--secontext_mismatch.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file_handle.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/filter-unavailable.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/filter_seccomp-flag.Po@am__quote@ # am--include-marker
+@@ -11276,6 +11746,8 @@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/link.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linkat--secontext.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linkat--secontext_full.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linkat--secontext_full_mismatch.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linkat--secontext_mismatch.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linkat.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/list_sigaction_signum.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/llseek.Po@am__quote@ # am--include-marker
+@@ -11438,11 +11910,15 @@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/oldstat.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open--secontext.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open--secontext_full.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open--secontext_full_mismatch.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open--secontext_mismatch.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open_tree-P.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open_tree.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat--secontext.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat--secontext_full.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat--secontext_full_mismatch.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat--secontext_mismatch.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat2-Xabbrev.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat2-Xraw.Po@am__quote@ # am--include-marker
+@@ -13004,6 +13480,12 @@
+ $(srcdir)/access--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
++$(srcdir)/access--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
++$(srcdir)/access--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
+ $(srcdir)/acct.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
+@@ -13055,6 +13537,12 @@
+ $(srcdir)/chmod--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
++$(srcdir)/chmod--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
++$(srcdir)/chmod--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
+ $(srcdir)/chown.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
+@@ -13220,6 +13708,12 @@
+ $(srcdir)/execve--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
++$(srcdir)/execve--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
++$(srcdir)/execve--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
+ $(srcdir)/execveat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
+@@ -13229,6 +13723,12 @@
+ $(srcdir)/execveat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
++$(srcdir)/execveat--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
++$(srcdir)/execveat--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
+ $(srcdir)/execveat-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
+@@ -13238,6 +13738,12 @@
+ $(srcdir)/faccessat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
++$(srcdir)/faccessat--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
++$(srcdir)/faccessat--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
+ $(srcdir)/faccessat-P.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
+@@ -13250,6 +13756,12 @@
+ $(srcdir)/faccessat-y--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
++$(srcdir)/faccessat-y--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
++$(srcdir)/faccessat-y--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
+ $(srcdir)/faccessat-yy.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
+@@ -13280,6 +13792,12 @@
+ $(srcdir)/fanotify_mark--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
++$(srcdir)/fanotify_mark--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
++$(srcdir)/fanotify_mark--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
+ $(srcdir)/fanotify_mark-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
+@@ -13301,6 +13819,12 @@
+ $(srcdir)/fchmod--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
++$(srcdir)/fchmod--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
++$(srcdir)/fchmod--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
+ $(srcdir)/fchmod-y.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
+@@ -13310,6 +13834,12 @@
+ $(srcdir)/fchmod-y--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
++$(srcdir)/fchmod-y--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
++$(srcdir)/fchmod-y--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
+ $(srcdir)/fchmodat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
+@@ -13319,6 +13849,12 @@
+ $(srcdir)/fchmodat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
++$(srcdir)/fchmodat--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
++$(srcdir)/fchmodat--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
+ $(srcdir)/fchown.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
+@@ -13334,6 +13870,12 @@
+ $(srcdir)/fchownat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
++$(srcdir)/fchownat--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
++$(srcdir)/fchownat--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
+ $(srcdir)/fcntl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
+@@ -13358,6 +13900,12 @@
+ $(srcdir)/file_handle--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
++$(srcdir)/file_handle--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
++$(srcdir)/file_handle--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
+ $(srcdir)/filter_seccomp.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
+@@ -14117,6 +14665,12 @@
+ $(srcdir)/linkat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
++$(srcdir)/linkat--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
++$(srcdir)/linkat--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
+ $(srcdir)/lookup_dcookie.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
+@@ -14546,6 +15100,12 @@
+ $(srcdir)/open--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
++$(srcdir)/open--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
++$(srcdir)/open--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
+ $(srcdir)/open_tree.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
+@@ -14561,6 +15121,12 @@
+ $(srcdir)/openat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
++$(srcdir)/openat--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
++$(srcdir)/openat--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
+ $(srcdir)/openat2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
+--- old/tests-mx32/Makefile.in	2022-02-07 20:23:38.728063729 +0100
++++ new/tests-mx32/Makefile.in	2022-02-07 20:24:04.572063372 +0100
+@@ -614,25 +614,55 @@
+ 	xet_thread_area_x86$(EXEEXT) xetitimer$(EXEEXT) \
+ 	xetpgid$(EXEEXT) xetpriority$(EXEEXT) xettimeofday$(EXEEXT)
+ am__EXEEXT_2 = access--secontext$(EXEEXT) \
+-	access--secontext_full$(EXEEXT) chmod--secontext$(EXEEXT) \
+-	chmod--secontext_full$(EXEEXT) execve--secontext$(EXEEXT) \
+-	execve--secontext_full$(EXEEXT) execveat--secontext$(EXEEXT) \
+-	execveat--secontext_full$(EXEEXT) \
++	access--secontext_full$(EXEEXT) \
++	access--secontext_full_mismatch$(EXEEXT) \
++	access--secontext_mismatch$(EXEEXT) chmod--secontext$(EXEEXT) \
++	chmod--secontext_full$(EXEEXT) \
++	chmod--secontext_full_mismatch$(EXEEXT) \
++	chmod--secontext_mismatch$(EXEEXT) execve--secontext$(EXEEXT) \
++	execve--secontext_full$(EXEEXT) \
++	execve--secontext_full_mismatch$(EXEEXT) \
++	execve--secontext_mismatch$(EXEEXT) \
++	execveat--secontext$(EXEEXT) execveat--secontext_full$(EXEEXT) \
++	execveat--secontext_full_mismatch$(EXEEXT) \
++	execveat--secontext_mismatch$(EXEEXT) \
+ 	faccessat--secontext$(EXEEXT) \
+ 	faccessat--secontext_full$(EXEEXT) \
++	faccessat--secontext_full_mismatch$(EXEEXT) \
++	faccessat--secontext_mismatch$(EXEEXT) \
+ 	faccessat-y--secontext$(EXEEXT) \
+ 	faccessat-y--secontext_full$(EXEEXT) \
++	faccessat-y--secontext_full_mismatch$(EXEEXT) \
++	faccessat-y--secontext_mismatch$(EXEEXT) \
+ 	fanotify_mark--secontext$(EXEEXT) \
+ 	fanotify_mark--secontext_full$(EXEEXT) \
++	fanotify_mark--secontext_full_mismatch$(EXEEXT) \
++	fanotify_mark--secontext_mismatch$(EXEEXT) \
+ 	fchmod--secontext$(EXEEXT) fchmod--secontext_full$(EXEEXT) \
++	fchmod--secontext_full_mismatch$(EXEEXT) \
++	fchmod--secontext_mismatch$(EXEEXT) \
+ 	fchmod-y--secontext$(EXEEXT) fchmod-y--secontext_full$(EXEEXT) \
++	fchmod-y--secontext_full_mismatch$(EXEEXT) \
++	fchmod-y--secontext_mismatch$(EXEEXT) \
+ 	fchmodat--secontext$(EXEEXT) fchmodat--secontext_full$(EXEEXT) \
++	fchmodat--secontext_full_mismatch$(EXEEXT) \
++	fchmodat--secontext_mismatch$(EXEEXT) \
+ 	fchownat--secontext$(EXEEXT) fchownat--secontext_full$(EXEEXT) \
++	fchownat--secontext_full_mismatch$(EXEEXT) \
++	fchownat--secontext_mismatch$(EXEEXT) \
+ 	file_handle--secontext$(EXEEXT) \
+ 	file_handle--secontext_full$(EXEEXT) \
++	file_handle--secontext_full_mismatch$(EXEEXT) \
++	file_handle--secontext_mismatch$(EXEEXT) \
+ 	linkat--secontext$(EXEEXT) linkat--secontext_full$(EXEEXT) \
+-	open--secontext$(EXEEXT) open--secontext_full$(EXEEXT) \
+-	openat--secontext$(EXEEXT) openat--secontext_full$(EXEEXT)
++	linkat--secontext_full_mismatch$(EXEEXT) \
++	linkat--secontext_mismatch$(EXEEXT) open--secontext$(EXEEXT) \
++	open--secontext_full$(EXEEXT) \
++	open--secontext_full_mismatch$(EXEEXT) \
++	open--secontext_mismatch$(EXEEXT) openat--secontext$(EXEEXT) \
++	openat--secontext_full$(EXEEXT) \
++	openat--secontext_full_mismatch$(EXEEXT) \
++	openat--secontext_mismatch$(EXEEXT)
+ ARFLAGS = cru
+ AM_V_AR = $(am__v_AR_@AM_V@)
+ am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@)
+@@ -662,6 +692,17 @@
+ access__secontext_full_SOURCES = access--secontext_full.c
+ access__secontext_full_OBJECTS = access--secontext_full.$(OBJEXT)
+ access__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
++access__secontext_full_mismatch_SOURCES =  \
++	access--secontext_full_mismatch.c
++access__secontext_full_mismatch_OBJECTS =  \
++	access--secontext_full_mismatch.$(OBJEXT)
++access__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \
++	$(am__DEPENDENCIES_2)
++access__secontext_mismatch_SOURCES = access--secontext_mismatch.c
++access__secontext_mismatch_OBJECTS =  \
++	access--secontext_mismatch.$(OBJEXT)
++access__secontext_mismatch_DEPENDENCIES = $(LDADD) \
++	$(am__DEPENDENCIES_2)
+ acct_SOURCES = acct.c
+ acct_OBJECTS = acct.$(OBJEXT)
+ acct_LDADD = $(LDADD)
+@@ -790,6 +831,17 @@
+ chmod__secontext_full_SOURCES = chmod--secontext_full.c
+ chmod__secontext_full_OBJECTS = chmod--secontext_full.$(OBJEXT)
+ chmod__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
++chmod__secontext_full_mismatch_SOURCES =  \
++	chmod--secontext_full_mismatch.c
++chmod__secontext_full_mismatch_OBJECTS =  \
++	chmod--secontext_full_mismatch.$(OBJEXT)
++chmod__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \
++	$(am__DEPENDENCIES_2)
++chmod__secontext_mismatch_SOURCES = chmod--secontext_mismatch.c
++chmod__secontext_mismatch_OBJECTS =  \
++	chmod--secontext_mismatch.$(OBJEXT)
++chmod__secontext_mismatch_DEPENDENCIES = $(LDADD) \
++	$(am__DEPENDENCIES_2)
+ chown_SOURCES = chown.c
+ chown_OBJECTS = chown.$(OBJEXT)
+ chown_LDADD = $(LDADD)
+@@ -1031,6 +1083,17 @@
+ execve__secontext_full_SOURCES = execve--secontext_full.c
+ execve__secontext_full_OBJECTS = execve--secontext_full.$(OBJEXT)
+ execve__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
++execve__secontext_full_mismatch_SOURCES =  \
++	execve--secontext_full_mismatch.c
++execve__secontext_full_mismatch_OBJECTS =  \
++	execve--secontext_full_mismatch.$(OBJEXT)
++execve__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \
++	$(am__DEPENDENCIES_2)
++execve__secontext_mismatch_SOURCES = execve--secontext_mismatch.c
++execve__secontext_mismatch_OBJECTS =  \
++	execve--secontext_mismatch.$(OBJEXT)
++execve__secontext_mismatch_DEPENDENCIES = $(LDADD) \
++	$(am__DEPENDENCIES_2)
+ execve_v_SOURCES = execve-v.c
+ execve_v_OBJECTS = execve-v.$(OBJEXT)
+ execve_v_LDADD = $(LDADD)
+@@ -1045,6 +1108,17 @@
+ execveat__secontext_full_SOURCES = execveat--secontext_full.c
+ execveat__secontext_full_OBJECTS = execveat--secontext_full.$(OBJEXT)
+ execveat__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
++execveat__secontext_full_mismatch_SOURCES =  \
++	execveat--secontext_full_mismatch.c
++execveat__secontext_full_mismatch_OBJECTS =  \
++	execveat--secontext_full_mismatch.$(OBJEXT)
++execveat__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \
++	$(am__DEPENDENCIES_2)
++execveat__secontext_mismatch_SOURCES = execveat--secontext_mismatch.c
++execveat__secontext_mismatch_OBJECTS =  \
++	execveat--secontext_mismatch.$(OBJEXT)
++execveat__secontext_mismatch_DEPENDENCIES = $(LDADD) \
++	$(am__DEPENDENCIES_2)
+ execveat_v_SOURCES = execveat-v.c
+ execveat_v_OBJECTS = execveat-v.$(OBJEXT)
+ execveat_v_LDADD = $(LDADD)
+@@ -1061,6 +1135,18 @@
+ 	faccessat--secontext_full.$(OBJEXT)
+ faccessat__secontext_full_DEPENDENCIES = $(LDADD) \
+ 	$(am__DEPENDENCIES_2)
++faccessat__secontext_full_mismatch_SOURCES =  \
++	faccessat--secontext_full_mismatch.c
++faccessat__secontext_full_mismatch_OBJECTS =  \
++	faccessat--secontext_full_mismatch.$(OBJEXT)
++faccessat__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \
++	$(am__DEPENDENCIES_2)
++faccessat__secontext_mismatch_SOURCES =  \
++	faccessat--secontext_mismatch.c
++faccessat__secontext_mismatch_OBJECTS =  \
++	faccessat--secontext_mismatch.$(OBJEXT)
++faccessat__secontext_mismatch_DEPENDENCIES = $(LDADD) \
++	$(am__DEPENDENCIES_2)
+ faccessat_P_SOURCES = faccessat-P.c
+ faccessat_P_OBJECTS = faccessat-P.$(OBJEXT)
+ faccessat_P_LDADD = $(LDADD)
+@@ -1077,6 +1163,18 @@
+ 	faccessat-y--secontext_full.$(OBJEXT)
+ faccessat_y__secontext_full_DEPENDENCIES = $(LDADD) \
+ 	$(am__DEPENDENCIES_2)
++faccessat_y__secontext_full_mismatch_SOURCES =  \
++	faccessat-y--secontext_full_mismatch.c
++faccessat_y__secontext_full_mismatch_OBJECTS =  \
++	faccessat-y--secontext_full_mismatch.$(OBJEXT)
++faccessat_y__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \
++	$(am__DEPENDENCIES_2)
++faccessat_y__secontext_mismatch_SOURCES =  \
++	faccessat-y--secontext_mismatch.c
++faccessat_y__secontext_mismatch_OBJECTS =  \
++	faccessat-y--secontext_mismatch.$(OBJEXT)
++faccessat_y__secontext_mismatch_DEPENDENCIES = $(LDADD) \
++	$(am__DEPENDENCIES_2)
+ faccessat_yy_SOURCES = faccessat-yy.c
+ faccessat_yy_OBJECTS = faccessat-yy.$(OBJEXT)
+ faccessat_yy_LDADD = $(LDADD)
+@@ -1126,6 +1224,18 @@
+ 	fanotify_mark--secontext_full.$(OBJEXT)
+ fanotify_mark__secontext_full_DEPENDENCIES = $(LDADD) \
+ 	$(am__DEPENDENCIES_2)
++fanotify_mark__secontext_full_mismatch_SOURCES =  \
++	fanotify_mark--secontext_full_mismatch.c
++fanotify_mark__secontext_full_mismatch_OBJECTS =  \
++	fanotify_mark--secontext_full_mismatch.$(OBJEXT)
++fanotify_mark__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \
++	$(am__DEPENDENCIES_2)
++fanotify_mark__secontext_mismatch_SOURCES =  \
++	fanotify_mark--secontext_mismatch.c
++fanotify_mark__secontext_mismatch_OBJECTS =  \
++	fanotify_mark--secontext_mismatch.$(OBJEXT)
++fanotify_mark__secontext_mismatch_DEPENDENCIES = $(LDADD) \
++	$(am__DEPENDENCIES_2)
+ fanotify_mark_Xabbrev_SOURCES = fanotify_mark-Xabbrev.c
+ fanotify_mark_Xabbrev_OBJECTS = fanotify_mark-Xabbrev.$(OBJEXT)
+ fanotify_mark_Xabbrev_LDADD = $(LDADD)
+@@ -1152,6 +1262,17 @@
+ fchmod__secontext_full_SOURCES = fchmod--secontext_full.c
+ fchmod__secontext_full_OBJECTS = fchmod--secontext_full.$(OBJEXT)
+ fchmod__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
++fchmod__secontext_full_mismatch_SOURCES =  \
++	fchmod--secontext_full_mismatch.c
++fchmod__secontext_full_mismatch_OBJECTS =  \
++	fchmod--secontext_full_mismatch.$(OBJEXT)
++fchmod__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \
++	$(am__DEPENDENCIES_2)
++fchmod__secontext_mismatch_SOURCES = fchmod--secontext_mismatch.c
++fchmod__secontext_mismatch_OBJECTS =  \
++	fchmod--secontext_mismatch.$(OBJEXT)
++fchmod__secontext_mismatch_DEPENDENCIES = $(LDADD) \
++	$(am__DEPENDENCIES_2)
+ fchmod_y_SOURCES = fchmod-y.c
+ fchmod_y_OBJECTS = fchmod-y.$(OBJEXT)
+ fchmod_y_LDADD = $(LDADD)
+@@ -1162,6 +1283,17 @@
+ fchmod_y__secontext_full_SOURCES = fchmod-y--secontext_full.c
+ fchmod_y__secontext_full_OBJECTS = fchmod-y--secontext_full.$(OBJEXT)
+ fchmod_y__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
++fchmod_y__secontext_full_mismatch_SOURCES =  \
++	fchmod-y--secontext_full_mismatch.c
++fchmod_y__secontext_full_mismatch_OBJECTS =  \
++	fchmod-y--secontext_full_mismatch.$(OBJEXT)
++fchmod_y__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \
++	$(am__DEPENDENCIES_2)
++fchmod_y__secontext_mismatch_SOURCES = fchmod-y--secontext_mismatch.c
++fchmod_y__secontext_mismatch_OBJECTS =  \
++	fchmod-y--secontext_mismatch.$(OBJEXT)
++fchmod_y__secontext_mismatch_DEPENDENCIES = $(LDADD) \
++	$(am__DEPENDENCIES_2)
+ fchmodat_SOURCES = fchmodat.c
+ fchmodat_OBJECTS = fchmodat.$(OBJEXT)
+ fchmodat_LDADD = $(LDADD)
+@@ -1172,6 +1304,17 @@
+ fchmodat__secontext_full_SOURCES = fchmodat--secontext_full.c
+ fchmodat__secontext_full_OBJECTS = fchmodat--secontext_full.$(OBJEXT)
+ fchmodat__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
++fchmodat__secontext_full_mismatch_SOURCES =  \
++	fchmodat--secontext_full_mismatch.c
++fchmodat__secontext_full_mismatch_OBJECTS =  \
++	fchmodat--secontext_full_mismatch.$(OBJEXT)
++fchmodat__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \
++	$(am__DEPENDENCIES_2)
++fchmodat__secontext_mismatch_SOURCES = fchmodat--secontext_mismatch.c
++fchmodat__secontext_mismatch_OBJECTS =  \
++	fchmodat--secontext_mismatch.$(OBJEXT)
++fchmodat__secontext_mismatch_DEPENDENCIES = $(LDADD) \
++	$(am__DEPENDENCIES_2)
+ fchown_SOURCES = fchown.c
+ fchown_OBJECTS = fchown.$(OBJEXT)
+ fchown_LDADD = $(LDADD)
+@@ -1190,6 +1333,17 @@
+ fchownat__secontext_full_SOURCES = fchownat--secontext_full.c
+ fchownat__secontext_full_OBJECTS = fchownat--secontext_full.$(OBJEXT)
+ fchownat__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
++fchownat__secontext_full_mismatch_SOURCES =  \
++	fchownat--secontext_full_mismatch.c
++fchownat__secontext_full_mismatch_OBJECTS =  \
++	fchownat--secontext_full_mismatch.$(OBJEXT)
++fchownat__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \
++	$(am__DEPENDENCIES_2)
++fchownat__secontext_mismatch_SOURCES = fchownat--secontext_mismatch.c
++fchownat__secontext_mismatch_OBJECTS =  \
++	fchownat--secontext_mismatch.$(OBJEXT)
++fchownat__secontext_mismatch_DEPENDENCIES = $(LDADD) \
++	$(am__DEPENDENCIES_2)
+ fcntl_SOURCES = fcntl.c
+ fcntl_OBJECTS = fcntl.$(OBJEXT)
+ fcntl_LDADD = $(LDADD)
+@@ -1227,6 +1381,18 @@
+ 	file_handle--secontext_full.$(OBJEXT)
+ file_handle__secontext_full_DEPENDENCIES = $(LDADD) \
+ 	$(am__DEPENDENCIES_2)
++file_handle__secontext_full_mismatch_SOURCES =  \
++	file_handle--secontext_full_mismatch.c
++file_handle__secontext_full_mismatch_OBJECTS =  \
++	file_handle--secontext_full_mismatch.$(OBJEXT)
++file_handle__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \
++	$(am__DEPENDENCIES_2)
++file_handle__secontext_mismatch_SOURCES =  \
++	file_handle--secontext_mismatch.c
++file_handle__secontext_mismatch_OBJECTS =  \
++	file_handle--secontext_mismatch.$(OBJEXT)
++file_handle__secontext_mismatch_DEPENDENCIES = $(LDADD) \
++	$(am__DEPENDENCIES_2)
+ filter_unavailable_SOURCES = filter-unavailable.c
+ filter_unavailable_OBJECTS = filter-unavailable.$(OBJEXT)
+ filter_unavailable_DEPENDENCIES = $(LDADD)
+@@ -2318,6 +2484,17 @@
+ linkat__secontext_full_SOURCES = linkat--secontext_full.c
+ linkat__secontext_full_OBJECTS = linkat--secontext_full.$(OBJEXT)
+ linkat__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
++linkat__secontext_full_mismatch_SOURCES =  \
++	linkat--secontext_full_mismatch.c
++linkat__secontext_full_mismatch_OBJECTS =  \
++	linkat--secontext_full_mismatch.$(OBJEXT)
++linkat__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \
++	$(am__DEPENDENCIES_2)
++linkat__secontext_mismatch_SOURCES = linkat--secontext_mismatch.c
++linkat__secontext_mismatch_OBJECTS =  \
++	linkat--secontext_mismatch.$(OBJEXT)
++linkat__secontext_mismatch_DEPENDENCIES = $(LDADD) \
++	$(am__DEPENDENCIES_2)
+ list_sigaction_signum_SOURCES = list_sigaction_signum.c
+ list_sigaction_signum_OBJECTS = list_sigaction_signum.$(OBJEXT)
+ list_sigaction_signum_LDADD = $(LDADD)
+@@ -2976,6 +3153,15 @@
+ open__secontext_full_SOURCES = open--secontext_full.c
+ open__secontext_full_OBJECTS = open--secontext_full.$(OBJEXT)
+ open__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
++open__secontext_full_mismatch_SOURCES =  \
++	open--secontext_full_mismatch.c
++open__secontext_full_mismatch_OBJECTS =  \
++	open--secontext_full_mismatch.$(OBJEXT)
++open__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \
++	$(am__DEPENDENCIES_2)
++open__secontext_mismatch_SOURCES = open--secontext_mismatch.c
++open__secontext_mismatch_OBJECTS = open--secontext_mismatch.$(OBJEXT)
++open__secontext_mismatch_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
+ open_tree_SOURCES = open_tree.c
+ open_tree_OBJECTS = open_tree.$(OBJEXT)
+ open_tree_LDADD = $(LDADD)
+@@ -2994,6 +3180,17 @@
+ openat__secontext_full_SOURCES = openat--secontext_full.c
+ openat__secontext_full_OBJECTS = openat--secontext_full.$(OBJEXT)
+ openat__secontext_full_DEPENDENCIES = $(LDADD) $(am__DEPENDENCIES_2)
++openat__secontext_full_mismatch_SOURCES =  \
++	openat--secontext_full_mismatch.c
++openat__secontext_full_mismatch_OBJECTS =  \
++	openat--secontext_full_mismatch.$(OBJEXT)
++openat__secontext_full_mismatch_DEPENDENCIES = $(LDADD) \
++	$(am__DEPENDENCIES_2)
++openat__secontext_mismatch_SOURCES = openat--secontext_mismatch.c
++openat__secontext_mismatch_OBJECTS =  \
++	openat--secontext_mismatch.$(OBJEXT)
++openat__secontext_mismatch_DEPENDENCIES = $(LDADD) \
++	$(am__DEPENDENCIES_2)
+ openat2_SOURCES = openat2.c
+ openat2_OBJECTS = openat2.$(OBJEXT)
+ openat2_LDADD = $(LDADD)
+@@ -4449,6 +4646,8 @@
+ 	./$(DEPDIR)/_newselect.Po ./$(DEPDIR)/accept.Po \
+ 	./$(DEPDIR)/accept4.Po ./$(DEPDIR)/access--secontext.Po \
+ 	./$(DEPDIR)/access--secontext_full.Po ./$(DEPDIR)/access.Po \
++	./$(DEPDIR)/access--secontext_full_mismatch.Po \
++	./$(DEPDIR)/access--secontext_mismatch.Po \
+ 	./$(DEPDIR)/acct.Po ./$(DEPDIR)/add_key.Po \
+ 	./$(DEPDIR)/adjtimex.Po ./$(DEPDIR)/aio.Po \
+ 	./$(DEPDIR)/aio_pgetevents.Po ./$(DEPDIR)/alarm.Po \
+@@ -4468,6 +4667,8 @@
+ 	./$(DEPDIR)/chdir.Po ./$(DEPDIR)/check_sigblock.Po \
+ 	./$(DEPDIR)/check_sigign.Po ./$(DEPDIR)/chmod--secontext.Po \
+ 	./$(DEPDIR)/chmod--secontext_full.Po ./$(DEPDIR)/chmod.Po \
++	./$(DEPDIR)/chmod--secontext_full_mismatch.Po \
++	./$(DEPDIR)/chmod--secontext_mismatch.Po \
+ 	./$(DEPDIR)/chown.Po ./$(DEPDIR)/chown32.Po \
+ 	./$(DEPDIR)/chroot.Po ./$(DEPDIR)/clock_adjtime.Po \
+ 	./$(DEPDIR)/clock_adjtime64.Po ./$(DEPDIR)/clock_nanosleep.Po \
+@@ -4503,14 +4704,22 @@
+ 	./$(DEPDIR)/epoll_wait.Po ./$(DEPDIR)/erestartsys.Po \
+ 	./$(DEPDIR)/eventfd.Po ./$(DEPDIR)/execve--secontext.Po \
+ 	./$(DEPDIR)/execve--secontext_full.Po ./$(DEPDIR)/execve-v.Po \
++	./$(DEPDIR)/execve--secontext_full_mismatch.Po \
++	./$(DEPDIR)/execve--secontext_mismatch.Po \
+ 	./$(DEPDIR)/execve.Po ./$(DEPDIR)/execveat--secontext.Po \
+ 	./$(DEPDIR)/execveat--secontext_full.Po \
++	./$(DEPDIR)/execveat--secontext_full_mismatch.Po \
++	./$(DEPDIR)/execveat--secontext_mismatch.Po \
+ 	./$(DEPDIR)/execveat-v.Po ./$(DEPDIR)/execveat.Po \
+ 	./$(DEPDIR)/faccessat--secontext.Po \
+ 	./$(DEPDIR)/faccessat--secontext_full.Po \
++	./$(DEPDIR)/faccessat--secontext_full_mismatch.Po \
++	./$(DEPDIR)/faccessat--secontext_mismatch.Po \
+ 	./$(DEPDIR)/faccessat-P.Po \
+ 	./$(DEPDIR)/faccessat-y--secontext.Po \
+ 	./$(DEPDIR)/faccessat-y--secontext_full.Po \
++	./$(DEPDIR)/faccessat-y--secontext_full_mismatch.Po \
++	./$(DEPDIR)/faccessat-y--secontext_mismatch.Po \
+ 	./$(DEPDIR)/faccessat-y.Po ./$(DEPDIR)/faccessat-yy.Po \
+ 	./$(DEPDIR)/faccessat.Po ./$(DEPDIR)/faccessat2-P.Po \
+ 	./$(DEPDIR)/faccessat2-y.Po ./$(DEPDIR)/faccessat2-yy.Po \
+@@ -4519,26 +4728,38 @@
+ 	./$(DEPDIR)/fanotify_init.Po \
+ 	./$(DEPDIR)/fanotify_mark--secontext.Po \
+ 	./$(DEPDIR)/fanotify_mark--secontext_full.Po \
++	./$(DEPDIR)/fanotify_mark--secontext_full_mismatch.Po \
++	./$(DEPDIR)/fanotify_mark--secontext_mismatch.Po \
+ 	./$(DEPDIR)/fanotify_mark-Xabbrev.Po \
+ 	./$(DEPDIR)/fanotify_mark-Xraw.Po \
+ 	./$(DEPDIR)/fanotify_mark-Xverbose.Po \
+ 	./$(DEPDIR)/fanotify_mark.Po ./$(DEPDIR)/fchdir.Po \
+ 	./$(DEPDIR)/fchmod--secontext.Po \
+ 	./$(DEPDIR)/fchmod--secontext_full.Po \
++	./$(DEPDIR)/fchmod--secontext_full_mismatch.Po \
++	./$(DEPDIR)/fchmod--secontext_mismatch.Po \
+ 	./$(DEPDIR)/fchmod-y--secontext.Po \
+ 	./$(DEPDIR)/fchmod-y--secontext_full.Po \
++	./$(DEPDIR)/fchmod-y--secontext_full_mismatch.Po \
++	./$(DEPDIR)/fchmod-y--secontext_mismatch.Po \
+ 	./$(DEPDIR)/fchmod-y.Po ./$(DEPDIR)/fchmod.Po \
+ 	./$(DEPDIR)/fchmodat--secontext.Po \
+ 	./$(DEPDIR)/fchmodat--secontext_full.Po \
++	./$(DEPDIR)/fchmodat--secontext_full_mismatch.Po \
++	./$(DEPDIR)/fchmodat--secontext_mismatch.Po \
+ 	./$(DEPDIR)/fchmodat.Po ./$(DEPDIR)/fchown.Po \
+ 	./$(DEPDIR)/fchown32.Po ./$(DEPDIR)/fchownat--secontext.Po \
+ 	./$(DEPDIR)/fchownat--secontext_full.Po \
++	./$(DEPDIR)/fchownat--secontext_full_mismatch.Po \
++	./$(DEPDIR)/fchownat--secontext_mismatch.Po \
+ 	./$(DEPDIR)/fchownat.Po \
+ 	./$(DEPDIR)/fcntl--pidns-translation.Po ./$(DEPDIR)/fcntl.Po \
+ 	./$(DEPDIR)/fcntl64--pidns-translation.Po \
+ 	./$(DEPDIR)/fcntl64.Po ./$(DEPDIR)/fdatasync.Po \
+ 	./$(DEPDIR)/fflush.Po ./$(DEPDIR)/file_handle--secontext.Po \
+ 	./$(DEPDIR)/file_handle--secontext_full.Po \
++	./$(DEPDIR)/file_handle--secontext_full_mismatch.Po \
++	./$(DEPDIR)/file_handle--secontext_mismatch.Po \
+ 	./$(DEPDIR)/file_handle.Po ./$(DEPDIR)/filter-unavailable.Po \
+ 	./$(DEPDIR)/filter_seccomp-flag.Po \
+ 	./$(DEPDIR)/filter_seccomp-perf.Po ./$(DEPDIR)/finit_module.Po \
+@@ -4753,6 +4972,8 @@
+ 	./$(DEPDIR)/libtests_a-xmalloc_for_tests.Po \
+ 	./$(DEPDIR)/link.Po ./$(DEPDIR)/linkat--secontext.Po \
+ 	./$(DEPDIR)/linkat--secontext_full.Po ./$(DEPDIR)/linkat.Po \
++	./$(DEPDIR)/linkat--secontext_full_mismatch.Po \
++	./$(DEPDIR)/linkat--secontext_mismatch.Po \
+ 	./$(DEPDIR)/list_sigaction_signum.Po ./$(DEPDIR)/llseek.Po \
+ 	./$(DEPDIR)/localtime.Po ./$(DEPDIR)/lookup_dcookie.Po \
+ 	./$(DEPDIR)/looping_threads.Po ./$(DEPDIR)/lseek.Po \
+@@ -4867,9 +5088,13 @@
+ 	./$(DEPDIR)/oldselect-efault.Po ./$(DEPDIR)/oldselect.Po \
+ 	./$(DEPDIR)/oldstat.Po ./$(DEPDIR)/open--secontext.Po \
+ 	./$(DEPDIR)/open--secontext_full.Po ./$(DEPDIR)/open.Po \
++	./$(DEPDIR)/open--secontext_full_mismatch.Po \
++	./$(DEPDIR)/open--secontext_mismatch.Po \
+ 	./$(DEPDIR)/open_tree-P.Po ./$(DEPDIR)/open_tree.Po \
+ 	./$(DEPDIR)/openat--secontext.Po \
+ 	./$(DEPDIR)/openat--secontext_full.Po ./$(DEPDIR)/openat.Po \
++	./$(DEPDIR)/openat--secontext_full_mismatch.Po \
++	./$(DEPDIR)/openat--secontext_mismatch.Po \
+ 	./$(DEPDIR)/openat2-Xabbrev.Po ./$(DEPDIR)/openat2-Xraw.Po \
+ 	./$(DEPDIR)/openat2-Xverbose.Po \
+ 	./$(DEPDIR)/openat2-v-y-Xabbrev.Po \
+@@ -5119,7 +5316,8 @@
+ am__v_CCLD_1 = 
+ SOURCES = $(libtests_a_SOURCES) _newselect.c _newselect-P.c accept.c \
+ 	accept4.c access.c access--secontext.c \
+-	access--secontext_full.c acct.c add_key.c adjtimex.c aio.c \
++	access--secontext_full.c access--secontext_full_mismatch.c \
++	access--secontext_mismatch.c acct.c add_key.c adjtimex.c aio.c \
+ 	aio_pgetevents.c alarm.c answer.c attach-f-p.c \
+ 	attach-f-p-cmd.c attach-p-cmd-cmd.c attach-p-cmd-p.c \
+ 	block_reset_raise_run.c block_reset_run.c bpf.c \
+@@ -4468,7 +4666,8 @@
+ 	bpf-success.c bpf-success-long-y.c bpf-success-v.c bpf-v.c \
+ 	brk.c btrfs.c caps.c caps-abbrev.c chdir.c check_sigblock.c \
+ 	check_sigign.c chmod.c chmod--secontext.c \
+-	chmod--secontext_full.c chown.c chown32.c chroot.c \
++	chmod--secontext_full.c chmod--secontext_full_mismatch.c \
++	chmod--secontext_mismatch.c chown.c chown32.c chroot.c \
+ 	clock_adjtime.c clock_adjtime64.c clock_nanosleep.c \
+ 	clock_xettime.c clock_xettime64.c clone-flags.c clone3.c \
+ 	clone3-Xabbrev.c clone3-Xraw.c clone3-Xverbose.c \
+@@ -4484,24 +4683,40 @@
+ 	dup3-y.c dup3-yy.c epoll_create.c epoll_create1.c epoll_ctl.c \
+ 	epoll_pwait.c epoll_pwait2.c epoll_pwait2-P.c epoll_pwait2-y.c \
+ 	epoll_wait.c erestartsys.c eventfd.c execve.c \
+-	execve--secontext.c execve--secontext_full.c execve-v.c \
+-	execveat.c execveat--secontext.c execveat--secontext_full.c \
+-	execveat-v.c faccessat.c faccessat--secontext.c \
+-	faccessat--secontext_full.c faccessat-P.c faccessat-y.c \
++	execve--secontext.c execve--secontext_full.c \
++	execve--secontext_full_mismatch.c execve--secontext_mismatch.c \
++	execve-v.c execveat.c execveat--secontext.c \
++	execveat--secontext_full.c execveat--secontext_full_mismatch.c \
++	execveat--secontext_mismatch.c execveat-v.c faccessat.c \
++	faccessat--secontext.c faccessat--secontext_full.c \
++	faccessat--secontext_full_mismatch.c \
++	faccessat--secontext_mismatch.c faccessat-P.c faccessat-y.c \
+ 	faccessat-y--secontext.c faccessat-y--secontext_full.c \
+-	faccessat-yy.c faccessat2.c faccessat2-P.c faccessat2-y.c \
+-	faccessat2-yy.c fadvise64.c fadvise64_64.c fallocate.c \
+-	fanotify_init.c fanotify_mark.c fanotify_mark--secontext.c \
+-	fanotify_mark--secontext_full.c fanotify_mark-Xabbrev.c \
++	faccessat-y--secontext_full_mismatch.c \
++	faccessat-y--secontext_mismatch.c faccessat-yy.c faccessat2.c \
++	faccessat2-P.c faccessat2-y.c faccessat2-yy.c fadvise64.c \
++	fadvise64_64.c fallocate.c fanotify_init.c fanotify_mark.c \
++	fanotify_mark--secontext.c fanotify_mark--secontext_full.c \
++	fanotify_mark--secontext_full_mismatch.c \
++	fanotify_mark--secontext_mismatch.c fanotify_mark-Xabbrev.c \
+ 	fanotify_mark-Xraw.c fanotify_mark-Xverbose.c fchdir.c \
+ 	fchmod.c fchmod--secontext.c fchmod--secontext_full.c \
++	fchmod--secontext_full_mismatch.c fchmod--secontext_mismatch.c \
+ 	fchmod-y.c fchmod-y--secontext.c fchmod-y--secontext_full.c \
+-	fchmodat.c fchmodat--secontext.c fchmodat--secontext_full.c \
+-	fchown.c fchown32.c fchownat.c fchownat--secontext.c \
+-	fchownat--secontext_full.c fcntl.c fcntl--pidns-translation.c \
+-	fcntl64.c fcntl64--pidns-translation.c fdatasync.c fflush.c \
++	fchmod-y--secontext_full_mismatch.c \
++	fchmod-y--secontext_mismatch.c fchmodat.c \
++	fchmodat--secontext.c fchmodat--secontext_full.c \
++	fchmodat--secontext_full_mismatch.c \
++	fchmodat--secontext_mismatch.c fchown.c fchown32.c fchownat.c \
++	fchownat--secontext.c fchownat--secontext_full.c \
++	fchownat--secontext_full_mismatch.c \
++	fchownat--secontext_mismatch.c fcntl.c \
++	fcntl--pidns-translation.c fcntl64.c \
++	fcntl64--pidns-translation.c fdatasync.c fflush.c \
+ 	file_handle.c file_handle--secontext.c \
+-	file_handle--secontext_full.c filter-unavailable.c \
++	file_handle--secontext_full.c \
++	file_handle--secontext_full_mismatch.c \
++	file_handle--secontext_mismatch.c filter-unavailable.c \
+ 	filter_seccomp-flag.c filter_seccomp-perf.c finit_module.c \
+ 	flock.c fork--pidns-translation.c fork-f.c fsconfig.c \
+ 	fsconfig-P.c fsmount.c fsopen.c fspick.c fspick-P.c fstat.c \
+@@ -4588,6 +4803,7 @@
+ 	landlock_create_ruleset-y.c landlock_restrict_self.c \
+ 	landlock_restrict_self-y.c lchown.c lchown32.c link.c linkat.c \
+ 	linkat--secontext.c linkat--secontext_full.c \
++	linkat--secontext_full_mismatch.c linkat--secontext_mismatch.c \
+ 	list_sigaction_signum.c llseek.c localtime.c lookup_dcookie.c \
+ 	looping_threads.c lseek.c lstat.c lstat64.c madvise.c \
+ 	maybe_switch_current_tcp.c \
+@@ -4641,8 +4857,10 @@
+ 	old_mmap-v-none.c oldfstat.c oldlstat.c oldselect.c \
+ 	oldselect-P.c oldselect-efault.c oldselect-efault-P.c \
+ 	oldstat.c open.c open--secontext.c open--secontext_full.c \
++	open--secontext_full_mismatch.c open--secontext_mismatch.c \
+ 	open_tree.c open_tree-P.c openat.c openat--secontext.c \
+-	openat--secontext_full.c openat2.c openat2-Xabbrev.c \
++	openat--secontext_full.c openat--secontext_full_mismatch.c \
++	openat--secontext_mismatch.c openat2.c openat2-Xabbrev.c \
+ 	openat2-Xraw.c openat2-Xverbose.c openat2-v.c openat2-v-y.c \
+ 	openat2-v-y-Xabbrev.c openat2-v-y-Xraw.c \
+ 	openat2-v-y-Xverbose.c openat2-y.c orphaned_process_group.c \
+@@ -4753,7 +4971,8 @@
+ 	xetpriority--pidns-translation.c xettimeofday.c zeroargc.c
+ DIST_SOURCES = $(libtests_a_SOURCES) _newselect.c _newselect-P.c \
+ 	accept.c accept4.c access.c access--secontext.c \
+-	access--secontext_full.c acct.c add_key.c adjtimex.c aio.c \
++	access--secontext_full.c access--secontext_full_mismatch.c \
++	access--secontext_mismatch.c acct.c add_key.c adjtimex.c aio.c \
+ 	aio_pgetevents.c alarm.c answer.c attach-f-p.c \
+ 	attach-f-p-cmd.c attach-p-cmd-cmd.c attach-p-cmd-p.c \
+ 	block_reset_raise_run.c block_reset_run.c bpf.c \
+@@ -4762,7 +4981,8 @@
+ 	bpf-success.c bpf-success-long-y.c bpf-success-v.c bpf-v.c \
+ 	brk.c btrfs.c caps.c caps-abbrev.c chdir.c check_sigblock.c \
+ 	check_sigign.c chmod.c chmod--secontext.c \
+-	chmod--secontext_full.c chown.c chown32.c chroot.c \
++	chmod--secontext_full.c chmod--secontext_full_mismatch.c \
++	chmod--secontext_mismatch.c chown.c chown32.c chroot.c \
+ 	clock_adjtime.c clock_adjtime64.c clock_nanosleep.c \
+ 	clock_xettime.c clock_xettime64.c clone-flags.c clone3.c \
+ 	clone3-Xabbrev.c clone3-Xraw.c clone3-Xverbose.c \
+@@ -4778,24 +4998,40 @@
+ 	dup3-y.c dup3-yy.c epoll_create.c epoll_create1.c epoll_ctl.c \
+ 	epoll_pwait.c epoll_pwait2.c epoll_pwait2-P.c epoll_pwait2-y.c \
+ 	epoll_wait.c erestartsys.c eventfd.c execve.c \
+-	execve--secontext.c execve--secontext_full.c execve-v.c \
+-	execveat.c execveat--secontext.c execveat--secontext_full.c \
+-	execveat-v.c faccessat.c faccessat--secontext.c \
+-	faccessat--secontext_full.c faccessat-P.c faccessat-y.c \
++	execve--secontext.c execve--secontext_full.c \
++	execve--secontext_full_mismatch.c execve--secontext_mismatch.c \
++	execve-v.c execveat.c execveat--secontext.c \
++	execveat--secontext_full.c execveat--secontext_full_mismatch.c \
++	execveat--secontext_mismatch.c execveat-v.c faccessat.c \
++	faccessat--secontext.c faccessat--secontext_full.c \
++	faccessat--secontext_full_mismatch.c \
++	faccessat--secontext_mismatch.c faccessat-P.c faccessat-y.c \
+ 	faccessat-y--secontext.c faccessat-y--secontext_full.c \
+-	faccessat-yy.c faccessat2.c faccessat2-P.c faccessat2-y.c \
+-	faccessat2-yy.c fadvise64.c fadvise64_64.c fallocate.c \
+-	fanotify_init.c fanotify_mark.c fanotify_mark--secontext.c \
+-	fanotify_mark--secontext_full.c fanotify_mark-Xabbrev.c \
++	faccessat-y--secontext_full_mismatch.c \
++	faccessat-y--secontext_mismatch.c faccessat-yy.c faccessat2.c \
++	faccessat2-P.c faccessat2-y.c faccessat2-yy.c fadvise64.c \
++	fadvise64_64.c fallocate.c fanotify_init.c fanotify_mark.c \
++	fanotify_mark--secontext.c fanotify_mark--secontext_full.c \
++	fanotify_mark--secontext_full_mismatch.c \
++	fanotify_mark--secontext_mismatch.c fanotify_mark-Xabbrev.c \
+ 	fanotify_mark-Xraw.c fanotify_mark-Xverbose.c fchdir.c \
+ 	fchmod.c fchmod--secontext.c fchmod--secontext_full.c \
++	fchmod--secontext_full_mismatch.c fchmod--secontext_mismatch.c \
+ 	fchmod-y.c fchmod-y--secontext.c fchmod-y--secontext_full.c \
+-	fchmodat.c fchmodat--secontext.c fchmodat--secontext_full.c \
+-	fchown.c fchown32.c fchownat.c fchownat--secontext.c \
+-	fchownat--secontext_full.c fcntl.c fcntl--pidns-translation.c \
+-	fcntl64.c fcntl64--pidns-translation.c fdatasync.c fflush.c \
++	fchmod-y--secontext_full_mismatch.c \
++	fchmod-y--secontext_mismatch.c fchmodat.c \
++	fchmodat--secontext.c fchmodat--secontext_full.c \
++	fchmodat--secontext_full_mismatch.c \
++	fchmodat--secontext_mismatch.c fchown.c fchown32.c fchownat.c \
++	fchownat--secontext.c fchownat--secontext_full.c \
++	fchownat--secontext_full_mismatch.c \
++	fchownat--secontext_mismatch.c fcntl.c \
++	fcntl--pidns-translation.c fcntl64.c \
++	fcntl64--pidns-translation.c fdatasync.c fflush.c \
+ 	file_handle.c file_handle--secontext.c \
+-	file_handle--secontext_full.c filter-unavailable.c \
++	file_handle--secontext_full.c \
++	file_handle--secontext_full_mismatch.c \
++	file_handle--secontext_mismatch.c filter-unavailable.c \
+ 	filter_seccomp-flag.c filter_seccomp-perf.c finit_module.c \
+ 	flock.c fork--pidns-translation.c fork-f.c fsconfig.c \
+ 	fsconfig-P.c fsmount.c fsopen.c fspick.c fspick-P.c fstat.c \
+@@ -4882,6 +5118,7 @@
+ 	landlock_create_ruleset-y.c landlock_restrict_self.c \
+ 	landlock_restrict_self-y.c lchown.c lchown32.c link.c linkat.c \
+ 	linkat--secontext.c linkat--secontext_full.c \
++	linkat--secontext_full_mismatch.c linkat--secontext_mismatch.c \
+ 	list_sigaction_signum.c llseek.c localtime.c lookup_dcookie.c \
+ 	looping_threads.c lseek.c lstat.c lstat64.c madvise.c \
+ 	maybe_switch_current_tcp.c \
+@@ -4935,8 +5172,10 @@
+ 	old_mmap-v-none.c oldfstat.c oldlstat.c oldselect.c \
+ 	oldselect-P.c oldselect-efault.c oldselect-efault-P.c \
+ 	oldstat.c open.c open--secontext.c open--secontext_full.c \
++	open--secontext_full_mismatch.c open--secontext_mismatch.c \
+ 	open_tree.c open_tree-P.c openat.c openat--secontext.c \
+-	openat--secontext_full.c openat2.c openat2-Xabbrev.c \
++	openat--secontext_full.c openat--secontext_full_mismatch.c \
++	openat--secontext_mismatch.c openat2.c openat2-Xabbrev.c \
+ 	openat2-Xraw.c openat2-Xverbose.c openat2-v.c openat2-v-y.c \
+ 	openat2-v-y-Xabbrev.c openat2-v-y-Xraw.c \
+ 	openat2-v-y-Xverbose.c openat2-y.c orphaned_process_group.c \
+@@ -6212,66 +6451,126 @@
+ secontext_EXECUTABLES = \
+   access--secontext \
+   access--secontext_full \
++  access--secontext_full_mismatch \
++  access--secontext_mismatch \
+   chmod--secontext \
+   chmod--secontext_full \
++  chmod--secontext_full_mismatch \
++  chmod--secontext_mismatch \
+   execve--secontext \
+   execve--secontext_full \
++  execve--secontext_full_mismatch \
++  execve--secontext_mismatch \
+   execveat--secontext \
+   execveat--secontext_full \
++  execveat--secontext_full_mismatch \
++  execveat--secontext_mismatch \
+   faccessat--secontext \
+   faccessat--secontext_full \
++  faccessat--secontext_full_mismatch \
++  faccessat--secontext_mismatch \
+   faccessat-y--secontext \
+   faccessat-y--secontext_full \
++  faccessat-y--secontext_full_mismatch \
++  faccessat-y--secontext_mismatch \
+   fanotify_mark--secontext \
+   fanotify_mark--secontext_full \
++  fanotify_mark--secontext_full_mismatch \
++  fanotify_mark--secontext_mismatch \
+   fchmod--secontext \
+   fchmod--secontext_full \
++  fchmod--secontext_full_mismatch \
++  fchmod--secontext_mismatch \
+   fchmod-y--secontext \
+   fchmod-y--secontext_full \
++  fchmod-y--secontext_full_mismatch \
++  fchmod-y--secontext_mismatch \
+   fchmodat--secontext \
+   fchmodat--secontext_full \
++  fchmodat--secontext_full_mismatch \
++  fchmodat--secontext_mismatch \
+   fchownat--secontext \
+   fchownat--secontext_full \
++  fchownat--secontext_full_mismatch \
++  fchownat--secontext_mismatch \
+   file_handle--secontext \
+   file_handle--secontext_full \
++  file_handle--secontext_full_mismatch \
++  file_handle--secontext_mismatch \
+   linkat--secontext \
+   linkat--secontext_full \
++  linkat--secontext_full_mismatch \
++  linkat--secontext_mismatch \
+   open--secontext \
+   open--secontext_full \
++  open--secontext_full_mismatch \
++  open--secontext_mismatch \
+   openat--secontext \
+   openat--secontext_full \
++  openat--secontext_full_mismatch \
++  openat--secontext_mismatch \
+   #
+ 
+ access__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
+ access__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
++access__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
++access__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
+ chmod__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
+ chmod__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
++chmod__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
++chmod__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
+ execve__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
+ execve__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
++execve__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
++execve__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
+ execveat__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
+ execveat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
++execveat__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
++execveat__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
+ faccessat__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
+ faccessat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
++faccessat__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
++faccessat__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
+ faccessat_y__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
+ faccessat_y__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
++faccessat_y__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
++faccessat_y__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
+ fanotify_mark__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
+ fanotify_mark__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
++fanotify_mark__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
++fanotify_mark__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
+ fchmod__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
+ fchmod__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
++fchmod__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
++fchmod__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
+ fchmod_y__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
+ fchmod_y__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
++fchmod_y__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
++fchmod_y__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
+ fchmodat__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
+ fchmodat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
++fchmodat__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
++fchmodat__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
+ fchownat__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
+ fchownat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
++fchownat__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
++fchownat__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
+ file_handle__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
+ file_handle__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
++file_handle__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
++file_handle__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
+ linkat__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
+ linkat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
++linkat__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
++linkat__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
+ open__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
+ open__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
++open__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
++open__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
+ openat__secontext_LDADD = $(LDADD) $(libselinux_LDADD)
+ openat__secontext_full_LDADD = $(LDADD) $(libselinux_LDADD)
++openat__secontext_full_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
++openat__secontext_mismatch_LDADD = $(LDADD) $(libselinux_LDADD)
+ attach_f_p_LDADD = -lpthread $(LDADD)
+ count_f_LDADD = -lpthread $(LDADD)
+ delay_LDADD = $(clock_LIBS) $(LDADD)
+@@ -6325,15 +6624,20 @@
+ # Generated by ./tests/gen_tests.sh from ./tests/gen_tests.in; do not edit.
+ GEN_TESTS = _newselect.gen.test _newselect-P.gen.test accept.gen.test \
+ 	accept4.gen.test access.gen.test access--secontext.gen.test \
+-	access--secontext_full.gen.test acct.gen.test add_key.gen.test \
+-	adjtimex.gen.test aio.gen.test aio_pgetevents.gen.test \
+-	alarm.gen.test bpf.gen.test bpf-obj_get_info_by_fd.gen.test \
++	access--secontext_full.gen.test \
++	access--secontext_full_mismatch.gen.test \
++	access--secontext_mismatch.gen.test acct.gen.test \
++	add_key.gen.test adjtimex.gen.test aio.gen.test \
++	aio_pgetevents.gen.test alarm.gen.test bpf.gen.test \
++	bpf-obj_get_info_by_fd.gen.test \
+ 	bpf-obj_get_info_by_fd-prog.gen.test \
+ 	bpf-obj_get_info_by_fd-prog-v.gen.test \
+ 	bpf-obj_get_info_by_fd-v.gen.test bpf-v.gen.test \
+ 	btrfs.gen.test chdir.gen.test chmod.gen.test \
+ 	chmod--secontext.gen.test chmod--secontext_full.gen.test \
+-	chown.gen.test chown32.gen.test chroot.gen.test clock.gen.test \
++	chmod--secontext_full_mismatch.gen.test \
++	chmod--secontext_mismatch.gen.test chown.gen.test \
++	chown32.gen.test chroot.gen.test clock.gen.test \
+ 	clock_adjtime.gen.test clock_adjtime64.gen.test \
+ 	clock_nanosleep.gen.test clock_xettime.gen.test \
+ 	clock_xettime64.gen.test clone3.gen.test \
+@@ -6356,36 +6660,53 @@
+ 	epoll_pwait2-P.gen.test epoll_pwait2-y.gen.test \
+ 	epoll_wait.gen.test erestartsys.gen.test \
+ 	execve--secontext.gen.test execve--secontext_full.gen.test \
+-	execveat.gen.test execveat--secontext.gen.test \
+-	execveat--secontext_full.gen.test execveat-v.gen.test \
++	execve--secontext_full_mismatch.gen.test \
++	execve--secontext_mismatch.gen.test execveat.gen.test \
++	execveat--secontext.gen.test execveat--secontext_full.gen.test \
++	execveat--secontext_full_mismatch.gen.test \
++	execveat--secontext_mismatch.gen.test execveat-v.gen.test \
+ 	faccessat--secontext.gen.test \
+-	faccessat--secontext_full.gen.test faccessat-P.gen.test \
++	faccessat--secontext_full.gen.test \
++	faccessat--secontext_full_mismatch.gen.test \
++	faccessat--secontext_mismatch.gen.test faccessat-P.gen.test \
+ 	faccessat-y.gen.test faccessat-y--secontext.gen.test \
+-	faccessat-y--secontext_full.gen.test faccessat-yy.gen.test \
++	faccessat-y--secontext_full.gen.test \
++	faccessat-y--secontext_full_mismatch.gen.test \
++	faccessat-y--secontext_mismatch.gen.test faccessat-yy.gen.test \
+ 	faccessat2-P.gen.test faccessat2-y.gen.test \
+ 	faccessat2-yy.gen.test fadvise64_64.gen.test \
+ 	fallocate.gen.test fanotify_init.gen.test \
+ 	fanotify_mark.gen.test fanotify_mark--secontext.gen.test \
+ 	fanotify_mark--secontext_full.gen.test \
++	fanotify_mark--secontext_full_mismatch.gen.test \
++	fanotify_mark--secontext_mismatch.gen.test \
+ 	fanotify_mark-Xabbrev.gen.test fanotify_mark-Xraw.gen.test \
+ 	fanotify_mark-Xverbose.gen.test fchdir.gen.test \
+ 	fchmod.gen.test fchmod--secontext.gen.test \
+-	fchmod--secontext_full.gen.test fchmod-y.gen.test \
++	fchmod--secontext_full.gen.test \
++	fchmod--secontext_full_mismatch.gen.test \
++	fchmod--secontext_mismatch.gen.test fchmod-y.gen.test \
+ 	fchmod-y--secontext.gen.test fchmod-y--secontext_full.gen.test \
+-	fchmodat.gen.test fchmodat--secontext.gen.test \
+-	fchmodat--secontext_full.gen.test fchown.gen.test \
++	fchmod-y--secontext_full_mismatch.gen.test \
++	fchmod-y--secontext_mismatch.gen.test fchmodat.gen.test \
++	fchmodat--secontext.gen.test fchmodat--secontext_full.gen.test \
++	fchmodat--secontext_full_mismatch.gen.test \
++	fchmodat--secontext_mismatch.gen.test fchown.gen.test \
+ 	fchown32.gen.test fchownat.gen.test \
+ 	fchownat--secontext.gen.test fchownat--secontext_full.gen.test \
+-	fcntl.gen.test fcntl--pidns-translation.gen.test \
+-	fcntl64.gen.test fcntl64--pidns-translation.gen.test \
+-	fdatasync.gen.test file_handle.gen.test \
+-	file_handle--secontext.gen.test \
+-	file_handle--secontext_full.gen.test filter_seccomp.gen.test \
+-	filter_seccomp-flag.gen.test finit_module.gen.test \
+-	flock.gen.test fork-f.gen.test fsconfig.gen.test \
+-	fsconfig-P.gen.test fsmount.gen.test fsopen.gen.test \
+-	fspick.gen.test fspick-P.gen.test fstat.gen.test \
+-	fstat-Xabbrev.gen.test fstat-Xraw.gen.test \
++	fchownat--secontext_full_mismatch.gen.test \
++	fchownat--secontext_mismatch.gen.test fcntl.gen.test \
++	fcntl--pidns-translation.gen.test fcntl64.gen.test \
++	fcntl64--pidns-translation.gen.test fdatasync.gen.test \
++	file_handle.gen.test file_handle--secontext.gen.test \
++	file_handle--secontext_full.gen.test \
++	file_handle--secontext_full_mismatch.gen.test \
++	file_handle--secontext_mismatch.gen.test \
++	filter_seccomp.gen.test filter_seccomp-flag.gen.test \
++	finit_module.gen.test flock.gen.test fork-f.gen.test \
++	fsconfig.gen.test fsconfig-P.gen.test fsmount.gen.test \
++	fsopen.gen.test fspick.gen.test fspick-P.gen.test \
++	fstat.gen.test fstat-Xabbrev.gen.test fstat-Xraw.gen.test \
+ 	fstat-Xverbose.gen.test fstat64.gen.test \
+ 	fstat64-Xabbrev.gen.test fstat64-Xraw.gen.test \
+ 	fstat64-Xverbose.gen.test fstatat64.gen.test fstatfs.gen.test \
+@@ -6512,8 +6833,10 @@
+ 	landlock_restrict_self-y.gen.test lchown.gen.test \
+ 	lchown32.gen.test link.gen.test linkat.gen.test \
+ 	linkat--secontext.gen.test linkat--secontext_full.gen.test \
+-	lookup_dcookie.gen.test lstat.gen.test lstat64.gen.test \
+-	madvise.gen.test maybe_switch_current_tcp.gen.test \
++	linkat--secontext_full_mismatch.gen.test \
++	linkat--secontext_mismatch.gen.test lookup_dcookie.gen.test \
++	lstat.gen.test lstat64.gen.test madvise.gen.test \
++	maybe_switch_current_tcp.gen.test \
+ 	maybe_switch_current_tcp--quiet-thread-execve.gen.test \
+ 	mbind.gen.test mbind-Xabbrev.gen.test mbind-Xraw.gen.test \
+ 	mbind-Xverbose.gen.test membarrier.gen.test \
+@@ -6582,16 +6905,19 @@
+ 	oldselect.gen.test oldselect-P.gen.test \
+ 	oldselect-efault.gen.test oldselect-efault-P.gen.test \
+ 	oldstat.gen.test open.gen.test open--secontext.gen.test \
+-	open--secontext_full.gen.test open_tree.gen.test \
++	open--secontext_full.gen.test \
++	open--secontext_full_mismatch.gen.test \
++	open--secontext_mismatch.gen.test open_tree.gen.test \
+ 	open_tree-P.gen.test openat.gen.test \
+ 	openat--secontext.gen.test openat--secontext_full.gen.test \
+-	openat2.gen.test openat2-Xabbrev.gen.test \
+-	openat2-Xraw.gen.test openat2-Xverbose.gen.test \
+-	openat2-v.gen.test openat2-v-y.gen.test \
+-	openat2-v-y-Xabbrev.gen.test openat2-v-y-Xraw.gen.test \
+-	openat2-v-y-Xverbose.gen.test openat2-y.gen.test \
+-	orphaned_process_group.gen.test osf_utimes.gen.test \
+-	pause.gen.test perf_event_open.gen.test \
++	openat--secontext_full_mismatch.gen.test \
++	openat--secontext_mismatch.gen.test openat2.gen.test \
++	openat2-Xabbrev.gen.test openat2-Xraw.gen.test \
++	openat2-Xverbose.gen.test openat2-v.gen.test \
++	openat2-v-y.gen.test openat2-v-y-Xabbrev.gen.test \
++	openat2-v-y-Xraw.gen.test openat2-v-y-Xverbose.gen.test \
++	openat2-y.gen.test orphaned_process_group.gen.test \
++	osf_utimes.gen.test pause.gen.test perf_event_open.gen.test \
+ 	perf_event_open_nonverbose.gen.test \
+ 	perf_event_open_unabbrev.gen.test personality-Xabbrev.gen.test \
+ 	personality-Xraw.gen.test personality-Xverbose.gen.test \
+@@ -7155,6 +7481,14 @@
+ 	@rm -f access--secontext_full$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(access__secontext_full_OBJECTS) $(access__secontext_full_LDADD) $(LIBS)
+ 
++access--secontext_full_mismatch$(EXEEXT): $(access__secontext_full_mismatch_OBJECTS) $(access__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_access__secontext_full_mismatch_DEPENDENCIES) 
++	@rm -f access--secontext_full_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(access__secontext_full_mismatch_OBJECTS) $(access__secontext_full_mismatch_LDADD) $(LIBS)
++
++access--secontext_mismatch$(EXEEXT): $(access__secontext_mismatch_OBJECTS) $(access__secontext_mismatch_DEPENDENCIES) $(EXTRA_access__secontext_mismatch_DEPENDENCIES) 
++	@rm -f access--secontext_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(access__secontext_mismatch_OBJECTS) $(access__secontext_mismatch_LDADD) $(LIBS)
++
+ acct$(EXEEXT): $(acct_OBJECTS) $(acct_DEPENDENCIES) $(EXTRA_acct_DEPENDENCIES) 
+ 	@rm -f acct$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(acct_OBJECTS) $(acct_LDADD) $(LIBS)
+@@ -7283,6 +7617,14 @@
+ 	@rm -f chmod--secontext_full$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(chmod__secontext_full_OBJECTS) $(chmod__secontext_full_LDADD) $(LIBS)
+ 
++chmod--secontext_full_mismatch$(EXEEXT): $(chmod__secontext_full_mismatch_OBJECTS) $(chmod__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_chmod__secontext_full_mismatch_DEPENDENCIES) 
++	@rm -f chmod--secontext_full_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(chmod__secontext_full_mismatch_OBJECTS) $(chmod__secontext_full_mismatch_LDADD) $(LIBS)
++
++chmod--secontext_mismatch$(EXEEXT): $(chmod__secontext_mismatch_OBJECTS) $(chmod__secontext_mismatch_DEPENDENCIES) $(EXTRA_chmod__secontext_mismatch_DEPENDENCIES) 
++	@rm -f chmod--secontext_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(chmod__secontext_mismatch_OBJECTS) $(chmod__secontext_mismatch_LDADD) $(LIBS)
++
+ chown$(EXEEXT): $(chown_OBJECTS) $(chown_DEPENDENCIES) $(EXTRA_chown_DEPENDENCIES) 
+ 	@rm -f chown$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(chown_OBJECTS) $(chown_LDADD) $(LIBS)
+@@ -7527,6 +7869,14 @@
+ 	@rm -f execve--secontext_full$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(execve__secontext_full_OBJECTS) $(execve__secontext_full_LDADD) $(LIBS)
+ 
++execve--secontext_full_mismatch$(EXEEXT): $(execve__secontext_full_mismatch_OBJECTS) $(execve__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_execve__secontext_full_mismatch_DEPENDENCIES) 
++	@rm -f execve--secontext_full_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(execve__secontext_full_mismatch_OBJECTS) $(execve__secontext_full_mismatch_LDADD) $(LIBS)
++
++execve--secontext_mismatch$(EXEEXT): $(execve__secontext_mismatch_OBJECTS) $(execve__secontext_mismatch_DEPENDENCIES) $(EXTRA_execve__secontext_mismatch_DEPENDENCIES) 
++	@rm -f execve--secontext_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(execve__secontext_mismatch_OBJECTS) $(execve__secontext_mismatch_LDADD) $(LIBS)
++
+ execve-v$(EXEEXT): $(execve_v_OBJECTS) $(execve_v_DEPENDENCIES) $(EXTRA_execve_v_DEPENDENCIES) 
+ 	@rm -f execve-v$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(execve_v_OBJECTS) $(execve_v_LDADD) $(LIBS)
+@@ -7543,6 +7893,14 @@
+ 	@rm -f execveat--secontext_full$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(execveat__secontext_full_OBJECTS) $(execveat__secontext_full_LDADD) $(LIBS)
+ 
++execveat--secontext_full_mismatch$(EXEEXT): $(execveat__secontext_full_mismatch_OBJECTS) $(execveat__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_execveat__secontext_full_mismatch_DEPENDENCIES) 
++	@rm -f execveat--secontext_full_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(execveat__secontext_full_mismatch_OBJECTS) $(execveat__secontext_full_mismatch_LDADD) $(LIBS)
++
++execveat--secontext_mismatch$(EXEEXT): $(execveat__secontext_mismatch_OBJECTS) $(execveat__secontext_mismatch_DEPENDENCIES) $(EXTRA_execveat__secontext_mismatch_DEPENDENCIES) 
++	@rm -f execveat--secontext_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(execveat__secontext_mismatch_OBJECTS) $(execveat__secontext_mismatch_LDADD) $(LIBS)
++
+ execveat-v$(EXEEXT): $(execveat_v_OBJECTS) $(execveat_v_DEPENDENCIES) $(EXTRA_execveat_v_DEPENDENCIES) 
+ 	@rm -f execveat-v$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(execveat_v_OBJECTS) $(execveat_v_LDADD) $(LIBS)
+@@ -7559,6 +7917,14 @@
+ 	@rm -f faccessat--secontext_full$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(faccessat__secontext_full_OBJECTS) $(faccessat__secontext_full_LDADD) $(LIBS)
+ 
++faccessat--secontext_full_mismatch$(EXEEXT): $(faccessat__secontext_full_mismatch_OBJECTS) $(faccessat__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_faccessat__secontext_full_mismatch_DEPENDENCIES) 
++	@rm -f faccessat--secontext_full_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(faccessat__secontext_full_mismatch_OBJECTS) $(faccessat__secontext_full_mismatch_LDADD) $(LIBS)
++
++faccessat--secontext_mismatch$(EXEEXT): $(faccessat__secontext_mismatch_OBJECTS) $(faccessat__secontext_mismatch_DEPENDENCIES) $(EXTRA_faccessat__secontext_mismatch_DEPENDENCIES) 
++	@rm -f faccessat--secontext_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(faccessat__secontext_mismatch_OBJECTS) $(faccessat__secontext_mismatch_LDADD) $(LIBS)
++
+ faccessat-P$(EXEEXT): $(faccessat_P_OBJECTS) $(faccessat_P_DEPENDENCIES) $(EXTRA_faccessat_P_DEPENDENCIES) 
+ 	@rm -f faccessat-P$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(faccessat_P_OBJECTS) $(faccessat_P_LDADD) $(LIBS)
+@@ -7575,6 +7941,14 @@
+ 	@rm -f faccessat-y--secontext_full$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(faccessat_y__secontext_full_OBJECTS) $(faccessat_y__secontext_full_LDADD) $(LIBS)
+ 
++faccessat-y--secontext_full_mismatch$(EXEEXT): $(faccessat_y__secontext_full_mismatch_OBJECTS) $(faccessat_y__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_faccessat_y__secontext_full_mismatch_DEPENDENCIES) 
++	@rm -f faccessat-y--secontext_full_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(faccessat_y__secontext_full_mismatch_OBJECTS) $(faccessat_y__secontext_full_mismatch_LDADD) $(LIBS)
++
++faccessat-y--secontext_mismatch$(EXEEXT): $(faccessat_y__secontext_mismatch_OBJECTS) $(faccessat_y__secontext_mismatch_DEPENDENCIES) $(EXTRA_faccessat_y__secontext_mismatch_DEPENDENCIES) 
++	@rm -f faccessat-y--secontext_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(faccessat_y__secontext_mismatch_OBJECTS) $(faccessat_y__secontext_mismatch_LDADD) $(LIBS)
++
+ faccessat-yy$(EXEEXT): $(faccessat_yy_OBJECTS) $(faccessat_yy_DEPENDENCIES) $(EXTRA_faccessat_yy_DEPENDENCIES) 
+ 	@rm -f faccessat-yy$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(faccessat_yy_OBJECTS) $(faccessat_yy_LDADD) $(LIBS)
+@@ -7623,6 +7997,14 @@
+ 	@rm -f fanotify_mark--secontext_full$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(fanotify_mark__secontext_full_OBJECTS) $(fanotify_mark__secontext_full_LDADD) $(LIBS)
+ 
++fanotify_mark--secontext_full_mismatch$(EXEEXT): $(fanotify_mark__secontext_full_mismatch_OBJECTS) $(fanotify_mark__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_fanotify_mark__secontext_full_mismatch_DEPENDENCIES) 
++	@rm -f fanotify_mark--secontext_full_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(fanotify_mark__secontext_full_mismatch_OBJECTS) $(fanotify_mark__secontext_full_mismatch_LDADD) $(LIBS)
++
++fanotify_mark--secontext_mismatch$(EXEEXT): $(fanotify_mark__secontext_mismatch_OBJECTS) $(fanotify_mark__secontext_mismatch_DEPENDENCIES) $(EXTRA_fanotify_mark__secontext_mismatch_DEPENDENCIES) 
++	@rm -f fanotify_mark--secontext_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(fanotify_mark__secontext_mismatch_OBJECTS) $(fanotify_mark__secontext_mismatch_LDADD) $(LIBS)
++
+ fanotify_mark-Xabbrev$(EXEEXT): $(fanotify_mark_Xabbrev_OBJECTS) $(fanotify_mark_Xabbrev_DEPENDENCIES) $(EXTRA_fanotify_mark_Xabbrev_DEPENDENCIES) 
+ 	@rm -f fanotify_mark-Xabbrev$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(fanotify_mark_Xabbrev_OBJECTS) $(fanotify_mark_Xabbrev_LDADD) $(LIBS)
+@@ -7651,6 +8033,14 @@
+ 	@rm -f fchmod--secontext_full$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(fchmod__secontext_full_OBJECTS) $(fchmod__secontext_full_LDADD) $(LIBS)
+ 
++fchmod--secontext_full_mismatch$(EXEEXT): $(fchmod__secontext_full_mismatch_OBJECTS) $(fchmod__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_fchmod__secontext_full_mismatch_DEPENDENCIES) 
++	@rm -f fchmod--secontext_full_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(fchmod__secontext_full_mismatch_OBJECTS) $(fchmod__secontext_full_mismatch_LDADD) $(LIBS)
++
++fchmod--secontext_mismatch$(EXEEXT): $(fchmod__secontext_mismatch_OBJECTS) $(fchmod__secontext_mismatch_DEPENDENCIES) $(EXTRA_fchmod__secontext_mismatch_DEPENDENCIES) 
++	@rm -f fchmod--secontext_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(fchmod__secontext_mismatch_OBJECTS) $(fchmod__secontext_mismatch_LDADD) $(LIBS)
++
+ fchmod-y$(EXEEXT): $(fchmod_y_OBJECTS) $(fchmod_y_DEPENDENCIES) $(EXTRA_fchmod_y_DEPENDENCIES) 
+ 	@rm -f fchmod-y$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(fchmod_y_OBJECTS) $(fchmod_y_LDADD) $(LIBS)
+@@ -7663,6 +8053,14 @@
+ 	@rm -f fchmod-y--secontext_full$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(fchmod_y__secontext_full_OBJECTS) $(fchmod_y__secontext_full_LDADD) $(LIBS)
+ 
++fchmod-y--secontext_full_mismatch$(EXEEXT): $(fchmod_y__secontext_full_mismatch_OBJECTS) $(fchmod_y__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_fchmod_y__secontext_full_mismatch_DEPENDENCIES) 
++	@rm -f fchmod-y--secontext_full_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(fchmod_y__secontext_full_mismatch_OBJECTS) $(fchmod_y__secontext_full_mismatch_LDADD) $(LIBS)
++
++fchmod-y--secontext_mismatch$(EXEEXT): $(fchmod_y__secontext_mismatch_OBJECTS) $(fchmod_y__secontext_mismatch_DEPENDENCIES) $(EXTRA_fchmod_y__secontext_mismatch_DEPENDENCIES) 
++	@rm -f fchmod-y--secontext_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(fchmod_y__secontext_mismatch_OBJECTS) $(fchmod_y__secontext_mismatch_LDADD) $(LIBS)
++
+ fchmodat$(EXEEXT): $(fchmodat_OBJECTS) $(fchmodat_DEPENDENCIES) $(EXTRA_fchmodat_DEPENDENCIES) 
+ 	@rm -f fchmodat$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(fchmodat_OBJECTS) $(fchmodat_LDADD) $(LIBS)
+@@ -7675,6 +8073,14 @@
+ 	@rm -f fchmodat--secontext_full$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(fchmodat__secontext_full_OBJECTS) $(fchmodat__secontext_full_LDADD) $(LIBS)
+ 
++fchmodat--secontext_full_mismatch$(EXEEXT): $(fchmodat__secontext_full_mismatch_OBJECTS) $(fchmodat__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_fchmodat__secontext_full_mismatch_DEPENDENCIES) 
++	@rm -f fchmodat--secontext_full_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(fchmodat__secontext_full_mismatch_OBJECTS) $(fchmodat__secontext_full_mismatch_LDADD) $(LIBS)
++
++fchmodat--secontext_mismatch$(EXEEXT): $(fchmodat__secontext_mismatch_OBJECTS) $(fchmodat__secontext_mismatch_DEPENDENCIES) $(EXTRA_fchmodat__secontext_mismatch_DEPENDENCIES) 
++	@rm -f fchmodat--secontext_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(fchmodat__secontext_mismatch_OBJECTS) $(fchmodat__secontext_mismatch_LDADD) $(LIBS)
++
+ fchown$(EXEEXT): $(fchown_OBJECTS) $(fchown_DEPENDENCIES) $(EXTRA_fchown_DEPENDENCIES) 
+ 	@rm -f fchown$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(fchown_OBJECTS) $(fchown_LDADD) $(LIBS)
+@@ -7695,6 +8101,14 @@
+ 	@rm -f fchownat--secontext_full$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(fchownat__secontext_full_OBJECTS) $(fchownat__secontext_full_LDADD) $(LIBS)
+ 
++fchownat--secontext_full_mismatch$(EXEEXT): $(fchownat__secontext_full_mismatch_OBJECTS) $(fchownat__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_fchownat__secontext_full_mismatch_DEPENDENCIES) 
++	@rm -f fchownat--secontext_full_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(fchownat__secontext_full_mismatch_OBJECTS) $(fchownat__secontext_full_mismatch_LDADD) $(LIBS)
++
++fchownat--secontext_mismatch$(EXEEXT): $(fchownat__secontext_mismatch_OBJECTS) $(fchownat__secontext_mismatch_DEPENDENCIES) $(EXTRA_fchownat__secontext_mismatch_DEPENDENCIES) 
++	@rm -f fchownat--secontext_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(fchownat__secontext_mismatch_OBJECTS) $(fchownat__secontext_mismatch_LDADD) $(LIBS)
++
+ fcntl$(EXEEXT): $(fcntl_OBJECTS) $(fcntl_DEPENDENCIES) $(EXTRA_fcntl_DEPENDENCIES) 
+ 	@rm -f fcntl$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(fcntl_OBJECTS) $(fcntl_LDADD) $(LIBS)
+@@ -7731,6 +8145,14 @@
+ 	@rm -f file_handle--secontext_full$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(file_handle__secontext_full_OBJECTS) $(file_handle__secontext_full_LDADD) $(LIBS)
+ 
++file_handle--secontext_full_mismatch$(EXEEXT): $(file_handle__secontext_full_mismatch_OBJECTS) $(file_handle__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_file_handle__secontext_full_mismatch_DEPENDENCIES) 
++	@rm -f file_handle--secontext_full_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(file_handle__secontext_full_mismatch_OBJECTS) $(file_handle__secontext_full_mismatch_LDADD) $(LIBS)
++
++file_handle--secontext_mismatch$(EXEEXT): $(file_handle__secontext_mismatch_OBJECTS) $(file_handle__secontext_mismatch_DEPENDENCIES) $(EXTRA_file_handle__secontext_mismatch_DEPENDENCIES) 
++	@rm -f file_handle--secontext_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(file_handle__secontext_mismatch_OBJECTS) $(file_handle__secontext_mismatch_LDADD) $(LIBS)
++
+ filter-unavailable$(EXEEXT): $(filter_unavailable_OBJECTS) $(filter_unavailable_DEPENDENCIES) $(EXTRA_filter_unavailable_DEPENDENCIES) 
+ 	@rm -f filter-unavailable$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(filter_unavailable_OBJECTS) $(filter_unavailable_LDADD) $(LIBS)
+@@ -8775,6 +9197,14 @@
+ 	@rm -f linkat--secontext_full$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(linkat__secontext_full_OBJECTS) $(linkat__secontext_full_LDADD) $(LIBS)
+ 
++linkat--secontext_full_mismatch$(EXEEXT): $(linkat__secontext_full_mismatch_OBJECTS) $(linkat__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_linkat__secontext_full_mismatch_DEPENDENCIES) 
++	@rm -f linkat--secontext_full_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(linkat__secontext_full_mismatch_OBJECTS) $(linkat__secontext_full_mismatch_LDADD) $(LIBS)
++
++linkat--secontext_mismatch$(EXEEXT): $(linkat__secontext_mismatch_OBJECTS) $(linkat__secontext_mismatch_DEPENDENCIES) $(EXTRA_linkat__secontext_mismatch_DEPENDENCIES) 
++	@rm -f linkat--secontext_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(linkat__secontext_mismatch_OBJECTS) $(linkat__secontext_mismatch_LDADD) $(LIBS)
++
+ list_sigaction_signum$(EXEEXT): $(list_sigaction_signum_OBJECTS) $(list_sigaction_signum_DEPENDENCIES) $(EXTRA_list_sigaction_signum_DEPENDENCIES) 
+ 	@rm -f list_sigaction_signum$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(list_sigaction_signum_OBJECTS) $(list_sigaction_signum_LDADD) $(LIBS)
+@@ -9423,6 +9853,14 @@
+ 	@rm -f open--secontext_full$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(open__secontext_full_OBJECTS) $(open__secontext_full_LDADD) $(LIBS)
+ 
++open--secontext_full_mismatch$(EXEEXT): $(open__secontext_full_mismatch_OBJECTS) $(open__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_open__secontext_full_mismatch_DEPENDENCIES) 
++	@rm -f open--secontext_full_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(open__secontext_full_mismatch_OBJECTS) $(open__secontext_full_mismatch_LDADD) $(LIBS)
++
++open--secontext_mismatch$(EXEEXT): $(open__secontext_mismatch_OBJECTS) $(open__secontext_mismatch_DEPENDENCIES) $(EXTRA_open__secontext_mismatch_DEPENDENCIES) 
++	@rm -f open--secontext_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(open__secontext_mismatch_OBJECTS) $(open__secontext_mismatch_LDADD) $(LIBS)
++
+ open_tree$(EXEEXT): $(open_tree_OBJECTS) $(open_tree_DEPENDENCIES) $(EXTRA_open_tree_DEPENDENCIES) 
+ 	@rm -f open_tree$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(open_tree_OBJECTS) $(open_tree_LDADD) $(LIBS)
+@@ -9443,6 +9881,14 @@
+ 	@rm -f openat--secontext_full$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(openat__secontext_full_OBJECTS) $(openat__secontext_full_LDADD) $(LIBS)
+ 
++openat--secontext_full_mismatch$(EXEEXT): $(openat__secontext_full_mismatch_OBJECTS) $(openat__secontext_full_mismatch_DEPENDENCIES) $(EXTRA_openat__secontext_full_mismatch_DEPENDENCIES) 
++	@rm -f openat--secontext_full_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(openat__secontext_full_mismatch_OBJECTS) $(openat__secontext_full_mismatch_LDADD) $(LIBS)
++
++openat--secontext_mismatch$(EXEEXT): $(openat__secontext_mismatch_OBJECTS) $(openat__secontext_mismatch_DEPENDENCIES) $(EXTRA_openat__secontext_mismatch_DEPENDENCIES) 
++	@rm -f openat--secontext_mismatch$(EXEEXT)
++	$(AM_V_CCLD)$(LINK) $(openat__secontext_mismatch_OBJECTS) $(openat__secontext_mismatch_LDADD) $(LIBS)
++
+ openat2$(EXEEXT): $(openat2_OBJECTS) $(openat2_DEPENDENCIES) $(EXTRA_openat2_DEPENDENCIES) 
+ 	@rm -f openat2$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(openat2_OBJECTS) $(openat2_LDADD) $(LIBS)
+@@ -10835,6 +11281,8 @@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/accept4.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/access--secontext.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/access--secontext_full.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/access--secontext_full_mismatch.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/access--secontext_mismatch.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/access.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/acct.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/add_key.Po@am__quote@ # am--include-marker
+@@ -10867,6 +11315,8 @@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_sigign.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chmod--secontext.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chmod--secontext_full.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chmod--secontext_full_mismatch.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chmod--secontext_mismatch.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chmod.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chown.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chown32.Po@am__quote@ # am--include-marker
+@@ -10928,17 +11378,25 @@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eventfd.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execve--secontext.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execve--secontext_full.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execve--secontext_full_mismatch.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execve--secontext_mismatch.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execve-v.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execve.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execveat--secontext.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execveat--secontext_full.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execveat--secontext_full_mismatch.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execveat--secontext_mismatch.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execveat-v.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execveat.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat--secontext.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat--secontext_full.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat--secontext_full_mismatch.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat--secontext_mismatch.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat-P.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat-y--secontext.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat-y--secontext_full.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat-y--secontext_full_mismatch.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat-y--secontext_mismatch.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat-y.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat-yy.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faccessat.Po@am__quote@ # am--include-marker
+@@ -10952,6 +11410,8 @@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_init.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark--secontext.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark--secontext_full.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark--secontext_full_mismatch.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark--secontext_mismatch.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark-Xabbrev.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark-Xraw.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fanotify_mark-Xverbose.Po@am__quote@ # am--include-marker
+@@ -10959,17 +11419,25 @@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchdir.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod--secontext.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod--secontext_full.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod--secontext_full_mismatch.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod--secontext_mismatch.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod-y--secontext.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod-y--secontext_full.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod-y--secontext_full_mismatch.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod-y--secontext_mismatch.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod-y.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmod.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmodat--secontext.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmodat--secontext_full.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmodat--secontext_full_mismatch.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmodat--secontext_mismatch.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmodat.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchown.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchown32.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchownat--secontext.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchownat--secontext_full.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchownat--secontext_full_mismatch.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchownat--secontext_mismatch.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchownat.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcntl--pidns-translation.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcntl.Po@am__quote@ # am--include-marker
+@@ -10979,6 +11447,8 @@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fflush.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file_handle--secontext.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file_handle--secontext_full.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file_handle--secontext_full_mismatch.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file_handle--secontext_mismatch.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file_handle.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/filter-unavailable.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/filter_seccomp-flag.Po@am__quote@ # am--include-marker
+@@ -11276,6 +11746,8 @@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/link.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linkat--secontext.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linkat--secontext_full.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linkat--secontext_full_mismatch.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linkat--secontext_mismatch.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linkat.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/list_sigaction_signum.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/llseek.Po@am__quote@ # am--include-marker
+@@ -11438,11 +11910,15 @@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/oldstat.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open--secontext.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open--secontext_full.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open--secontext_full_mismatch.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open--secontext_mismatch.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open_tree-P.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open_tree.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat--secontext.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat--secontext_full.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat--secontext_full_mismatch.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat--secontext_mismatch.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat2-Xabbrev.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat2-Xraw.Po@am__quote@ # am--include-marker
+@@ -13004,6 +13480,12 @@
+ $(srcdir)/access--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
++$(srcdir)/access--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
++$(srcdir)/access--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
+ $(srcdir)/acct.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
+@@ -13055,6 +13537,12 @@
+ $(srcdir)/chmod--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
++$(srcdir)/chmod--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
++$(srcdir)/chmod--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
+ $(srcdir)/chown.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
+@@ -13220,6 +13708,12 @@
+ $(srcdir)/execve--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
++$(srcdir)/execve--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
++$(srcdir)/execve--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
+ $(srcdir)/execveat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
+@@ -13229,6 +13723,12 @@
+ $(srcdir)/execveat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
++$(srcdir)/execveat--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
++$(srcdir)/execveat--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
+ $(srcdir)/execveat-v.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
+@@ -13238,6 +13738,12 @@
+ $(srcdir)/faccessat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
++$(srcdir)/faccessat--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
++$(srcdir)/faccessat--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
+ $(srcdir)/faccessat-P.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
+@@ -13250,6 +13756,12 @@
+ $(srcdir)/faccessat-y--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
++$(srcdir)/faccessat-y--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
++$(srcdir)/faccessat-y--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
+ $(srcdir)/faccessat-yy.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
+@@ -13280,6 +13792,12 @@
+ $(srcdir)/fanotify_mark--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
++$(srcdir)/fanotify_mark--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
++$(srcdir)/fanotify_mark--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
+ $(srcdir)/fanotify_mark-Xabbrev.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
+@@ -13301,6 +13819,12 @@
+ $(srcdir)/fchmod--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
++$(srcdir)/fchmod--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
++$(srcdir)/fchmod--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
+ $(srcdir)/fchmod-y.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
+@@ -13310,6 +13834,12 @@
+ $(srcdir)/fchmod-y--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
++$(srcdir)/fchmod-y--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
++$(srcdir)/fchmod-y--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
+ $(srcdir)/fchmodat.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
+@@ -13319,6 +13849,12 @@
+ $(srcdir)/fchmodat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
++$(srcdir)/fchmodat--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
++$(srcdir)/fchmodat--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
+ $(srcdir)/fchown.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
+@@ -13334,6 +13870,12 @@
+ $(srcdir)/fchownat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
++$(srcdir)/fchownat--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
++$(srcdir)/fchownat--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
+ $(srcdir)/fcntl.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
+@@ -13358,6 +13900,12 @@
+ $(srcdir)/file_handle--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
++$(srcdir)/file_handle--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
++$(srcdir)/file_handle--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
+ $(srcdir)/filter_seccomp.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
+@@ -14117,6 +14665,12 @@
+ $(srcdir)/linkat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
++$(srcdir)/linkat--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
++$(srcdir)/linkat--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
+ $(srcdir)/lookup_dcookie.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
+@@ -14546,6 +15100,12 @@
+ $(srcdir)/open--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
++$(srcdir)/open--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
++$(srcdir)/open--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
+ $(srcdir)/open_tree.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
+@@ -14561,6 +15121,12 @@
+ $(srcdir)/openat--secontext_full.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
++$(srcdir)/openat--secontext_full_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
++$(srcdir)/openat--secontext_mismatch.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
++	$(AM_V_GEN) $^ $@
++
+ $(srcdir)/openat2.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
+ 	$(AM_V_GEN) $^ $@
+ 
+--- old/configure	2022-02-07 20:23:38.732063729 +0100
++++ configure	2022-02-07 20:24:00.604063427 +0100
+@@ -18438,7 +18438,7 @@
+   saved_LDFLAGS="$LDFLAGS"
+ 	      LDFLAGS="$LDFLAGS $libselinux_LDFLAGS"
+ 	      missing=
+-	      for func in getpidcon getfilecon; do
++	      for func in getpidcon getfilecon selabel_open selabel_lookup; do
+ 		as_ac_Lib=`$as_echo "ac_cv_lib_selinux_$func" | $as_tr_sh`
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $func in -lselinux" >&5
+ $as_echo_n "checking for $func in -lselinux... " >&6; }
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests/access--secontext_mismatch.c	2022-02-07 20:42:23.500048176 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "access--secontext.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests/chmod--secontext_mismatch.c	2022-02-07 20:42:23.500048176 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "chmod--secontext.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests/execveat--secontext_mismatch.c	2022-02-07 20:42:23.504048176 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "execveat--secontext.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests/execve--secontext_mismatch.c	2022-02-07 20:42:23.504048176 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "execve--secontext.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests/faccessat--secontext_mismatch.c	2022-02-07 20:42:23.504048176 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "faccessat--secontext.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests/faccessat-y--secontext_mismatch.c	2022-02-07 20:42:23.508048176 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "faccessat-y--secontext.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests/fanotify_mark--secontext_mismatch.c	2022-02-07 20:42:23.508048176 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "fanotify_mark--secontext.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests/fchmodat--secontext_mismatch.c	2022-02-07 20:42:23.512048175 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "fchmodat--secontext.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests/fchmod--secontext_mismatch.c	2022-02-07 20:42:23.512048175 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "fchmod--secontext.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests/fchmod-y--secontext_mismatch.c	2022-02-07 20:42:23.512048175 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "fchmod-y--secontext.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests/fchownat--secontext_mismatch.c	2022-02-07 20:42:23.516048175 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "fchownat--secontext.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests/file_handle--secontext_mismatch.c	2022-02-07 20:42:23.516048175 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "file_handle--secontext.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests/linkat--secontext_mismatch.c	2022-02-07 20:42:23.520048175 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "linkat--secontext.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests-m32/access--secontext_mismatch.c	2022-02-07 20:42:23.500048176 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "access--secontext.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests-m32/chmod--secontext_mismatch.c	2022-02-07 20:42:23.500048176 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "chmod--secontext.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests-m32/execveat--secontext_mismatch.c	2022-02-07 20:42:23.504048176 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "execveat--secontext.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests-m32/execve--secontext_mismatch.c	2022-02-07 20:42:23.504048176 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "execve--secontext.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests-m32/faccessat--secontext_mismatch.c	2022-02-07 20:42:23.504048176 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "faccessat--secontext.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests-m32/faccessat-y--secontext_mismatch.c	2022-02-07 20:42:23.508048176 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "faccessat-y--secontext.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests-m32/fanotify_mark--secontext_mismatch.c	2022-02-07 20:42:23.508048176 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "fanotify_mark--secontext.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests-m32/fchmodat--secontext_mismatch.c	2022-02-07 20:42:23.512048175 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "fchmodat--secontext.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests-m32/fchmod--secontext_mismatch.c	2022-02-07 20:42:23.512048175 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "fchmod--secontext.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests-m32/fchmod-y--secontext_mismatch.c	2022-02-07 20:42:23.512048175 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "fchmod-y--secontext.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests-m32/fchownat--secontext_mismatch.c	2022-02-07 20:42:23.516048175 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "fchownat--secontext.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests-m32/file_handle--secontext_mismatch.c	2022-02-07 20:42:23.516048175 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "file_handle--secontext.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests-m32/linkat--secontext_mismatch.c	2022-02-07 20:42:23.520048175 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "linkat--secontext.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests-m32/openat--secontext_mismatch.c	2022-02-07 20:42:23.520048175 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "openat--secontext.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests-m32/open--secontext_mismatch.c	2022-02-07 20:42:23.520048175 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "open--secontext.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests-mx32/access--secontext_mismatch.c	2022-02-07 20:42:23.500048176 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "access--secontext.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests-mx32/chmod--secontext_mismatch.c	2022-02-07 20:42:23.500048176 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "chmod--secontext.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests-mx32/execveat--secontext_mismatch.c	2022-02-07 20:42:23.504048176 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "execveat--secontext.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests-mx32/execve--secontext_mismatch.c	2022-02-07 20:42:23.504048176 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "execve--secontext.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests-mx32/faccessat--secontext_mismatch.c	2022-02-07 20:42:23.504048176 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "faccessat--secontext.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests-mx32/faccessat-y--secontext_mismatch.c	2022-02-07 20:42:23.508048176 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "faccessat-y--secontext.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests-mx32/fanotify_mark--secontext_mismatch.c	2022-02-07 20:42:23.508048176 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "fanotify_mark--secontext.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests-mx32/fchmodat--secontext_mismatch.c	2022-02-07 20:42:23.512048175 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "fchmodat--secontext.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests-mx32/fchmod--secontext_mismatch.c	2022-02-07 20:42:23.512048175 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "fchmod--secontext.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests-mx32/fchmod-y--secontext_mismatch.c	2022-02-07 20:42:23.512048175 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "fchmod-y--secontext.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests-mx32/fchownat--secontext_mismatch.c	2022-02-07 20:42:23.516048175 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "fchownat--secontext.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests-mx32/file_handle--secontext_mismatch.c	2022-02-07 20:42:23.516048175 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "file_handle--secontext.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests-mx32/linkat--secontext_mismatch.c	2022-02-07 20:42:23.520048175 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "linkat--secontext.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests-mx32/openat--secontext_mismatch.c	2022-02-07 20:42:23.520048175 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "openat--secontext.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests-mx32/open--secontext_mismatch.c	2022-02-07 20:42:23.520048175 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "open--secontext.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests/openat--secontext_mismatch.c	2022-02-07 20:42:23.520048175 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "openat--secontext.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests/open--secontext_mismatch.c	2022-02-07 20:42:23.520048175 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "open--secontext.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests/access--secontext_full_mismatch.c	2022-02-07 20:42:23.500048176 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "access--secontext_full.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests/chmod--secontext_full_mismatch.c	2022-02-07 20:42:23.500048176 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "chmod--secontext_full.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests/execveat--secontext_full_mismatch.c	2022-02-07 20:42:23.504048176 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "execveat--secontext_full.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests/execve--secontext_full_mismatch.c	2022-02-07 20:42:23.500048176 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "execve--secontext_full.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests/faccessat--secontext_full_mismatch.c	2022-02-07 20:42:23.504048176 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "faccessat--secontext_full.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests/faccessat-y--secontext_full_mismatch.c	2022-02-07 20:42:23.508048176 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "faccessat-y--secontext_full.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests/fanotify_mark--secontext_full_mismatch.c	2022-02-07 20:42:23.508048176 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "fanotify_mark--secontext_full.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests/fchmodat--secontext_full_mismatch.c	2022-02-07 20:42:23.512048175 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "fchmodat--secontext_full.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests/fchmod--secontext_full_mismatch.c	2022-02-07 20:42:23.508048176 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "fchmod--secontext_full.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests/fchmod-y--secontext_full_mismatch.c	2022-02-07 20:42:23.512048175 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "fchmod-y--secontext_full.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests/fchownat--secontext_full_mismatch.c	2022-02-07 20:42:23.516048175 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "fchownat--secontext_full.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests/file_handle--secontext_full_mismatch.c	2022-02-07 20:42:23.516048175 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "file_handle--secontext_full.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests/linkat--secontext_full_mismatch.c	2022-02-07 20:42:23.516048175 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "linkat--secontext_full.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests-m32/access--secontext_full_mismatch.c	2022-02-07 20:42:23.500048176 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "access--secontext_full.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests-m32/chmod--secontext_full_mismatch.c	2022-02-07 20:42:23.500048176 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "chmod--secontext_full.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests-m32/execveat--secontext_full_mismatch.c	2022-02-07 20:42:23.504048176 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "execveat--secontext_full.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests-m32/execve--secontext_full_mismatch.c	2022-02-07 20:42:23.500048176 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "execve--secontext_full.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests-m32/faccessat--secontext_full_mismatch.c	2022-02-07 20:42:23.504048176 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "faccessat--secontext_full.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests-m32/faccessat-y--secontext_full_mismatch.c	2022-02-07 20:42:23.508048176 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "faccessat-y--secontext_full.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests-m32/fanotify_mark--secontext_full_mismatch.c	2022-02-07 20:42:23.508048176 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "fanotify_mark--secontext_full.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests-m32/fchmodat--secontext_full_mismatch.c	2022-02-07 20:42:23.512048175 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "fchmodat--secontext_full.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests-m32/fchmod--secontext_full_mismatch.c	2022-02-07 20:42:23.508048176 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "fchmod--secontext_full.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests-m32/fchmod-y--secontext_full_mismatch.c	2022-02-07 20:42:23.512048175 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "fchmod-y--secontext_full.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests-m32/fchownat--secontext_full_mismatch.c	2022-02-07 20:42:23.516048175 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "fchownat--secontext_full.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests-m32/file_handle--secontext_full_mismatch.c	2022-02-07 20:42:23.516048175 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "file_handle--secontext_full.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests-m32/linkat--secontext_full_mismatch.c	2022-02-07 20:42:23.516048175 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "linkat--secontext_full.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests-m32/openat--secontext_full_mismatch.c	2022-02-07 20:42:23.520048175 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "openat--secontext_full.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests-m32/open--secontext_full_mismatch.c	2022-02-07 20:42:23.520048175 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "open--secontext_full.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests-mx32/access--secontext_full_mismatch.c	2022-02-07 20:42:23.500048176 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "access--secontext_full.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests-mx32/chmod--secontext_full_mismatch.c	2022-02-07 20:42:23.500048176 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "chmod--secontext_full.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests-mx32/execveat--secontext_full_mismatch.c	2022-02-07 20:42:23.504048176 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "execveat--secontext_full.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests-mx32/execve--secontext_full_mismatch.c	2022-02-07 20:42:23.500048176 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "execve--secontext_full.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests-mx32/faccessat--secontext_full_mismatch.c	2022-02-07 20:42:23.504048176 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "faccessat--secontext_full.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests-mx32/faccessat-y--secontext_full_mismatch.c	2022-02-07 20:42:23.508048176 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "faccessat-y--secontext_full.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests-mx32/fanotify_mark--secontext_full_mismatch.c	2022-02-07 20:42:23.508048176 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "fanotify_mark--secontext_full.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests-mx32/fchmodat--secontext_full_mismatch.c	2022-02-07 20:42:23.512048175 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "fchmodat--secontext_full.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests-mx32/fchmod--secontext_full_mismatch.c	2022-02-07 20:42:23.508048176 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "fchmod--secontext_full.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests-mx32/fchmod-y--secontext_full_mismatch.c	2022-02-07 20:42:23.512048175 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "fchmod-y--secontext_full.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests-mx32/fchownat--secontext_full_mismatch.c	2022-02-07 20:42:23.516048175 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "fchownat--secontext_full.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests-mx32/file_handle--secontext_full_mismatch.c	2022-02-07 20:42:23.516048175 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "file_handle--secontext_full.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests-mx32/linkat--secontext_full_mismatch.c	2022-02-07 20:42:23.516048175 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "linkat--secontext_full.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests-mx32/openat--secontext_full_mismatch.c	2022-02-07 20:42:23.520048175 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "openat--secontext_full.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests-mx32/open--secontext_full_mismatch.c	2022-02-07 20:42:23.520048175 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "open--secontext_full.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests/openat--secontext_full_mismatch.c	2022-02-07 20:42:23.520048175 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "openat--secontext_full.c"
+--- /dev/null	2022-02-02 22:09:50.443209891 +0100
++++ new/tests/open--secontext_full_mismatch.c	2022-02-07 20:42:23.520048175 +0100
+@@ -0,0 +1,2 @@
++#define PRINT_SECONTEXT_MISMATCH
++#include "open--secontext_full.c"
+-- 
+2.1.4
+
diff --git a/SOURCES/0170-tests-linkat-reset-errno-before-SELinux-context-mani.patch b/SOURCES/0170-tests-linkat-reset-errno-before-SELinux-context-mani.patch
new file mode 100644
index 0000000..78f92d3
--- /dev/null
+++ b/SOURCES/0170-tests-linkat-reset-errno-before-SELinux-context-mani.patch
@@ -0,0 +1,122 @@
+From f5fd689e40322a7b08a97eb2d26f192610728230 Mon Sep 17 00:00:00 2001
+From: Eugene Syromyatnikov <evgsyr@gmail.com>
+Date: Tue, 18 Jan 2022 16:10:28 +0100
+Subject: [PATCH 170/174] tests/linkat: reset errno before SELinux context
+ manipulation
+
+To avoid printing a stale error information in case of mismatch check
+failure.
+
+* tests/linkat.c: Include <errno.h>.
+(main): Add "errno = 0" before update_secontext_field calls.
+---
+ tests/linkat.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/tests/linkat.c b/tests/linkat.c
+index 1a869e3..c3e2ee4 100644
+--- a/tests/linkat.c
++++ b/tests/linkat.c
+@@ -10,6 +10,7 @@
+ #include "tests.h"
+ #include "scno.h"
+ 
++#include <errno.h>
+ #include <fcntl.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+@@ -91,6 +92,7 @@ main(void)
+ 	free(sample_1_secontext);
+ 
+ #ifdef PRINT_SECONTEXT_MISMATCH
++	errno = 0;
+ 	update_secontext_field(sample_1, SECONTEXT_USER, "system_u");
+ 	sample_1_secontext = SECONTEXT_FILE(sample_1);
+ 
+@@ -112,6 +114,7 @@ main(void)
+ 	free(sample_1_secontext);
+ #endif
+ 
++	errno = 0;
+ 	update_secontext_field(sample_1, SECONTEXT_TYPE, "default_t");
+ 	sample_1_secontext = SECONTEXT_FILE(sample_1);
+ 	sample_2_secontext = sample_1_secontext;
+@@ -142,6 +145,7 @@ main(void)
+ 	int dfd_old = get_dir_fd(".");
+ 	char *cwd = get_fd_path(dfd_old);
+ 
++	errno = 0;
+ 	update_secontext_field(".", SECONTEXT_TYPE, "default_t");
+ 	char *dfd_old_secontext = SECONTEXT_FILE(".");
+ 
+--- a/tests-m32/linkat.c
++++ b/tests-m32/linkat.c
+@@ -10,6 +10,7 @@
+ #include "tests.h"
+ #include "scno.h"
+ 
++#include <errno.h>
+ #include <fcntl.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+@@ -91,6 +92,7 @@ main(void)
+ 	free(sample_1_secontext);
+ 
+ #ifdef PRINT_SECONTEXT_MISMATCH
++	errno = 0;
+ 	update_secontext_field(sample_1, SECONTEXT_USER, "system_u");
+ 	sample_1_secontext = SECONTEXT_FILE(sample_1);
+ 
+@@ -112,6 +114,7 @@ main(void)
+ 	free(sample_1_secontext);
+ #endif
+ 
++	errno = 0;
+ 	update_secontext_field(sample_1, SECONTEXT_TYPE, "default_t");
+ 	sample_1_secontext = SECONTEXT_FILE(sample_1);
+ 	sample_2_secontext = sample_1_secontext;
+@@ -142,6 +145,7 @@ main(void)
+ 	int dfd_old = get_dir_fd(".");
+ 	char *cwd = get_fd_path(dfd_old);
+ 
++	errno = 0;
+ 	update_secontext_field(".", SECONTEXT_TYPE, "default_t");
+ 	char *dfd_old_secontext = SECONTEXT_FILE(".");
+ 
+--- a/tests-mx32/linkat.c
++++ b/tests-mx32/linkat.c
+@@ -10,6 +10,7 @@
+ #include "tests.h"
+ #include "scno.h"
+ 
++#include <errno.h>
+ #include <fcntl.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+@@ -91,6 +92,7 @@ main(void)
+ 	free(sample_1_secontext);
+ 
+ #ifdef PRINT_SECONTEXT_MISMATCH
++	errno = 0;
+ 	update_secontext_field(sample_1, SECONTEXT_USER, "system_u");
+ 	sample_1_secontext = SECONTEXT_FILE(sample_1);
+ 
+@@ -112,6 +114,7 @@ main(void)
+ 	free(sample_1_secontext);
+ #endif
+ 
++	errno = 0;
+ 	update_secontext_field(sample_1, SECONTEXT_TYPE, "default_t");
+ 	sample_1_secontext = SECONTEXT_FILE(sample_1);
+ 	sample_2_secontext = sample_1_secontext;
+@@ -142,6 +145,7 @@ main(void)
+ 	int dfd_old = get_dir_fd(".");
+ 	char *cwd = get_fd_path(dfd_old);
+ 
++	errno = 0;
+ 	update_secontext_field(".", SECONTEXT_TYPE, "default_t");
+ 	char *dfd_old_secontext = SECONTEXT_FILE(".");
+ 
+-- 
+2.1.4
+
diff --git a/SOURCES/0171-tests-secontext-add-secontext-field-getters.patch b/SOURCES/0171-tests-secontext-add-secontext-field-getters.patch
new file mode 100644
index 0000000..fce5e5a
--- /dev/null
+++ b/SOURCES/0171-tests-secontext-add-secontext-field-getters.patch
@@ -0,0 +1,356 @@
+From 4951286eb634c00c11883b851c91f3a21975eabd Mon Sep 17 00:00:00 2001
+From: Eugene Syromyatnikov <evgsyr@gmail.com>
+Date: Tue, 18 Jan 2022 18:03:57 +0100
+Subject: [PATCH 171/174] tests/secontext: add secontext field getters
+
+* tests/secontext.h (get_secontext_field, get_secontext_field_file): New
+declarations.
+* tests/secontext.c (get_type_from_context): Rename to...
+(get_secontext_field): ...this;  remove "static" qualifier;  add "field"
+argument, use it.
+(raw_expected_secontext_short_file, raw_secontext_short_pid): Replace
+get_type_from_context call with get_secontext_field.
+(get_secontext_field_file): New function.
+(raw_secontext_short_file): Replace body with get_secontext_field_file
+call.
+---
+ tests/secontext.c | 27 +++++++++++++++------------
+ tests/secontext.h | 20 ++++++++++++++++++++
+ 2 files changed, 35 insertions(+), 12 deletions(-)
+
+diff --git a/tests/secontext.c b/tests/secontext.c
+index 848eea9..52211ed 100644
+--- a/tests/secontext.c
++++ b/tests/secontext.c
+@@ -56,8 +56,8 @@ strip_trailing_newlines(char *context)
+ 	return context;
+ }
+ 
+-static char *
+-get_type_from_context(const char *full_context)
++char *
++get_secontext_field(const char *full_context, enum secontext_field field)
+ {
+ 	int saved_errno = errno;
+ 
+@@ -72,7 +72,7 @@ get_type_from_context(const char *full_context)
+ 	char *context = NULL;
+ 	for (token = strtok_r(ctx_copy, ":", &saveptr), i = 0;
+ 	     token; token = strtok_r(NULL, ":", &saveptr), i++) {
+-		if (i == 2) {
++		if (i == field) {
+ 			context = xstrdup(token);
+ 			break;
+ 		}
+@@ -122,7 +122,7 @@ raw_expected_secontext_short_file(const char *filename)
+ 	int saved_errno = errno;
+ 
+ 	char *ctx = raw_expected_secontext_full_file(filename);
+-	char *type = get_type_from_context(ctx);
++	char *type = get_secontext_field(ctx, SECONTEXT_TYPE);
+ 	free(ctx);
+ 
+ 	errno = saved_errno;
+@@ -144,20 +144,23 @@ raw_secontext_full_file(const char *filename)
+ 	return full_secontext;
+ }
+ 
+-static char *
+-raw_secontext_short_file(const char *filename)
++char *
++get_secontext_field_file(const char *file, enum secontext_field field)
+ {
+-	int saved_errno = errno;
+-
+-	char *ctx = raw_secontext_full_file(filename);
+-	char *type = get_type_from_context(ctx);
++	char *ctx = raw_secontext_full_file(file);
++	char *type =  get_secontext_field(ctx, field);
+ 	free(ctx);
+ 
+-	errno = saved_errno;
+ 	return type;
+ }
+ 
+ static char *
++raw_secontext_short_file(const char *filename)
++{
++	return get_secontext_field_file(filename, SECONTEXT_TYPE);
++}
++
++static char *
+ raw_secontext_full_pid(pid_t pid)
+ {
+ 	int saved_errno = errno;
+@@ -178,7 +181,7 @@ raw_secontext_short_pid(pid_t pid)
+ 	int saved_errno = errno;
+ 
+ 	char *ctx = raw_secontext_full_pid(pid);
+-	char *type = get_type_from_context(ctx);
++	char *type = get_secontext_field(ctx, SECONTEXT_TYPE);
+ 	free(ctx);
+ 
+ 	errno = saved_errno;
+diff --git a/tests/secontext.h b/tests/secontext.h
+index 1d0251a..e5571d5 100644
+--- a/tests/secontext.h
++++ b/tests/secontext.h
+@@ -23,6 +23,15 @@ enum secontext_field {
+ 
+ #if defined TEST_SECONTEXT && defined HAVE_SELINUX_RUNTIME
+ 
++/**
++ * Parse a SELinux context string and return a specified field, duplicated
++ * in a separate string.  The caller is responsible for freeing the memory
++ * pointed by the returned value.
++ */
++char *get_secontext_field(const char *full_context, enum secontext_field field);
++
++char *get_secontext_field_file(const char *file, enum secontext_field field);
++
+ void update_secontext_field(const char *file, enum secontext_field field,
+ 			    const char *newvalue);
+ 
+@@ -48,6 +57,17 @@ void update_secontext_field(const char *file, enum secontext_field field,
+ 
+ #else
+ 
++static inline char *
++get_secontext_field(const char *ctx, enum secontext_field field)
++{
++	return NULL;
++}
++static inline char *
++get_secontext_field_file(const char *file, enum secontext_field field)
++{
++	return NULL;
++}
++
+ static inline void
+ update_secontext_field(const char *file, enum secontext_field field,
+ 		       const char *newvalue)
+diff --git a/tests-m32/secontext.c b/tests-m32/secontext.c
+index 848eea9..52211ed 100644
+--- a/tests-m32/secontext.c
++++ b/tests-m32/secontext.c
+@@ -56,8 +56,8 @@ strip_trailing_newlines(char *context)
+ 	return context;
+ }
+ 
+-static char *
+-get_type_from_context(const char *full_context)
++char *
++get_secontext_field(const char *full_context, enum secontext_field field)
+ {
+ 	int saved_errno = errno;
+ 
+@@ -72,7 +72,7 @@ get_type_from_context(const char *full_context)
+ 	char *context = NULL;
+ 	for (token = strtok_r(ctx_copy, ":", &saveptr), i = 0;
+ 	     token; token = strtok_r(NULL, ":", &saveptr), i++) {
+-		if (i == 2) {
++		if (i == field) {
+ 			context = xstrdup(token);
+ 			break;
+ 		}
+@@ -122,7 +122,7 @@ raw_expected_secontext_short_file(const char *filename)
+ 	int saved_errno = errno;
+ 
+ 	char *ctx = raw_expected_secontext_full_file(filename);
+-	char *type = get_type_from_context(ctx);
++	char *type = get_secontext_field(ctx, SECONTEXT_TYPE);
+ 	free(ctx);
+ 
+ 	errno = saved_errno;
+@@ -144,20 +144,23 @@ raw_secontext_full_file(const char *filename)
+ 	return full_secontext;
+ }
+ 
+-static char *
+-raw_secontext_short_file(const char *filename)
++char *
++get_secontext_field_file(const char *file, enum secontext_field field)
+ {
+-	int saved_errno = errno;
+-
+-	char *ctx = raw_secontext_full_file(filename);
+-	char *type = get_type_from_context(ctx);
++	char *ctx = raw_secontext_full_file(file);
++	char *type =  get_secontext_field(ctx, field);
+ 	free(ctx);
+ 
+-	errno = saved_errno;
+ 	return type;
+ }
+ 
+ static char *
++raw_secontext_short_file(const char *filename)
++{
++	return get_secontext_field_file(filename, SECONTEXT_TYPE);
++}
++
++static char *
+ raw_secontext_full_pid(pid_t pid)
+ {
+ 	int saved_errno = errno;
+@@ -178,7 +181,7 @@ raw_secontext_short_pid(pid_t pid)
+ 	int saved_errno = errno;
+ 
+ 	char *ctx = raw_secontext_full_pid(pid);
+-	char *type = get_type_from_context(ctx);
++	char *type = get_secontext_field(ctx, SECONTEXT_TYPE);
+ 	free(ctx);
+ 
+ 	errno = saved_errno;
+diff --git a/tests-m32/secontext.h b/tests-m32/secontext.h
+index 1d0251a..e5571d5 100644
+--- a/tests-m32/secontext.h
++++ b/tests-m32/secontext.h
+@@ -23,6 +23,15 @@ enum secontext_field {
+ 
+ #if defined TEST_SECONTEXT && defined HAVE_SELINUX_RUNTIME
+ 
++/**
++ * Parse a SELinux context string and return a specified field, duplicated
++ * in a separate string.  The caller is responsible for freeing the memory
++ * pointed by the returned value.
++ */
++char *get_secontext_field(const char *full_context, enum secontext_field field);
++
++char *get_secontext_field_file(const char *file, enum secontext_field field);
++
+ void update_secontext_field(const char *file, enum secontext_field field,
+ 			    const char *newvalue);
+ 
+@@ -48,6 +57,17 @@ void update_secontext_field(const char *file, enum secontext_field field,
+ 
+ #else
+ 
++static inline char *
++get_secontext_field(const char *ctx, enum secontext_field field)
++{
++	return NULL;
++}
++static inline char *
++get_secontext_field_file(const char *file, enum secontext_field field)
++{
++	return NULL;
++}
++
+ static inline void
+ update_secontext_field(const char *file, enum secontext_field field,
+ 		       const char *newvalue)
+diff --git a/tests-mx32/secontext.c b/tests-mx32/secontext.c
+index 848eea9..52211ed 100644
+--- a/tests-mx32/secontext.c
++++ b/tests-mx32/secontext.c
+@@ -56,8 +56,8 @@ strip_trailing_newlines(char *context)
+ 	return context;
+ }
+ 
+-static char *
+-get_type_from_context(const char *full_context)
++char *
++get_secontext_field(const char *full_context, enum secontext_field field)
+ {
+ 	int saved_errno = errno;
+ 
+@@ -72,7 +72,7 @@ get_type_from_context(const char *full_context)
+ 	char *context = NULL;
+ 	for (token = strtok_r(ctx_copy, ":", &saveptr), i = 0;
+ 	     token; token = strtok_r(NULL, ":", &saveptr), i++) {
+-		if (i == 2) {
++		if (i == field) {
+ 			context = xstrdup(token);
+ 			break;
+ 		}
+@@ -122,7 +122,7 @@ raw_expected_secontext_short_file(const char *filename)
+ 	int saved_errno = errno;
+ 
+ 	char *ctx = raw_expected_secontext_full_file(filename);
+-	char *type = get_type_from_context(ctx);
++	char *type = get_secontext_field(ctx, SECONTEXT_TYPE);
+ 	free(ctx);
+ 
+ 	errno = saved_errno;
+@@ -144,20 +144,23 @@ raw_secontext_full_file(const char *filename)
+ 	return full_secontext;
+ }
+ 
+-static char *
+-raw_secontext_short_file(const char *filename)
++char *
++get_secontext_field_file(const char *file, enum secontext_field field)
+ {
+-	int saved_errno = errno;
+-
+-	char *ctx = raw_secontext_full_file(filename);
+-	char *type = get_type_from_context(ctx);
++	char *ctx = raw_secontext_full_file(file);
++	char *type =  get_secontext_field(ctx, field);
+ 	free(ctx);
+ 
+-	errno = saved_errno;
+ 	return type;
+ }
+ 
+ static char *
++raw_secontext_short_file(const char *filename)
++{
++	return get_secontext_field_file(filename, SECONTEXT_TYPE);
++}
++
++static char *
+ raw_secontext_full_pid(pid_t pid)
+ {
+ 	int saved_errno = errno;
+@@ -178,7 +181,7 @@ raw_secontext_short_pid(pid_t pid)
+ 	int saved_errno = errno;
+ 
+ 	char *ctx = raw_secontext_full_pid(pid);
+-	char *type = get_type_from_context(ctx);
++	char *type = get_secontext_field(ctx, SECONTEXT_TYPE);
+ 	free(ctx);
+ 
+ 	errno = saved_errno;
+diff --git a/tests-mx32/secontext.h b/tests-mx32/secontext.h
+index 1d0251a..e5571d5 100644
+--- a/tests-mx32/secontext.h
++++ b/tests-mx32/secontext.h
+@@ -23,6 +23,15 @@ enum secontext_field {
+ 
+ #if defined TEST_SECONTEXT && defined HAVE_SELINUX_RUNTIME
+ 
++/**
++ * Parse a SELinux context string and return a specified field, duplicated
++ * in a separate string.  The caller is responsible for freeing the memory
++ * pointed by the returned value.
++ */
++char *get_secontext_field(const char *full_context, enum secontext_field field);
++
++char *get_secontext_field_file(const char *file, enum secontext_field field);
++
+ void update_secontext_field(const char *file, enum secontext_field field,
+ 			    const char *newvalue);
+ 
+@@ -48,6 +57,17 @@ void update_secontext_field(const char *file, enum secontext_field field,
+ 
+ #else
+ 
++static inline char *
++get_secontext_field(const char *ctx, enum secontext_field field)
++{
++	return NULL;
++}
++static inline char *
++get_secontext_field_file(const char *file, enum secontext_field field)
++{
++	return NULL;
++}
++
+ static inline void
+ update_secontext_field(const char *file, enum secontext_field field,
+ 		       const char *newvalue)
+-- 
+2.1.4
+
diff --git a/SOURCES/0172-tests-linkat-provide-fallback-values-for-secontext-f.patch b/SOURCES/0172-tests-linkat-provide-fallback-values-for-secontext-f.patch
new file mode 100644
index 0000000..066c93a
--- /dev/null
+++ b/SOURCES/0172-tests-linkat-provide-fallback-values-for-secontext-f.patch
@@ -0,0 +1,181 @@
+From 97e2742a7f1e6e113354911d04505ada3bfb5d70 Mon Sep 17 00:00:00 2001
+From: Eugene Syromyatnikov <evgsyr@gmail.com>
+Date: Tue, 18 Jan 2022 18:04:42 +0100
+Subject: [PATCH 172/174] tests/linkat: provide fallback values for secontext
+ fields changes
+
+* tests/linkat.c (mangle_secontext_field): New function.
+(main): Replace calls to update_secontext_field
+with mangle_secontext_field calls.
+---
+ tests/linkat.c | 23 ++++++++++++++++++++---
+ 1 file changed, 20 insertions(+), 3 deletions(-)
+
+diff --git a/tests/linkat.c b/tests/linkat.c
+index c3e2ee4..decb736 100644
+--- a/tests/linkat.c
++++ b/tests/linkat.c
+@@ -21,6 +21,20 @@
+ #include "secontext.h"
+ #include "xmalloc.h"
+ 
++static void
++mangle_secontext_field(const char *path, enum secontext_field field,
++		       const char *new_val, const char *fallback_val)
++{
++	char *orig = get_secontext_field_file(path, field);
++	if (!orig)
++		return;
++
++	update_secontext_field(path, field,
++			       strcmp(new_val, orig) ? new_val : fallback_val);
++
++	free(orig);
++}
++
+ int
+ main(void)
+ {
+@@ -93,7 +107,8 @@ main(void)
+ 
+ #ifdef PRINT_SECONTEXT_MISMATCH
+ 	errno = 0;
+-	update_secontext_field(sample_1, SECONTEXT_USER, "system_u");
++	mangle_secontext_field(sample_1, SECONTEXT_USER, "system_u",
++							 "unconfined_u");
+ 	sample_1_secontext = SECONTEXT_FILE(sample_1);
+ 
+ # ifdef PRINT_SECONTEXT_FULL
+@@ -115,7 +130,8 @@ main(void)
+ #endif
+ 
+ 	errno = 0;
+-	update_secontext_field(sample_1, SECONTEXT_TYPE, "default_t");
++	mangle_secontext_field(sample_1, SECONTEXT_TYPE, "default_t",
++							 "unconfined_t");
+ 	sample_1_secontext = SECONTEXT_FILE(sample_1);
+ 	sample_2_secontext = sample_1_secontext;
+ 
+@@ -146,7 +162,8 @@ main(void)
+ 	char *cwd = get_fd_path(dfd_old);
+ 
+ 	errno = 0;
+-	update_secontext_field(".", SECONTEXT_TYPE, "default_t");
++	mangle_secontext_field(".", SECONTEXT_TYPE, "default_t",
++						    "unconfined_t");
+ 	char *dfd_old_secontext = SECONTEXT_FILE(".");
+ 
+ #ifdef PRINT_SECONTEXT_MISMATCH
+diff --git a/tests-m32/linkat.c b/tests-m32/linkat.c
+index c3e2ee4..decb736 100644
+--- a/tests-m32/linkat.c
++++ b/tests-m32/linkat.c
+@@ -21,6 +21,20 @@
+ #include "secontext.h"
+ #include "xmalloc.h"
+ 
++static void
++mangle_secontext_field(const char *path, enum secontext_field field,
++		       const char *new_val, const char *fallback_val)
++{
++	char *orig = get_secontext_field_file(path, field);
++	if (!orig)
++		return;
++
++	update_secontext_field(path, field,
++			       strcmp(new_val, orig) ? new_val : fallback_val);
++
++	free(orig);
++}
++
+ int
+ main(void)
+ {
+@@ -93,7 +107,8 @@ main(void)
+ 
+ #ifdef PRINT_SECONTEXT_MISMATCH
+ 	errno = 0;
+-	update_secontext_field(sample_1, SECONTEXT_USER, "system_u");
++	mangle_secontext_field(sample_1, SECONTEXT_USER, "system_u",
++							 "unconfined_u");
+ 	sample_1_secontext = SECONTEXT_FILE(sample_1);
+ 
+ # ifdef PRINT_SECONTEXT_FULL
+@@ -115,7 +130,8 @@ main(void)
+ #endif
+ 
+ 	errno = 0;
+-	update_secontext_field(sample_1, SECONTEXT_TYPE, "default_t");
++	mangle_secontext_field(sample_1, SECONTEXT_TYPE, "default_t",
++							 "unconfined_t");
+ 	sample_1_secontext = SECONTEXT_FILE(sample_1);
+ 	sample_2_secontext = sample_1_secontext;
+ 
+@@ -146,7 +162,8 @@ main(void)
+ 	char *cwd = get_fd_path(dfd_old);
+ 
+ 	errno = 0;
+-	update_secontext_field(".", SECONTEXT_TYPE, "default_t");
++	mangle_secontext_field(".", SECONTEXT_TYPE, "default_t",
++						    "unconfined_t");
+ 	char *dfd_old_secontext = SECONTEXT_FILE(".");
+ 
+ #ifdef PRINT_SECONTEXT_MISMATCH
+diff --git a/tests-mx32/linkat.c b/tests-mx32/linkat.c
+index c3e2ee4..decb736 100644
+--- a/tests-mx32/linkat.c
++++ b/tests-mx32/linkat.c
+@@ -21,6 +21,20 @@
+ #include "secontext.h"
+ #include "xmalloc.h"
+ 
++static void
++mangle_secontext_field(const char *path, enum secontext_field field,
++		       const char *new_val, const char *fallback_val)
++{
++	char *orig = get_secontext_field_file(path, field);
++	if (!orig)
++		return;
++
++	update_secontext_field(path, field,
++			       strcmp(new_val, orig) ? new_val : fallback_val);
++
++	free(orig);
++}
++
+ int
+ main(void)
+ {
+@@ -93,7 +107,8 @@ main(void)
+ 
+ #ifdef PRINT_SECONTEXT_MISMATCH
+ 	errno = 0;
+-	update_secontext_field(sample_1, SECONTEXT_USER, "system_u");
++	mangle_secontext_field(sample_1, SECONTEXT_USER, "system_u",
++							 "unconfined_u");
+ 	sample_1_secontext = SECONTEXT_FILE(sample_1);
+ 
+ # ifdef PRINT_SECONTEXT_FULL
+@@ -115,7 +130,8 @@ main(void)
+ #endif
+ 
+ 	errno = 0;
+-	update_secontext_field(sample_1, SECONTEXT_TYPE, "default_t");
++	mangle_secontext_field(sample_1, SECONTEXT_TYPE, "default_t",
++							 "unconfined_t");
+ 	sample_1_secontext = SECONTEXT_FILE(sample_1);
+ 	sample_2_secontext = sample_1_secontext;
+ 
+@@ -146,7 +162,8 @@ main(void)
+ 	char *cwd = get_fd_path(dfd_old);
+ 
+ 	errno = 0;
+-	update_secontext_field(".", SECONTEXT_TYPE, "default_t");
++	mangle_secontext_field(".", SECONTEXT_TYPE, "default_t",
++						    "unconfined_t");
+ 	char *dfd_old_secontext = SECONTEXT_FILE(".");
+ 
+ #ifdef PRINT_SECONTEXT_MISMATCH
+-- 
+2.1.4
+
diff --git a/SOURCES/0173-tests-secontext-eliminate-separate-secontext_format-.patch b/SOURCES/0173-tests-secontext-eliminate-separate-secontext_format-.patch
new file mode 100644
index 0000000..c1eb4aa
--- /dev/null
+++ b/SOURCES/0173-tests-secontext-eliminate-separate-secontext_format-.patch
@@ -0,0 +1,63 @@
+From 6e8aa3749cb7e11e9a59db996f79f036bf7ef263 Mon Sep 17 00:00:00 2001
+From: Eugene Syromyatnikov <evgsyr@gmail.com>
+Date: Tue, 18 Jan 2022 18:05:19 +0100
+Subject: [PATCH 173/174] tests/secontext: eliminate separate secontext_format
+ declaration
+
+* tests/secontext.c (secontext_format): Remove declaration, supply
+the attributes to the definition.
+---
+ tests/secontext.c | 5 +----
+ 1 file changed, 1 insertion(+), 4 deletions(-)
+
+diff --git a/tests/secontext.c b/tests/secontext.c
+index 52211ed..ba271c8 100644
+--- a/tests/secontext.c
++++ b/tests/secontext.c
+@@ -23,10 +23,7 @@
+ # define TEST_SECONTEXT
+ # include "secontext.h"
+ 
+-static char *
+-secontext_format(char *context, const char *fmt)
+-	ATTRIBUTE_FORMAT((printf, 2, 0)) ATTRIBUTE_MALLOC;
+-
++ATTRIBUTE_FORMAT((printf, 2, 0)) ATTRIBUTE_MALLOC
+ static char *
+ secontext_format(char *context, const char *fmt)
+ {
+diff --git a/tests-m32/secontext.c b/tests-m32/secontext.c
+index 52211ed..ba271c8 100644
+--- a/tests-m32/secontext.c
++++ b/tests-m32/secontext.c
+@@ -23,10 +23,7 @@
+ # define TEST_SECONTEXT
+ # include "secontext.h"
+ 
+-static char *
+-secontext_format(char *context, const char *fmt)
+-	ATTRIBUTE_FORMAT((printf, 2, 0)) ATTRIBUTE_MALLOC;
+-
++ATTRIBUTE_FORMAT((printf, 2, 0)) ATTRIBUTE_MALLOC
+ static char *
+ secontext_format(char *context, const char *fmt)
+ {
+diff --git a/tests-mx32/secontext.c b/tests-mx32/secontext.c
+index 52211ed..ba271c8 100644
+--- a/tests-mx32/secontext.c
++++ b/tests-mx32/secontext.c
+@@ -23,10 +23,7 @@
+ # define TEST_SECONTEXT
+ # include "secontext.h"
+ 
+-static char *
+-secontext_format(char *context, const char *fmt)
+-	ATTRIBUTE_FORMAT((printf, 2, 0)) ATTRIBUTE_MALLOC;
+-
++ATTRIBUTE_FORMAT((printf, 2, 0)) ATTRIBUTE_MALLOC
+ static char *
+ secontext_format(char *context, const char *fmt)
+ {
+-- 
+2.1.4
+
diff --git a/SOURCES/0174-tests-linkat-reset-context-to-the-expected-one-if-a-.patch b/SOURCES/0174-tests-linkat-reset-context-to-the-expected-one-if-a-.patch
new file mode 100644
index 0000000..9a34d01
--- /dev/null
+++ b/SOURCES/0174-tests-linkat-reset-context-to-the-expected-one-if-a-.patch
@@ -0,0 +1,190 @@
+From 78a81bcfb71ef3d9f6e8b1a32e123fbbc6112a60 Mon Sep 17 00:00:00 2001
+From: Eugene Syromyatnikov <evgsyr@gmail.com>
+Date: Tue, 18 Jan 2022 18:24:34 +0100
+Subject: [PATCH 174/174] tests/linkat: reset context to the expected one if a
+ mismatch has been detected
+
+* tests/secontext.h (reset_secontext_file): New declaration.
+* tests/secontext.c (reset_secontext_file): New function.
+* tests/linkat.c (main): Check that there is no initial mismatch
+in the sample_1 context, reset it otherwise.
+---
+ tests/linkat.c    | 3 +++
+ tests/secontext.c | 7 +++++++
+ tests/secontext.h | 7 +++++++
+ 3 files changed, 17 insertions(+)
+
+diff --git a/tests/linkat.c b/tests/linkat.c
+index decb736..781b85a 100644
+--- a/tests/linkat.c
++++ b/tests/linkat.c
+@@ -103,6 +103,9 @@ main(void)
+ 	if (close(fd_sample_2))
+ 		perror_msg_and_fail("close");
+ 
++	if (*sample_1_secontext && strstr(sample_1_secontext, "!!"))
++		reset_secontext_file(sample_1);
++
+ 	free(sample_1_secontext);
+ 
+ #ifdef PRINT_SECONTEXT_MISMATCH
+diff --git a/tests/secontext.c b/tests/secontext.c
+index ba271c8..94fadd4 100644
+--- a/tests/secontext.c
++++ b/tests/secontext.c
+@@ -235,6 +235,13 @@ secontext_short_pid(pid_t pid)
+ 	return FORMAT_SPACE_AFTER(raw_secontext_short_pid(pid));
+ }
+ 
++void reset_secontext_file(const char *file)
++{
++	char *proper_ctx = raw_expected_secontext_full_file(file);
++	(void) setfilecon(file, proper_ctx);
++	free(proper_ctx);
++}
++
+ void
+ update_secontext_field(const char *file, enum secontext_field field,
+ 		       const char *newvalue)
+diff --git a/tests/secontext.h b/tests/secontext.h
+index e5571d5..387263e 100644
+--- a/tests/secontext.h
++++ b/tests/secontext.h
+@@ -32,6 +32,8 @@ char *get_secontext_field(const char *full_context, enum secontext_field field);
+ 
+ char *get_secontext_field_file(const char *file, enum secontext_field field);
+ 
++void reset_secontext_file(const char *file);
++
+ void update_secontext_field(const char *file, enum secontext_field field,
+ 			    const char *newvalue);
+ 
+@@ -69,6 +71,11 @@ get_secontext_field_file(const char *file, enum secontext_field field)
+ }
+ 
+ static inline void
++reset_secontext_file(const char *file)
++{
++}
++
++static inline void
+ update_secontext_field(const char *file, enum secontext_field field,
+ 		       const char *newvalue)
+ {
+diff --git a/tests-m32/linkat.c b/tests-m32/linkat.c
+index decb736..781b85a 100644
+--- a/tests-m32/linkat.c
++++ b/tests-m32/linkat.c
+@@ -103,6 +103,9 @@ main(void)
+ 	if (close(fd_sample_2))
+ 		perror_msg_and_fail("close");
+ 
++	if (*sample_1_secontext && strstr(sample_1_secontext, "!!"))
++		reset_secontext_file(sample_1);
++
+ 	free(sample_1_secontext);
+ 
+ #ifdef PRINT_SECONTEXT_MISMATCH
+diff --git a/tests-m32/secontext.c b/tests-m32/secontext.c
+index ba271c8..94fadd4 100644
+--- a/tests-m32/secontext.c
++++ b/tests-m32/secontext.c
+@@ -235,6 +235,13 @@ secontext_short_pid(pid_t pid)
+ 	return FORMAT_SPACE_AFTER(raw_secontext_short_pid(pid));
+ }
+ 
++void reset_secontext_file(const char *file)
++{
++	char *proper_ctx = raw_expected_secontext_full_file(file);
++	(void) setfilecon(file, proper_ctx);
++	free(proper_ctx);
++}
++
+ void
+ update_secontext_field(const char *file, enum secontext_field field,
+ 		       const char *newvalue)
+diff --git a/tests-m32/secontext.h b/tests-m32/secontext.h
+index e5571d5..387263e 100644
+--- a/tests-m32/secontext.h
++++ b/tests-m32/secontext.h
+@@ -32,6 +32,8 @@ char *get_secontext_field(const char *full_context, enum secontext_field field);
+ 
+ char *get_secontext_field_file(const char *file, enum secontext_field field);
+ 
++void reset_secontext_file(const char *file);
++
+ void update_secontext_field(const char *file, enum secontext_field field,
+ 			    const char *newvalue);
+ 
+@@ -69,6 +71,11 @@ get_secontext_field_file(const char *file, enum secontext_field field)
+ }
+ 
+ static inline void
++reset_secontext_file(const char *file)
++{
++}
++
++static inline void
+ update_secontext_field(const char *file, enum secontext_field field,
+ 		       const char *newvalue)
+ {
+diff --git a/tests-mx32/linkat.c b/tests-mx32/linkat.c
+index decb736..781b85a 100644
+--- a/tests-mx32/linkat.c
++++ b/tests-mx32/linkat.c
+@@ -103,6 +103,9 @@ main(void)
+ 	if (close(fd_sample_2))
+ 		perror_msg_and_fail("close");
+ 
++	if (*sample_1_secontext && strstr(sample_1_secontext, "!!"))
++		reset_secontext_file(sample_1);
++
+ 	free(sample_1_secontext);
+ 
+ #ifdef PRINT_SECONTEXT_MISMATCH
+diff --git a/tests-mx32/secontext.c b/tests-mx32/secontext.c
+index ba271c8..94fadd4 100644
+--- a/tests-mx32/secontext.c
++++ b/tests-mx32/secontext.c
+@@ -235,6 +235,13 @@ secontext_short_pid(pid_t pid)
+ 	return FORMAT_SPACE_AFTER(raw_secontext_short_pid(pid));
+ }
+ 
++void reset_secontext_file(const char *file)
++{
++	char *proper_ctx = raw_expected_secontext_full_file(file);
++	(void) setfilecon(file, proper_ctx);
++	free(proper_ctx);
++}
++
+ void
+ update_secontext_field(const char *file, enum secontext_field field,
+ 		       const char *newvalue)
+diff --git a/tests-mx32/secontext.h b/tests-mx32/secontext.h
+index e5571d5..387263e 100644
+--- a/tests-mx32/secontext.h
++++ b/tests-mx32/secontext.h
+@@ -32,6 +32,8 @@ char *get_secontext_field(const char *full_context, enum secontext_field field);
+ 
+ char *get_secontext_field_file(const char *file, enum secontext_field field);
+ 
++void reset_secontext_file(const char *file);
++
+ void update_secontext_field(const char *file, enum secontext_field field,
+ 			    const char *newvalue);
+ 
+@@ -69,6 +71,11 @@ get_secontext_field_file(const char *file, enum secontext_field field)
+ }
+ 
+ static inline void
++reset_secontext_file(const char *file)
++{
++}
++
++static inline void
+ update_secontext_field(const char *file, enum secontext_field field,
+ 		       const char *newvalue)
+ {
+-- 
+2.1.4
+
diff --git a/SOURCES/2003-undef-ARRAY_SIZE.patch b/SOURCES/2003-undef-ARRAY_SIZE.patch
index e4e87bb..1ac46a4 100644
--- a/SOURCES/2003-undef-ARRAY_SIZE.patch
+++ b/SOURCES/2003-undef-ARRAY_SIZE.patch
@@ -1,7 +1,7 @@
-Index: strace-5.7/unwind.c
+Index: strace-5.12/src/unwind.c
 ===================================================================
---- strace-5.7.orig/unwind.c	2018-12-10 01:00:00.000000000 +0100
-+++ strace-5.7/unwind.c	2020-06-02 11:13:42.777871147 +0200
+--- strace-5.12.orig/src/unwind.c	2018-12-10 01:00:00.000000000 +0100
++++ strace-5.12/src/unwind.c	2020-06-02 11:13:42.777871147 +0200
 @@ -9,6 +9,12 @@
  #include "unwind.h"
  
diff --git a/SPECS/strace.spec b/SPECS/strace.spec
index c226283..c93e46b 100644
--- a/SPECS/strace.spec
+++ b/SPECS/strace.spec
@@ -1,14 +1,14 @@
 Summary: Tracks and displays system calls associated with a running process
 Name: strace
-Version: 5.7
-Release: 3%{?dist}
+Version: 5.13
+Release: 4%{?dist}
 # The test suite is GPLv2+, all the rest is LGPLv2.1+.
 License: LGPL-2.1+ and GPL-2.0+
 Group: Development/Debuggers
 URL: https://strace.io/
 Source: https://strace.io/files/%{version}/%{name}-%{version}.tar.xz
 
-BuildRequires: libacl-devel time gcc gzip
+BuildRequires: libacl-devel time gcc gzip make
 BuildRequires: pkgconfig(bluez)
 BuildRequires: elfutils-devel binutils-devel
 BuildRequires: libselinux-devel
@@ -144,97 +144,119 @@ BuildRequires: libselinux-devel
 #Patch111: 0111-xlat-update-uring_ops.patch
 ## v5.7~68 "tests: correct error message in io_uring_register test"
 #Patch112: 0112-tests-correct-error-message-in-io_uring_register-tes.patch
-# v5.8~58 "io_uring: Remove struct io_cqring_offsets compile time asserts"
-Patch113: 0113-io_uring-Remove-struct-io_cqring_offsets-compile-tim.patch
-# v5.8~57 "io_uring: Add io_cqring_offset flags"
-Patch114: 0114-io_uring-Add-io_cqring_offset-flags.patch
-# v5.8~47 "xlat: update IORING_* constants"
-Patch115: 0115-xlat-update-IORING_-constants.patch
+## v5.8~58 "io_uring: Remove struct io_cqring_offsets compile time asserts"
+#Patch113: 0113-io_uring-Remove-struct-io_cqring_offsets-compile-tim.patch
+## v5.8~57 "io_uring: Add io_cqring_offset flags"
+#Patch114: 0114-io_uring-Add-io_cqring_offset-flags.patch
+## v5.8~47 "xlat: update IORING_* constants"
+#Patch115: 0115-xlat-update-IORING_-constants.patch
 ## v5.5~71 "macros.h: introduce sizeof_field macro"
 #Patch116: 0116-macros.h-introduce-sizeof_field-macro.patch
 ## v5.5~49 "types: new infrastructure for automatic checking of structure types"
 #Patch117: 0117-types-new-infrastructure-for-automatic-checking-of-s.patch
-# v5.8~59 "types: skip field lines that start with comments"
-Patch118: 0118-types-skip-field-lines-that-start-with-comments.patch
+## v5.8~59 "types: skip field lines that start with comments"
+#Patch118: 0118-types-skip-field-lines-that-start-with-comments.patch
 
 ## PID namespace translation support
 ## https://bugzilla.redhat.com/1035434
 ## https://bugzilla.redhat.com/1725113 https://bugzilla.redhat.com/1790836
 ## https://bugzilla.redhat.com/1804334 https://bugzilla.redhat.com/1807458
 # v5.8~62 "print_fields.h: add PRINT_FIELD_LEN macro"
-Patch119: 0119-print_fields.h-add-PRINT_FIELD_LEN-macro.patch
-# v5.8~61 "Move ilog* functions from util.c to defs.h"
-Patch120: 0120-Move-ilog-functions-from-util.c-to-defs.h.patch
+#Patch119: 0119-print_fields.h-add-PRINT_FIELD_LEN-macro.patch
+## v5.8~61 "Move ilog* functions from util.c to defs.h"
+#Patch120: 0120-Move-ilog-functions-from-util.c-to-defs.h.patch
 ## v5.8~59 "types: skip field lines that start with comments"
 #Patch121: 0121-types-skip-field-lines-that-start-with-comments.patch
-# v5.8~54 "tests/inject-nf.test: replace getpid with geteuid"
-Patch122: 0122-tests-inject-nf.test-replace-getpid-with-geteuid.patch
-# v5.8~18 "fcntl: use print_fields.h macros"
-Patch123: 0123-fcntl-use-print_fields.h-macros.patch
-# v5.8~17 "kcmp: fix KCMP_FILE decoding"
-Patch124: 0124-kcmp-fix-KCMP_FILE-decoding.patch
-# v5.8~15 "printsiginfo: fix printing of siginfo_t.si_pid and siginfo_t.si_uid"
-Patch125: 0125-printsiginfo-fix-printing-of-siginfo_t.si_pid-and-si.patch
-# v5.8~14 "Use PRINT_FIELD_UID instead of printuid where appropriate"
-Patch126: 0126-Use-PRINT_FIELD_UID-instead-of-printuid-where-approp.patch
-# v5.8~10 "Consistently print process ids as signed integers"
-Patch127: 0127-Consistently-print-process-ids-as-signed-integers.patch
-# v5.8~9 "Remove tcb parameter of read_int_from_file"
-Patch128: 0128-Remove-tcb-parameter-of-read_int_from_file.patch
-# v5.8~6 "Add "struct tcb *" parameters to various functions"
-Patch129: 0129-Add-struct-tcb-parameters-to-various-functions.patch
-# v5.8~53 "Modify %process class: trace syscalls associated with process lifecycle"
-Patch130: 0130-Modify-process-class-trace-syscalls-associated-with-.patch
-# v5.8~5 "Introduce SYS_FUNC(tkill)"
-Patch131: 0131-Introduce-SYS_FUNC-tkill.patch
-# v5.8~4 "tests: check decoding of tkill syscall"
-Patch132: 0132-tests-check-decoding-of-tkill-syscall.patch
-# v5.8~3 "tests: check decoding of tgkill syscall"
-Patch133: 0133-tests-check-decoding-of-tgkill-syscall.patch
-# v5.8-5-gdea0284 "PID namespace translation support"
-Patch134: 0134-PID-namespace-translation-support.patch
-# v5.8-6-g173257d "Use printpid in decoders"
-Patch135: 0135-Use-printpid-in-decoders.patch
-# v5.8-7-g18c2208 "Use get_proc_pid for /proc paths"
-Patch136: 0136-Use-get_proc_pid-for-proc-paths.patch
-# v5.8-8-g7ecee07 "Implement testing framework for pidns"
-Patch137: 0137-Implement-testing-framework-for-pidns.patch
-# v5.8-9-gf350ce0 "Add tests for PID namespace translation"
-Patch138: 0138-Add-tests-for-PID-namespace-translation.patch
-
-# v5.12~55 "tests: add fchmod-y test"
-Patch142: 0142-tests-add-fchmod-y-test.patch
-# v5.12~54 "tests: introduce create_and_enter_subdir and leave_and_remove_subdir"
-Patch143: 0143-tests-introduce-create_and_enter_subdir-and-leave_an.patch
-# v5.8~36 "tests: check decoding of faccessat syscall in -P, -y, and -yy modes"
-Patch144: 0144-tests-check-decoding-of-faccessat-syscall-in-P-y-and.patch
-# v5.12~97 "xmalloc: introduce xasprintf"
-Patch145: 0145-xmalloc-introduce-xasprintf.patch
-# v5.12~96 "tests: use xasprintf instead of asprintf"
-Patch146: 0146-tests-use-xasprintf-instead-of-asprintf.patch
-# v5.12~156 "file_handle: print f_handle as a hexadecimal string"
-Patch147: 0147-file_handle-print-f_handle-as-a-hexadecimal-string.patch
-# v5.10~47 "tests: fix execve test with fresh linux kernels"
-Patch148: 0148-tests-fix-execve-test-with-fresh-linux-kernels.patch
-# v5.12~49 "Implement --secontext[=full] option to display SELinux contexts"
-Patch149: 0149-Implement-secontext-full-option-to-display-SELinux-c.patch
+## v5.8~54 "tests/inject-nf.test: replace getpid with geteuid"
+#Patch122: 0122-tests-inject-nf.test-replace-getpid-with-geteuid.patch
+## v5.8~18 "fcntl: use print_fields.h macros"
+#Patch123: 0123-fcntl-use-print_fields.h-macros.patch
+## v5.8~17 "kcmp: fix KCMP_FILE decoding"
+#Patch124: 0124-kcmp-fix-KCMP_FILE-decoding.patch
+## v5.8~15 "printsiginfo: fix printing of siginfo_t.si_pid and siginfo_t.si_uid"
+#Patch125: 0125-printsiginfo-fix-printing-of-siginfo_t.si_pid-and-si.patch
+## v5.8~14 "Use PRINT_FIELD_UID instead of printuid where appropriate"
+#Patch126: 0126-Use-PRINT_FIELD_UID-instead-of-printuid-where-approp.patch
+## v5.8~10 "Consistently print process ids as signed integers"
+#Patch127: 0127-Consistently-print-process-ids-as-signed-integers.patch
+## v5.8~9 "Remove tcb parameter of read_int_from_file"
+#Patch128: 0128-Remove-tcb-parameter-of-read_int_from_file.patch
+## v5.8~6 "Add "struct tcb *" parameters to various functions"
+#Patch129: 0129-Add-struct-tcb-parameters-to-various-functions.patch
+## v5.8~53 "Modify %process class: trace syscalls associated with process lifecycle"
+#Patch130: 0130-Modify-process-class-trace-syscalls-associated-with-.patch
+## v5.8~5 "Introduce SYS_FUNC(tkill)"
+#Patch131: 0131-Introduce-SYS_FUNC-tkill.patch
+## v5.8~4 "tests: check decoding of tkill syscall"
+#Patch132: 0132-tests-check-decoding-of-tkill-syscall.patch
+## v5.8~3 "tests: check decoding of tgkill syscall"
+#Patch133: 0133-tests-check-decoding-of-tgkill-syscall.patch
+## v5.8-5-gdea0284 "PID namespace translation support"
+#Patch134: 0134-PID-namespace-translation-support.patch
+## v5.8-6-g173257d "Use printpid in decoders"
+#Patch135: 0135-Use-printpid-in-decoders.patch
+## v5.8-7-g18c2208 "Use get_proc_pid for /proc paths"
+#Patch136: 0136-Use-get_proc_pid-for-proc-paths.patch
+## v5.8-8-g7ecee07 "Implement testing framework for pidns"
+#Patch137: 0137-Implement-testing-framework-for-pidns.patch
+## v5.8-9-gf350ce0 "Add tests for PID namespace translation"
+#Patch138: 0138-Add-tests-for-PID-namespace-translation.patch
+
+## v5.12~55 "tests: add fchmod-y test"
+#Patch142: 0142-tests-add-fchmod-y-test.patch
+## v5.12~54 "tests: introduce create_and_enter_subdir and leave_and_remove_subdir"
+#Patch143: 0143-tests-introduce-create_and_enter_subdir-and-leave_an.patch
+## v5.8~36 "tests: check decoding of faccessat syscall in -P, -y, and -yy modes"
+#Patch144: 0144-tests-check-decoding-of-faccessat-syscall-in-P-y-and.patch
+## v5.12~97 "xmalloc: introduce xasprintf"
+#Patch145: 0145-xmalloc-introduce-xasprintf.patch
+## v5.12~96 "tests: use xasprintf instead of asprintf"
+#Patch146: 0146-tests-use-xasprintf-instead-of-asprintf.patch
+## v5.12~156 "file_handle: print f_handle as a hexadecimal string"
+#Patch147: 0147-file_handle-print-f_handle-as-a-hexadecimal-string.patch
+## v5.10~47 "tests: fix execve test with fresh linux kernels"
+#Patch148: 0148-tests-fix-execve-test-with-fresh-linux-kernels.patch
+## v5.12~49 "Implement --secontext[=full] option to display SELinux contexts"
+#Patch149: 0149-Implement-secontext-full-option-to-display-SELinux-c.patch
 # v5.13-14-g9623154 "m4/mpers.m4: generate HAVE_*_SELINUX_RUNTIME config defines"
 Patch155: 0155-m4-mpers.m4-generate-HAVE_-_SELINUX_RUNTIME-config-d.patch
 
-# v5.9~28 "Introduce GLIBC_PREREQ_GE and GLIBC_PREREQ_LT macros"
-Patch156: 0156-Introduce-GLIBC_PREREQ_GE-and-GLIBC_PREREQ_LT-macros.patch
-# v5.9~27 "tests/ipc_msg.c: disable TEST_MSGCTL_BOGUS_ADDR on glibc >= 2.32"
-Patch157: 0157-tests-ipc_msg.c-disable-TEST_MSGCTL_BOGUS_ADDR-on-gl.patch
-# v5.10~46 "tests: disable TEST_MSGCTL_BOGUS_ADDR in ipc_msg test on glibc >= 2.31"
-Patch158: 0158-tests-disable-TEST_MSGCTL_BOGUS_ADDR-in-ipc_msg-test.patch
-# v5.10~22 "tests: disable tests for invalid msgctl commands on glibc >= 2.32"
-Patch159: 0159-tests-disable-tests-for-invalid-msgctl-commands-on-g.patch
-# v5.9~11 "tests: disable shmctl IPC_STAT test with a bogus address on glibc >= 2.32"
-Patch160: 0160-tests-disable-shmctl-IPC_STAT-test-with-a-bogus-addr.patch
-# v5.9~10 "tests: disable tests for invalid shmctl commands on glibc >= 2.32"
-Patch161: 0161-tests-disable-tests-for-invalid-shmctl-commands-on-g.patch
-# v5.9~12 "tests: disable tests for invalid semctl commands on glibc >= 2.32"
-Patch162: 0162-tests-disable-tests-for-invalid-semctl-commands-on-g.patch
+## v5.9~28 "Introduce GLIBC_PREREQ_GE and GLIBC_PREREQ_LT macros"
+#Patch156: 0156-Introduce-GLIBC_PREREQ_GE-and-GLIBC_PREREQ_LT-macros.patch
+## v5.9~27 "tests/ipc_msg.c: disable TEST_MSGCTL_BOGUS_ADDR on glibc >= 2.32"
+#Patch157: 0157-tests-ipc_msg.c-disable-TEST_MSGCTL_BOGUS_ADDR-on-gl.patch
+## v5.10~46 "tests: disable TEST_MSGCTL_BOGUS_ADDR in ipc_msg test on glibc >= 2.31"
+#Patch158: 0158-tests-disable-TEST_MSGCTL_BOGUS_ADDR-in-ipc_msg-test.patch
+## v5.10~22 "tests: disable tests for invalid msgctl commands on glibc >= 2.32"
+#Patch159: 0159-tests-disable-tests-for-invalid-msgctl-commands-on-g.patch
+## v5.9~11 "tests: disable shmctl IPC_STAT test with a bogus address on glibc >= 2.32"
+#Patch160: 0160-tests-disable-shmctl-IPC_STAT-test-with-a-bogus-addr.patch
+## v5.9~10 "tests: disable tests for invalid shmctl commands on glibc >= 2.32"
+#Patch161: 0161-tests-disable-tests-for-invalid-shmctl-commands-on-g.patch
+## v5.9~12 "tests: disable tests for invalid semctl commands on glibc >= 2.32"
+#Patch162: 0162-tests-disable-tests-for-invalid-semctl-commands-on-g.patch
+
+# v5.13-55-g6b2191f "filter_qualify: free allocated data on the error path exit of parse_poke_token"
+Patch163: 0163-filter_qualify-free-allocated-data-on-the-error-path.patch
+# v5.13-56-g80dc60c "macros: expand BIT macros, add MASK macros; add *_SAFE macros"
+Patch164: 0164-macros-expand-BIT-macros-add-MASK-macros-add-_SAFE-m.patch
+# v5.13-58-g94ae5c2 "trie: use BIT* and MASK* macros"
+Patch165: 0165-trie-use-BIT-and-MASK-macros.patch
+# v5.13-65-g41b753e "tee: rewrite num_params access in tee_fetch_buf_data"
+Patch166: 0166-tee-rewrite-num_params-access-in-tee_fetch_buf_data.patch
+
+# v5.15~1 "print_ifindex: fix IFNAME_QUOTED_SZ definition"
+Patch167: 0167-print_ifindex-fix-IFNAME_QUOTED_SZ-definition.patch
+
+# v5.15~18 "m4: fix st_SELINUX check"
+Patch168: 0168-m4-fix-st_SELINUX-check.patch
+# v5.16~31 "Implement displaying of expected context upon mismatch"
+Patch169: 0169-Implement-displaying-of-expected-context-upon-mismat.patch
+Patch170: 0170-tests-linkat-reset-errno-before-SELinux-context-mani.patch
+Patch171: 0171-tests-secontext-add-secontext-field-getters.patch
+Patch172: 0172-tests-linkat-provide-fallback-values-for-secontext-f.patch
+Patch173: 0173-tests-secontext-eliminate-separate-secontext_format-.patch
+Patch174: 0174-tests-linkat-reset-context-to-the-expected-one-if-a-.patch
 
 ### Wire up rseq and kexec_file_load in order to avoid kexec_file_load
 ### test failure on aarch64. Addresses https://bugzilla.redhat.com/1676045
@@ -270,6 +292,12 @@ Provides:  strace32 = %{evr}
 Obsoletes: strace32 < 4.24
 %endif
 
+# Fallback definitions for make_build/make_install macros
+%{?!__make:       %global __make %_bindir/make}
+%{?!__install:    %global __install %_bindir/install}
+%{?!make_build:   %global make_build %__make %{?_smp_mflags}}
+%{?!make_install: %global make_install %__make install DESTDIR="%{?buildroot}" INSTALL="%__install -p"}
+
 %description
 The strace program intercepts and records the system calls called and
 received by a running process.  Strace can print a record of each
@@ -332,48 +360,60 @@ received by a process.
 #%patch110 -p1
 #%patch111 -p1
 #%patch112 -p1
-%patch113 -p1
-%patch114 -p1
-%patch115 -p1
+#%patch113 -p1
+#%patch114 -p1
+#%patch115 -p1
 #%patch116 -p1
 #%patch117 -p1
-%patch118 -p1
-%patch119 -p1
-%patch120 -p1
+#%patch118 -p1
+#%patch119 -p1
+#%patch120 -p1
 #%patch121 -p1
-%patch122 -p1
-%patch123 -p1
-%patch124 -p1
-%patch125 -p1
-%patch126 -p1
-%patch127 -p1
-%patch128 -p1
-%patch129 -p1
-%patch130 -p1
-%patch131 -p1
-%patch132 -p1
-%patch133 -p1
-%patch134 -p1
-%patch135 -p1
-%patch136 -p1
-%patch137 -p1
-%patch138 -p1
-%patch142 -p1
-%patch143 -p1
-%patch144 -p1
-%patch145 -p1
-%patch146 -p1
-%patch147 -p1
-%patch148 -p1
-%patch149 -p1
+#%patch122 -p1
+#%patch123 -p1
+#%patch124 -p1
+#%patch125 -p1
+#%patch126 -p1
+#%patch127 -p1
+#%patch128 -p1
+#%patch129 -p1
+#%patch130 -p1
+#%patch131 -p1
+#%patch132 -p1
+#%patch133 -p1
+#%patch134 -p1
+#%patch135 -p1
+#%patch136 -p1
+#%patch137 -p1
+#%patch138 -p1
+#%patch142 -p1
+#%patch143 -p1
+#%patch144 -p1
+#%patch145 -p1
+#%patch146 -p1
+#%patch147 -p1
+#%patch148 -p1
+#%patch149 -p1
 %patch155 -p1
-%patch156 -p1
-%patch157 -p1
-%patch158 -p1
-%patch159 -p1
-%patch160 -p1
-%patch161 -p1
-%patch162 -p1
+#%patch156 -p1
+#%patch157 -p1
+#%patch158 -p1
+#%patch159 -p1
+#%patch160 -p1
+#%patch161 -p1
+#%patch162 -p1
+%patch163 -p1
+%patch164 -p1
+%patch165 -p1
+%patch166 -p1
+%patch167 -p1
+%patch168 -p1
+%patch169 -p1
+%patch170 -p1
+%patch171 -p1
+%patch172 -p1
+%patch173 -p1
+%patch174 -p1
 
 #%patch1000 -p1
 #%patch1001 -p1
@@ -388,7 +428,7 @@ chmod a+x tests/*.test
 
 echo -n %version-%release > .tarball-version
 echo -n 2020 > .year
-echo -n 2020-04-30 > .strace.1.in.date
+echo -n 2021-10-21 > doc/.strace.1.in.date
 
 
 %build
@@ -408,18 +448,18 @@ CFLAGS=" $RPM_OPT_FLAGS $LDFLAGS "
 [ "x${CFLAGS#* -m64 }" = "x${CFLAGS}" ] || CFLAGS=$(echo "$CFLAGS" | sed 's/ -m64 / /g')
 export CFLAGS
 
-CPPFLAGS=" -I%{_includedir} %{optflags} "
+CPPFLAGS=" -isystem %{_includedir} %{optflags} "
 # Removing explicit -m64 as it breaks mpers
 [ "x${CPPFLAGS#* -m64 }" = "x${CPPFLAGS}" ] || CPPFLAGS=$(echo "$CPPFLAGS" | sed 's/ -m64 / /g')
 export CPPFLAGS
 
 CFLAGS_FOR_BUILD="$RPM_OPT_FLAGS"; export CFLAGS_FOR_BUILD
 %configure --enable-mpers=check --with-libdw --with-libiberty
-make %{?_smp_mflags}
+%make_build
 
 
 %install
-make DESTDIR=%{buildroot} install
+%make_install
 
 %ifarch %{strace32_arches}
 ln -s ./strace %{buildroot}%{_bindir}/strace32
@@ -442,10 +482,9 @@ chmod u+x tests/*.test tests-m32/*.test tests-mx32/*.test
 
 # We have to limit concurrent execution of tests as some time-sensitive tests
 # start to fail if the reported time is way too off from the expected one.
-make -j2 -k check VERBOSE=1 V=1 TIMEOUT_DURATION=5400
+%make_build -k check VERBOSE=1 V=1
 echo 'BEGIN OF TEST SUITE INFORMATION'
-tail -n 99999 -- tests*/test-suite.log
-tail -n 99999 -- tests*/ksysent.log ||:
+tail -n 99999 -- tests*/test-suite.log tests*/ksysent.gen.log
 find tests* -type f -name '*.log' -print0 |
 	xargs -r0 grep -H '^KERNEL BUG:' -- ||:
 echo 'END OF TEST SUITE INFORMATION'
@@ -461,6 +500,20 @@ echo 'END OF TEST SUITE INFORMATION'
 %{_mandir}/man1/*
 
 %changelog
+* Mon Feb 07 2022 Eugene Syromiatnikov <esyr@redhat.com> - 5.13-4
+- Update tests-m32 and tests-mx32 with --secontext=mismatch option support
+  changes (#2046259).
+
+* Wed Jan 19 2022 Eugene Syromiatnikov <esyr@redhat.com> - 5.13-3
+- Add --secontext=mismatch option support (#2038810).
+
+* Wed Jan 05 2022 Eugene Syromiatnikov <esyr@redhat.com> - 5.13-2
+- Fix incorrect ifname printing buffer size (#2028158).
+
+* Wed Oct 20 2021 Eugene Syromiatnikov <esyr@redhat.com> - 5.13-1
+- Rebase to v5.13; drop upstream patches on top of 5.7 (#2015917).
+- Address some issues reported by covscan.
+
 * Mon Aug 09 2021 Eugene Syromiatnikov <esyr@redhat.com> - 5.7-3
 - Add SELnux context decoding support (#1946500).