Module Name:    src
Committed By:   martin
Date:           Fri Sep 13 14:06:25 UTC 2024

Modified Files:
        src/tests/lib/libc/gen [netbsd-10]: t_siginfo.c

Log Message:
Pull up following revision(s) (requested by rin in ticket #856):

        tests/lib/libc/gen/t_siginfo.c: revision 1.54
        tests/lib/libc/gen/t_siginfo.c: revision 1.55

t_siginfo:sigbus_adraln: Skip rather than expect_fail on x86

This is an architecture-defined behavior, not a failure.
t_siginfo:adraln: Brush up skip message for x86

Note that:
1. No data address is reported back for alignment check exception, as per
   Intel SDM (June 2024).
2. Kernel sets faulting PC to si_addr.
3. 2. is compliant to siginfo(2), at least:
   For SIGILL, SIGFPE, SIGBUS and SIGSEGV ... si_addr contains
   the address of the faulting instruction or data and ...
4. IEEE Std 1003.1-2024 does not require si_addr for SIGBUS. For SIGILL
   and SIGSEGV, e.g., it is required (SHALL) to store faulting PC and
   data address, respectively, on the other hand.


To generate a diff of this commit:
cvs rdiff -u -r1.47 -r1.47.2.1 src/tests/lib/libc/gen/t_siginfo.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/gen/t_siginfo.c
diff -u src/tests/lib/libc/gen/t_siginfo.c:1.47 src/tests/lib/libc/gen/t_siginfo.c:1.47.2.1
--- src/tests/lib/libc/gen/t_siginfo.c:1.47	Sat May  7 13:14:16 2022
+++ src/tests/lib/libc/gen/t_siginfo.c	Fri Sep 13 14:06:25 2024
@@ -1,4 +1,4 @@
-/* $NetBSD: t_siginfo.c,v 1.47 2022/05/07 13:14:16 rin Exp $ */
+/* $NetBSD: t_siginfo.c,v 1.47.2.1 2024/09/13 14:06:25 martin Exp $ */
 
 /*-
  * Copyright (c) 2010 The NetBSD Foundation, Inc.
@@ -434,8 +434,9 @@ sigbus_action(int signo, siginfo_t *info
 	ATF_REQUIRE_EQ(info->si_code, BUS_ADRALN);
 
 #if defined(__i386__) || defined(__x86_64__)
-	atf_tc_expect_fail("x86 architecture does not correctly "
-	    "report the address where the unaligned access occurred");
+	atf_tc_skip("Data address is not provided for "
+	    "x86 alignment check exception, and NetBSD/x86 reports "
+	    "faulting PC instead");
 #endif
 	ATF_REQUIRE_EQ(info->si_addr, (volatile void *)addr);
 

Reply via email to