Use __sigprocmask14, fix a few more bugs
This commit is contained in:
parent
e3fb94a7b4
commit
592306e323
|
@ -33,7 +33,7 @@
|
|||
|
||||
#if defined(LIBC_SCCS) && !defined(lint)
|
||||
/* .asciz "@(#)setjmp.s 8.1 (Berkeley) 6/4/93" */
|
||||
.asciz "$NetBSD: __setjmp14.S,v 1.2 1998/10/10 00:08:51 matt Exp $"
|
||||
.asciz "$NetBSD: __setjmp14.S,v 1.3 1998/10/10 01:50:23 matt Exp $"
|
||||
#endif /* LIBC_SCCS and not lint */
|
||||
|
||||
/*
|
||||
|
@ -56,12 +56,11 @@ ENTRY(__setjmp14, R6)
|
|||
pushl $0 # no new values
|
||||
calls $4,___sigaltstack14 # pop args plus signal stack value
|
||||
movl (sp)+,(r6)+ # save onsigstack status of caller
|
||||
pushal 24(r6)
|
||||
pushl $0
|
||||
pushl $0
|
||||
addl3 r6,28,r6
|
||||
pushl r6
|
||||
calls $3,__sigblock14 # get signal mask
|
||||
subl3 r6,24,r6
|
||||
calls $3,___sigprocmask14 # get signal mask
|
||||
addl2 $4,r6 # skip old mask
|
||||
movl (ap),r0
|
||||
moval 4(ap)[r0],(r6)+ # save sp of caller
|
||||
movl 12(fp),(r6)+ # save frame pointer of caller
|
||||
|
@ -93,7 +92,7 @@ loop:
|
|||
|
||||
done:
|
||||
pushl r1 # pointer to sigcontext
|
||||
calls $1,__sigreturn14 # restore previous context
|
||||
calls $1,___sigreturn14 # restore previous context
|
||||
# we should never return
|
||||
botch:
|
||||
calls $0,_longjmperror
|
||||
|
|
Loading…
Reference in New Issue