diff options
| author | thorpej <thorpej@NetBSD.org> | 1999-11-11 01:32:10 +0000 |
|---|---|---|
| committer | thorpej <thorpej@NetBSD.org> | 1999-11-11 01:32:10 +0000 |
| commit | 9aeef983e259e2e69edbb9475ba6edb41df3efc1 (patch) | |
| tree | e04ac18642219694278426f683976506e52fe881 /sys/lib | |
| parent | 2859f66b8f2985ed9eb467d198dea2b0ad626764 (diff) | |
Sync w/ libc.
Diffstat (limited to 'sys/lib')
26 files changed, 371 insertions, 343 deletions
diff --git a/sys/lib/libkern/arch/m68k/DEFS.h b/sys/lib/libkern/arch/m68k/DEFS.h index 26d94c52927..f5c6689c3de 100644 --- a/sys/lib/libkern/arch/m68k/DEFS.h +++ b/sys/lib/libkern/arch/m68k/DEFS.h @@ -1,3 +1,3 @@ -/* $NetBSD: DEFS.h,v 1.3 1998/02/22 08:43:27 mycroft Exp $ */ +/* $NetBSD: DEFS.h,v 1.4 1999/11/11 01:32:10 thorpej Exp $ */ #include <machine/asm.h> diff --git a/sys/lib/libkern/arch/m68k/SYS.h b/sys/lib/libkern/arch/m68k/SYS.h index 3b9f75cb4c0..c20f20ac2d1 100644 --- a/sys/lib/libkern/arch/m68k/SYS.h +++ b/sys/lib/libkern/arch/m68k/SYS.h @@ -1,4 +1,4 @@ -/* $NetBSD: SYS.h,v 1.3 1998/02/22 08:43:27 mycroft Exp $ */ +/* $NetBSD: SYS.h,v 1.4 1999/11/11 01:32:10 thorpej Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -44,11 +44,18 @@ #ifdef __STDC__ #define IMMEDIATE # -#define SYSTRAP(x) movl IMMEDIATE SYS_ ## x ## ,d0; trap IMMEDIATE 0 +#define SYSTRAP(x) movl IMMEDIATE SYS_ ## x ## ,%d0; trap IMMEDIATE 0 #else -#define SYSTRAP(x) movl #SYS_/**/x,d0; trap #0 +#define SYSTRAP(x) movl #SYS_/**/x,%d0; trap #0 #endif +#ifdef __ELF__ +#define CERROR _C_LABEL(__cerror) +#define CURBRK _C_LABEL(__curbrk) +#else +#define CERROR _ASM_LABEL(cerror) +#define CURBRK _ASM_LABEL(curbrk) +#endif #define _SYSCALL_NOERROR(x,y) \ ENTRY(x); \ @@ -56,7 +63,7 @@ #define _SYSCALL(x,y) \ .even; \ - err: jra cerror; \ + err: jra PIC_PLT(CERROR); \ _SYSCALL_NOERROR(x,y); \ jcs err @@ -82,4 +89,4 @@ #define ASMSTR .asciz - .globl cerror + .globl CERROR diff --git a/sys/lib/libkern/arch/m68k/bcmp.S b/sys/lib/libkern/arch/m68k/bcmp.S index d065cd71f8e..151de84cadd 100644 --- a/sys/lib/libkern/arch/m68k/bcmp.S +++ b/sys/lib/libkern/arch/m68k/bcmp.S @@ -1,4 +1,4 @@ -/* $NetBSD: bcmp.S,v 1.6 1997/05/15 16:20:54 jtc Exp $ */ +/* $NetBSD: bcmp.S,v 1.7 1999/11/11 01:32:10 thorpej Exp $ */ /*- * Copyright (c) 1997 The NetBSD Foundation, Inc. @@ -79,88 +79,88 @@ #if 0 RCSID("from: @(#)bcmp.s 5.1 (Berkeley) 5/12/90") #else - RCSID("$NetBSD: bcmp.S,v 1.6 1997/05/15 16:20:54 jtc Exp $") + RCSID("$NetBSD: bcmp.S,v 1.7 1999/11/11 01:32:10 thorpej Exp $") #endif #endif /* LIBC_SCCS and not lint */ ENTRY(bcmp) - movl sp@(4),a0 | string 1 - movl sp@(8),a1 | string 2 - movl sp@(12),d1 | length + movl %sp@(4),%a0 | string 1 + movl %sp@(8),%a1 | string 2 + movl %sp@(12),%d1 | length /* * It isn't worth the overhead of aligning to {long}word boundries * if the string is too short. */ - cmpl #8,d1 + cmpl #8,%d1 jlt Lbcbyte /* word align */ - movl a0,d0 - btst #0,d0 + movl %a0,%d0 + btst #0,%d0 jeq Lbcalgndw - cmpmb a0@+,a1@+ + cmpmb %a0@+,%a1@+ jne Lbcnoteq - subql #1,d1 + subql #1,%d1 Lbcalgndw: /* long word align */ - btst #1,d0 + btst #1,%d0 jeq Lbcalgndl - cmpmw a0@+,a1@+ + cmpmw %a0@+,%a1@+ jne Lbcnoteq - subql #2,d1 + subql #2,%d1 Lbcalgndl: /* compare by 8 longwords */ - movl d1,d0 - lsrl #5,d0 | cnt = len / 32 + movl %d1,%d0 + lsrl #5,%d0 | cnt = len / 32 jeq Lbclong | if (cnt) - andl #31,d1 | len %= 32 - subql #1,d0 | set up for dbf + andl #31,%d1 | len %= 32 + subql #1,%d0 | set up for dbf Lbc32loop: - cmpml a0@+,a1@+ | compare 8 longwords + cmpml %a0@+,%a1@+ | compare 8 longwords jne Lbcnoteq | not equal, return non-zero - cmpml a0@+,a1@+ + cmpml %a0@+,%a1@+ jne Lbcnoteq - cmpml a0@+,a1@+ + cmpml %a0@+,%a1@+ jne Lbcnoteq - cmpml a0@+,a1@+ + cmpml %a0@+,%a1@+ jne Lbcnoteq - cmpml a0@+,a1@+ + cmpml %a0@+,%a1@+ jne Lbcnoteq - cmpml a0@+,a1@+ + cmpml %a0@+,%a1@+ jne Lbcnoteq - cmpml a0@+,a1@+ + cmpml %a0@+,%a1@+ jne Lbcnoteq - cmpml a0@+,a1@+ + cmpml %a0@+,%a1@+ jne Lbcnoteq - dbf d0,Lbc32loop | till done - clrw d0 - subql #1,d0 + dbf %d0,Lbc32loop | till done + clrw %d0 + subql #1,%d0 jcc Lbc32loop Lbclong: /* compare by longwords */ - movl d1,d0 - lsrl #2,d0 | cnt = len / 4 + movl %d1,%d0 + lsrl #2,%d0 | cnt = len / 4 jeq Lbcbyte | if (cnt) - subql #1,d0 | set up for dbf + subql #1,%d0 | set up for dbf Lbclloop: - cmpml a0@+,a1@+ | compare a longword + cmpml %a0@+,%a1@+ | compare a longword jne Lbcnoteq | not equal, return non-zero - dbf d0,Lbclloop | till done - andl #3,d1 | len %= 4 + dbf %d0,Lbclloop | till done + andl #3,%d1 | len %= 4 jeq Lbcdone - subql #1,d1 | set up for dbf + subql #1,%d1 | set up for dbf Lbcbloop: - cmpmb a0@+,a1@+ | compare a byte + cmpmb %a0@+,%a1@+ | compare a byte jne Lbcnoteq | not equal, return non-zero Lbcbyte: - dbf d1,Lbcbloop + dbf %d1,Lbcbloop Lbcdone: - movql #0,d0 + movql #0,%d0 rts Lbcnoteq: - movql #1,d0 + movql #1,%d0 rts diff --git a/sys/lib/libkern/arch/m68k/bcopy.S b/sys/lib/libkern/arch/m68k/bcopy.S index d33aee70cf0..0e166f98969 100644 --- a/sys/lib/libkern/arch/m68k/bcopy.S +++ b/sys/lib/libkern/arch/m68k/bcopy.S @@ -1,4 +1,4 @@ -/* $NetBSD: bcopy.S,v 1.1 1998/02/22 08:43:27 mycroft Exp $ */ +/* $NetBSD: bcopy.S,v 1.2 1999/11/11 01:32:10 thorpej Exp $ */ /*- * Copyright (c) 1997 The NetBSD Foundation, Inc. @@ -79,7 +79,7 @@ #if 0 RCSID("from: @(#)bcopy.s 5.1 (Berkeley) 5/12/90") #else - RCSID("$NetBSD: bcopy.S,v 1.1 1998/02/22 08:43:27 mycroft Exp $") + RCSID("$NetBSD: bcopy.S,v 1.2 1999/11/11 01:32:10 thorpej Exp $") #endif #endif /* LIBC_SCCS and not lint */ @@ -94,144 +94,150 @@ ENTRY(bcopy) #endif #endif #if defined(MEMCOPY) || defined(MEMMOVE) - movl sp@(4),a1 | dest address - movl sp@(8),a0 | src address + movl %sp@(4),%a1 | dest address + movl %sp@(8),%a0 | src address #else - movl sp@(4),a0 | src address - movl sp@(8),a1 | dest address + movl %sp@(4),%a0 | src address + movl %sp@(8),%a1 | dest address #endif - movl sp@(12),d1 | count + movl %sp@(12),%d1 | count - cmpl a1,a0 | src after dest? + cmpl %a1,%a0 | src after dest? jlt Lbcback | yes, must copy backwards /* * It isn't worth the overhead of aligning to {long}word boundries * if the string is too short. */ - cmpl #8,d1 + cmpl #8,%d1 jlt Lbcfbyte /* word align */ - movl a1,d0 - btst #0,d0 | if (dst & 1) + movl %a1,%d0 + btst #0,%d0 | if (dst & 1) jeq Lbcfalgndw | - movb a0@+,a1@+ | *(char *)dst++ = *(char *) src++ - subql #1,d1 | len-- + movb %a0@+,%a1@+ | *(char *)dst++ = *(char *) src++ + subql #1,%d1 | len-- Lbcfalgndw: /* long word align */ - btst #1,d0 | if (dst & 2) + btst #1,%d0 | if (dst & 2) jeq Lbcfalgndl - movw a0@+,a1@+ | *(short *)dst++ = *(short *) dst++ - subql #2,d1 | len -= 2 + movw %a0@+,%a1@+ | *(short *)dst++ = *(short *) dst++ + subql #2,%d1 | len -= 2 Lbcfalgndl: /* copy by 8 longwords */ - movel d1,d0 - lsrl #5,d0 | cnt = len / 32 + movel %d1,%d0 + lsrl #5,%d0 | cnt = len / 32 jeq Lbcflong | if (cnt) - andl #31,d1 | len %= 32 - subql #1,d0 | set up for dbf + andl #31,%d1 | len %= 32 + subql #1,%d0 | set up for dbf Lbcf32loop: - movl a0@+,a1@+ | copy 8 long words - movl a0@+,a1@+ - movl a0@+,a1@+ - movl a0@+,a1@+ - movl a0@+,a1@+ - movl a0@+,a1@+ - movl a0@+,a1@+ - movl a0@+,a1@+ - dbf d0,Lbcf32loop | till done - clrw d0 - subql #1,d0 + movl %a0@+,%a1@+ | copy 8 long words + movl %a0@+,%a1@+ + movl %a0@+,%a1@+ + movl %a0@+,%a1@+ + movl %a0@+,%a1@+ + movl %a0@+,%a1@+ + movl %a0@+,%a1@+ + movl %a0@+,%a1@+ + dbf %d0,Lbcf32loop | till done + clrw %d0 + subql #1,%d0 jcc Lbcf32loop Lbcflong: /* copy by longwords */ - movel d1,d0 - lsrl #2,d0 | cnt = len / 4 + movel %d1,%d0 + lsrl #2,%d0 | cnt = len / 4 jeq Lbcfbyte | if (cnt) - subql #1,d0 | set up for dbf + subql #1,%d0 | set up for dbf Lbcflloop: - movl a0@+,a1@+ | copy longwords - dbf d0,Lbcflloop | til done - andl #3,d1 | len %= 4 + movl %a0@+,%a1@+ | copy longwords + dbf %d0,Lbcflloop | til done + andl #3,%d1 | len %= 4 jeq Lbcdone - subql #1,d1 | set up for dbf + subql #1,%d1 | set up for dbf Lbcfbloop: - movb a0@+,a1@+ | copy bytes + movb %a0@+,%a1@+ | copy bytes Lbcfbyte: - dbf d1,Lbcfbloop | till done + dbf %d1,Lbcfbloop | till done Lbcdone: #if defined(MEMCOPY) || defined(MEMMOVE) - movl sp@(4),d0 | dest address + movl %sp@(4),%d0 | dest address +#if defined(__SVR4_ABI__) + moveal %d0,%a0 +#endif #endif rts Lbcback: - addl d1,a0 | src pointer to end - addl d1,a1 | dest pointer to end + addl %d1,%a0 | src pointer to end + addl %d1,%a1 | dest pointer to end /* * It isn't worth the overhead of aligning to {long}word boundries * if the string is too short. */ - cmpl #8,d1 + cmpl #8,%d1 jlt Lbcbbyte /* word align */ - movl a1,d0 - btst #0,d0 | if (dst & 1) + movl %a1,%d0 + btst #0,%d0 | if (dst & 1) jeq Lbcbalgndw | - movb a0@-,a1@- | *(char *)dst-- = *(char *) src-- - subql #1,d1 | len-- + movb %a0@-,%a1@- | *(char *)dst-- = *(char *) src-- + subql #1,%d1 | len-- Lbcbalgndw: /* long word align */ - btst #1,d0 | if (dst & 2) + btst #1,%d0 | if (dst & 2) jeq Lbcbalgndl - movw a0@-,a1@- | *(short *)dst-- = *(short *) dst-- - subql #2,d1 | len -= 2 + movw %a0@-,%a1@- | *(short *)dst-- = *(short *) dst-- + subql #2,%d1 | len -= 2 Lbcbalgndl: /* copy by 8 longwords */ - movel d1,d0 - lsrl #5,d0 | cnt = len / 32 + movel %d1,%d0 + lsrl #5,%d0 | cnt = len / 32 jeq Lbcblong | if (cnt) - andl #31,d1 | len %= 32 - subql #1,d0 | set up for dbf + andl #31,%d1 | len %= 32 + subql #1,%d0 | set up for dbf Lbcb32loop: - movl a0@-,a1@- | copy 8 long words - movl a0@-,a1@- - movl a0@-,a1@- - movl a0@-,a1@- - movl a0@-,a1@- - movl a0@-,a1@- - movl a0@-,a1@- - movl a0@-,a1@- - dbf d0,Lbcb32loop | till done - clrw d0 - subql #1,d0 + movl %a0@-,%a1@- | copy 8 long words + movl %a0@-,%a1@- + movl %a0@-,%a1@- + movl %a0@-,%a1@- + movl %a0@-,%a1@- + movl %a0@-,%a1@- + movl %a0@-,%a1@- + movl %a0@-,%a1@- + dbf %d0,Lbcb32loop | till done + clrw %d0 + subql #1,%d0 jcc Lbcb32loop Lbcblong: /* copy by longwords */ - movel d1,d0 - lsrl #2,d0 | cnt = len / 4 + movel %d1,%d0 + lsrl #2,%d0 | cnt = len / 4 jeq Lbcbbyte | if (cnt) - subql #1,d0 | set up for dbf + subql #1,%d0 | set up for dbf Lbcblloop: - movl a0@-,a1@- | copy longwords - dbf d0,Lbcblloop | til done - andl #3,d1 | len %= 4 + movl %a0@-,%a1@- | copy longwords + dbf %d0,Lbcblloop | til done + andl #3,%d1 | len %= 4 jeq Lbcdone - subql #1,d1 | set up for dbf + subql #1,%d1 | set up for dbf Lbcbbloop: - movb a0@-,a1@- | copy bytes + movb %a0@-,%a1@- | copy bytes Lbcbbyte: - dbf d1,Lbcbbloop | till done + dbf %d1,Lbcbbloop | till done #if defined(MEMCOPY) || defined(MEMMOVE) - movl sp@(4),d0 | dest address + movl %sp@(4),%d0 | dest address +#if defined(__SVR4_ABI__) + moveal %d0,%a0 +#endif #endif rts diff --git a/sys/lib/libkern/arch/m68k/bswap16.S b/sys/lib/libkern/arch/m68k/bswap16.S index 77a613c2e25..1eb97c59a37 100644 --- a/sys/lib/libkern/arch/m68k/bswap16.S +++ b/sys/lib/libkern/arch/m68k/bswap16.S @@ -1,4 +1,4 @@ -/* $NetBSD: bswap16.S,v 1.1 1997/10/11 04:28:41 scottr Exp $ */ +/* $NetBSD: bswap16.S,v 1.2 1999/11/11 01:32:10 thorpej Exp $ */ /* * Copyright (C) 1996 Scott Reynolds. All rights reserved. @@ -29,6 +29,6 @@ #include <machine/asm.h> ENTRY(bswap16) - movl sp@(4),d0 - rolw #8,d0 + movl %sp@(4),%d0 + rolw #8,%d0 rts diff --git a/sys/lib/libkern/arch/m68k/bswap32.S b/sys/lib/libkern/arch/m68k/bswap32.S index c78f182d416..9a877d351f4 100644 --- a/sys/lib/libkern/arch/m68k/bswap32.S +++ b/sys/lib/libkern/arch/m68k/bswap32.S @@ -1,4 +1,4 @@ -/* $NetBSD: bswap32.S,v 1.1 1997/10/11 04:28:41 scottr Exp $ */ +/* $NetBSD: bswap32.S,v 1.2 1999/11/11 01:32:10 thorpej Exp $ */ /* * Copyright (C) 1996 Scott Reynolds. All rights reserved. @@ -29,8 +29,8 @@ #include <machine/asm.h> ENTRY(bswap32) - movl sp@(4),d0 - rolw #8,d0 - swap d0 - rolw #8,d0 + movl %sp@(4),%d0 + rolw #8,%d0 + swap %d0 + rolw #8,%d0 rts diff --git a/sys/lib/libkern/arch/m68k/bswap64.S b/sys/lib/libkern/arch/m68k/bswap64.S index b707b6affbe..ba76471ad72 100644 --- a/sys/lib/libkern/arch/m68k/bswap64.S +++ b/sys/lib/libkern/arch/m68k/bswap64.S @@ -1,4 +1,4 @@ -/* $NetBSD: bswap64.S,v 1.1 1997/10/11 04:28:42 scottr Exp $ */ +/* $NetBSD: bswap64.S,v 1.2 1999/11/11 01:32:10 thorpej Exp $ */ /* * Copyright (C) 1996 Scott Reynolds. All rights reserved. @@ -29,12 +29,12 @@ #include <machine/asm.h> ENTRY(bswap64) - movl sp@(4),d1 - movl sp@(8),d0 - rolw #8,d1 - swap d1 - rolw #8,d1 - rolw #8,d0 - swap d0 - rolw #8,d0 + movl %sp@(4),%d1 + movl %sp@(8),%d0 + rolw #8,%d1 + rolw #8,%d0 + swap %d1 + swap %d0 + rolw #8,%d0 + rolw #8,%d1 rts diff --git a/sys/lib/libkern/arch/m68k/bzero.S b/sys/lib/libkern/arch/m68k/bzero.S index 0282464b54f..7a90b810e8e 100644 --- a/sys/lib/libkern/arch/m68k/bzero.S +++ b/sys/lib/libkern/arch/m68k/bzero.S @@ -1,4 +1,4 @@ -/* $NetBSD: bzero.S,v 1.5 1997/05/13 19:32:02 jtc Exp $ */ +/* $NetBSD: bzero.S,v 1.6 1999/11/11 01:32:11 thorpej Exp $ */ /*- * Copyright (c) 1997 The NetBSD Foundation, Inc. @@ -79,74 +79,74 @@ #if 0 RCSID("from: @(#)bzero.s 5.1 (Berkeley) 5/12/90") #else - RCSID("$NetBSD: bzero.S,v 1.5 1997/05/13 19:32:02 jtc Exp $") + RCSID("$NetBSD: bzero.S,v 1.6 1999/11/11 01:32:11 thorpej Exp $") #endif #endif /* LIBC_SCCS and not lint */ ENTRY(bzero) - movl d2,sp@- - movl sp@(8),a0 | destination - movl sp@(12),d1 | count + movl %d2,%sp@- + movl %sp@(8),%a0 | destination + movl %sp@(12),%d1 | count - movql #0,d2 + movql #0,%d2 /* * It isn't worth the overhead of aligning to {long}word boundries * if the string is too short. */ - cmpl #8,d1 + cmpl #8,%d1 jlt Lbzbyte /* word align */ - movl a0,d0 - btst #0,d0 | if (dst & 1) + movl %a0,%d0 + btst #0,%d0 | if (dst & 1) jeq Lbzalgndw | - movb d2,a0@+ | *(char *)dst++ = 0 - subql #1,d1 | len-- + movb %d2,%a0@+ | *(char *)dst++ = 0 + subql #1,%d1 | len-- Lbzalgndw: /* long word align */ - btst #1,d0 | if (dst & 2) + btst #1,%d0 | if (dst & 2) jeq Lbzalgndl | - movw d2,a0@+ | *(short *)dst++ = 0 - subql #2,d1 | len -= 2 + movw %d2,%a0@+ | *(short *)dst++ = 0 + subql #2,%d1 | len -= 2 Lbzalgndl: /* zero by 8 longwords */ - movel d1,d0 - lsrl #5,d0 | cnt = len / 32 + movel %d1,%d0 + lsrl #5,%d0 | cnt = len / 32 jeq Lbzlong | if (cnt) - andl #31,d1 | len %= 32 - subql #1,d0 | set up for dbf + andl #31,%d1 | len %= 32 + subql #1,%d0 | set up for dbf Lbz32loop: - movl d2,a0@+ | zero 8 long words - movl d2,a0@+ - movl d2,a0@+ - movl d2,a0@+ - movl d2,a0@+ - movl d2,a0@+ - movl d2,a0@+ - movl d2,a0@+ - dbf d0,Lbz32loop | till done - clrw d0 - subql #1,d0 + movl %d2,%a0@+ | zero 8 long words + movl %d2,%a0@+ + movl %d2,%a0@+ + movl %d2,%a0@+ + movl %d2,%a0@+ + movl %d2,%a0@+ + movl %d2,%a0@+ + movl %d2,%a0@+ + dbf %d0,Lbz32loop | till done + clrw %d0 + subql #1,%d0 jcc Lbz32loop Lbzlong: /* copy by longwords */ - movel d1,d0 - lsrl #2,d0 | cnt = len / 4 + movel %d1,%d0 + lsrl #2,%d0 | cnt = len / 4 jeq Lbzbyte | if (cnt) - subql #1,d0 | set up for dbf + subql #1,%d0 | set up for dbf Lbzlloop: - movl d2,a0@+ | clear longwords - dbf d0,Lbzlloop | till done - andl #3,d1 | len %= 4 + movl %d2,%a0@+ | clear longwords + dbf %d0,Lbzlloop | till done + andl #3,%d1 | len %= 4 jeq Lbzdone - subql #1,d1 | set up for dbf + subql #1,%d1 | set up for dbf Lbzbloop: - movb d2,a0@+ | zero bytes + movb %d2,%a0@+ | zero bytes Lbzbyte: - dbf d1,Lbzbloop | till done + dbf %d1,Lbzbloop | till done Lbzdone: - movl sp@+,d2 + movl %sp@+,%d2 rts diff --git a/sys/lib/libkern/arch/m68k/ffs.S b/sys/lib/libkern/arch/m68k/ffs.S index b19deca11ba..b75a271c7ea 100644 --- a/sys/lib/libkern/arch/m68k/ffs.S +++ b/sys/lib/libkern/arch/m68k/ffs.S @@ -1,4 +1,4 @@ -/* $NetBSD: ffs.S,v 1.5 1997/05/13 19:32:03 jtc Exp $ */ +/* $NetBSD: ffs.S,v 1.6 1999/11/11 01:32:11 thorpej Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -43,18 +43,18 @@ #if 0 RCSID("from: @(#)ffs.s 5.1 (Berkeley) 5/12/90") #else - RCSID("$NetBSD: ffs.S,v 1.5 1997/05/13 19:32:03 jtc Exp $") + RCSID("$NetBSD: ffs.S,v 1.6 1999/11/11 01:32:11 thorpej Exp $") #endif #endif /* LIBC_SCCS and not lint */ /* bit = ffs(value) */ ENTRY(ffs) - movl sp@(4),d0 - movl d0,d1 - negl d0 - andl d0,d1 - movql #32,d0 - bfffo d1{#0:#32},d1 - subl d1,d0 + movl %sp@(4),%d0 + movl %d0,%d1 + negl %d0 + andl %d0,%d1 + movql #32,%d0 + bfffo %d1{#0:#32},%d1 + subl %d1,%d0 rts diff --git a/sys/lib/libkern/arch/m68k/htonl.S b/sys/lib/libkern/arch/m68k/htonl.S index b475793dd11..ae85ffaa59e 100644 --- a/sys/lib/libkern/arch/m68k/htonl.S +++ b/sys/lib/libkern/arch/m68k/htonl.S @@ -1,4 +1,4 @@ -/* $NetBSD: htonl.S,v 1.3 1998/02/22 08:43:27 mycroft Exp $ */ +/* $NetBSD: htonl.S,v 1.4 1999/11/11 01:32:11 thorpej Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -43,12 +43,12 @@ #if 0 RCSID("from: @(#)htonl.s 5.1 (Berkeley) 5/12/90") #else - RCSID("$NetBSD: htonl.S,v 1.3 1998/02/22 08:43:27 mycroft Exp $") + RCSID("$NetBSD: htonl.S,v 1.4 1999/11/11 01:32:11 thorpej Exp $") #endif #endif /* LIBC_SCCS and not lint */ /* netorder = htonl(hostorder) */ ENTRY(htonl) - movl sp@(4),d0 + movl %sp@(4),%d0 rts diff --git a/sys/lib/libkern/arch/m68k/htons.S b/sys/lib/libkern/arch/m68k/htons.S index b950d9c0b16..989bd14a9e0 100644 --- a/sys/lib/libkern/arch/m68k/htons.S +++ b/sys/lib/libkern/arch/m68k/htons.S @@ -1,4 +1,4 @@ -/* $NetBSD: htons.S,v 1.3 1998/02/22 08:43:27 mycroft Exp $ */ +/* $NetBSD: htons.S,v 1.4 1999/11/11 01:32:11 thorpej Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -43,13 +43,13 @@ #if 0 RCSID("from: @(#)htons.s 5.1 (Berkeley) 5/12/90") #else - RCSID("$NetBSD: htons.S,v 1.3 1998/02/22 08:43:27 mycroft Exp $") + RCSID("$NetBSD: htons.S,v 1.4 1999/11/11 01:32:11 thorpej Exp $") #endif #endif /* LIBC_SCCS and not lint */ /* hostorder = htons(netorder) */ ENTRY(htons) - clrl d0 - movw sp@(6),d0 + clrl %d0 + movw %sp@(6),%d0 rts diff --git a/sys/lib/libkern/arch/m68k/index.S b/sys/lib/libkern/arch/m68k/index.S index 8cd0178b2bd..3e619527bef 100644 --- a/sys/lib/libkern/arch/m68k/index.S +++ b/sys/lib/libkern/arch/m68k/index.S @@ -1,4 +1,4 @@ -/* $NetBSD: index.S,v 1.1 1998/02/22 08:43:27 mycroft Exp $ */ +/* $NetBSD: index.S,v 1.2 1999/11/11 01:32:11 thorpej Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -43,7 +43,7 @@ #if 0 RCSID("from: @(#)index.s 5.1 (Berkeley) 5/12/90") #else - RCSID("$NetBSD: index.S,v 1.1 1998/02/22 08:43:27 mycroft Exp $") + RCSID("$NetBSD: index.S,v 1.2 1999/11/11 01:32:11 thorpej Exp $") #endif #endif /* LIBC_SCCS and not lint */ @@ -52,15 +52,18 @@ ENTRY(strchr) #else ENTRY(index) #endif - movl sp@(4),a0 | string - movb sp@(11),d0 | char to look for + movl %sp@(4),%a0 | string + movb %sp@(11),%d0 | char to look for ixloop: - cmpb a0@,d0 | found our char? + cmpb %a0@,%d0 | found our char? jeq ixfound | yes, break out - tstb a0@+ | null? + tstb %a0@+ | null? jne ixloop | no, keep going - moveq #0,d0 | not found, return null + moveq #0,%d0 | not found, return null +#ifdef __SVR4_ABI__ + moveal %d0,%a0 +#endif rts ixfound: - movl a0,d0 | found, return pointer + movl %a0,%d0 | found, return pointer rts diff --git a/sys/lib/libkern/arch/m68k/memcpy.S b/sys/lib/libkern/arch/m68k/memcpy.S index 561037d6171..e256bc15889 100644 --- a/sys/lib/libkern/arch/m68k/memcpy.S +++ b/sys/lib/libkern/arch/m68k/memcpy.S @@ -1,4 +1,4 @@ -/* $NetBSD: memcpy.S,v 1.1 1998/02/22 08:43:27 mycroft Exp $ */ +/* $NetBSD: memcpy.S,v 1.2 1999/11/11 01:32:12 thorpej Exp $ */ #define MEMCOPY #include "bcopy.S" diff --git a/sys/lib/libkern/arch/m68k/memmove.S b/sys/lib/libkern/arch/m68k/memmove.S index 560b20a3e5a..169de75b101 100644 --- a/sys/lib/libkern/arch/m68k/memmove.S +++ b/sys/lib/libkern/arch/m68k/memmove.S @@ -1,4 +1,4 @@ -/* $NetBSD: memmove.S,v 1.1 1998/08/04 03:30:30 perry Exp $ */ +/* $NetBSD: memmove.S,v 1.2 1999/11/11 01:32:12 thorpej Exp $ */ #define MEMMOVE #include "bcopy.S" diff --git a/sys/lib/libkern/arch/m68k/memset.S b/sys/lib/libkern/arch/m68k/memset.S index c1f2191634c..6ca0d3d513f 100644 --- a/sys/lib/libkern/arch/m68k/memset.S +++ b/sys/lib/libkern/arch/m68k/memset.S @@ -1,4 +1,4 @@ -/* $NetBSD: memset.S,v 1.1 1998/02/22 08:43:27 mycroft Exp $ */ +/* $NetBSD: memset.S,v 1.2 1999/11/11 01:32:12 thorpej Exp $ */ /*- * Copyright (c) 1997 The NetBSD Foundation, Inc. @@ -79,84 +79,87 @@ #if 0 RCSID("from: @(#)bzero.s 5.1 (Berkeley) 5/12/90") #else - RCSID("$NetBSD: memset.S,v 1.1 1998/02/22 08:43:27 mycroft Exp $") + RCSID("$NetBSD: memset.S,v 1.2 1999/11/11 01:32:12 thorpej Exp $") #endif #endif /* LIBC_SCCS and not lint */ ENTRY(memset) - movl d2,sp@- - movl sp@(8),a0 | destination - movl sp@(16),d1 | count - movb sp@(15),d2 | character + movl %d2,%sp@- + movl %sp@(8),%a0 | destination + movl %sp@(16),%d1 | count + movb %sp@(15),%d2 | character /* * It isn't worth the overhead of aligning to {long}word boundries * if the string is too short. */ - cmpl #15,d1 + cmpl #15,%d1 jlt Lbzbyte - clrl d0 | replicate byte to fill longword - movb d2,d0 - movl d0,d2 - lsll #8,d0 - orl d0,d2 - lsll #8,d0 - orl d0,d2 - lsll #8,d0 - orl d0,d2 + clrl %d0 | replicate byte to fill longword + movb %d2,%d0 + movl %d0,%d2 + lsll #8,%d0 + orl %d0,%d2 + lsll #8,%d0 + orl %d0,%d2 + lsll #8,%d0 + orl %d0,%d2 /* word align */ - movl a0,d0 - btst #0,d0 | if (dst & 1) + movl %a0,%d0 + btst #0,%d0 | if (dst & 1) jeq Lbzalgndw | - movb d2,a0@+ | *(char *)dst++ = X - subql #1,d1 | len-- + movb %d2,%a0@+ | *(char *)dst++ = X + subql #1,%d1 | len-- Lbzalgndw: /* long word align */ - btst #1,d0 | if (dst & 2) + btst #1,%d0 | if (dst & 2) jeq Lbzalgndl | - movw d2,a0@+ | *(short *)dst++ = X - subql #2,d1 | len -= 2 + movw %d2,%a0@+ | *(short *)dst++ = X + subql #2,%d1 | len -= 2 Lbzalgndl: /* set by 8 longwords */ - movel d1,d0 - lsrl #5,d0 | cnt = len / 32 + movel %d1,%d0 + lsrl #5,%d0 | cnt = len / 32 jeq Lbzlong | if (cnt) - andl #31,d1 | len %= 32 - subql #1,d0 | set up for dbf + andl #31,%d1 | len %= 32 + subql #1,%d0 | set up for dbf Lbz32loop: - movl d2,a0@+ | set 8 long words - movl d2,a0@+ - movl d2,a0@+ - movl d2,a0@+ - movl d2,a0@+ - movl d2,a0@+ - movl d2,a0@+ - movl d2,a0@+ - dbf d0,Lbz32loop | till done - clrw d0 - subql #1,d0 + movl %d2,%a0@+ | set 8 long words + movl %d2,%a0@+ + movl %d2,%a0@+ + movl %d2,%a0@+ + movl %d2,%a0@+ + movl %d2,%a0@+ + movl %d2,%a0@+ + movl %d2,%a0@+ + dbf %d0,Lbz32loop | till done + clrw %d0 + subql #1,%d0 jcc Lbz32loop Lbzlong: /* set by longwords */ - movel d1,d0 - lsrl #2,d0 | cnt = len / 4 + movel %d1,%d0 + lsrl #2,%d0 | cnt = len / 4 jeq Lbzbyte | if (cnt) - subql #1,d0 | set up for dbf + subql #1,%d0 | set up for dbf Lbzlloop: - movl d2,a0@+ | clear longwords - dbf d0,Lbzlloop | till done - andl #3,d1 | len %= 4 + movl %d2,%a0@+ | clear longwords + dbf %d0,Lbzlloop | till done + andl #3,%d1 | len %= 4 jeq Lbzdone - subql #1,d1 | set up for dbf + subql #1,%d1 | set up for dbf Lbzbloop: - movb d2,a0@+ | set bytes + movb %d2,%a0@+ | set bytes Lbzbyte: - dbf d1,Lbzbloop | till done + dbf %d1,Lbzbloop | till done Lbzdone: - movl sp@(8),d0 | return destination - movl sp@+,d2 + movl %sp@(8),%d0 | return destination +#ifdef __SVR4_ABI__ + moveal %d0,%a0 +#endif + movl %sp@+,%d2 rts diff --git a/sys/lib/libkern/arch/m68k/ntohl.S b/sys/lib/libkern/arch/m68k/ntohl.S index 591202445c9..7c0bf9073d1 100644 --- a/sys/lib/libkern/arch/m68k/ntohl.S +++ b/sys/lib/libkern/arch/m68k/ntohl.S @@ -1,4 +1,4 @@ -/* $NetBSD: ntohl.S,v 1.3 1998/02/22 08:43:27 mycroft Exp $ */ +/* $NetBSD: ntohl.S,v 1.4 1999/11/11 01:32:12 thorpej Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -43,12 +43,12 @@ #if 0 RCSID("from: @(#)ntohl.s 5.1 (Berkeley) 5/12/90") #else - RCSID("$NetBSD: ntohl.S,v 1.3 1998/02/22 08:43:27 mycroft Exp $") + RCSID("$NetBSD: ntohl.S,v 1.4 1999/11/11 01:32:12 thorpej Exp $") #endif #endif /* LIBC_SCCS and not lint */ /* hostorder = ntohl(netorder) */ ENTRY(ntohl) - movl sp@(4),d0 + movl %sp@(4),%d0 rts diff --git a/sys/lib/libkern/arch/m68k/ntohs.S b/sys/lib/libkern/arch/m68k/ntohs.S index f4583e6baa8..a30a05ad39b 100644 --- a/sys/lib/libkern/arch/m68k/ntohs.S +++ b/sys/lib/libkern/arch/m68k/ntohs.S @@ -1,4 +1,4 @@ -/* $NetBSD: ntohs.S,v 1.3 1998/02/22 08:43:28 mycroft Exp $ */ +/* $NetBSD: ntohs.S,v 1.4 1999/11/11 01:32:12 thorpej Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -43,13 +43,13 @@ #if 0 RCSID("from: @(#)ntohs.s 5.1 (Berkeley) 5/12/90") #else - RCSID("$NetBSD: ntohs.S,v 1.3 1998/02/22 08:43:28 mycroft Exp $") + RCSID("$NetBSD: ntohs.S,v 1.4 1999/11/11 01:32:12 thorpej Exp $") #endif #endif /* LIBC_SCCS and not lint */ /* hostorder = ntohs(netorder) */ ENTRY(ntohs) - clrl d0 - movw sp@(6),d0 + clrl %d0 + movw %sp@(6),%d0 rts diff --git a/sys/lib/libkern/arch/m68k/rindex.S b/sys/lib/libkern/arch/m68k/rindex.S index 0ff4ee68af9..086efbf3733 100644 --- a/sys/lib/libkern/arch/m68k/rindex.S +++ b/sys/lib/libkern/arch/m68k/rindex.S @@ -1,4 +1,4 @@ -/* $NetBSD: rindex.S,v 1.1 1998/02/22 08:43:28 mycroft Exp $ */ +/* $NetBSD: rindex.S,v 1.2 1999/11/11 01:32:13 thorpej Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -43,7 +43,7 @@ #if 0 RCSID("from: @(#)rindex.s 5.1 (Berkeley) 5/12/90") #else - RCSID("$NetBSD: rindex.S,v 1.1 1998/02/22 08:43:28 mycroft Exp $") + RCSID("$NetBSD: rindex.S,v 1.2 1999/11/11 01:32:13 thorpej Exp $") #endif #endif /* LIBC_SCCS and not lint */ @@ -52,15 +52,15 @@ ENTRY(strrchr) #else ENTRY(rindex) #endif - movl sp@(4),a0 | string - movb sp@(11),d0 | char to look for - subl a1,a1 | clear rindex pointer + movl %sp@(4),%a1 | string + movb %sp@(11),%d0 | char to look for + subl %a0,%a0 | clear rindex pointer rixloop: - cmpb a0@,d0 | found our char? + cmpb %a1@,%d0 | found our char? jne rixnope | no, check for null - movl a0,a1 | yes, remember location + movl %a1,%a0 | yes, remember location rixnope: - tstb a0@+ | null? + tstb %a1@+ | null? jne rixloop | no, keep going - movl a1,d0 | return value + movl %a0,%d0 | return value rts diff --git a/sys/lib/libkern/arch/m68k/strcat.S b/sys/lib/libkern/arch/m68k/strcat.S index 9e99b2ac926..92050728a5d 100644 --- a/sys/lib/libkern/arch/m68k/strcat.S +++ b/sys/lib/libkern/arch/m68k/strcat.S @@ -1,4 +1,4 @@ -/* $NetBSD: strcat.S,v 1.2 1997/05/13 19:32:05 jtc Exp $ */ +/* $NetBSD: strcat.S,v 1.3 1999/11/11 01:32:13 thorpej Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -43,19 +43,22 @@ #if 0 RCSID("from: @(#)strcpy.s 5.1 (Berkeley) 5/12/90") #else - RCSID("$NetBSD: strcat.S,v 1.2 1997/05/13 19:32:05 jtc Exp $") + RCSID("$NetBSD: strcat.S,v 1.3 1999/11/11 01:32:13 thorpej Exp $") #endif #endif /* LIBC_SCCS and not lint */ ENTRY(strcat) - movl sp@(8),a0 | a0 = fromaddr - movl sp@(4),d0 | return value is toaddr - movl d0,a1 | a1 = toaddr + movl %sp@(8),%a0 | a0 = fromaddr + movl %sp@(4),%d0 | return value is toaddr + movl %d0,%a1 | a1 = toaddr Lslloop: - tstb a1@+ | null? + tstb %a1@+ | null? jne Lslloop | no, keep going - subql #1,a1 + subql #1,%a1 Lscloop: - movb a0@+,a1@+ | copy a byte + movb %a0@+,%a1@+ | copy a byte jne Lscloop | copied non-null, keep going +#ifdef __SVR4_ABI__ + moveal %d0,%a0 +#endif rts diff --git a/sys/lib/libkern/arch/m68k/strchr.S b/sys/lib/libkern/arch/m68k/strchr.S index f0beb12ddba..9da35490493 100644 --- a/sys/lib/libkern/arch/m68k/strchr.S +++ b/sys/lib/libkern/arch/m68k/strchr.S @@ -1,4 +1,4 @@ -/* $NetBSD: strchr.S,v 1.1 1998/02/22 08:43:28 mycroft Exp $ */ +/* $NetBSD: strchr.S,v 1.2 1999/11/11 01:32:13 thorpej Exp $ */ #define STRCHR #include "index.S" diff --git a/sys/lib/libkern/arch/m68k/strcmp.S b/sys/lib/libkern/arch/m68k/strcmp.S index 0c7f0c4bb98..4d821e68074 100644 --- a/sys/lib/libkern/arch/m68k/strcmp.S +++ b/sys/lib/libkern/arch/m68k/strcmp.S @@ -1,11 +1,11 @@ -/* $NetBSD: strcmp.S,v 1.5 1997/06/20 02:08:04 jtc Exp $ */ +/* $NetBSD: strcmp.S,v 1.6 1999/11/11 01:32:13 thorpej Exp $ */ /*- * Copyright (c) 1997 The NetBSD Foundation, Inc. * All rights reserved. * * This code is derived from software contributed to The NetBSD Foundation - * by Hiroshi Horitomo <horimoto@cs-aoi.cs.sist.ac.jp> and + * by Hiroshi Horimoto <horimoto@cs-aoi.cs.sist.ac.jp> and * by J.T. Conklin <jtc@netbsd.org>. * * Redistribution and use in source and binary forms, with or without @@ -40,40 +40,40 @@ #include <machine/asm.h> #if defined(LIBC_SCCS) && !defined(lint) - RCSID("$NetBSD: strcmp.S,v 1.5 1997/06/20 02:08:04 jtc Exp $") + RCSID("$NetBSD: strcmp.S,v 1.6 1999/11/11 01:32:13 thorpej Exp $") #endif /* LIBC_SCCS and not lint */ ENTRY(strcmp) - movl sp@(4),a0 - movl sp@(8),a1 + movl %sp@(4),%a0 + movl %sp@(8),%a1 L1: /* unrolled by 4 for 680[23]0's */ - movb a0@+,d1 + movb %a0@+,%d1 jeq L2 - subb a1@+,d1 + subb %a1@+,%d1 jne L3 - movb a0@+,d1 + movb %a0@+,%d1 jeq L2 - subb a1@+,d1 + subb %a1@+,%d1 jne L3 - movb a0@+,d1 + movb %a0@+,%d1 jeq L2 - subb a1@+,d1 + subb %a1@+,%d1 jne L3 - movb a0@+,d1 + movb %a0@+,%d1 jeq L2 - subb a1@+,d1 + subb %a1@+,%d1 jeq L1 - scs d0 - extbl d0 - movb d1,d0 + scs %d0 + extbl %d0 + movb %d1,%d0 rts -L2: subb a1@,d1 -L3: scs d0 - extbl d0 - movb d1,d0 +L2: subb %a1@,%d1 +L3: scs %d0 + extbl %d0 + movb %d1,%d0 rts diff --git a/sys/lib/libkern/arch/m68k/strcpy.S b/sys/lib/libkern/arch/m68k/strcpy.S index b009f78e607..71dace98af0 100644 --- a/sys/lib/libkern/arch/m68k/strcpy.S +++ b/sys/lib/libkern/arch/m68k/strcpy.S @@ -1,4 +1,4 @@ -/* $NetBSD: strcpy.S,v 1.4 1997/05/13 19:32:07 jtc Exp $ */ +/* $NetBSD: strcpy.S,v 1.5 1999/11/11 01:32:13 thorpej Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -43,15 +43,18 @@ #if 0 RCSID("from: @(#)strcpy.s 5.1 (Berkeley) 5/12/90") #else - RCSID("$NetBSD: strcpy.S,v 1.4 1997/05/13 19:32:07 jtc Exp $") + RCSID("$NetBSD: strcpy.S,v 1.5 1999/11/11 01:32:13 thorpej Exp $") #endif #endif /* LIBC_SCCS and not lint */ ENTRY(strcpy) - movl sp@(8),a0 | a0 = fromaddr - movl sp@(4),d0 | return value is toaddr - movl d0,a1 | a1 = toaddr + movl %sp@(8),%a0 | a0 = fromaddr + movl %sp@(4),%d0 | return value is toaddr + movl %d0,%a1 | a1 = toaddr Lscloop: - movb a0@+,a1@+ | copy a byte + movb %a0@+,%a1@+ | copy a byte jne Lscloop | copied non-null, keep going +#ifdef __SVR4_ABI__ + moveal %d0,%a0 +#endif rts diff --git a/sys/lib/libkern/arch/m68k/strlen.S b/sys/lib/libkern/arch/m68k/strlen.S index 5c74495f757..55ac4abe3fd 100644 --- a/sys/lib/libkern/arch/m68k/strlen.S +++ b/sys/lib/libkern/arch/m68k/strlen.S @@ -1,4 +1,4 @@ -/* $NetBSD: strlen.S,v 1.4 1997/05/13 19:32:07 jtc Exp $ */ +/* $NetBSD: strlen.S,v 1.5 1999/11/11 01:32:13 thorpej Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -43,16 +43,16 @@ #if 0 RCSID("from: @(#)strlen.s 5.1 (Berkeley) 5/12/90") #else - RCSID("$NetBSD: strlen.S,v 1.4 1997/05/13 19:32:07 jtc Exp $") + RCSID("$NetBSD: strlen.S,v 1.5 1999/11/11 01:32:13 thorpej Exp $") #endif #endif /* LIBC_SCCS and not lint */ ENTRY(strlen) - movl sp@(4),a0 | string - movl a0,d0 - notl d0 + movl %sp@(4),%a0 | string + movl %a0,%d0 + notl %d0 Lslloop: - tstb a0@+ | null? + tstb %a0@+ | null? jne Lslloop | no, keep going - addl a0,d0 + addl %a0,%d0 rts diff --git a/sys/lib/libkern/arch/m68k/strncmp.S b/sys/lib/libkern/arch/m68k/strncmp.S index c2e843c5307..8ea6ff42d71 100644 --- a/sys/lib/libkern/arch/m68k/strncmp.S +++ b/sys/lib/libkern/arch/m68k/strncmp.S @@ -1,11 +1,11 @@ -/* $NetBSD: strncmp.S,v 1.5 1997/06/20 02:08:05 jtc Exp $ */ +/* $NetBSD: strncmp.S,v 1.6 1999/11/11 01:32:14 thorpej Exp $ */ /*- * Copyright (c) 1997 The NetBSD Foundation, Inc. * All rights reserved. * * This code is derived from software contributed to The NetBSD Foundation - * by Hiroshi Horitomo <horimoto@cs-aoi.cs.sist.ac.jp> and + * by Hiroshi Horimoto <horimoto@cs-aoi.cs.sist.ac.jp> and * by J.T. Conklin <jtc@netbsd.org>. * * Redistribution and use in source and binary forms, with or without @@ -40,46 +40,46 @@ #include <machine/asm.h> #if defined(LIBC_SCCS) && !defined(lint) - RCSID("$NetBSD: strncmp.S,v 1.5 1997/06/20 02:08:05 jtc Exp $") + RCSID("$NetBSD: strncmp.S,v 1.6 1999/11/11 01:32:14 thorpej Exp $") #endif /* LIBC_SCCS and not lint */ ENTRY(strncmp) - movl sp@(12),d0 + movl %sp@(12),%d0 jeq L4 - movl sp@(4),a0 - movl sp@(8),a1 + movl %sp@(4),%a0 + movl %sp@(8),%a1 L1: /* unroll by 4 for m680[23]0's */ - movb a0@+,d1 + movb %a0@+,%d1 jeq L2 - subb a1@+,d1 + subb %a1@+,%d1 jne L3 - subql #1,d0 + subql #1,%d0 jeq L4 - movb a0@+,d1 + movb %a0@+,%d1 jeq L2 - subb a1@+,d1 + subb %a1@+,%d1 jne L3 - subql #1,d0 + subql #1,%d0 jeq L4 - movb a0@+,d1 + movb %a0@+,%d1 jeq L2 - subb a1@+,d1 + subb %a1@+,%d1 jne L3 - subql #1,d0 + subql #1,%d0 jeq L4 - movb a0@+,d1 + movb %a0@+,%d1 jeq L2 - subb a1@+,d1 + subb %a1@+,%d1 jne L3 - subql #1,d0 + subql #1,%d0 jne L1 L4: rts -L2: subb a1@,d1 -L3: scs d0 - extbl d0 - movb d1,d0 +L2: subb %a1@,%d1 +L3: scs %d0 + extbl %d0 + movb %d1,%d0 rts diff --git a/sys/lib/libkern/arch/m68k/strncpy.S b/sys/lib/libkern/arch/m68k/strncpy.S index eb6d53701c6..2dbc9c56ec0 100644 --- a/sys/lib/libkern/arch/m68k/strncpy.S +++ b/sys/lib/libkern/arch/m68k/strncpy.S @@ -1,4 +1,4 @@ -/* $NetBSD: strncpy.S,v 1.4 1997/05/13 19:32:09 jtc Exp $ */ +/* $NetBSD: strncpy.S,v 1.5 1999/11/11 01:32:14 thorpej Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -43,25 +43,28 @@ #if 0 RCSID("from: @(#)strncpy.s 5.1 (Berkeley) 5/12/90") #else - RCSID("$NetBSD: strncpy.S,v 1.4 1997/05/13 19:32:09 jtc Exp $") + RCSID("$NetBSD: strncpy.S,v 1.5 1999/11/11 01:32:14 thorpej Exp $") #endif #endif /* LIBC_SCCS and not lint */ ENTRY(strncpy) - movl sp@(4),d0 | return value is toaddr - movl sp@(12),d1 | count + movl %sp@(4),%d0 | return value is toaddr + movl %sp@(12),%d1 | count jeq Lscdone | nothing to do - movl sp@(8),a0 | a0 = fromaddr - movl d0,a1 | a1 = toaddr + movl %sp@(8),%a0 | a0 = fromaddr + movl %d0,%a1 | a1 = toaddr Lscloop: - movb a0@+,a1@+ | copy a byte + movb %a0@+,%a1@+ | copy a byte jeq Lscploop | copied null, go pad if necessary - subql #1,d1 | adjust count + subql #1,%d1 | adjust count jne Lscloop | more room, keep going Lscdone: +#ifdef __SVR4_ABI__ + moveal %d0,%a0 +#endif rts Lscploop: - subql #1,d1 | adjust count + subql #1,%d1 | adjust count jeq Lscdone | no more room, all done - clrb a1@+ | clear a byte + clrb %a1@+ | clear a byte jra Lscploop | keep going diff --git a/sys/lib/libkern/arch/m68k/strrchr.S b/sys/lib/libkern/arch/m68k/strrchr.S index cf222130f8b..d0377c53ec9 100644 --- a/sys/lib/libkern/arch/m68k/strrchr.S +++ b/sys/lib/libkern/arch/m68k/strrchr.S @@ -1,4 +1,4 @@ -/* $NetBSD: strrchr.S,v 1.1 1998/02/22 08:43:28 mycroft Exp $ */ +/* $NetBSD: strrchr.S,v 1.2 1999/11/11 01:32:14 thorpej Exp $ */ #define STRRCHR #include "rindex.S" |
