diff options
author | Theo de Raadt <deraadt@cvs.openbsd.org> | 2004-01-15 13:40:23 +0000 |
---|---|---|
committer | Theo de Raadt <deraadt@cvs.openbsd.org> | 2004-01-15 13:40:23 +0000 |
commit | 09d5fbfc6f24fd2f95eb7cf67f75c6a61c9246e0 (patch) | |
tree | c2ea7a9f71b4ff4d81126b52b1e3e3889028fde1 | |
parent | 1eab234346d0a48e8df1dc8ce7bbdc4f8a3bdf78 (diff) |
ABI breakage happened with the sigaltstack replacement. It is too late,
now we just have to cope. Since setjmp uses it, the alpha and sparc64 are
unhappy with the structure change. In a few days, we will make the second
hop here, for now, use the old system call until all binaries have the new
struct in them.
-rw-r--r-- | lib/libc/arch/alpha/gen/setjmp.S | 8 | ||||
-rw-r--r-- | lib/libc/arch/sparc64/gen/setjmp.S | 8 | ||||
-rw-r--r-- | lib/libc/sys/Makefile.inc | 3 |
3 files changed, 10 insertions, 9 deletions
diff --git a/lib/libc/arch/alpha/gen/setjmp.S b/lib/libc/arch/alpha/gen/setjmp.S index 66d0d42b4e7..30909064fbf 100644 --- a/lib/libc/arch/alpha/gen/setjmp.S +++ b/lib/libc/arch/alpha/gen/setjmp.S @@ -1,4 +1,4 @@ -/* $OpenBSD: setjmp.S,v 1.4 2002/01/04 13:51:20 art Exp $ */ +/* $OpenBSD: setjmp.S,v 1.5 2004/01/15 13:39:38 deraadt Exp $ */ /* $NetBSD: setjmp.S,v 1.2 1996/10/17 03:08:06 cgd Exp $ */ /* @@ -32,7 +32,7 @@ #if defined(LIBC_SCCS) .text - .asciz "$OpenBSD: setjmp.S,v 1.4 2002/01/04 13:51:20 art Exp $" + .asciz "$OpenBSD: setjmp.S,v 1.5 2004/01/15 13:39:38 deraadt Exp $" #endif /* @@ -71,10 +71,10 @@ LEAF(setjmp, 1) CALL(sigblock) /* see what's blocked */ stq v0, (1 * 8)(s0) /* and remember it in sc_mask */ - lda sp, -16(sp) /* sizeof struct sigaltstack */ + lda sp, -16(sp) /* sizeof struct osigaltstack */ mov zero, a0 mov sp, a1 - CALL(sigaltstack) + CALL(osigaltstack) ldl t0, 12(sp) lda sp, 16(sp) ldq ra, ((26 + 4) * 8)(s0) /* restore return address */ diff --git a/lib/libc/arch/sparc64/gen/setjmp.S b/lib/libc/arch/sparc64/gen/setjmp.S index 60c61058c13..4d156c8b3dd 100644 --- a/lib/libc/arch/sparc64/gen/setjmp.S +++ b/lib/libc/arch/sparc64/gen/setjmp.S @@ -1,4 +1,4 @@ -/* $OpenBSD: setjmp.S,v 1.3 2003/06/02 20:18:32 millert Exp $ */ +/* $OpenBSD: setjmp.S,v 1.4 2004/01/15 13:40:22 deraadt Exp $ */ /* $NetBSD: setjmp.S,v 1.4 2000/08/28 00:45:59 eeh Exp $ */ /* @@ -55,7 +55,7 @@ ENTRY(setjmp) /* * We use the part of the sigcontext structure, the sp, pc, and npc - * fields, for the sigstack call so we don't need to get our own + * fields, for the osigaltstack call so we don't need to get our own * stackframe. It won't be filled out till later anyway. */ mov %o0, %o3 /* Save our jmp_buf in %o3 */ @@ -76,8 +76,8 @@ ENTRY(setjmp) st %o0, [%o3 + 0x38] /* sc.sc_mask = current mask; */ - mov SYS_sigaltstack, %g1 - clr %o0 /* sigaltstack(NULL, &foo) */ + mov SYS_osigaltstack, %g1 + clr %o0 /* osigaltstack(NULL, &foo) */ add %o3, 0x40, %o1 /* (foo being the sigcontext sc_mask) */ t ST_SYSCALL diff --git a/lib/libc/sys/Makefile.inc b/lib/libc/sys/Makefile.inc index fc16d954812..5276d01df42 100644 --- a/lib/libc/sys/Makefile.inc +++ b/lib/libc/sys/Makefile.inc @@ -1,4 +1,4 @@ -# $OpenBSD: Makefile.inc,v 1.67 2004/01/12 18:27:28 tedu Exp $ +# $OpenBSD: Makefile.inc,v 1.68 2004/01/15 13:40:22 deraadt Exp $ # $NetBSD: Makefile.inc,v 1.35 1995/10/16 23:49:07 jtc Exp $ # @(#)Makefile.inc 8.1 (Berkeley) 6/17/93 @@ -47,6 +47,7 @@ ASM= accept.o access.o acct.o adjtime.o bind.o chdir.o chflags.o chmod.o \ mkfifo.o mknod.o mlock.o mlockall.o \ mount.o mprotect.o msgctl.o msgget.o msgrcv.o msgsnd.o msync.o \ munlock.o munlockall.o munmap.o nanosleep.o nfssvc.o \ + osigaltstack.o \ open.o pathconf.o pipe.o poll.o profil.o quotactl.o \ read.o readlink.o readv.o reboot.o recvfrom.o recvmsg.o rename.o \ revoke.o rmdir.o select.o semget.o semop.o sendmsg.o sendto.o \ |