Module Name: src
Committed By: matt
Date: Mon Dec 14 03:04:33 UTC 2009
Modified Files:
src/lib/libc/compat/arch/mips/gen: compat_setjmp.S compat_sigsetjmp.S
src/lib/libc/compat/arch/mips/sys: compat_Ovfork.S compat___semctl.S
compat___sigreturn14.S compat___sigtramp1.S compat_sigpending.S
compat_sigprocmask.S compat_sigreturn.S compat_sigsuspend.S
Log Message:
Merge from matt-nb5-mips64
To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/lib/libc/compat/arch/mips/gen/compat_setjmp.S \
src/lib/libc/compat/arch/mips/gen/compat_sigsetjmp.S
cvs rdiff -u -r1.1 -r1.2 src/lib/libc/compat/arch/mips/sys/compat_Ovfork.S \
src/lib/libc/compat/arch/mips/sys/compat___sigreturn14.S \
src/lib/libc/compat/arch/mips/sys/compat_sigpending.S \
src/lib/libc/compat/arch/mips/sys/compat_sigprocmask.S \
src/lib/libc/compat/arch/mips/sys/compat_sigreturn.S \
src/lib/libc/compat/arch/mips/sys/compat_sigsuspend.S
cvs rdiff -u -r1.3 -r1.4 src/lib/libc/compat/arch/mips/sys/compat___semctl.S \
src/lib/libc/compat/arch/mips/sys/compat___sigtramp1.S
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/lib/libc/compat/arch/mips/gen/compat_setjmp.S
diff -u src/lib/libc/compat/arch/mips/gen/compat_setjmp.S:1.1 src/lib/libc/compat/arch/mips/gen/compat_setjmp.S:1.2
--- src/lib/libc/compat/arch/mips/gen/compat_setjmp.S:1.1 Sat Sep 17 11:49:39 2005
+++ src/lib/libc/compat/arch/mips/gen/compat_setjmp.S Mon Dec 14 03:04:33 2009
@@ -1,4 +1,4 @@
-/* $NetBSD: compat_setjmp.S,v 1.1 2005/09/17 11:49:39 tsutsui Exp $ */
+/* $NetBSD: compat_setjmp.S,v 1.2 2009/12/14 03:04:33 matt Exp $ */
/*-
* Copyright (c) 1991, 1993
@@ -32,21 +32,18 @@
* SUCH DAMAGE.
*/
-#include <machine/cdefs.h>
#include <sys/syscall.h>
-#include <mips/regnum.h>
#include <mips/asm.h>
-#include <machine/signal.h>
-#include <machine/setjmp.h>
-#if defined(LIBC_SCCS) && !defined(lint)
- ASMSTR("from: @(#)setjmp.s 8.1 (Berkeley) 6/4/93")
- ASMSTR("$NetBSD: compat_setjmp.S,v 1.1 2005/09/17 11:49:39 tsutsui Exp $")
-#endif /* LIBC_SCCS and not lint */
+#include "assym.h"
-#ifdef __ABICALLS__
- .abicalls
+#if defined(LIBC_SCCS) && !defined(lint)
+#if 0
+ RCSID("from: @(#)setjmp.s 8.1 (Berkeley) 6/4/93")
+#else
+ RCSID("$NetBSD: compat_setjmp.S,v 1.2 2009/12/14 03:04:33 matt Exp $")
#endif
+#endif /* LIBC_SCCS and not lint */
/*
* C library -- setjmp, longjmp
@@ -59,86 +56,107 @@
* and a struct sigcontext, see <signal.h>
*/
-#define SETJMP_FRAME_SIZE (CALLFRAME_SIZ + 12)
+#define SETJMP_FRAME_SIZE (CALLFRAME_SIZ + STACK_T_SIZE)
NON_LEAF(setjmp, SETJMP_FRAME_SIZE, ra)
- .mask 0x80000000, (CALLFRAME_RA - CALLFRAME_SIZ)
-#ifdef __ABICALLS__
- .set noreorder
- .cpload t9
- .set reorder
-#endif
- subu sp, sp, SETJMP_FRAME_SIZE # allocate stack frame
-#ifdef __ABICALLS__
- .cprestore 16
-#endif
- sw ra, CALLFRAME_RA(sp) # save state
- sw a0, SETJMP_FRAME_SIZE(sp)
- move a0, zero # get current signal mask
- jal _C_LABEL(sigblock)
- lw v1, SETJMP_FRAME_SIZE(sp) # v1 = jmpbuf
- sw v0, (1 * 4)(v1) # save sc_mask = sigblock(0)
- move a0, zero
- addu a1, sp, CALLFRAME_SIZ # pointer to struct sigaltstack
- jal _C_LABEL(__sigaltstack14)
- lw a0, SETJMP_FRAME_SIZE(sp) # restore jmpbuf
- lw v1, CALLFRAME_SIZ+8(sp) # get old ss_onstack
- and v1, v1, 1 # extract onstack flag
- sw v1, 0(a0) # save it in sc_onstack
- lw ra, CALLFRAME_RA(sp)
- addu sp, sp, SETJMP_FRAME_SIZE
- blt v0, zero, botch # check for sigstack() error
+ .mask 0x80010000, (CALLFRAME_RA - CALLFRAME_SIZ)
+ SETUP_GP
+ PTR_SUBU sp, sp, SETJMP_FRAME_SIZE # allocate stack frame
+ SAVE_GP(CALLFRAME_GP)
+ SETUP_GP64(CALLFRAME_GP, setjmp)
+
+ REG_S ra, CALLFRAME_RA(sp) # save RA
+ REG_S s0, CALLFRAME_S0(sp) # save S0
+ move s0, a0 # save sigcontext
+
+ /* Get the signal mask. */
+ move a0, zero # get current sigmask
+ jal _C_LABEL(sigblock)
+ nop
+ INT_S v0, _OFFSETOF_SC_MASK13(s0) # save sc_mask13
+
+ /* Get the signal stack. */
+ move a0, zero
+ PTR_ADDU a1, sp, CALLFRAME_SIZ # pointer to stack_t
+ jal _C_LABEL(__sigaltstack14)
+
+ move a0, s0 # restore jmpbuf
+ INT_L v1, CALLFRAME_SIZ+_OFFSETOF_STACK_T_FLAGS(sp)
+ # get old ss_onstack
+ and v1, v1, SS_ONSTACK # extract onstack flag
+ INT_S v1, _OFFSETOF_SC_ONSTACK(a0) # save it in sc_onstack
+
+ REG_L s0, CALLFRAME_S0(sp) # restore S0
+ REG_L ra, CALLFRAME_RA(sp) # restore RA
+ blt v0, zero, botch # check for sigaltstack() error
+ nop
+ /*
+ * We know we won't need this routine's GP anymore.
+ */
+ RESTORE_GP64
+ PTR_ADDU sp, sp, SETJMP_FRAME_SIZE # pop stack frame
+
REG_PROLOGUE
- REG_S ra, (2 * 4)(a0) # sc_pc = return address
+ REG_S ra, _OFFSETOF_SC_PC(a0) # sc_pc = return address
REG_LI v0, 0xACEDBADE # sigcontext magic number
- REG_S v0, (_OFFSETOF_SC_REGS + SZREG * _R_ZERO)(a0) # saved in sc_regs[0]
- REG_S s0, (_OFFSETOF_SC_REGS + SZREG * _R_S0)(a0)
- REG_S s1, (_OFFSETOF_SC_REGS + SZREG * _R_S1)(a0)
- REG_S s2, (_OFFSETOF_SC_REGS + SZREG * _R_S2)(a0)
- REG_S s3, (_OFFSETOF_SC_REGS + SZREG * _R_S3)(a0)
- REG_S s4, (_OFFSETOF_SC_REGS + SZREG * _R_S4)(a0)
- REG_S s5, (_OFFSETOF_SC_REGS + SZREG * _R_S5)(a0)
- REG_S s6, (_OFFSETOF_SC_REGS + SZREG * _R_S6)(a0)
- REG_S s7, (_OFFSETOF_SC_REGS + SZREG * _R_S7)(a0)
- REG_S gp, (_OFFSETOF_SC_REGS + SZREG * _R_GP)(a0)
- REG_S sp, (_OFFSETOF_SC_REGS + SZREG * _R_SP)(a0)
- REG_S s8, (_OFFSETOF_SC_REGS + SZREG * _R_S8)(a0)
+ REG_S v0, _OFFSETOF_SC_REGS(a0) # saved in sc_regs[0]
+ REG_S s0, _OFFSETOF_SC_REGS_S0(a0)
+ REG_S s1, _OFFSETOF_SC_REGS_S1(a0)
+ REG_S s2, _OFFSETOF_SC_REGS_S2(a0)
+ REG_S s3, _OFFSETOF_SC_REGS_S3(a0)
+ REG_S s4, _OFFSETOF_SC_REGS_S4(a0)
+ REG_S s5, _OFFSETOF_SC_REGS_S5(a0)
+ REG_S s6, _OFFSETOF_SC_REGS_S6(a0)
+ REG_S s7, _OFFSETOF_SC_REGS_S7(a0)
+ REG_S gp, _OFFSETOF_SC_REGS_GP(a0)
+ REG_S sp, _OFFSETOF_SC_REGS_SP(a0)
+ REG_S s8, _OFFSETOF_SC_REGS_S8(a0)
li v0, 1 # be nice if we could tell
- sw v0, (_OFFSETOF_SC_REGS + 34 * SZREG)(a0) # sc_fpused = 1
+ INT_S v0, _OFFSETOF_SC_FPUSED(a0) # sc_fpused = 1
cfc1 v0, $31
- swc1 $f20, (20 * 4 + _OFFSETOF_SC_FPREGS)(a0)
- swc1 $f21, (21 * 4 + _OFFSETOF_SC_FPREGS)(a0)
- swc1 $f22, (22 * 4 + _OFFSETOF_SC_FPREGS)(a0)
- swc1 $f23, (23 * 4 + _OFFSETOF_SC_FPREGS)(a0)
- swc1 $f24, (24 * 4 + _OFFSETOF_SC_FPREGS)(a0)
- swc1 $f25, (25 * 4 + _OFFSETOF_SC_FPREGS)(a0)
- swc1 $f26, (26 * 4 + _OFFSETOF_SC_FPREGS)(a0)
- swc1 $f27, (27 * 4 + _OFFSETOF_SC_FPREGS)(a0)
- swc1 $f28, (28 * 4 + _OFFSETOF_SC_FPREGS)(a0)
- swc1 $f29, (29 * 4 + _OFFSETOF_SC_FPREGS)(a0)
- swc1 $f30, (30 * 4 + _OFFSETOF_SC_FPREGS)(a0)
- swc1 $f31, (31 * 4 + _OFFSETOF_SC_FPREGS)(a0)
- sw v0, ((32 * 4) + _OFFSETOF_SC_FPREGS)(a0)
+ INT_S v0, _OFFSETOF_SC_FPREGS_FCSR(a0)
+#if defined(__mips_o32) || defined(__mips_o64) || defined(__mips_n32)
+ FP_S $f20, _OFFSETOF_SC_FPREGS_F20(a0)
+ FP_S $f22, _OFFSETOF_SC_FPREGS_F22(a0)
+#endif
+#if defined(__mips_o32) || defined(__mips_o64)
+ FP_S $f21, _OFFSETOF_SC_FPREGS_F21(a0)
+ FP_S $f23, _OFFSETOF_SC_FPREGS_F23(a0)
+#endif
+#if defined(__mips_n32) || defined(__mips_n64)
+ FP_S $f24, _OFFSETOF_SC_FPREGS_F24(a0)
+ FP_S $f26, _OFFSETOF_SC_FPREGS_F26(a0)
+ FP_S $f28, _OFFSETOF_SC_FPREGS_F28(a0)
+ FP_S $f30, _OFFSETOF_SC_FPREGS_F30(a0)
+#endif
+#if defined(__mips_n64)
+ FP_S $f25, _OFFSETOF_SC_FPREGS_F25(a0)
+ FP_S $f27, _OFFSETOF_SC_FPREGS_F27(a0)
+ FP_S $f29, _OFFSETOF_SC_FPREGS_F29(a0)
+ FP_S $f31, _OFFSETOF_SC_FPREGS_F31(a0)
+#endif
REG_EPILOGUE
- move v0, zero
j ra
+ move v0, zero
+
+botch:
+ jal _C_LABEL(abort)
END(setjmp)
LEAF(longjmp)
-#ifdef __ABICALLS__
- .set noreorder
- .cpload t9
- .set reorder
- subu sp, sp, 32
- .cprestore 16
-#endif
+ SETUP_GP
+ PTR_SUBU sp, sp, CALLFRAME_SIZ
+ SAVE_GP(CALLFRAME_S0)
+ SETUP_GP64(s0, longjmp)
+
REG_PROLOGUE
/* save return value in sc_regs[_R_V0] */
- REG_S a1, (_OFFSETOF_SC_REGS + _R_V0 * SZREG)(a0)
+ REG_S a1, _OFFSETOF_SC_REGS_V0(a0)
REG_EPILOGUE
- li v0, SYS_compat_13_sigreturn13
+
+ li v0, SYS_compat_13_sigreturn13
syscall
-botch:
- jal _C_LABEL(longjmperror)
- jal _C_LABEL(abort)
+
+ jal _C_LABEL(longjmperror)
+ jal _C_LABEL(abort)
END(longjmp)
Index: src/lib/libc/compat/arch/mips/gen/compat_sigsetjmp.S
diff -u src/lib/libc/compat/arch/mips/gen/compat_sigsetjmp.S:1.1 src/lib/libc/compat/arch/mips/gen/compat_sigsetjmp.S:1.2
--- src/lib/libc/compat/arch/mips/gen/compat_sigsetjmp.S:1.1 Sat Sep 17 11:49:39 2005
+++ src/lib/libc/compat/arch/mips/gen/compat_sigsetjmp.S Mon Dec 14 03:04:33 2009
@@ -1,4 +1,4 @@
-/* $NetBSD: compat_sigsetjmp.S,v 1.1 2005/09/17 11:49:39 tsutsui Exp $ */
+/* $NetBSD: compat_sigsetjmp.S,v 1.2 2009/12/14 03:04:33 matt Exp $ */
/*-
* Copyright (c) 1991, 1993, 1995,
@@ -33,18 +33,18 @@
*/
#include <sys/syscall.h>
-#include <mips/regnum.h>
#include <mips/asm.h>
-#include <machine/setjmp.h>
+#include <mips/regdef.h>
+
+#include "assym.h"
#if defined(LIBC_SCCS) && !defined(lint)
+#if 0
ASMSTR("from: @(#)setjmp.s 8.1 (Berkeley) 6/4/93")
- ASMSTR("$NetBSD: compat_sigsetjmp.S,v 1.1 2005/09/17 11:49:39 tsutsui Exp $")
-#endif /* LIBC_SCCS and not lint */
-
-#ifdef __ABICALLS__
- .abicalls
+#else
+ ASMSTR("$NetBSD: compat_sigsetjmp.S,v 1.2 2009/12/14 03:04:33 matt Exp $")
#endif
+#endif /* LIBC_SCCS and not lint */
/*
* C library -- sigsetjmp, siglongjmp
@@ -59,30 +59,25 @@
*/
LEAF(sigsetjmp)
-#ifdef __ABICALLS__
- .set noreorder
- .cpload t9
- .set reorder
-#endif
- sw a1, (_JBLEN*4)(a0) # save "savemask"
+ SETUP_GP
+ SETUP_GP64(t0, sigsetjmp)
+ INT_S a1, _OFFSETOF_SC_MASK13(a0) # save "savemask"
bne a1, 0x0, 1f # do saving of signal mask?
- la t9, _setjmp
- jr t9
+ PTR_LA t9, _C_LABEL(_setjmp)
+ jr t9
-1: la t9, setjmp
- jr t9
+1: PTR_LA t9, _C_LABEL(setjmp)
+ jr t9
END(sigsetjmp)
LEAF(siglongjmp)
-#ifdef __ABICALLS__
- .set noreorder
- .cpload t9
- .set reorder
-#endif
- lw t0, (_JBLEN * 4)(a0) # get "savemask"
- bne t0, 0x0, 1f # restore signal mask?
- la t9, _longjmp
+ SETUP_GP
+ SETUP_GP64(t0, siglongjmp)
+ INT_L t1, _OFFSETOF_SC_MASK13(a0) # get "savemask"
+ bne t1, 0x0, 1f # restore signal mask?
+ PTR_LA t9, _C_LABEL(_longjmp)
jr t9
-1: la t9, longjmp
+
+1: PTR_LA t9, _C_LABEL(longjmp)
jr t9
END(siglongjmp)
Index: src/lib/libc/compat/arch/mips/sys/compat_Ovfork.S
diff -u src/lib/libc/compat/arch/mips/sys/compat_Ovfork.S:1.1 src/lib/libc/compat/arch/mips/sys/compat_Ovfork.S:1.2
--- src/lib/libc/compat/arch/mips/sys/compat_Ovfork.S:1.1 Sat Sep 17 11:49:39 2005
+++ src/lib/libc/compat/arch/mips/sys/compat_Ovfork.S Mon Dec 14 03:04:33 2009
@@ -1,4 +1,4 @@
-/* $NetBSD: compat_Ovfork.S,v 1.1 2005/09/17 11:49:39 tsutsui Exp $ */
+/* $NetBSD: compat_Ovfork.S,v 1.2 2009/12/14 03:04:33 matt Exp $ */
/*-
* Copyright (c) 1991, 1993
@@ -35,8 +35,11 @@
#include "SYS.h"
#if defined(LIBC_SCCS) && !defined(lint)
- ASMSTR("from: @(#)Ovfork.s 8.1 (Berkeley) 6/4/93")
- ASMSTR("$NetBSD: compat_Ovfork.S,v 1.1 2005/09/17 11:49:39 tsutsui Exp $")
+#if 0
+ RCSID("from: @(#)Ovfork.s 8.1 (Berkeley) 6/4/93")
+#else
+ RCSID("$NetBSD: compat_Ovfork.S,v 1.2 2009/12/14 03:04:33 matt Exp $")
+#endif
#endif /* LIBC_SCCS and not lint */
WARN_REFERENCES(vfork, \
@@ -50,19 +53,16 @@
*/
LEAF(vfork)
-#ifdef __ABICALLS__
- .set noreorder
- .cpload t9
- .set reorder
-#endif
- li v0, SYS_vfork # system call number for vfork
- syscall
+ PIC_PROLOGUE(vfork)
+
+ SYSTRAP(vfork) # system call number for vfork
beq a3, zero, 1f # jump if no errors
- la t9, __cerror
- jr t9
+
+ PIC_TAILCALL(__cerror)
+
1:
beq v1, zero, 2f # parent process ?
move v0, zero # return zero in child
2:
- j ra
+ PIC_RETURN()
END(vfork)
Index: src/lib/libc/compat/arch/mips/sys/compat___sigreturn14.S
diff -u src/lib/libc/compat/arch/mips/sys/compat___sigreturn14.S:1.1 src/lib/libc/compat/arch/mips/sys/compat___sigreturn14.S:1.2
--- src/lib/libc/compat/arch/mips/sys/compat___sigreturn14.S:1.1 Sat Sep 17 11:49:39 2005
+++ src/lib/libc/compat/arch/mips/sys/compat___sigreturn14.S Mon Dec 14 03:04:33 2009
@@ -1,4 +1,4 @@
-/* $NetBSD: compat___sigreturn14.S,v 1.1 2005/09/17 11:49:39 tsutsui Exp $ */
+/* $NetBSD: compat___sigreturn14.S,v 1.2 2009/12/14 03:04:33 matt Exp $ */
/*-
* Copyright (c) 1991, 1993
@@ -35,8 +35,11 @@
#include "SYS.h"
#if defined(LIBC_SCCS) && !defined(lint)
- ASMSTR("from: @(#)sigreturn.s 8.1 (Berkeley) 6/4/93")
- ASMSTR("$NetBSD: compat___sigreturn14.S,v 1.1 2005/09/17 11:49:39 tsutsui Exp $")
+#if 0
+ RCSID("from: @(#)sigreturn.s 8.1 (Berkeley) 6/4/93")
+#else
+ RCSID("$NetBSD: compat___sigreturn14.S,v 1.2 2009/12/14 03:04:33 matt Exp $")
+#endif
#endif /* LIBC_SCCS and not lint */
/*
Index: src/lib/libc/compat/arch/mips/sys/compat_sigpending.S
diff -u src/lib/libc/compat/arch/mips/sys/compat_sigpending.S:1.1 src/lib/libc/compat/arch/mips/sys/compat_sigpending.S:1.2
--- src/lib/libc/compat/arch/mips/sys/compat_sigpending.S:1.1 Sat Sep 17 11:49:39 2005
+++ src/lib/libc/compat/arch/mips/sys/compat_sigpending.S Mon Dec 14 03:04:33 2009
@@ -1,4 +1,4 @@
-/* $NetBSD: compat_sigpending.S,v 1.1 2005/09/17 11:49:39 tsutsui Exp $ */
+/* $NetBSD: compat_sigpending.S,v 1.2 2009/12/14 03:04:33 matt Exp $ */
/*-
* Copyright (c) 1991, 1993
@@ -33,28 +33,28 @@
*/
#include "SYS.h"
+#include "assym.h"
#if defined(LIBC_SCCS) && !defined(lint)
- ASMSTR("from: @(#)sigpending.s 8.1 (Berkeley) 6/4/93")
- ASMSTR("$NetBSD: compat_sigpending.S,v 1.1 2005/09/17 11:49:39 tsutsui Exp $")
+#if 0
+ RCSID("from: @(#)sigpending.s 8.1 (Berkeley) 6/4/93")
+#else
+ RCSID("$NetBSD: compat_sigpending.S,v 1.2 2009/12/14 03:04:33 matt Exp $")
+#endif
#endif /* LIBC_SCCS and not lint */
WARN_REFERENCES(sigpending, \
"warning: reference to compatibility sigpending(); include <signal.h> for correct reference")
LEAF(sigpending)
-#ifdef __ABICALLS__
- .set noreorder
- .cpload t9
- .set reorder
-#endif
- li v0, SYS_compat_13_sigpending13
- syscall
+ PIC_PROLOGUE(sigpending)
+
+ SYSTRAP(compat_13_sigpending13)
bne a3, zero, 1f
- sw v0, 0(a0)
+ INT_S v0, _OFFSETOF_SC_ONSTACK(a0)
move v0, zero
- j ra
+ PIC_RETURN()
+
1:
- la t9, _C_LABEL(__cerror)
- jr t9
+ PIC_TAILCALL(__cerror)
END(sigpending)
Index: src/lib/libc/compat/arch/mips/sys/compat_sigprocmask.S
diff -u src/lib/libc/compat/arch/mips/sys/compat_sigprocmask.S:1.1 src/lib/libc/compat/arch/mips/sys/compat_sigprocmask.S:1.2
--- src/lib/libc/compat/arch/mips/sys/compat_sigprocmask.S:1.1 Sat Sep 17 11:49:39 2005
+++ src/lib/libc/compat/arch/mips/sys/compat_sigprocmask.S Mon Dec 14 03:04:33 2009
@@ -1,4 +1,4 @@
-/* $NetBSD: compat_sigprocmask.S,v 1.1 2005/09/17 11:49:39 tsutsui Exp $ */
+/* $NetBSD: compat_sigprocmask.S,v 1.2 2009/12/14 03:04:33 matt Exp $ */
/*-
* Copyright (c) 1991, 1993
@@ -35,34 +35,32 @@
#include "SYS.h"
#if defined(LIBC_SCCS) && !defined(lint)
- ASMSTR("from: @(#)sigprocmask.s 8.1 (Berkeley) 6/4/93")
- ASMSTR("$NetBSD: compat_sigprocmask.S,v 1.1 2005/09/17 11:49:39 tsutsui Exp $")
+#if 0
+ RCSID("from: @(#)sigprocmask.s 8.1 (Berkeley) 6/4/93")
+#else
+ RCSID("$NetBSD: compat_sigprocmask.S,v 1.2 2009/12/14 03:04:33 matt Exp $")
+#endif
#endif /* LIBC_SCCS and not lint */
WARN_REFERENCES(sigprocmask, \
"warning: reference to compatibility sigprocmask(); include <signal.h> for correct reference")
LEAF(sigprocmask) # sigprocmask(how, new, old) sigset_t *new, *old;
-#ifdef __ABICALLS__
- .set noreorder
- .cpload t9
- .set reorder
-#endif
+ PIC_PROLOGUE(sigprocmask)
bne a1, zero, gotptr # if new sigset pointer not null
li a0, 1 # how = SIG_BLOCK
b doit # mask = zero
gotptr:
- lw a1, 0(a1) # indirect to new mask arg
+ INT_L a1, 0(a1) # indirect to new mask arg
doit:
- li v0, SYS_compat_13_sigprocmask13
- syscall
+ SYSTRAP(compat_13_sigprocmask13)
+
bne a3, zero, err
beq a2, zero, out # test if old mask requested
- sw v0, 0(a2) # store old mask
+ INT_S v0, 0(a2) # store old mask
out:
move v0, zero
- j ra
+ PIC_RETURN()
err:
- la t9, _C_LABEL(__cerror)
- jr t9
+ PIC_TAILCALL(__cerror)
END(sigprocmask)
Index: src/lib/libc/compat/arch/mips/sys/compat_sigreturn.S
diff -u src/lib/libc/compat/arch/mips/sys/compat_sigreturn.S:1.1 src/lib/libc/compat/arch/mips/sys/compat_sigreturn.S:1.2
--- src/lib/libc/compat/arch/mips/sys/compat_sigreturn.S:1.1 Sat Sep 17 11:49:39 2005
+++ src/lib/libc/compat/arch/mips/sys/compat_sigreturn.S Mon Dec 14 03:04:33 2009
@@ -1,4 +1,4 @@
-/* $NetBSD: compat_sigreturn.S,v 1.1 2005/09/17 11:49:39 tsutsui Exp $ */
+/* $NetBSD: compat_sigreturn.S,v 1.2 2009/12/14 03:04:33 matt Exp $ */
/*-
* Copyright (c) 1991, 1993
@@ -35,8 +35,11 @@
#include "SYS.h"
#if defined(LIBC_SCCS) && !defined(lint)
- ASMSTR("from: @(#)sigreturn.s 8.1 (Berkeley) 6/4/93")
- ASMSTR("$NetBSD: compat_sigreturn.S,v 1.1 2005/09/17 11:49:39 tsutsui Exp $")
+#if 0
+ RCSID("from: @(#)sigreturn.s 8.1 (Berkeley) 6/4/93")
+#else
+ RCSID("$NetBSD: compat_sigreturn.S,v 1.2 2009/12/14 03:04:33 matt Exp $")
+#endif
#endif /* LIBC_SCCS and not lint */
/*
Index: src/lib/libc/compat/arch/mips/sys/compat_sigsuspend.S
diff -u src/lib/libc/compat/arch/mips/sys/compat_sigsuspend.S:1.1 src/lib/libc/compat/arch/mips/sys/compat_sigsuspend.S:1.2
--- src/lib/libc/compat/arch/mips/sys/compat_sigsuspend.S:1.1 Sat Sep 17 11:49:39 2005
+++ src/lib/libc/compat/arch/mips/sys/compat_sigsuspend.S Mon Dec 14 03:04:33 2009
@@ -1,4 +1,4 @@
-/* $NetBSD: compat_sigsuspend.S,v 1.1 2005/09/17 11:49:39 tsutsui Exp $ */
+/* $NetBSD: compat_sigsuspend.S,v 1.2 2009/12/14 03:04:33 matt Exp $ */
/*-
* Copyright (c) 1991, 1993
@@ -35,26 +35,24 @@
#include "SYS.h"
#if defined(LIBC_SCCS) && !defined(lint)
- ASMSTR("from: @(#)sigsuspend.s 8.1 (Berkeley) 6/4/93")
- ASMSTR("$NetBSD: compat_sigsuspend.S,v 1.1 2005/09/17 11:49:39 tsutsui Exp $")
+#if 0
+ RCSID("from: @(#)sigsuspend.s 8.1 (Berkeley) 6/4/93")
+#else
+ RCSID("$NetBSD: compat_sigsuspend.S,v 1.2 2009/12/14 03:04:33 matt Exp $")
+#endif
#endif /* LIBC_SCCS and not lint */
WARN_REFERENCES(sigsuspend, \
"warning: reference to compatibility sigsuspend(); include <signal.h> for correct reference")
LEAF(sigsuspend)
-#ifdef __ABICALLS__
- .set noreorder
- .cpload t9
- .set reorder
-#endif
- lw a0, 0(a0) # indirect to mask arg
- li v0, SYS_compat_13_sigsuspend13
- syscall
+ PIC_PROLOGUE(sigsuspend)
+
+ INT_L a0, 0(a0) # indirect to mask arg
+ SYSTRAP(compat_13_sigsuspend13)
bne a3, zero, 1f
move v0, zero # should not happen
- j ra
+ PIC_RETURN()
1:
- la t9, _C_LABEL(__cerror)
- jr t9
+ PIC_TAILCALL(__cerror)
END(sigsuspend)
Index: src/lib/libc/compat/arch/mips/sys/compat___semctl.S
diff -u src/lib/libc/compat/arch/mips/sys/compat___semctl.S:1.3 src/lib/libc/compat/arch/mips/sys/compat___semctl.S:1.4
--- src/lib/libc/compat/arch/mips/sys/compat___semctl.S:1.3 Mon Dec 14 01:07:42 2009
+++ src/lib/libc/compat/arch/mips/sys/compat___semctl.S Mon Dec 14 03:04:33 2009
@@ -1,4 +1,4 @@
-/* $NetBSD: compat___semctl.S,v 1.3 2009/12/14 01:07:42 matt Exp $ */
+/* $NetBSD: compat___semctl.S,v 1.4 2009/12/14 03:04:33 matt Exp $ */
/*-
* Copyright (c) 1999 The NetBSD Foundation, Inc.
@@ -33,7 +33,7 @@
#include "SYS.h"
#if defined(LIBC_SCCS) && !defined(lint)
- RCSID("$NetBSD: compat___semctl.S,v 1.3 2009/12/14 01:07:42 matt Exp $")
+ RCSID("$NetBSD: compat___semctl.S,v 1.4 2009/12/14 03:04:33 matt Exp $")
#endif /* LIBC_SCCS and not lint */
PSEUDO(__semctl,compat_14___semctl)
Index: src/lib/libc/compat/arch/mips/sys/compat___sigtramp1.S
diff -u src/lib/libc/compat/arch/mips/sys/compat___sigtramp1.S:1.3 src/lib/libc/compat/arch/mips/sys/compat___sigtramp1.S:1.4
--- src/lib/libc/compat/arch/mips/sys/compat___sigtramp1.S:1.3 Mon Dec 14 01:07:42 2009
+++ src/lib/libc/compat/arch/mips/sys/compat___sigtramp1.S Mon Dec 14 03:04:33 2009
@@ -1,4 +1,4 @@
-/* $NetBSD: compat___sigtramp1.S,v 1.3 2009/12/14 01:07:42 matt Exp $ */
+/* $NetBSD: compat___sigtramp1.S,v 1.4 2009/12/14 03:04:33 matt Exp $ */
/*-
* Copyright (c) 2002 The NetBSD Foundation, Inc.
@@ -32,7 +32,7 @@
#include "SYS.h"
#if defined(LIBC_SCCS) && !defined(lint)
- RCSID("$NetBSD: compat___sigtramp1.S,v 1.3 2009/12/14 01:07:42 matt Exp $")
+ RCSID("$NetBSD: compat___sigtramp1.S,v 1.4 2009/12/14 03:04:33 matt Exp $")
#endif /* LIBC_SCCS and not lint */
/*