From 09d5fbfc6f24fd2f95eb7cf67f75c6a61c9246e0 Mon Sep 17 00:00:00 2001 From: Theo de Raadt Date: Thu, 15 Jan 2004 13:40:23 +0000 Subject: 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. --- lib/libc/arch/alpha/gen/setjmp.S | 8 ++++---- lib/libc/arch/sparc64/gen/setjmp.S | 8 ++++---- lib/libc/sys/Makefile.inc | 3 ++- 3 files changed, 10 insertions(+), 9 deletions(-) (limited to 'lib/libc') 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 \ -- cgit v1.2.3