diff options
author | Todd C. Miller <millert@cvs.openbsd.org> | 2001-10-11 21:56:54 +0000 |
---|---|---|
committer | Todd C. Miller <millert@cvs.openbsd.org> | 2001-10-11 21:56:54 +0000 |
commit | 144797368b99474c0c174d99e3f6c9a021343970 (patch) | |
tree | 9798dc1c50341f89e19893850f0f7f8257e5c1e4 /lib | |
parent | 7dc45d10f88af4211cf41df1dd2904cb1d9a1e60 (diff) |
Correct length of jmpbuf, it is sizeof(long) * _JBLEN == 8*14
This fixes sigsetjmp()/siglongjmp() on sparc64
Diffstat (limited to 'lib')
-rw-r--r-- | lib/libc/arch/sparc64/gen/sigsetjmp.S | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/lib/libc/arch/sparc64/gen/sigsetjmp.S b/lib/libc/arch/sparc64/gen/sigsetjmp.S index a7d71420ee1..66e869e0e13 100644 --- a/lib/libc/arch/sparc64/gen/sigsetjmp.S +++ b/lib/libc/arch/sparc64/gen/sigsetjmp.S @@ -1,4 +1,4 @@ -/* $OpenBSD: sigsetjmp.S,v 1.1 2001/08/29 01:45:24 art Exp $ */ +/* $OpenBSD: sigsetjmp.S,v 1.2 2001/10/11 21:56:53 millert Exp $ */ /* $NetBSD: sigsetjmp.S,v 1.5 2000/08/28 00:45:59 eeh Exp $ */ /* * Copyright (c) 1995 Paul Kranenburg @@ -42,12 +42,12 @@ ENTRY(sigsetjmp) movrnz %o1, %o2, %o3 ldx [%g1+%o3], %g1 jmp %g1 - st %o1,[%o0+0x48] ! jmpbuf[JBLEN] + st %o1,[%o0 + 8*14] ! jmpbuf[JBLEN] ENTRY(siglongjmp) PIC_PROLOGUE(%g1,%o2) ! %g1 = _GLOBAL_OFFSET_TABLE - ld [%o0 + 0x48],%o2 ! jmpbuf[JBLEN] + ld [%o0 + 8*14],%o2 ! jmpbuf[JBLEN] set _C_LABEL(longjmp), %o3 ! if (%o2 != 0) goto _longjmp; set _C_LABEL(_longjmp), %o4 ! else goto __longjmp; movrnz %o2, %o3, %o4 @@ -60,13 +60,13 @@ ENTRY(siglongjmp) ENTRY(sigsetjmp) brz,pt %o1,_C_LABEL(_setjmp) - st %o1,[%o0+0x48] ! jmpbuf[JBLEN] + st %o1,[%o0 + 8*14] ! jmpbuf[JBLEN] ba,a,pt %icc,_C_LABEL(setjmp) nop ! spitfire bug unimp 0 ENTRY(siglongjmp) - ld [%o0 + 0x48], %g1 + ld [%o0 + 8*14], %g1 brz,pt %g1, _C_LABEL(_longjmp) nop ba,a,pt %icc, _C_LABEL(longjmp) |