#
d5e6e0f5 |
| 17-Jul-2024 |
uwe <uwe@NetBSD.org> |
sh3: siglongjmp - restore register context first (PR lib/57946)
|
#
e21ed88e |
| 06-May-2024 |
riastradh <riastradh@NetBSD.org> |
tests/lib/libc/setjmp/t_sigstack: Add missing comment for 1.10.
PR lib/57946
|
#
d2c36e3e |
| 06-May-2024 |
skrll <skrll@NetBSD.org> |
arm has been fixed
|
#
3e7604f6 |
| 04-Apr-2024 |
riastradh <riastradh@NetBSD.org> |
i386 longjmp: Restore stack first, then signal mask.
Otherwise, a pending signal may be delivered on the wrong stack when we restore the signal mask.
While here:
- Tidy the code a little bit. - Sp
i386 longjmp: Restore stack first, then signal mask.
Otherwise, a pending signal may be delivered on the wrong stack when we restore the signal mask.
While here:
- Tidy the code a little bit. - Sprinkle comments to explain what's going on. - Use forward branches for statically predicted not-taken. => val==0 is unlikely in longjmp
PR lib/57946
show more ...
|
#
df443a3d |
| 04-Apr-2024 |
riastradh <riastradh@NetBSD.org> |
amd64 longjmp: Restore stack first, then signal mask.
Otherwise, a pending signal may be delivered on the wrong stack when we restore the signal mask.
While here:
- Tidy the code a little bit. - S
amd64 longjmp: Restore stack first, then signal mask.
Otherwise, a pending signal may be delivered on the wrong stack when we restore the signal mask.
While here:
- Tidy the code a little bit. - Sprinkle comments to explain what's going on. - Use `xorl %eXX,%eXX' instead of `xorq %rXX,%rXX'. => Same effect, one byte shorter, breaks dep chain on more uarches. - Use forward branches for statically predicted not-taken. => val==0 is unlikely in longjmp
PR lib/57946
show more ...
|
#
3dfc2808 |
| 19-Feb-2024 |
riastradh <riastradh@NetBSD.org> |
longjmp(3) t_sigstack: Fix fencepost error.
Extremely unlikely to cause trouble, but let's just turn that into `never' to keep it easier for readers.
PR lib/57946
|
#
9ba2d744 |
| 19-Feb-2024 |
riastradh <riastradh@NetBSD.org> |
longjmp(3) t_sigstack: Use a sigaltstack per handler entry.
longjmp evidently doesn't reset the state of whether the process is executing on the alternate signal stack. So when we re-enter the sign
longjmp(3) t_sigstack: Use a sigaltstack per handler entry.
longjmp evidently doesn't reset the state of whether the process is executing on the alternate signal stack. So when we re-enter the signal handler, the alternate stack appears to be still in use, and the system chooses the original stack for the second call to the signal handler -- which trips our assertion asking to verify that the signal handler is always using an alternate stack.
Not strictly necessary for the signal handler to use an alternate stack on re-entry, but this makes it clearer that the signal handler itself is always using the alternate stack so we can verify that the interrupted code is _not_ in the signal handler.
With this change, the test now passes on aarch64.
PR lib/57946
show more ...
|
#
81899325 |
| 19-Feb-2024 |
riastradh <riastradh@NetBSD.org> |
longjmp(3) t_sigstack: Note aarch64 seems to DTRT.
But only by code inspection; it appears to have another problem: on re-entry, the signal handler is called on the normal stack, not on the alternat
longjmp(3) t_sigstack: Note aarch64 seems to DTRT.
But only by code inspection; it appears to have another problem: on re-entry, the signal handler is called on the normal stack, not on the alternate signal stack.
PR lib/57946
show more ...
|
#
2bb61943 |
| 19-Feb-2024 |
riastradh <riastradh@NetBSD.org> |
longjmp(3) t_sigstack: Print which entry failed.
PR lib/57946
|
#
3026ea48 |
| 19-Feb-2024 |
riastradh <riastradh@NetBSD.org> |
longjmp(3): Test signal mask vs stack restore with siglongjmp too.
PR lib/57946
|
#
6514aab6 |
| 19-Feb-2024 |
riastradh <riastradh@NetBSD.org> |
longjmp(3): Paranoia: more error checking in PR lib/57946 test.
|
#
a7b03376 |
| 19-Feb-2024 |
riastradh <riastradh@NetBSD.org> |
longjmp(3): Add test for PR lib/57946.
|