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);