History log of /netbsd-src/tests/lib/libc/setjmp/t_sigstack.c (Results 1 – 12 of 12)
Revision Date Author Comments
# 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.