Blame SOURCES/0133-tests-check-decoding-of-tgkill-syscall.patch

d811e0
From 9d4d64f6fdfcae908aec455888e92a69c9c81c64 Mon Sep 17 00:00:00 2001
d811e0
From: "Dmitry V. Levin" <ldv@altlinux.org>
d811e0
Date: Sat, 1 Aug 2020 08:00:00 +0000
d811e0
Subject: [PATCH 133/138] tests: check decoding of tgkill syscall
d811e0
d811e0
* tests/tgkill.c: New file.
d811e0
* tests/gen_tests.in (tgkill): New entry.
d811e0
* tests/pure_executables.list: Add tgkill.
d811e0
* tests/.gitignore: Likewise.
d811e0
---
d811e0
 tests/.gitignore            |  1 +
d811e0
 tests/gen_tests.in          |  1 +
d811e0
 tests/pure_executables.list |  1 +
d811e0
 tests/tgkill.c              | 69 +++++++++++++++++++++++++++++++++++++++++++++
d811e0
 4 files changed, 72 insertions(+)
d811e0
 create mode 100644 tests/tgkill.c
d811e0
d811e0
Index: strace-5.7/tests/gen_tests.in
d811e0
===================================================================
d811e0
--- strace-5.7.orig/tests/gen_tests.in	2020-09-09 19:30:36.780885588 +0200
d811e0
+++ strace-5.7/tests/gen_tests.in	2020-09-09 19:32:50.740965435 +0200
d811e0
@@ -658,6 +658,7 @@
d811e0
 sysinfo	-a14
d811e0
 syslog	-a35
d811e0
 tee
d811e0
+tgkill	-a15 --signal='!cont'
d811e0
 threads-execve--quiet-thread-execve +threads-execve.test -s40 --quiet=personality,thread-execve
d811e0
 threads-execve-q +threads-execve.test -q
d811e0
 threads-execve-qq +threads-execve.test -qq
d811e0
Index: strace-5.7/tests/pure_executables.list
d811e0
===================================================================
d811e0
--- strace-5.7.orig/tests/pure_executables.list	2020-09-09 19:30:36.780885588 +0200
d811e0
+++ strace-5.7/tests/pure_executables.list	2020-09-09 19:32:45.308962197 +0200
d811e0
@@ -583,6 +583,7 @@
d811e0
 sysinfo
d811e0
 syslog
d811e0
 tee
d811e0
+tgkill
d811e0
 time
d811e0
 timer_create
d811e0
 timer_xettime
d811e0
Index: strace-5.7/tests/tgkill.c
d811e0
===================================================================
d811e0
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
d811e0
+++ strace-5.7/tests/tgkill.c	2020-09-09 19:32:50.740965435 +0200
d811e0
@@ -0,0 +1,69 @@
d811e0
+/*
d811e0
+ * Check decoding of tgkill syscall.
d811e0
+ *
d811e0
+ * Copyright (c) 2020 Dmitry V. Levin <ldv@altlinux.org>
d811e0
+ * All rights reserved.
d811e0
+ *
d811e0
+ * SPDX-License-Identifier: GPL-2.0-or-later
d811e0
+ */
d811e0
+
d811e0
+#include "tests.h"
d811e0
+#include "scno.h"
d811e0
+
d811e0
+#ifdef __NR_tgkill
d811e0
+
d811e0
+# include <signal.h>
d811e0
+# include <stdio.h>
d811e0
+# include <unistd.h>
d811e0
+
d811e0
+static const char *errstr;
d811e0
+
d811e0
+static long
d811e0
+k_tgkill(const unsigned int tgid,
d811e0
+	 const unsigned int tid,
d811e0
+	 const unsigned int sig)
d811e0
+{
d811e0
+        const kernel_ulong_t fill = (kernel_ulong_t) 0xdefaced00000000ULL;
d811e0
+        const kernel_ulong_t bad = (kernel_ulong_t) 0xbadc0dedbadc0dedULL;
d811e0
+        const kernel_ulong_t arg1 = fill | tgid;
d811e0
+        const kernel_ulong_t arg2 = fill | tid;
d811e0
+        const kernel_ulong_t arg3 = fill | sig;
d811e0
+        const long rc = syscall(__NR_tgkill, arg1, arg2, arg3, bad, bad, bad);
d811e0
+        errstr = sprintrc(rc);
d811e0
+        return rc;
d811e0
+}
d811e0
+
d811e0
+int
d811e0
+main(void)
d811e0
+{
d811e0
+	const int pid = getpid();
d811e0
+	const int bad_pid = -1;
d811e0
+	const int bad_sig = 0xface;
d811e0
+
d811e0
+	k_tgkill(pid, pid, 0);
d811e0
+	printf("tgkill(%d, %d, 0) = %s\n", pid, pid, errstr);
d811e0
+
d811e0
+	k_tgkill(pid, bad_pid, 0);
d811e0
+	printf("tgkill(%d, %d, 0) = %s\n", pid, bad_pid, errstr);
d811e0
+
d811e0
+	k_tgkill(bad_pid, pid, 0);
d811e0
+	printf("tgkill(%d, %d, 0) = %s\n", bad_pid, pid, errstr);
d811e0
+
d811e0
+	k_tgkill(pid, pid, SIGCONT);
d811e0
+	printf("tgkill(%d, %d, SIGCONT) = %s\n", pid, pid, errstr);
d811e0
+
d811e0
+	k_tgkill(pid, pid, bad_sig);
d811e0
+	printf("tgkill(%d, %d, %d) = %s\n", pid, pid, bad_sig, errstr);
d811e0
+
d811e0
+	k_tgkill(pid, pid, -bad_sig);
d811e0
+	printf("tgkill(%d, %d, %d) = %s\n", pid, pid, -bad_sig, errstr);
d811e0
+
d811e0
+	puts("+++ exited with 0 +++");
d811e0
+	return 0;
d811e0
+}
d811e0
+
d811e0
+#else
d811e0
+
d811e0
+SKIP_MAIN_UNDEFINED("__NR_tgkill")
d811e0
+
d811e0
+#endif
d811e0
Index: strace-5.7/tests-m32/gen_tests.in
d811e0
===================================================================
d811e0
--- strace-5.7.orig/tests-m32/gen_tests.in	2020-09-09 19:30:36.780885588 +0200
d811e0
+++ strace-5.7/tests-m32/gen_tests.in	2020-09-09 19:32:50.740965435 +0200
d811e0
@@ -658,6 +658,7 @@
d811e0
 sysinfo	-a14
d811e0
 syslog	-a35
d811e0
 tee
d811e0
+tgkill	-a15 --signal='!cont'
d811e0
 threads-execve--quiet-thread-execve +threads-execve.test -s40 --quiet=personality,thread-execve
d811e0
 threads-execve-q +threads-execve.test -q
d811e0
 threads-execve-qq +threads-execve.test -qq
d811e0
Index: strace-5.7/tests-m32/pure_executables.list
d811e0
===================================================================
d811e0
--- strace-5.7.orig/tests-m32/pure_executables.list	2020-09-09 19:30:36.780885588 +0200
d811e0
+++ strace-5.7/tests-m32/pure_executables.list	2020-09-09 19:32:45.309962197 +0200
d811e0
@@ -583,6 +583,7 @@
d811e0
 sysinfo
d811e0
 syslog
d811e0
 tee
d811e0
+tgkill
d811e0
 time
d811e0
 timer_create
d811e0
 timer_xettime
d811e0
Index: strace-5.7/tests-m32/tgkill.c
d811e0
===================================================================
d811e0
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
d811e0
+++ strace-5.7/tests-m32/tgkill.c	2020-09-09 19:32:50.740965435 +0200
d811e0
@@ -0,0 +1,69 @@
d811e0
+/*
d811e0
+ * Check decoding of tgkill syscall.
d811e0
+ *
d811e0
+ * Copyright (c) 2020 Dmitry V. Levin <ldv@altlinux.org>
d811e0
+ * All rights reserved.
d811e0
+ *
d811e0
+ * SPDX-License-Identifier: GPL-2.0-or-later
d811e0
+ */
d811e0
+
d811e0
+#include "tests.h"
d811e0
+#include "scno.h"
d811e0
+
d811e0
+#ifdef __NR_tgkill
d811e0
+
d811e0
+# include <signal.h>
d811e0
+# include <stdio.h>
d811e0
+# include <unistd.h>
d811e0
+
d811e0
+static const char *errstr;
d811e0
+
d811e0
+static long
d811e0
+k_tgkill(const unsigned int tgid,
d811e0
+	 const unsigned int tid,
d811e0
+	 const unsigned int sig)
d811e0
+{
d811e0
+        const kernel_ulong_t fill = (kernel_ulong_t) 0xdefaced00000000ULL;
d811e0
+        const kernel_ulong_t bad = (kernel_ulong_t) 0xbadc0dedbadc0dedULL;
d811e0
+        const kernel_ulong_t arg1 = fill | tgid;
d811e0
+        const kernel_ulong_t arg2 = fill | tid;
d811e0
+        const kernel_ulong_t arg3 = fill | sig;
d811e0
+        const long rc = syscall(__NR_tgkill, arg1, arg2, arg3, bad, bad, bad);
d811e0
+        errstr = sprintrc(rc);
d811e0
+        return rc;
d811e0
+}
d811e0
+
d811e0
+int
d811e0
+main(void)
d811e0
+{
d811e0
+	const int pid = getpid();
d811e0
+	const int bad_pid = -1;
d811e0
+	const int bad_sig = 0xface;
d811e0
+
d811e0
+	k_tgkill(pid, pid, 0);
d811e0
+	printf("tgkill(%d, %d, 0) = %s\n", pid, pid, errstr);
d811e0
+
d811e0
+	k_tgkill(pid, bad_pid, 0);
d811e0
+	printf("tgkill(%d, %d, 0) = %s\n", pid, bad_pid, errstr);
d811e0
+
d811e0
+	k_tgkill(bad_pid, pid, 0);
d811e0
+	printf("tgkill(%d, %d, 0) = %s\n", bad_pid, pid, errstr);
d811e0
+
d811e0
+	k_tgkill(pid, pid, SIGCONT);
d811e0
+	printf("tgkill(%d, %d, SIGCONT) = %s\n", pid, pid, errstr);
d811e0
+
d811e0
+	k_tgkill(pid, pid, bad_sig);
d811e0
+	printf("tgkill(%d, %d, %d) = %s\n", pid, pid, bad_sig, errstr);
d811e0
+
d811e0
+	k_tgkill(pid, pid, -bad_sig);
d811e0
+	printf("tgkill(%d, %d, %d) = %s\n", pid, pid, -bad_sig, errstr);
d811e0
+
d811e0
+	puts("+++ exited with 0 +++");
d811e0
+	return 0;
d811e0
+}
d811e0
+
d811e0
+#else
d811e0
+
d811e0
+SKIP_MAIN_UNDEFINED("__NR_tgkill")
d811e0
+
d811e0
+#endif
d811e0
Index: strace-5.7/tests-mx32/gen_tests.in
d811e0
===================================================================
d811e0
--- strace-5.7.orig/tests-mx32/gen_tests.in	2020-09-09 19:30:36.780885588 +0200
d811e0
+++ strace-5.7/tests-mx32/gen_tests.in	2020-09-09 19:32:50.740965435 +0200
d811e0
@@ -658,6 +658,7 @@
d811e0
 sysinfo	-a14
d811e0
 syslog	-a35
d811e0
 tee
d811e0
+tgkill	-a15 --signal='!cont'
d811e0
 threads-execve--quiet-thread-execve +threads-execve.test -s40 --quiet=personality,thread-execve
d811e0
 threads-execve-q +threads-execve.test -q
d811e0
 threads-execve-qq +threads-execve.test -qq
d811e0
Index: strace-5.7/tests-mx32/pure_executables.list
d811e0
===================================================================
d811e0
--- strace-5.7.orig/tests-mx32/pure_executables.list	2020-09-09 19:30:36.780885588 +0200
d811e0
+++ strace-5.7/tests-mx32/pure_executables.list	2020-09-09 19:32:45.310962198 +0200
d811e0
@@ -583,6 +583,7 @@
d811e0
 sysinfo
d811e0
 syslog
d811e0
 tee
d811e0
+tgkill
d811e0
 time
d811e0
 timer_create
d811e0
 timer_xettime
d811e0
Index: strace-5.7/tests-mx32/tgkill.c
d811e0
===================================================================
d811e0
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
d811e0
+++ strace-5.7/tests-mx32/tgkill.c	2020-09-09 19:32:50.740965435 +0200
d811e0
@@ -0,0 +1,69 @@
d811e0
+/*
d811e0
+ * Check decoding of tgkill syscall.
d811e0
+ *
d811e0
+ * Copyright (c) 2020 Dmitry V. Levin <ldv@altlinux.org>
d811e0
+ * All rights reserved.
d811e0
+ *
d811e0
+ * SPDX-License-Identifier: GPL-2.0-or-later
d811e0
+ */
d811e0
+
d811e0
+#include "tests.h"
d811e0
+#include "scno.h"
d811e0
+
d811e0
+#ifdef __NR_tgkill
d811e0
+
d811e0
+# include <signal.h>
d811e0
+# include <stdio.h>
d811e0
+# include <unistd.h>
d811e0
+
d811e0
+static const char *errstr;
d811e0
+
d811e0
+static long
d811e0
+k_tgkill(const unsigned int tgid,
d811e0
+	 const unsigned int tid,
d811e0
+	 const unsigned int sig)
d811e0
+{
d811e0
+        const kernel_ulong_t fill = (kernel_ulong_t) 0xdefaced00000000ULL;
d811e0
+        const kernel_ulong_t bad = (kernel_ulong_t) 0xbadc0dedbadc0dedULL;
d811e0
+        const kernel_ulong_t arg1 = fill | tgid;
d811e0
+        const kernel_ulong_t arg2 = fill | tid;
d811e0
+        const kernel_ulong_t arg3 = fill | sig;
d811e0
+        const long rc = syscall(__NR_tgkill, arg1, arg2, arg3, bad, bad, bad);
d811e0
+        errstr = sprintrc(rc);
d811e0
+        return rc;
d811e0
+}
d811e0
+
d811e0
+int
d811e0
+main(void)
d811e0
+{
d811e0
+	const int pid = getpid();
d811e0
+	const int bad_pid = -1;
d811e0
+	const int bad_sig = 0xface;
d811e0
+
d811e0
+	k_tgkill(pid, pid, 0);
d811e0
+	printf("tgkill(%d, %d, 0) = %s\n", pid, pid, errstr);
d811e0
+
d811e0
+	k_tgkill(pid, bad_pid, 0);
d811e0
+	printf("tgkill(%d, %d, 0) = %s\n", pid, bad_pid, errstr);
d811e0
+
d811e0
+	k_tgkill(bad_pid, pid, 0);
d811e0
+	printf("tgkill(%d, %d, 0) = %s\n", bad_pid, pid, errstr);
d811e0
+
d811e0
+	k_tgkill(pid, pid, SIGCONT);
d811e0
+	printf("tgkill(%d, %d, SIGCONT) = %s\n", pid, pid, errstr);
d811e0
+
d811e0
+	k_tgkill(pid, pid, bad_sig);
d811e0
+	printf("tgkill(%d, %d, %d) = %s\n", pid, pid, bad_sig, errstr);
d811e0
+
d811e0
+	k_tgkill(pid, pid, -bad_sig);
d811e0
+	printf("tgkill(%d, %d, %d) = %s\n", pid, pid, -bad_sig, errstr);
d811e0
+
d811e0
+	puts("+++ exited with 0 +++");
d811e0
+	return 0;
d811e0
+}
d811e0
+
d811e0
+#else
d811e0
+
d811e0
+SKIP_MAIN_UNDEFINED("__NR_tgkill")
d811e0
+
d811e0
+#endif
d811e0
Index: strace-5.7/tests-m32/Makefile.in
d811e0
===================================================================
d811e0
--- strace-5.7.orig/tests-m32/Makefile.in	2020-09-09 19:32:14.800944013 +0200
d811e0
+++ strace-5.7/tests-m32/Makefile.in	2020-09-09 19:49:34.530563739 +0200
d811e0
@@ -493,8 +493,8 @@
d811e0
 	strace-xx$(EXEEXT) swap$(EXEEXT) sxetmask$(EXEEXT) \
d811e0
 	symlink$(EXEEXT) symlinkat$(EXEEXT) sync$(EXEEXT) \
d811e0
 	sync_file_range$(EXEEXT) sync_file_range2$(EXEEXT) \
d811e0
-	sysinfo$(EXEEXT) syslog$(EXEEXT) tee$(EXEEXT) time$(EXEEXT) \
d811e0
-	timer_create$(EXEEXT) timer_xettime$(EXEEXT) \
d811e0
+	sysinfo$(EXEEXT) syslog$(EXEEXT) tee$(EXEEXT) tgkill$(EXEEXT) \
d811e0
+	time$(EXEEXT) timer_create$(EXEEXT) timer_xettime$(EXEEXT) \
d811e0
 	timerfd_xettime$(EXEEXT) times$(EXEEXT) times-fail$(EXEEXT) \
d811e0
 	tkill$(EXEEXT) truncate$(EXEEXT) truncate64$(EXEEXT) \
d811e0
 	ugetrlimit$(EXEEXT) uio$(EXEEXT) umask$(EXEEXT) \
d811e0
@@ -3444,6 +3444,10 @@
d811e0
 tee_OBJECTS = tee.$(OBJEXT)
d811e0
 tee_LDADD = $(LDADD)
d811e0
 tee_DEPENDENCIES = libtests.a
d811e0
+tgkill_SOURCES = tgkill.c
d811e0
+tgkill_OBJECTS = tgkill.$(OBJEXT)
d811e0
+tgkill_LDADD = $(LDADD)
d811e0
+tgkill_DEPENDENCIES = libtests.a
d811e0
 threads_execve_SOURCES = threads-execve.c
d811e0
 threads_execve_OBJECTS = threads-execve.$(OBJEXT)
d811e0
 threads_execve_DEPENDENCIES = $(am__DEPENDENCIES_1) $(LDADD)
d811e0
@@ -4181,7 +4185,7 @@
d811e0
 	./$(DEPDIR)/symlinkat.Po ./$(DEPDIR)/sync.Po \
d811e0
 	./$(DEPDIR)/sync_file_range.Po ./$(DEPDIR)/sync_file_range2.Po \
d811e0
 	./$(DEPDIR)/sysinfo.Po ./$(DEPDIR)/syslog-success.Po \
d811e0
-	./$(DEPDIR)/syslog.Po ./$(DEPDIR)/tee.Po \
d811e0
+	./$(DEPDIR)/syslog.Po ./$(DEPDIR)/tee.Po ./$(DEPDIR)/tgkill.Po \
d811e0
 	./$(DEPDIR)/threads-execve--quiet-thread-execve.Po \
d811e0
 	./$(DEPDIR)/threads-execve-q.Po \
d811e0
 	./$(DEPDIR)/threads-execve-qq.Po \
d811e0
@@ -4443,7 +4447,7 @@
d811e0
 	strace--strings-in-hex-non-ascii.c strace-x.c strace-xx.c \
d811e0
 	swap.c sxetmask.c symlink.c symlinkat.c sync.c \
d811e0
 	sync_file_range.c sync_file_range2.c sysinfo.c syslog.c \
d811e0
-	syslog-success.c tee.c threads-execve.c \
d811e0
+	syslog-success.c tee.c tgkill.c threads-execve.c \
d811e0
 	threads-execve--quiet-thread-execve.c threads-execve-q.c \
d811e0
 	threads-execve-qq.c threads-execve-qqq.c time.c timer_create.c \
d811e0
 	timer_xettime.c timerfd_xettime.c times.c times-fail.c tkill.c \
d811e0
@@ -4669,7 +4673,7 @@
d811e0
 	strace--strings-in-hex-non-ascii.c strace-x.c strace-xx.c \
d811e0
 	swap.c sxetmask.c symlink.c symlinkat.c sync.c \
d811e0
 	sync_file_range.c sync_file_range2.c sysinfo.c syslog.c \
d811e0
-	syslog-success.c tee.c threads-execve.c \
d811e0
+	syslog-success.c tee.c tgkill.c threads-execve.c \
d811e0
 	threads-execve--quiet-thread-execve.c threads-execve-q.c \
d811e0
 	threads-execve-qq.c threads-execve-qqq.c time.c timer_create.c \
d811e0
 	timer_xettime.c timerfd_xettime.c times.c times-fail.c tkill.c \
d811e0
@@ -5724,6 +5728,7 @@
d811e0
   sysinfo \
d811e0
   syslog \
d811e0
   tee \
d811e0
+  tgkill \
d811e0
   time \
d811e0
   timer_create \
d811e0
   timer_xettime \
d811e0
@@ -6133,7 +6138,7 @@
d811e0
 	strace-xx.gen.test swap.gen.test sxetmask.gen.test \
d811e0
 	symlink.gen.test symlinkat.gen.test sync.gen.test \
d811e0
 	sync_file_range.gen.test sync_file_range2.gen.test \
d811e0
-	sysinfo.gen.test syslog.gen.test tee.gen.test \
d811e0
+	sysinfo.gen.test syslog.gen.test tee.gen.test tgkill.gen.test \
d811e0
 	threads-execve--quiet-thread-execve.gen.test \
d811e0
 	threads-execve-q.gen.test threads-execve-qq.gen.test \
d811e0
 	threads-execve-qqq.gen.test time.gen.test \
d811e0
@@ -9355,6 +9360,10 @@
d811e0
 	@rm -f tee$(EXEEXT)
d811e0
 	$(AM_V_CCLD)$(LINK) $(tee_OBJECTS) $(tee_LDADD) $(LIBS)
d811e0
 
d811e0
+tgkill$(EXEEXT): $(tgkill_OBJECTS) $(tgkill_DEPENDENCIES) $(EXTRA_tgkill_DEPENDENCIES) 
d811e0
+	@rm -f tgkill$(EXEEXT)
d811e0
+	$(AM_V_CCLD)$(LINK) $(tgkill_OBJECTS) $(tgkill_LDADD) $(LIBS)
d811e0
+
d811e0
 threads-execve$(EXEEXT): $(threads_execve_OBJECTS) $(threads_execve_DEPENDENCIES) $(EXTRA_threads_execve_DEPENDENCIES) 
d811e0
 	@rm -f threads-execve$(EXEEXT)
d811e0
 	$(AM_V_CCLD)$(LINK) $(threads_execve_OBJECTS) $(threads_execve_LDADD) $(LIBS)
d811e0
@@ -10349,6 +10358,7 @@
d811e0
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/syslog-success.Po@am__quote@ # am--include-marker
d811e0
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/syslog.Po@am__quote@ # am--include-marker
d811e0
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tee.Po@am__quote@ # am--include-marker
d811e0
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tgkill.Po@am__quote@ # am--include-marker
d811e0
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/threads-execve--quiet-thread-execve.Po@am__quote@ # am--include-marker
d811e0
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/threads-execve-q.Po@am__quote@ # am--include-marker
d811e0
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/threads-execve-qq.Po@am__quote@ # am--include-marker
d811e0
@@ -12170,6 +12180,7 @@
d811e0
 	-rm -f ./$(DEPDIR)/syslog-success.Po
d811e0
 	-rm -f ./$(DEPDIR)/syslog.Po
d811e0
 	-rm -f ./$(DEPDIR)/tee.Po
d811e0
+	-rm -f ./$(DEPDIR)/tgkill.Po
d811e0
 	-rm -f ./$(DEPDIR)/threads-execve--quiet-thread-execve.Po
d811e0
 	-rm -f ./$(DEPDIR)/threads-execve-q.Po
d811e0
 	-rm -f ./$(DEPDIR)/threads-execve-qq.Po
d811e0
@@ -13026,6 +13037,7 @@
d811e0
 	-rm -f ./$(DEPDIR)/syslog-success.Po
d811e0
 	-rm -f ./$(DEPDIR)/syslog.Po
d811e0
 	-rm -f ./$(DEPDIR)/tee.Po
d811e0
+	-rm -f ./$(DEPDIR)/tgkill.Po
d811e0
 	-rm -f ./$(DEPDIR)/threads-execve--quiet-thread-execve.Po
d811e0
 	-rm -f ./$(DEPDIR)/threads-execve-q.Po
d811e0
 	-rm -f ./$(DEPDIR)/threads-execve-qq.Po
d811e0
@@ -15085,6 +15097,9 @@
d811e0
 $(srcdir)/tee.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
d811e0
 	$(AM_V_GEN) $^ $@
d811e0
 
d811e0
+$(srcdir)/tgkill.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
d811e0
+	$(AM_V_GEN) $^ $@
d811e0
+
d811e0
 $(srcdir)/threads-execve--quiet-thread-execve.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
d811e0
 	$(AM_V_GEN) $^ $@
d811e0
 
d811e0
Index: strace-5.7/tests-mx32/Makefile.in
d811e0
===================================================================
d811e0
--- strace-5.7.orig/tests-mx32/Makefile.in	2020-09-09 19:32:39.854958946 +0200
d811e0
+++ strace-5.7/tests-mx32/Makefile.in	2020-09-09 19:49:39.557566736 +0200
d811e0
@@ -493,8 +493,8 @@
d811e0
 	strace-xx$(EXEEXT) swap$(EXEEXT) sxetmask$(EXEEXT) \
d811e0
 	symlink$(EXEEXT) symlinkat$(EXEEXT) sync$(EXEEXT) \
d811e0
 	sync_file_range$(EXEEXT) sync_file_range2$(EXEEXT) \
d811e0
-	sysinfo$(EXEEXT) syslog$(EXEEXT) tee$(EXEEXT) time$(EXEEXT) \
d811e0
-	timer_create$(EXEEXT) timer_xettime$(EXEEXT) \
d811e0
+	sysinfo$(EXEEXT) syslog$(EXEEXT) tee$(EXEEXT) tgkill$(EXEEXT) \
d811e0
+	time$(EXEEXT) timer_create$(EXEEXT) timer_xettime$(EXEEXT) \
d811e0
 	timerfd_xettime$(EXEEXT) times$(EXEEXT) times-fail$(EXEEXT) \
d811e0
 	tkill$(EXEEXT) truncate$(EXEEXT) truncate64$(EXEEXT) \
d811e0
 	ugetrlimit$(EXEEXT) uio$(EXEEXT) umask$(EXEEXT) \
d811e0
@@ -3444,6 +3444,10 @@
d811e0
 tee_OBJECTS = tee.$(OBJEXT)
d811e0
 tee_LDADD = $(LDADD)
d811e0
 tee_DEPENDENCIES = libtests.a
d811e0
+tgkill_SOURCES = tgkill.c
d811e0
+tgkill_OBJECTS = tgkill.$(OBJEXT)
d811e0
+tgkill_LDADD = $(LDADD)
d811e0
+tgkill_DEPENDENCIES = libtests.a
d811e0
 threads_execve_SOURCES = threads-execve.c
d811e0
 threads_execve_OBJECTS = threads-execve.$(OBJEXT)
d811e0
 threads_execve_DEPENDENCIES = $(am__DEPENDENCIES_1) $(LDADD)
d811e0
@@ -4181,7 +4185,7 @@
d811e0
 	./$(DEPDIR)/symlinkat.Po ./$(DEPDIR)/sync.Po \
d811e0
 	./$(DEPDIR)/sync_file_range.Po ./$(DEPDIR)/sync_file_range2.Po \
d811e0
 	./$(DEPDIR)/sysinfo.Po ./$(DEPDIR)/syslog-success.Po \
d811e0
-	./$(DEPDIR)/syslog.Po ./$(DEPDIR)/tee.Po \
d811e0
+	./$(DEPDIR)/syslog.Po ./$(DEPDIR)/tee.Po ./$(DEPDIR)/tgkill.Po \
d811e0
 	./$(DEPDIR)/threads-execve--quiet-thread-execve.Po \
d811e0
 	./$(DEPDIR)/threads-execve-q.Po \
d811e0
 	./$(DEPDIR)/threads-execve-qq.Po \
d811e0
@@ -4443,7 +4447,7 @@
d811e0
 	strace--strings-in-hex-non-ascii.c strace-x.c strace-xx.c \
d811e0
 	swap.c sxetmask.c symlink.c symlinkat.c sync.c \
d811e0
 	sync_file_range.c sync_file_range2.c sysinfo.c syslog.c \
d811e0
-	syslog-success.c tee.c threads-execve.c \
d811e0
+	syslog-success.c tee.c tgkill.c threads-execve.c \
d811e0
 	threads-execve--quiet-thread-execve.c threads-execve-q.c \
d811e0
 	threads-execve-qq.c threads-execve-qqq.c time.c timer_create.c \
d811e0
 	timer_xettime.c timerfd_xettime.c times.c times-fail.c tkill.c \
d811e0
@@ -4669,7 +4673,7 @@
d811e0
 	strace--strings-in-hex-non-ascii.c strace-x.c strace-xx.c \
d811e0
 	swap.c sxetmask.c symlink.c symlinkat.c sync.c \
d811e0
 	sync_file_range.c sync_file_range2.c sysinfo.c syslog.c \
d811e0
-	syslog-success.c tee.c threads-execve.c \
d811e0
+	syslog-success.c tee.c tgkill.c threads-execve.c \
d811e0
 	threads-execve--quiet-thread-execve.c threads-execve-q.c \
d811e0
 	threads-execve-qq.c threads-execve-qqq.c time.c timer_create.c \
d811e0
 	timer_xettime.c timerfd_xettime.c times.c times-fail.c tkill.c \
d811e0
@@ -5724,6 +5728,7 @@
d811e0
   sysinfo \
d811e0
   syslog \
d811e0
   tee \
d811e0
+  tgkill \
d811e0
   time \
d811e0
   timer_create \
d811e0
   timer_xettime \
d811e0
@@ -6133,7 +6138,7 @@
d811e0
 	strace-xx.gen.test swap.gen.test sxetmask.gen.test \
d811e0
 	symlink.gen.test symlinkat.gen.test sync.gen.test \
d811e0
 	sync_file_range.gen.test sync_file_range2.gen.test \
d811e0
-	sysinfo.gen.test syslog.gen.test tee.gen.test \
d811e0
+	sysinfo.gen.test syslog.gen.test tee.gen.test tgkill.gen.test \
d811e0
 	threads-execve--quiet-thread-execve.gen.test \
d811e0
 	threads-execve-q.gen.test threads-execve-qq.gen.test \
d811e0
 	threads-execve-qqq.gen.test time.gen.test \
d811e0
@@ -9355,6 +9360,10 @@
d811e0
 	@rm -f tee$(EXEEXT)
d811e0
 	$(AM_V_CCLD)$(LINK) $(tee_OBJECTS) $(tee_LDADD) $(LIBS)
d811e0
 
d811e0
+tgkill$(EXEEXT): $(tgkill_OBJECTS) $(tgkill_DEPENDENCIES) $(EXTRA_tgkill_DEPENDENCIES) 
d811e0
+	@rm -f tgkill$(EXEEXT)
d811e0
+	$(AM_V_CCLD)$(LINK) $(tgkill_OBJECTS) $(tgkill_LDADD) $(LIBS)
d811e0
+
d811e0
 threads-execve$(EXEEXT): $(threads_execve_OBJECTS) $(threads_execve_DEPENDENCIES) $(EXTRA_threads_execve_DEPENDENCIES) 
d811e0
 	@rm -f threads-execve$(EXEEXT)
d811e0
 	$(AM_V_CCLD)$(LINK) $(threads_execve_OBJECTS) $(threads_execve_LDADD) $(LIBS)
d811e0
@@ -10349,6 +10358,7 @@
d811e0
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/syslog-success.Po@am__quote@ # am--include-marker
d811e0
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/syslog.Po@am__quote@ # am--include-marker
d811e0
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tee.Po@am__quote@ # am--include-marker
d811e0
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tgkill.Po@am__quote@ # am--include-marker
d811e0
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/threads-execve--quiet-thread-execve.Po@am__quote@ # am--include-marker
d811e0
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/threads-execve-q.Po@am__quote@ # am--include-marker
d811e0
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/threads-execve-qq.Po@am__quote@ # am--include-marker
d811e0
@@ -12170,6 +12180,7 @@
d811e0
 	-rm -f ./$(DEPDIR)/syslog-success.Po
d811e0
 	-rm -f ./$(DEPDIR)/syslog.Po
d811e0
 	-rm -f ./$(DEPDIR)/tee.Po
d811e0
+	-rm -f ./$(DEPDIR)/tgkill.Po
d811e0
 	-rm -f ./$(DEPDIR)/threads-execve--quiet-thread-execve.Po
d811e0
 	-rm -f ./$(DEPDIR)/threads-execve-q.Po
d811e0
 	-rm -f ./$(DEPDIR)/threads-execve-qq.Po
d811e0
@@ -13026,6 +13037,7 @@
d811e0
 	-rm -f ./$(DEPDIR)/syslog-success.Po
d811e0
 	-rm -f ./$(DEPDIR)/syslog.Po
d811e0
 	-rm -f ./$(DEPDIR)/tee.Po
d811e0
+	-rm -f ./$(DEPDIR)/tgkill.Po
d811e0
 	-rm -f ./$(DEPDIR)/threads-execve--quiet-thread-execve.Po
d811e0
 	-rm -f ./$(DEPDIR)/threads-execve-q.Po
d811e0
 	-rm -f ./$(DEPDIR)/threads-execve-qq.Po
d811e0
@@ -15085,6 +15097,9 @@
d811e0
 $(srcdir)/tee.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
d811e0
 	$(AM_V_GEN) $^ $@
d811e0
 
d811e0
+$(srcdir)/tgkill.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
d811e0
+	$(AM_V_GEN) $^ $@
d811e0
+
d811e0
 $(srcdir)/threads-execve--quiet-thread-execve.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
d811e0
 	$(AM_V_GEN) $^ $@
d811e0
 
d811e0
Index: strace-5.7/tests/Makefile.in
d811e0
===================================================================
d811e0
--- strace-5.7.orig/tests/Makefile.in	2020-09-09 19:30:36.780885588 +0200
d811e0
+++ strace-5.7/tests/Makefile.in	2020-09-09 19:46:24.904450714 +0200
d811e0
@@ -493,8 +493,8 @@
d811e0
 	strace-xx$(EXEEXT) swap$(EXEEXT) sxetmask$(EXEEXT) \
d811e0
 	symlink$(EXEEXT) symlinkat$(EXEEXT) sync$(EXEEXT) \
d811e0
 	sync_file_range$(EXEEXT) sync_file_range2$(EXEEXT) \
d811e0
-	sysinfo$(EXEEXT) syslog$(EXEEXT) tee$(EXEEXT) time$(EXEEXT) \
d811e0
-	timer_create$(EXEEXT) timer_xettime$(EXEEXT) \
d811e0
+	sysinfo$(EXEEXT) syslog$(EXEEXT) tee$(EXEEXT) tgkill$(EXEEXT) \
d811e0
+	time$(EXEEXT) timer_create$(EXEEXT) timer_xettime$(EXEEXT) \
d811e0
 	timerfd_xettime$(EXEEXT) times$(EXEEXT) times-fail$(EXEEXT) \
d811e0
 	tkill$(EXEEXT) truncate$(EXEEXT) truncate64$(EXEEXT) \
d811e0
 	ugetrlimit$(EXEEXT) uio$(EXEEXT) umask$(EXEEXT) \
d811e0
@@ -3444,6 +3444,10 @@
d811e0
 tee_OBJECTS = tee.$(OBJEXT)
d811e0
 tee_LDADD = $(LDADD)
d811e0
 tee_DEPENDENCIES = libtests.a
d811e0
+tgkill_SOURCES = tgkill.c
d811e0
+tgkill_OBJECTS = tgkill.$(OBJEXT)
d811e0
+tgkill_LDADD = $(LDADD)
d811e0
+tgkill_DEPENDENCIES = libtests.a
d811e0
 threads_execve_SOURCES = threads-execve.c
d811e0
 threads_execve_OBJECTS = threads-execve.$(OBJEXT)
d811e0
 threads_execve_DEPENDENCIES = $(am__DEPENDENCIES_1) $(LDADD)
d811e0
@@ -4181,7 +4185,7 @@
d811e0
 	./$(DEPDIR)/symlinkat.Po ./$(DEPDIR)/sync.Po \
d811e0
 	./$(DEPDIR)/sync_file_range.Po ./$(DEPDIR)/sync_file_range2.Po \
d811e0
 	./$(DEPDIR)/sysinfo.Po ./$(DEPDIR)/syslog-success.Po \
d811e0
-	./$(DEPDIR)/syslog.Po ./$(DEPDIR)/tee.Po \
d811e0
+	./$(DEPDIR)/syslog.Po ./$(DEPDIR)/tee.Po ./$(DEPDIR)/tgkill.Po \
d811e0
 	./$(DEPDIR)/threads-execve--quiet-thread-execve.Po \
d811e0
 	./$(DEPDIR)/threads-execve-q.Po \
d811e0
 	./$(DEPDIR)/threads-execve-qq.Po \
d811e0
@@ -4443,7 +4447,7 @@
d811e0
 	strace--strings-in-hex-non-ascii.c strace-x.c strace-xx.c \
d811e0
 	swap.c sxetmask.c symlink.c symlinkat.c sync.c \
d811e0
 	sync_file_range.c sync_file_range2.c sysinfo.c syslog.c \
d811e0
-	syslog-success.c tee.c threads-execve.c \
d811e0
+	syslog-success.c tee.c tgkill.c threads-execve.c \
d811e0
 	threads-execve--quiet-thread-execve.c threads-execve-q.c \
d811e0
 	threads-execve-qq.c threads-execve-qqq.c time.c timer_create.c \
d811e0
 	timer_xettime.c timerfd_xettime.c times.c times-fail.c tkill.c \
d811e0
@@ -4669,7 +4673,7 @@
d811e0
 	strace--strings-in-hex-non-ascii.c strace-x.c strace-xx.c \
d811e0
 	swap.c sxetmask.c symlink.c symlinkat.c sync.c \
d811e0
 	sync_file_range.c sync_file_range2.c sysinfo.c syslog.c \
d811e0
-	syslog-success.c tee.c threads-execve.c \
d811e0
+	syslog-success.c tee.c tgkill.c threads-execve.c \
d811e0
 	threads-execve--quiet-thread-execve.c threads-execve-q.c \
d811e0
 	threads-execve-qq.c threads-execve-qqq.c time.c timer_create.c \
d811e0
 	timer_xettime.c timerfd_xettime.c times.c times-fail.c tkill.c \
d811e0
@@ -5724,6 +5728,7 @@
d811e0
   sysinfo \
d811e0
   syslog \
d811e0
   tee \
d811e0
+  tgkill \
d811e0
   time \
d811e0
   timer_create \
d811e0
   timer_xettime \
d811e0
@@ -6133,7 +6138,7 @@
d811e0
 	strace-xx.gen.test swap.gen.test sxetmask.gen.test \
d811e0
 	symlink.gen.test symlinkat.gen.test sync.gen.test \
d811e0
 	sync_file_range.gen.test sync_file_range2.gen.test \
d811e0
-	sysinfo.gen.test syslog.gen.test tee.gen.test \
d811e0
+	sysinfo.gen.test syslog.gen.test tee.gen.test tgkill.gen.test \
d811e0
 	threads-execve--quiet-thread-execve.gen.test \
d811e0
 	threads-execve-q.gen.test threads-execve-qq.gen.test \
d811e0
 	threads-execve-qqq.gen.test time.gen.test \
d811e0
@@ -9355,6 +9360,10 @@
d811e0
 	@rm -f tee$(EXEEXT)
d811e0
 	$(AM_V_CCLD)$(LINK) $(tee_OBJECTS) $(tee_LDADD) $(LIBS)
d811e0
 
d811e0
+tgkill$(EXEEXT): $(tgkill_OBJECTS) $(tgkill_DEPENDENCIES) $(EXTRA_tgkill_DEPENDENCIES) 
d811e0
+	@rm -f tgkill$(EXEEXT)
d811e0
+	$(AM_V_CCLD)$(LINK) $(tgkill_OBJECTS) $(tgkill_LDADD) $(LIBS)
d811e0
+
d811e0
 threads-execve$(EXEEXT): $(threads_execve_OBJECTS) $(threads_execve_DEPENDENCIES) $(EXTRA_threads_execve_DEPENDENCIES) 
d811e0
 	@rm -f threads-execve$(EXEEXT)
d811e0
 	$(AM_V_CCLD)$(LINK) $(threads_execve_OBJECTS) $(threads_execve_LDADD) $(LIBS)
d811e0
@@ -10349,6 +10358,7 @@
d811e0
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/syslog-success.Po@am__quote@ # am--include-marker
d811e0
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/syslog.Po@am__quote@ # am--include-marker
d811e0
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tee.Po@am__quote@ # am--include-marker
d811e0
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tgkill.Po@am__quote@ # am--include-marker
d811e0
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/threads-execve--quiet-thread-execve.Po@am__quote@ # am--include-marker
d811e0
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/threads-execve-q.Po@am__quote@ # am--include-marker
d811e0
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/threads-execve-qq.Po@am__quote@ # am--include-marker
d811e0
@@ -12170,6 +12180,7 @@
d811e0
 	-rm -f ./$(DEPDIR)/syslog-success.Po
d811e0
 	-rm -f ./$(DEPDIR)/syslog.Po
d811e0
 	-rm -f ./$(DEPDIR)/tee.Po
d811e0
+	-rm -f ./$(DEPDIR)/tgkill.Po
d811e0
 	-rm -f ./$(DEPDIR)/threads-execve--quiet-thread-execve.Po
d811e0
 	-rm -f ./$(DEPDIR)/threads-execve-q.Po
d811e0
 	-rm -f ./$(DEPDIR)/threads-execve-qq.Po
d811e0
@@ -13026,6 +13037,7 @@
d811e0
 	-rm -f ./$(DEPDIR)/syslog-success.Po
d811e0
 	-rm -f ./$(DEPDIR)/syslog.Po
d811e0
 	-rm -f ./$(DEPDIR)/tee.Po
d811e0
+	-rm -f ./$(DEPDIR)/tgkill.Po
d811e0
 	-rm -f ./$(DEPDIR)/threads-execve--quiet-thread-execve.Po
d811e0
 	-rm -f ./$(DEPDIR)/threads-execve-q.Po
d811e0
 	-rm -f ./$(DEPDIR)/threads-execve-qq.Po
d811e0
@@ -15085,6 +15097,9 @@
d811e0
 $(srcdir)/tee.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
d811e0
 	$(AM_V_GEN) $^ $@
d811e0
 
d811e0
+$(srcdir)/tgkill.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
d811e0
+	$(AM_V_GEN) $^ $@
d811e0
+
d811e0
 $(srcdir)/threads-execve--quiet-thread-execve.gen.test: $(abs_srcdir)/gen_tests.sh $(srcdir)/gen_tests.in
d811e0
 	$(AM_V_GEN) $^ $@
d811e0