Use __sigprocmask14, fix a few more bugs

This commit is contained in:
matt 1998-10-10 01:50:23 +00:00
parent e3fb94a7b4
commit 592306e323
1 changed files with 5 additions and 6 deletions

View File

@ -33,7 +33,7 @@
#if defined(LIBC_SCCS) && !defined(lint) #if defined(LIBC_SCCS) && !defined(lint)
/* .asciz "@(#)setjmp.s 8.1 (Berkeley) 6/4/93" */ /* .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 */ #endif /* LIBC_SCCS and not lint */
/* /*
@ -56,12 +56,11 @@ ENTRY(__setjmp14, R6)
pushl $0 # no new values pushl $0 # no new values
calls $4,___sigaltstack14 # pop args plus signal stack value calls $4,___sigaltstack14 # pop args plus signal stack value
movl (sp)+,(r6)+ # save onsigstack status of caller movl (sp)+,(r6)+ # save onsigstack status of caller
pushal 24(r6)
pushl $0 pushl $0
pushl $0 pushl $0
addl3 r6,28,r6 calls $3,___sigprocmask14 # get signal mask
pushl r6 addl2 $4,r6 # skip old mask
calls $3,__sigblock14 # get signal mask
subl3 r6,24,r6
movl (ap),r0 movl (ap),r0
moval 4(ap)[r0],(r6)+ # save sp of caller moval 4(ap)[r0],(r6)+ # save sp of caller
movl 12(fp),(r6)+ # save frame pointer of caller movl 12(fp),(r6)+ # save frame pointer of caller
@ -93,7 +92,7 @@ loop:
done: done:
pushl r1 # pointer to sigcontext pushl r1 # pointer to sigcontext
calls $1,__sigreturn14 # restore previous context calls $1,___sigreturn14 # restore previous context
# we should never return # we should never return
botch: botch:
calls $0,_longjmperror calls $0,_longjmperror