NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
PR/59351 CVS commit: src/tests/lib/libc/setjmp
The following reply was made to PR port-arm/59351; it has been noted by GNATS.
From: "Taylor R Campbell" <riastradh%netbsd.org@localhost>
To: gnats-bugs%gnats.NetBSD.org@localhost
Cc:
Subject: PR/59351 CVS commit: src/tests/lib/libc/setjmp
Date: Mon, 28 Apr 2025 00:28:27 +0000
Module Name: src
Committed By: riastradh
Date: Mon Apr 28 00:28:27 UTC 2025
Modified Files:
src/tests/lib/libc/setjmp: t_sigstack.c
Log Message:
t_sigstack: Don't do atf_tc_expect_fail then atf_tc_expect_signal.
atf interprets this sequence, with no intervening atf_tc_fail, to
mean the xfail failed to fail so it fails. (Got that?) That is, it
is interpreted somewhat like
atf_tc_expect_fail(...);
... there is supposed to be a failure here ...
atf_tc_expect_pass();
... remaining checks are expected to pass ...
where a lack of failures between the xfail and the xpass means the
expectation was not met.
But in this case, there are two compounding bugs:
1. the compat 1.3 setjmp has botched its registers, as uwe@
discovered, so it is expected to crash on SIGSEGV (PR 59351); and
2. the compat 1.3 longjmp restores the stack poiter and signal mask
in the wrong order, so it is expected to fail the test (PR 57946).
Since the crash in setjmp triggers before the failure after longjmp,
only do atf_tc_expect_signal; once that is fixed we can re-enable the
atf_tc_expect_fail for longjmp.
PR lib/57946: longjmp fails to restore stack first before restoring
signal mask on most architectures
PR port-arm/59351: compat_setjmp is busted
To generate a diff of this commit:
cvs rdiff -u -r1.21 -r1.22 src/tests/lib/libc/setjmp/t_sigstack.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Home |
Main Index |
Thread Index |
Old Index