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