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)