summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorTodd C. Miller <millert@cvs.openbsd.org>2001-10-11 21:56:54 +0000
committerTodd C. Miller <millert@cvs.openbsd.org>2001-10-11 21:56:54 +0000
commit144797368b99474c0c174d99e3f6c9a021343970 (patch)
tree9798dc1c50341f89e19893850f0f7f8257e5c1e4 /lib
parent7dc45d10f88af4211cf41df1dd2904cb1d9a1e60 (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.S10
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)