History log of /openbsd-current/lib/libc/arch/hppa/gen/setjmp.S
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1.12 10-Dec-2023 deraadt

Populate the non-LOAD openbsd.syscalls section (and PT_OPENBSD_SYSCALL)
with {uint offset, uint syscall#} entries in libc & ld.so.
In libc a few syscall# entries (break, sigprocmask, _tfork, _threxit)
are duplicated because additional or inline uses occur (that situation
is handled elsewhere)
ok kettenis


Revision tags: OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE OPENBSD_6_7_BASE OPENBSD_6_8_BASE OPENBSD_6_9_BASE OPENBSD_7_0_BASE OPENBSD_7_1_BASE OPENBSD_7_2_BASE OPENBSD_7_3_BASE OPENBSD_7_4_BASE
# 1.11 29-May-2016 guenther

Only require 4 byte alignment on ILP32 archs


# 1.10 23-May-2016 guenther

Add XOR cookies for rp and sp. Switch from calling obsolete
sig{block,setmask} to directly using the sigprocmask syscall.
Remove longjmperror()-if-passed-real-sigcontext checks and the
filling in of sigcontext fields that longjmp ignores.

in snaps; ok deraadt@


Revision tags: OPENBSD_5_9_BASE
# 1.9 13-Sep-2015 guenther

Do provide hidden _libc_* aliases for sig{block,setmask} and use them in
the ASM *setjmp implementations.
Skip the PLT when calling them on amd64 (other archs to do this after testing)

ok miod@


Revision tags: OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE OPENBSD_5_4_BASE OPENBSD_5_5_BASE OPENBSD_5_6_BASE OPENBSD_5_7_BASE OPENBSD_5_8_BASE
# 1.8 15-Apr-2011 ariane

Remove wrong check.

HPPA longjmp tests that the env parameter < the current stack pointer.
The test relies on the stack being at the end of the memory space.

This test is wrong for a couple of reasons:
- the main stack is at 0x78000000-0x80000000, but allocations between
0x80000000-0xc0000000 are available to the program,
- pthread stacks may be at any place in the address space, allowing a
heap-allocated env parameter to fail the check.

ok deraadt@, kettenis@, guenther@ at least


Revision tags: OPENBSD_3_8_BASE OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE OPENBSD_4_3_BASE OPENBSD_4_4_BASE OPENBSD_4_5_BASE OPENBSD_4_6_BASE OPENBSD_4_7_BASE OPENBSD_4_8_BASE OPENBSD_4_9_BASE
# 1.7 07-Aug-2005 espie

zap rcsid.
okay deraadt@ (tested them all)


Revision tags: OPENBSD_3_4_BASE OPENBSD_3_5_BASE OPENBSD_3_6_BASE OPENBSD_3_7_BASE
# 1.6 02-Jun-2003 millert

Remove the advertising clause in the UCB license which Berkeley
rescinded 22 July 1999. Proofed by myself and Theo.


Revision tags: OPENBSD_3_3_BASE
# 1.5 21-Oct-2002 mickey

reversed condition checking for sig*jmp(, savemask)


# 1.4 21-Oct-2002 mickey

deal w/ longjmp(, 0)


Revision tags: OPENBSD_3_1_BASE OPENBSD_3_2_BASE
# 1.3 08-Feb-2002 mickey

fix typo, and put back stack frame ops


# 1.2 07-Feb-2002 mickey

reverse condition in the sp botchness check, we need to nullify
if we are ok not if we are bad. fix a pasto in branch w/in longjmps.


# 1.1 06-Feb-2002 mickey

implement the setjmp/longjmp family, based on fredette@'s work


Revision tags: OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE
# 1.11 29-May-2016 guenther

Only require 4 byte alignment on ILP32 archs


# 1.10 23-May-2016 guenther

Add XOR cookies for rp and sp. Switch from calling obsolete
sig{block,setmask} to directly using the sigprocmask syscall.
Remove longjmperror()-if-passed-real-sigcontext checks and the
filling in of sigcontext fields that longjmp ignores.

in snaps; ok deraadt@


Revision tags: OPENBSD_5_9_BASE
# 1.9 13-Sep-2015 guenther

Do provide hidden _libc_* aliases for sig{block,setmask} and use them in
the ASM *setjmp implementations.
Skip the PLT when calling them on amd64 (other archs to do this after testing)

ok miod@


Revision tags: OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE OPENBSD_5_4_BASE OPENBSD_5_5_BASE OPENBSD_5_6_BASE OPENBSD_5_7_BASE OPENBSD_5_8_BASE
# 1.8 15-Apr-2011 ariane

Remove wrong check.

HPPA longjmp tests that the env parameter < the current stack pointer.
The test relies on the stack being at the end of the memory space.

This test is wrong for a couple of reasons:
- the main stack is at 0x78000000-0x80000000, but allocations between
0x80000000-0xc0000000 are available to the program,
- pthread stacks may be at any place in the address space, allowing a
heap-allocated env parameter to fail the check.

ok deraadt@, kettenis@, guenther@ at least


Revision tags: OPENBSD_3_8_BASE OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE OPENBSD_4_3_BASE OPENBSD_4_4_BASE OPENBSD_4_5_BASE OPENBSD_4_6_BASE OPENBSD_4_7_BASE OPENBSD_4_8_BASE OPENBSD_4_9_BASE
# 1.7 07-Aug-2005 espie

zap rcsid.
okay deraadt@ (tested them all)


Revision tags: OPENBSD_3_4_BASE OPENBSD_3_5_BASE OPENBSD_3_6_BASE OPENBSD_3_7_BASE
# 1.6 02-Jun-2003 millert

Remove the advertising clause in the UCB license which Berkeley
rescinded 22 July 1999. Proofed by myself and Theo.


Revision tags: OPENBSD_3_3_BASE
# 1.5 21-Oct-2002 mickey

reversed condition checking for sig*jmp(, savemask)


# 1.4 21-Oct-2002 mickey

deal w/ longjmp(, 0)


Revision tags: OPENBSD_3_1_BASE OPENBSD_3_2_BASE
# 1.3 08-Feb-2002 mickey

fix typo, and put back stack frame ops


# 1.2 07-Feb-2002 mickey

reverse condition in the sp botchness check, we need to nullify
if we are ok not if we are bad. fix a pasto in branch w/in longjmps.


# 1.1 06-Feb-2002 mickey

implement the setjmp/longjmp family, based on fredette@'s work