Module Name:    src
Committed By:   kamil
Date:           Thu May  2 22:52:21 UTC 2019

Modified Files:
        src/tests/lib/libc/sys: t_ptrace_wait.c

Log Message:
Adapt t_ptrace_wait* tests for recent kernel changes

Adapt AUXV reading loop to handle io.piod_len == 0 as EOF.

Temporarily disable trace_thread_lwpcreate until it will be verified that
it is stable.


To generate a diff of this commit:
cvs rdiff -u -r1.119 -r1.120 src/tests/lib/libc/sys/t_ptrace_wait.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/tests/lib/libc/sys/t_ptrace_wait.c
diff -u src/tests/lib/libc/sys/t_ptrace_wait.c:1.119 src/tests/lib/libc/sys/t_ptrace_wait.c:1.120
--- src/tests/lib/libc/sys/t_ptrace_wait.c:1.119	Thu May  2 00:34:06 2019
+++ src/tests/lib/libc/sys/t_ptrace_wait.c	Thu May  2 22:52:21 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: t_ptrace_wait.c,v 1.119 2019/05/02 00:34:06 kamil Exp $	*/
+/*	$NetBSD: t_ptrace_wait.c,v 1.120 2019/05/02 22:52:21 kamil Exp $	*/
 
 /*-
  * Copyright (c) 2016, 2017, 2018, 2019 The NetBSD Foundation, Inc.
@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__RCSID("$NetBSD: t_ptrace_wait.c,v 1.119 2019/05/02 00:34:06 kamil Exp $");
+__RCSID("$NetBSD: t_ptrace_wait.c,v 1.120 2019/05/02 22:52:21 kamil Exp $");
 
 #include <sys/param.h>
 #include <sys/types.h>
@@ -4063,10 +4063,10 @@ bytes_transfer_alignment(const char *ope
 		errno = 0;
 		i = 0;
 		/* Read the whole AUXV vector, it has no clear length */
-		while (errno != EIO) {
+		while (io.piod_len > 0) {
 			io.piod_offs = (void *)(intptr_t)i;
 			SYSCALL_REQUIRE(ptrace(PT_IO, child, &io, sizeof(io))
-			                != -1 || (errno == EIO && i > 0));
+			                != -1 || (io.piod_len == 0 && i > 0));
 			++i;
 		}
 	}
@@ -5359,7 +5359,7 @@ trace_threads(bool trace_create, bool tr
 	/* Track created and exited threads */
 	bool traced_lwps[__arraycount(t)];
 
-	if (trace_exit)
+	if (trace_create || trace_exit)
 		atf_tc_skip("PR kern/51995");
 
 	DPRINTF("Before forking process PID=%d\n", getpid());

Reply via email to