summaryrefslogtreecommitdiffstats
path: root/lib/libc/alpha/gen/setjmp.S
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libc/alpha/gen/setjmp.S')
-rw-r--r--lib/libc/alpha/gen/setjmp.S11
1 files changed, 7 insertions, 4 deletions
diff --git a/lib/libc/alpha/gen/setjmp.S b/lib/libc/alpha/gen/setjmp.S
index a6d1083..ee56d9d 100644
--- a/lib/libc/alpha/gen/setjmp.S
+++ b/lib/libc/alpha/gen/setjmp.S
@@ -25,6 +25,8 @@
*
* any improvements or extensions that they make and grant Carnegie the
* rights to redistribute these changes.
+ *
+ * $FreeBSD$
*/
#include "SYS.h"
@@ -61,9 +63,10 @@ LEAF(setjmp, 1)
mov a0, s0 /* squirrel away ptr to sc */
/* see what's blocked */
- mov zero, a0
- PCALL(sigblock) /* see what's blocked */
- stq v0, (1 * 8)(s0) /* and remember it in sc_mask */
+ lda a2, (71 * 8)(a0) /* oset: sc_reserved */
+ mov zero, a1 /* set: NULL */
+ add a1, 1, a0 /* how: SIG_BLOCK */
+ PCALL(sigprocmask) /* see what's blocked */
lda sp, -24(sp) /* sizeof struct sigaltstack */
mov zero, a0
@@ -115,7 +118,7 @@ END(setjmp)
LEAF(longjmp, 2)
LDGP(pv)
stq a1, (( 0 + 4) * 8)(a0) /* save return value */
- PCALL(sigreturn) /* use sigreturn to return */
+ PCALL(osigreturn) /* use sigreturn to return */
botch:
CALL(longjmperror)
OpenPOWER on IntegriCloud