replace sigstack with sigaltstack
authorKirk McKusick <mckusick@ucbvax.Berkeley.EDU>
Fri, 29 May 1992 09:17:27 +0000 (01:17 -0800)
committerKirk McKusick <mckusick@ucbvax.Berkeley.EDU>
Fri, 29 May 1992 09:17:27 +0000 (01:17 -0800)
SCCS-vsn: lib/libc/hp300/gen/setjmp.s 5.2

usr/src/lib/libc/hp300/gen/setjmp.s

index 1b5243d..dde64ea 100644 (file)
 #include "DEFS.h"
 
 ENTRY(setjmp)
 #include "DEFS.h"
 
 ENTRY(setjmp)
-       subql   #8,sp           /* space for sigstack args/rvals */
+       subl    #12,sp          /* space for sigaltstack args/rvals */
        clrl    sp@             /* don't change it... */
        movl    sp,sp@(4)       /* ...but return the current val */
        clrl    sp@             /* don't change it... */
        movl    sp,sp@(4)       /* ...but return the current val */
-       jsr     _sigstack       /* note: onstack returned in sp@(4) */
+       jsr     _sigaltstack    /* note: onstack returned in sp@(8) */
        clrl    sp@             /* don't change mask, just return */
        jsr     _sigblock       /*   old value */
        clrl    sp@             /* don't change mask, just return */
        jsr     _sigblock       /*   old value */
-       movl    sp@(4),d1       /* old onstack value */
-       addql   #8,sp
+       movl    sp@(8),d1       /* old onstack value */
+       andl    #1,d1           /* extract onstack flag */
+       addl    #12,sp
        movl    sp@(4),a0       /* save area pointer */
        movl    d1,a0@+         /* save old onstack value */
        movl    d0,a0@+         /* save old signal mask */
        movl    sp@(4),a0       /* save area pointer */
        movl    d1,a0@+         /* save old onstack value */
        movl    d0,a0@+         /* save old signal mask */