Module Name:    src
Committed By:   rin
Date:           Wed Sep  4 03:33:29 UTC 2024

Modified Files:
        src/tests/lib/libc/gen: t_siginfo.c

Log Message:
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.54 -r1.55 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.54 src/tests/lib/libc/gen/t_siginfo.c:1.55
--- src/tests/lib/libc/gen/t_siginfo.c:1.54	Wed Sep  4 02:20:49 2024
+++ src/tests/lib/libc/gen/t_siginfo.c	Wed Sep  4 03:33:29 2024
@@ -1,4 +1,4 @@
-/* $NetBSD: t_siginfo.c,v 1.54 2024/09/04 02:20:49 rin Exp $ */
+/* $NetBSD: t_siginfo.c,v 1.55 2024/09/04 03:33:29 rin Exp $ */
 
 /*-
  * Copyright (c) 2010 The NetBSD Foundation, Inc.
@@ -442,8 +442,9 @@ sigbus_action(int signo, siginfo_t *info
 	ATF_REQUIRE_EQ(info->si_code, BUS_ADRALN);
 
 #if defined(__i386__) || defined(__x86_64__)
-	atf_tc_skip("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