Module Name: src
Committed By: matt
Date: Tue Jul 16 23:00:15 UTC 2013
Modified Files:
src/lib/libc/arch/m68k/sys: __clone.S __vfork14.S brk.S cerror.S
ptrace.S sbrk.S
src/lib/libc/compat/arch/m68k/sys: compat_Ovfork.S
compat___sigreturn14.S compat___sigtramp1.S compat_sigpending.S
compat_sigprocmask.S compat_sigreturn.S compat_sigsuspend.S
Log Message:
Use SYSTRAP.
Don't use the PLT to call CERROR
Use LEA_LCL / GOT_SETUP
Remove non-__ELF__ code.
Make __minbrk and __curbrk hidden and avoid using the GOT for them.
Convert to motorola syntax.
To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 src/lib/libc/arch/m68k/sys/__clone.S
cvs rdiff -u -r1.10 -r1.11 src/lib/libc/arch/m68k/sys/__vfork14.S
cvs rdiff -u -r1.16 -r1.17 src/lib/libc/arch/m68k/sys/brk.S \
src/lib/libc/arch/m68k/sys/cerror.S
cvs rdiff -u -r1.12 -r1.13 src/lib/libc/arch/m68k/sys/ptrace.S
cvs rdiff -u -r1.15 -r1.16 src/lib/libc/arch/m68k/sys/sbrk.S
cvs rdiff -u -r1.1 -r1.2 src/lib/libc/compat/arch/m68k/sys/compat_Ovfork.S \
src/lib/libc/compat/arch/m68k/sys/compat___sigreturn14.S \
src/lib/libc/compat/arch/m68k/sys/compat_sigpending.S \
src/lib/libc/compat/arch/m68k/sys/compat_sigprocmask.S \
src/lib/libc/compat/arch/m68k/sys/compat_sigreturn.S \
src/lib/libc/compat/arch/m68k/sys/compat_sigsuspend.S
cvs rdiff -u -r1.2 -r1.3 \
src/lib/libc/compat/arch/m68k/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/arch/m68k/sys/__clone.S
diff -u src/lib/libc/arch/m68k/sys/__clone.S:1.4 src/lib/libc/arch/m68k/sys/__clone.S:1.5
--- src/lib/libc/arch/m68k/sys/__clone.S:1.4 Tue Jul 16 20:49:42 2013
+++ src/lib/libc/arch/m68k/sys/__clone.S Tue Jul 16 23:00:15 2013
@@ -1,4 +1,4 @@
-/* $NetBSD: __clone.S,v 1.4 2013/07/16 20:49:42 matt Exp $ */
+/* $NetBSD: __clone.S,v 1.5 2013/07/16 23:00:15 matt Exp $ */
/*-
* Copyright (c) 2001 The NetBSD Foundation, Inc.
@@ -62,4 +62,5 @@ ENTRY(__clone)
/* NOTREACHED */
1: rts
2: movl #EINVAL,%d0
-3: jra PIC_PLT(CERROR)
+3: jbra CERROR
+END(__clone)
Index: src/lib/libc/arch/m68k/sys/__vfork14.S
diff -u src/lib/libc/arch/m68k/sys/__vfork14.S:1.10 src/lib/libc/arch/m68k/sys/__vfork14.S:1.11
--- src/lib/libc/arch/m68k/sys/__vfork14.S:1.10 Tue Jul 16 20:49:42 2013
+++ src/lib/libc/arch/m68k/sys/__vfork14.S Tue Jul 16 23:00:15 2013
@@ -1,4 +1,4 @@
-/* $NetBSD: __vfork14.S,v 1.10 2013/07/16 20:49:42 matt Exp $ */
+/* $NetBSD: __vfork14.S,v 1.11 2013/07/16 23:00:15 matt Exp $ */
/*-
* Copyright (c) 1990 The Regents of the University of California.
@@ -39,7 +39,7 @@
#if 0
RCSID("from: @(#)Ovfork.s 5.1 (Berkeley) 5/12/90")
#else
- RCSID("$NetBSD: __vfork14.S,v 1.10 2013/07/16 20:49:42 matt Exp $")
+ RCSID("$NetBSD: __vfork14.S,v 1.11 2013/07/16 23:00:15 matt Exp $")
#endif
#endif /* LIBC_SCCS and not lint */
@@ -61,8 +61,7 @@
ENTRY(__vfork14)
movl (%sp)+,%a1
- movl #SYS___vfork14,%d0
- trap #0
+ SYSTRAP(__vfork14)
jcs err
subql #1,%d1 /* from 1 to 0 in child, 0 to -1 in parent */
andl %d1,%d0
@@ -81,14 +80,15 @@ err:
#endif
movl (%sp)+,%a1
#else
- .globl _C_LABEL(errno)
#ifdef PIC
- lea (_GLOBAL_OFFSET_TABLE_@GOTPC,%pc),%a0
+ GOT_SETUP(%a0)
movl _C_LABEL(errno)@GOT:w(%a0),%a0
movl %d0,(%a0)
#else
+ .globl _C_LABEL(errno)
movl %d0,_C_LABEL(errno)
#endif /* PIC */
#endif /* _REENTRANT */
moveq #-1,%d0
jmp (%a1)
+END(__vfork14)
Index: src/lib/libc/arch/m68k/sys/brk.S
diff -u src/lib/libc/arch/m68k/sys/brk.S:1.16 src/lib/libc/arch/m68k/sys/brk.S:1.17
--- src/lib/libc/arch/m68k/sys/brk.S:1.16 Tue Jul 16 20:49:42 2013
+++ src/lib/libc/arch/m68k/sys/brk.S Tue Jul 16 23:00:15 2013
@@ -1,4 +1,4 @@
-/* $NetBSD: brk.S,v 1.16 2013/07/16 20:49:42 matt Exp $ */
+/* $NetBSD: brk.S,v 1.17 2013/07/16 23:00:15 matt Exp $ */
/*-
* Copyright (c) 1990 The Regents of the University of California.
@@ -39,13 +39,15 @@
#if 0
RCSID("from: @(#)brk.s 5.1 (Berkeley) 5/12/90")
#else
- RCSID("$NetBSD: brk.S,v 1.16 2013/07/16 20:49:42 matt Exp $")
+ RCSID("$NetBSD: brk.S,v 1.17 2013/07/16 23:00:15 matt Exp $")
#endif
#endif /* LIBC_SCCS and not lint */
.globl _end
.globl _C_LABEL(__minbrk)
+ .hidden _C_LABEL(__minbrk)
.globl _C_LABEL(__curbrk)
+ .hidden _C_LABEL(__curbrk)
#ifdef WEAK_ALIAS
WEAK_ALIAS(brk, _brk)
@@ -59,26 +61,23 @@ _C_LABEL(__minbrk):
ENTRY(_brk)
#ifdef PIC
- lea (_GLOBAL_OFFSET_TABLE_@GOTPC,%pc),%a1
- movl _C_LABEL(__minbrk)@GOT:w(%a1),%a0
- movl (%a0),%d0
+ LEA_LCL(_C_LABEL(__minbrk),%a1)
+ movl (%a1),%a1
#else
- movl _C_LABEL(__minbrk),%d0
+ movl _C_LABEL(__minbrk),%a1
#endif
- cmpl 4(%sp),%d0
+ cmpl 4(%sp),%a1
jls ok
- movl %d0,4(%sp)
+ movl %a1,4(%sp)
ok:
- movl #SYS_break,%d0
- trap #0
- jcs err
+ SYSTRAP(break)
+ jcc CERROR
#ifdef PIC
- movl _C_LABEL(__curbrk)@GOT:w(%a1),%a0
- movl 4(%sp),(%a0)
+ LEA_LCL(_C_LABEL(__curbrk),%a0)
+ movl %a1,(%a0)
#else
- movl 4(%sp),_C_LABEL(__curbrk)
+ movl %a1,_C_LABEL(__curbrk)
#endif
clrl %d0
rts
-err:
- jra PIC_PLT(CERROR)
+END(_brk)
Index: src/lib/libc/arch/m68k/sys/cerror.S
diff -u src/lib/libc/arch/m68k/sys/cerror.S:1.16 src/lib/libc/arch/m68k/sys/cerror.S:1.17
--- src/lib/libc/arch/m68k/sys/cerror.S:1.16 Tue Jul 16 20:49:42 2013
+++ src/lib/libc/arch/m68k/sys/cerror.S Tue Jul 16 23:00:15 2013
@@ -1,4 +1,4 @@
-/* $NetBSD: cerror.S,v 1.16 2013/07/16 20:49:42 matt Exp $ */
+/* $NetBSD: cerror.S,v 1.17 2013/07/16 23:00:15 matt Exp $ */
/*-
* Copyright (c) 1990 The Regents of the University of California.
@@ -39,7 +39,7 @@
#if 0
RCSID("from: @(#)cerror.s 5.1 (Berkeley) 5/12/90")
#else
- RCSID("$NetBSD: cerror.S,v 1.16 2013/07/16 20:49:42 matt Exp $")
+ RCSID("$NetBSD: cerror.S,v 1.17 2013/07/16 23:00:15 matt Exp $")
#endif
#endif /* LIBC_SCCS and not lint */
@@ -58,7 +58,7 @@ _ENTRY(CERROR)
movl (%sp)+,(%a0)
#else
#ifdef PIC
- lea (_GLOBAL_OFFSET_TABLE_@GOTPC,%pc),%a0
+ GOT_SETUP(%a0)
movl _C_LABEL(errno)@GOT:w(%a0),%a0
movl %d0,(%a0)
#else
@@ -71,3 +71,4 @@ _ENTRY(CERROR)
movl %d0,%a0
#endif
rts
+END(CERROR)
Index: src/lib/libc/arch/m68k/sys/ptrace.S
diff -u src/lib/libc/arch/m68k/sys/ptrace.S:1.12 src/lib/libc/arch/m68k/sys/ptrace.S:1.13
--- src/lib/libc/arch/m68k/sys/ptrace.S:1.12 Tue Jul 16 20:49:42 2013
+++ src/lib/libc/arch/m68k/sys/ptrace.S Tue Jul 16 23:00:15 2013
@@ -1,4 +1,4 @@
-/* $NetBSD: ptrace.S,v 1.12 2013/07/16 20:49:42 matt Exp $ */
+/* $NetBSD: ptrace.S,v 1.13 2013/07/16 23:00:15 matt Exp $ */
/*-
* Copyright (c) 1990 The Regents of the University of California.
@@ -39,7 +39,7 @@
#if 0
RCSID("from: @(#)ptrace.s 5.1 (Berkeley) 5/12/90")
#else
- RCSID("$NetBSD: ptrace.S,v 1.12 2013/07/16 20:49:42 matt Exp $")
+ RCSID("$NetBSD: ptrace.S,v 1.13 2013/07/16 23:00:15 matt Exp $")
#endif
#endif /* LIBC_SCCS and not lint */
@@ -58,16 +58,14 @@ ENTRY(ptrace)
clrl (%a0)
#else
#ifdef PIC
- lea (_GLOBAL_OFFSET_TABLE_@GOTPC,%pc),%a0
+ GOT_SETUP(%a0)
movl _C_LABEL(errno)@GOT:w(%a0),%a0
clrl (%a0)
#else
clrl _C_LABEL(errno)
#endif /* PIC */
#endif /* _REENTRANT */
- movl #SYS_ptrace,%d0
- trap #0
- jcs err
+ SYSTRAP(ptrace)
+ jcc CERROR
rts
-err:
- jra PIC_PLT(CERROR)
+END(ptrace)
Index: src/lib/libc/arch/m68k/sys/sbrk.S
diff -u src/lib/libc/arch/m68k/sys/sbrk.S:1.15 src/lib/libc/arch/m68k/sys/sbrk.S:1.16
--- src/lib/libc/arch/m68k/sys/sbrk.S:1.15 Tue Jul 16 20:49:42 2013
+++ src/lib/libc/arch/m68k/sys/sbrk.S Tue Jul 16 23:00:15 2013
@@ -1,4 +1,4 @@
-/* $NetBSD: sbrk.S,v 1.15 2013/07/16 20:49:42 matt Exp $ */
+/* $NetBSD: sbrk.S,v 1.16 2013/07/16 23:00:15 matt Exp $ */
/*-
* Copyright (c) 1990 The Regents of the University of California.
@@ -39,12 +39,13 @@
#if 0
RCSID("from: @(#)sbrk.s 5.1 (Berkeley) 5/12/90")
#else
- RCSID("$NetBSD: sbrk.S,v 1.15 2013/07/16 20:49:42 matt Exp $")
+ RCSID("$NetBSD: sbrk.S,v 1.16 2013/07/16 23:00:15 matt Exp $")
#endif
#endif /* LIBC_SCCS and not lint */
.globl _end
.globl _C_LABEL(__curbrk)
+ .hidden _C_LABEL(__curbrk)
#ifdef WEAK_ALIAS
WEAK_ALIAS(sbrk, _sbrk)
@@ -57,27 +58,15 @@ _C_LABEL(__curbrk):
.text
ENTRY(_sbrk)
-#ifdef PIC
- lea (_GLOBAL_OFFSET_TABLE_@GOTPC,%pc),%a1
- movl _C_LABEL(__curbrk)@GOT:w(%a1),%a1
+ LEA_LCL(_C_LABEL(__curbrk),%a1)
movl (%a1),%d0
-#else
- movl _C_LABEL(__curbrk),%d0
-#endif
addl %d0,4(%sp)
- movl #SYS_break,%d0
- trap #0
- jcs err
-#ifdef PIC
+ SYSTRAP(break)
+ jcc CERROR
movl (%a1),%d0
movl 4(%sp),(%a1)
-#else
- movl _C_LABEL(__curbrk),%d0
- movl 4(%sp),_C_LABEL(__curbrk)
-#endif
#ifdef __SVR4_ABI__
movl %d0,%a0
#endif
rts
-err:
- jra PIC_PLT(CERROR)
+END(_sbrk)
Index: src/lib/libc/compat/arch/m68k/sys/compat_Ovfork.S
diff -u src/lib/libc/compat/arch/m68k/sys/compat_Ovfork.S:1.1 src/lib/libc/compat/arch/m68k/sys/compat_Ovfork.S:1.2
--- src/lib/libc/compat/arch/m68k/sys/compat_Ovfork.S:1.1 Thu Mar 9 16:20:55 2006
+++ src/lib/libc/compat/arch/m68k/sys/compat_Ovfork.S Tue Jul 16 23:00:15 2013
@@ -1,4 +1,4 @@
-/* $NetBSD: compat_Ovfork.S,v 1.1 2006/03/09 16:20:55 christos Exp $ */
+/* $NetBSD: compat_Ovfork.S,v 1.2 2013/07/16 23:00:15 matt Exp $ */
/*-
* Copyright (c) 1990 The Regents of the University of California.
@@ -39,7 +39,7 @@
#if 0
RCSID("from: @(#)Ovfork.s 5.1 (Berkeley) 5/12/90")
#else
- RCSID("$NetBSD: compat_Ovfork.S,v 1.1 2006/03/09 16:20:55 christos Exp $")
+ RCSID("$NetBSD: compat_Ovfork.S,v 1.2 2013/07/16 23:00:15 matt Exp $")
#endif
#endif /* LIBC_SCCS and not lint */
@@ -63,48 +63,35 @@ WARN_REFERENCES(vfork, \
*/
ENTRY(vfork)
- movl %sp@+,%a1
- movl #SYS_vfork,%d0
- trap #0
+ movl (%sp)+,%a1
+ SYSTRAP(vfork)
jcs err
subql #1,%d1 /* from 1 to 0 in child, 0 to -1 in parent */
andl %d1,%d0
- jmp %a1@
+ jmp (%a1)
err:
#ifdef _REENTRANT
.globl _C_LABEL(__errno)
- movl %a1,%sp@-
- movl %d0,%sp@-
-#if defined(PIC) && !defined(__ELF__)
- movl #_C_LABEL(_GLOBAL_OFFSET_TABLE_),%a1
- lea %pc@(0,a1:l),%a1
- movl %a1@(_C_LABEL(__errno):l),%a1
- jsr %a1@
-#else
+ movl %a1,-(%sp)
+ movl %d0,-(%sp)
jbsr PIC_PLT(_C_LABEL(__errno))
-#endif /* PIC */
#ifdef __SVR4_ABI__
- movl %sp@+,%a0@
+ movl (%sp)+,(%a0)
#else
movl %d0,%a1
- movl %sp@+,%a1@
+ movl (%sp)+,(%a1)
#endif /* __SVR4_ABI__ */
- movl %sp@+,%a1
+ movl (%sp)+,%a1
#else
.globl _C_LABEL(errno)
#ifdef PIC
-#ifdef __ELF__
- lea %pc@(_GLOBAL_OFFSET_TABLE_@GOTPC),%a0
- movl %a0@(_C_LABEL(errno)@GOT:w),%a0
-#else
- movl #_C_LABEL(_GLOBAL_OFFSET_TABLE_),%a0
- lea %pc@(0,a0:l),%a0
- movl %a0@(_C_LABEL(errno):w),%a0
-#endif
- movl %d0,%a0@
+ GOT_SETUP(%a0)
+ movl _C_LABEL(errno)@GOT:w(%a0),%a0
+ movl %d0,(%a0)
#else
movl %d0,_C_LABEL(errno)
#endif /* PIC */
#endif /* _REENTRANT */
moveq #-1,%d0
- jmp %a1@
+ jmp (%a1)
+END(vfork)
Index: src/lib/libc/compat/arch/m68k/sys/compat___sigreturn14.S
diff -u src/lib/libc/compat/arch/m68k/sys/compat___sigreturn14.S:1.1 src/lib/libc/compat/arch/m68k/sys/compat___sigreturn14.S:1.2
--- src/lib/libc/compat/arch/m68k/sys/compat___sigreturn14.S:1.1 Thu Mar 9 16:20:55 2006
+++ src/lib/libc/compat/arch/m68k/sys/compat___sigreturn14.S Tue Jul 16 23:00:15 2013
@@ -1,4 +1,4 @@
-/* $NetBSD: compat___sigreturn14.S,v 1.1 2006/03/09 16:20:55 christos Exp $ */
+/* $NetBSD: compat___sigreturn14.S,v 1.2 2013/07/16 23:00:15 matt Exp $ */
/*-
* Copyright (c) 1990 The Regents of the University of California.
@@ -39,7 +39,7 @@
#if 0
RCSID("from: @(#)sigreturn.s 5.1 (Berkeley) 5/12/90")
#else
- RCSID("$NetBSD: compat___sigreturn14.S,v 1.1 2006/03/09 16:20:55 christos Exp $")
+ RCSID("$NetBSD: compat___sigreturn14.S,v 1.2 2013/07/16 23:00:15 matt Exp $")
#endif
#endif /* LIBC_SCCS and not lint */
@@ -47,20 +47,14 @@
* We must preserve the state of the registers as the user has set them up.
*/
#ifdef GPROF
-#undef ENTRY
-#ifdef __STDC__
-#define ENTRY(x) \
- .globl _C_LABEL(x); .even; _C_LABEL(x):; moveml #0xC0C0,%sp@-; .data; \
- PROF ## x:; .long 0; .text; lea PROF ## x,%a0; jbsr MCOUNT_ENTRY; \
- moveml %sp@+,#0x0303
-#else
-#define ENTRY(x) \
- .globl _C_LABEL(x); .even; _C_LABEL(x):; moveml #0xC0C0,%sp@-; .data; \
- PROF/**/x:; .long 0; .text; lea PROF/**/x,%a0; jbsr MCOUNT_ENTRY; \
- moveml %sp@+,#0x0303
-#endif /* __STDC__ */
-#endif /* GPROF */
+#undef _PROF_PROLOG
+#define _PROF_PROLOG \
+ .data; 1: .long 0; \
+ .text; INTERRUPT_SAVEREG; LEA_LCL(1b,%a0); jbsr MCOUNT_ENTRY; \
+ INTERRUPT_RESTOREREG
+#endif
ENTRY(__sigreturn14)
trap #3 /* special sigreturn syscall entry point */
- jra PIC_PLT(CERROR)
+ jbra CERROR
+END(__sigreturn14)
Index: src/lib/libc/compat/arch/m68k/sys/compat_sigpending.S
diff -u src/lib/libc/compat/arch/m68k/sys/compat_sigpending.S:1.1 src/lib/libc/compat/arch/m68k/sys/compat_sigpending.S:1.2
--- src/lib/libc/compat/arch/m68k/sys/compat_sigpending.S:1.1 Thu Mar 9 16:20:55 2006
+++ src/lib/libc/compat/arch/m68k/sys/compat_sigpending.S Tue Jul 16 23:00:15 2013
@@ -1,4 +1,4 @@
-/* $NetBSD: compat_sigpending.S,v 1.1 2006/03/09 16:20:55 christos Exp $ */
+/* $NetBSD: compat_sigpending.S,v 1.2 2013/07/16 23:00:15 matt Exp $ */
/*-
* Copyright (c) 1990 The Regents of the University of California.
@@ -39,7 +39,7 @@
#if 0
RCSID("from: @(#)sigpending.s 5.2 (Berkeley) 8/6/90")
#else
- RCSID("$NetBSD: compat_sigpending.S,v 1.1 2006/03/09 16:20:55 christos Exp $")
+ RCSID("$NetBSD: compat_sigpending.S,v 1.2 2013/07/16 23:00:15 matt Exp $")
#endif
#endif /* LIBC_SCCS and not lint */
@@ -47,7 +47,8 @@ WARN_REFERENCES(sigpending, \
"warning: reference to compatibility sigpending(); include <signal.h> for correct reference")
_SYSCALL(sigpending,compat_13_sigpending13)
- movl %sp@(4),%a0
- movl %d0,%a0@
+ movl 4(%sp),%a0
+ movl %d0,(%a0)
clrl %d0
rts
+END(sigpending)
Index: src/lib/libc/compat/arch/m68k/sys/compat_sigprocmask.S
diff -u src/lib/libc/compat/arch/m68k/sys/compat_sigprocmask.S:1.1 src/lib/libc/compat/arch/m68k/sys/compat_sigprocmask.S:1.2
--- src/lib/libc/compat/arch/m68k/sys/compat_sigprocmask.S:1.1 Thu Mar 9 16:20:55 2006
+++ src/lib/libc/compat/arch/m68k/sys/compat_sigprocmask.S Tue Jul 16 23:00:15 2013
@@ -1,4 +1,4 @@
-/* $NetBSD: compat_sigprocmask.S,v 1.1 2006/03/09 16:20:55 christos Exp $ */
+/* $NetBSD: compat_sigprocmask.S,v 1.2 2013/07/16 23:00:15 matt Exp $ */
/*-
* Copyright (c) 1990 The Regents of the University of California.
@@ -39,7 +39,7 @@
#if 0
RCSID("from: @(#)sigprocmask.s 5.2 (Berkeley) 6/6/90")
#else
- RCSID("$NetBSD: compat_sigprocmask.S,v 1.1 2006/03/09 16:20:55 christos Exp $")
+ RCSID("$NetBSD: compat_sigprocmask.S,v 1.2 2013/07/16 23:00:15 matt Exp $")
#endif
#endif /* LIBC_SCCS and not lint */
@@ -47,24 +47,22 @@ WARN_REFERENCES(sigprocmask, \
"warning: reference to compatibility sigprocmask(); include <signal.h> for correct reference")
ENTRY(sigprocmask)
- tstl %sp@(8) /* check new sigset pointer */
+ tstl 8(%sp) /* check new sigset pointer */
jne gotptr /* if not null, indirect */
-/* movl #0,%sp@(8) /* null mask pointer: block empty set */
- movl #1,%sp@(4) /* SIG_BLOCK */
+/* movl #0,8(%sp) /* null mask pointer: block empty set */
+ movl #1,4(%sp) /* SIG_BLOCK */
jra doit
gotptr:
- movl %sp@(8),%a0
- movl %a0@,%sp@(8) /* indirect to new mask arg */
+ movl 8(%sp),%a0
+ movl (%a0),8(%sp) /* indirect to new mask arg */
doit:
- movl #SYS_compat_13_sigprocmask13,%d0
- trap #0
- jcs err
- tstl %sp@(12) /* test if old mask requested */
+ SYSTRAP(compat_13_sigprocmask13)
+ jcc CERROR
+ tstl 12(%sp) /* test if old mask requested */
jeq out
- movl %sp@(12),%a0
- movl %d0,%a0@ /* store old mask */
+ movl 12(%sp),%a0
+ movl %d0,(%a0) /* store old mask */
out:
clrl %d0
rts
-err:
- jra PIC_PLT(CERROR)
+END(sigprocmask)
Index: src/lib/libc/compat/arch/m68k/sys/compat_sigreturn.S
diff -u src/lib/libc/compat/arch/m68k/sys/compat_sigreturn.S:1.1 src/lib/libc/compat/arch/m68k/sys/compat_sigreturn.S:1.2
--- src/lib/libc/compat/arch/m68k/sys/compat_sigreturn.S:1.1 Thu Mar 9 16:20:55 2006
+++ src/lib/libc/compat/arch/m68k/sys/compat_sigreturn.S Tue Jul 16 23:00:15 2013
@@ -1,4 +1,4 @@
-/* $NetBSD: compat_sigreturn.S,v 1.1 2006/03/09 16:20:55 christos Exp $ */
+/* $NetBSD: compat_sigreturn.S,v 1.2 2013/07/16 23:00:15 matt Exp $ */
/*-
* Copyright (c) 1990 The Regents of the University of California.
@@ -39,7 +39,7 @@
#if 0
RCSID("from: @(#)sigreturn.s 5.1 (Berkeley) 5/12/90")
#else
- RCSID("$NetBSD: compat_sigreturn.S,v 1.1 2006/03/09 16:20:55 christos Exp $")
+ RCSID("$NetBSD: compat_sigreturn.S,v 1.2 2013/07/16 23:00:15 matt Exp $")
#endif
#endif /* LIBC_SCCS and not lint */
@@ -47,18 +47,11 @@
* We must preserve the state of the registers as the user has set them up.
*/
#ifdef GPROF
-#undef ENTRY
-#ifdef __STDC__
-#define ENTRY(x) \
- .globl _C_LABEL(x); .even; _C_LABEL(x):; moveml #0xC0C0,%sp@-; .data; \
- PROF ## x:; .long 0; .text; lea PROF ## x,%a0; jbsr MCOUNT_ENTRY; \
- moveml %sp@+,#0x0303
-#else
-#define ENTRY(x) \
- .globl _C_LABEL(x); .even; _C_LABEL(x):; moveml #0xC0C0,%sp@-; .data; \
- PROF/**/x:; .long 0; .text; lea PROF/**/x,%a0; jbsr MCOUNT_ENTRY; \
- moveml %sp@+,#0x0303
-#endif /* __STDC__ */
+#undef _PROF_PROLOG
+#define _PROF_PROLOG \
+ .data; 1: .long 0; \
+ .text; INTERRUPT_SAVEREG; LEA_LCL(1b,%a0); jbsr MCOUNT_ENTRY; \
+ INTERRUPT_RESTOREREG
#endif /* GPROF */
WARN_REFERENCES(sigreturn, \
@@ -69,4 +62,5 @@ WARN_REFERENCES(sigreturn, \
*/
ENTRY(sigreturn)
trap #1 /* signals compat_13_sigreturn13() */
- jra PIC_PLT(CERROR)
+ jbra CERROR
+END(sigreturn)
Index: src/lib/libc/compat/arch/m68k/sys/compat_sigsuspend.S
diff -u src/lib/libc/compat/arch/m68k/sys/compat_sigsuspend.S:1.1 src/lib/libc/compat/arch/m68k/sys/compat_sigsuspend.S:1.2
--- src/lib/libc/compat/arch/m68k/sys/compat_sigsuspend.S:1.1 Thu Mar 9 16:20:55 2006
+++ src/lib/libc/compat/arch/m68k/sys/compat_sigsuspend.S Tue Jul 16 23:00:15 2013
@@ -1,4 +1,4 @@
-/* $NetBSD: compat_sigsuspend.S,v 1.1 2006/03/09 16:20:55 christos Exp $ */
+/* $NetBSD: compat_sigsuspend.S,v 1.2 2013/07/16 23:00:15 matt Exp $ */
/*-
* Copyright (c) 1990 The Regents of the University of California.
@@ -39,7 +39,7 @@
#if 0
RCSID("from: @(#)sigsuspend.s 5.2 (Berkeley) 6/6/90")
#else
- RCSID("$NetBSD: compat_sigsuspend.S,v 1.1 2006/03/09 16:20:55 christos Exp $")
+ RCSID("$NetBSD: compat_sigsuspend.S,v 1.2 2013/07/16 23:00:15 matt Exp $")
#endif
#endif /* LIBC_SCCS and not lint */
@@ -47,12 +47,10 @@ WARN_REFERENCES(sigsuspend, \
"warning: reference to compatibility sigsuspend(); include <signal.h> for correct reference")
ENTRY(sigsuspend)
- movl %sp@(4),%a0
- movl %a0@,%sp@(4) /* indirect to mask arg */
- movl #SYS_compat_13_sigsuspend13,%d0
- trap #0
- jcs err
+ movl 4(%sp),%a0
+ movl (%a0),4(%sp) /* indirect to mask arg */
+ SYSTRAP(compat_13_sigsuspend13)
+ jcc CERROR
clrl %d0 /* shouldn't happen */
rts
-err:
- jra PIC_PLT(CERROR)
+END(sigsuspend)
Index: src/lib/libc/compat/arch/m68k/sys/compat___sigtramp1.S
diff -u src/lib/libc/compat/arch/m68k/sys/compat___sigtramp1.S:1.2 src/lib/libc/compat/arch/m68k/sys/compat___sigtramp1.S:1.3
--- src/lib/libc/compat/arch/m68k/sys/compat___sigtramp1.S:1.2 Mon Apr 28 20:22:58 2008
+++ src/lib/libc/compat/arch/m68k/sys/compat___sigtramp1.S Tue Jul 16 23:00:15 2013
@@ -1,4 +1,4 @@
-/* $NetBSD: compat___sigtramp1.S,v 1.2 2008/04/28 20:22:58 martin Exp $ */
+/* $NetBSD: compat___sigtramp1.S,v 1.3 2013/07/16 23:00:15 matt Exp $ */
/*-
* Copyright (c) 2002 The NetBSD Foundation, Inc.
@@ -43,9 +43,10 @@
* sp-> signal number [0]
*/
ENTRY_NOPROFILE(__sigtramp_sigcontext_1)
- leal %sp@(12),%a0 /* get pointer to sigcontext */
- movl %a0,%sp@(4) /* put it in the argument slot */
+ leal 12(%sp),%a0 /* get pointer to sigcontext */
+ movl %a0,4(%sp) /* put it in the argument slot */
/* fake return address already there */
trap #3 /* special sigreturn trap */
- movl %d0,%sp@(4) /* failed, exit with errno */
+ movl %d0,4(%sp) /* failed, exit with errno */
SYSTRAP(exit)
+END(__sigtramp_sigcontext_1)