History log of /openbsd-current/lib/libc/arch/m88k/gen/sigsetjmp.S
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE
# 1.17 22-Sep-2016 guenther

Switch from calling obsolete sig{block,setmask} to directly using the
sigprocmask syscall.
abort() can't return, so simplify the call, and use the internal name to
avoid the PLT.

no-return observation by Miod Vallat, testing by aoyama@


Revision tags: OPENBSD_6_0_BASE
# 1.16 23-May-2016 guenther

Stop supporting longjmperror(); it's not used, not portable, and the checks
longjmp performs can't really be relied upon, even after we got rid of the
false positives...

ok millert@ deraadt@


Revision tags: OPENBSD_5_9_BASE
# 1.15 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_3_BASE OPENBSD_5_4_BASE OPENBSD_5_5_BASE OPENBSD_5_6_BASE OPENBSD_5_7_BASE OPENBSD_5_8_BASE
# 1.14 20-Jan-2013 miod

PIC-related code should follow the #ifdef __PIC__ line, not the #else line.
Doh!


# 1.13 11-Jan-2013 miod

Add END() directives to the various functions.
Make the code PIC-aware when necessary (i.e. invoke other functions through
the PLT, and access global data through the GOT). No change for non-PIC
compilation.


# 1.12 05-Jan-2013 miod

Switch m88k ports to ELF.


# 1.11 12-Aug-2012 miod

Fix almost ten-years old bug in siglongjmp(), which would not restore a signal
mask of zero (because of flawed logic assuming finding zero in the sigjmp_buf
signal mask means sigsetjmp was invoked with a zero `savemask' argument).

While there, clean comments of all *{set,long}jmp routines, and shave a few
instructions by using bcnd insead of cmp + bb to test for zero values.

Passes the regress tests, and now devel/libsigsegv configure siglongjmp test
will not spin (this test is however flawed as it expects a signal handler
declared as running on the sigaltstack and `returning' through siglongjmp to
be invoked on the signal stack the next time the signal is raised).


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 OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE
# 1.10 07-Aug-2005 espie

zap rcsid.
okay deraadt@ (tested them all)


Revision tags: OPENBSD_3_6_BASE OPENBSD_3_7_BASE
# 1.9 28-Jul-2004 miod

Use less stack space for temporary storage and C code invocation, after
the ABI change.


Revision tags: OPENBSD_3_5_BASE
# 1.8 24-Dec-2003 miod

In the never-ending story of *setjmp bugs, fix a typo preventing
sigsetjmp(foo, !0) to work. Sigh.


Revision tags: OPENBSD_3_4_BASE
# 1.7 06-Aug-2003 miod

In setjmp() and sigsetjmp(), be sure to return with r14 and r15 unchanged, as
they are part of the call preserved register set, and gcc -O relies upon this.


# 1.6 01-Aug-2003 miod

Fix the *longjmp() behaviour - it is legal to reuse a jmp_buf several times.
Gets us a working perl 5.8.


Revision tags: OPENBSD_3_3_BASE
# 1.5 07-Jan-2003 miod

Get static rcsid correctly, better style for .S files, trim whitespace.


# 1.4 04-Jan-2003 miod

Fix *longjmp() return values.


# 1.3 02-Jan-2003 miod

Typos


Revision tags: OPENBSD_3_2_BASE
# 1.2 18-Sep-2002 smurph

Fix license and conformance with man page.


Revision tags: OPENBSD_2_5_BASE OPENBSD_2_6_BASE OPENBSD_2_7_BASE OPENBSD_2_8_BASE OPENBSD_2_9_BASE OPENBSD_3_0_BASE OPENBSD_3_1_BASE
# 1.1 15-Dec-1998 smurph

correted sigsetjmp, setjump. Fixed MACHINE_ARCH vs. MACHINE stuff.