Module Name: src Committed By: matt Date: Sat Jan 15 07:31:13 UTC 2011
Modified Files: src/common/lib/libc/arch/powerpc/atomic: atomic_add.S atomic_and.S atomic_cas.S atomic_dec.S atomic_inc.S atomic_op_asm.h atomic_or.S atomic_swap.S membar_ops.S src/common/lib/libc/arch/powerpc/string: ffs.S memcmp.S memcpy.S memmove.S strlen.S src/lib/libc/arch/powerpc: Makefile.inc SYS.h genassym.cf src/lib/libc/arch/powerpc/gen: __setjmp14.S __sigsetjmp14.S _setjmp.S swapcontext.S src/lib/libc/arch/powerpc/string: bzero.S src/lib/libc/arch/powerpc/sys: __clone.S __sigtramp2.S __vfork14.S brk.S cerror.S fork.S getcontext.S pipe.S ptrace.S sbrk.S src/lib/libc/compat/arch/powerpc: Makefile.inc src/lib/libc/compat/arch/powerpc/gen: compat_setjmp.S compat_sigsetjmp.S src/lib/libc/compat/arch/powerpc/sys: compat_Ovfork.S compat___sigtramp1.S compat_sigpending13.S compat_sigprocmask13.S compat_sigsuspend13.S Log Message: Use END(foo) everywhere. Make __cerror hidden. Use non-PLT calls to __cerror. Use assym.h when appropriate. Use addi to adjust stack instead of loading it. Add __RCSIDs Force -D_NOREGNAMES for all .S files. [this is all in preperation for secure plt support] To generate a diff of this commit: cvs rdiff -u -r1.6 -r1.7 src/common/lib/libc/arch/powerpc/atomic/atomic_add.S \ src/common/lib/libc/arch/powerpc/atomic/atomic_cas.S cvs rdiff -u -r1.5 -r1.6 src/common/lib/libc/arch/powerpc/atomic/atomic_and.S \ src/common/lib/libc/arch/powerpc/atomic/atomic_dec.S \ src/common/lib/libc/arch/powerpc/atomic/atomic_inc.S \ src/common/lib/libc/arch/powerpc/atomic/atomic_or.S \ src/common/lib/libc/arch/powerpc/atomic/atomic_swap.S cvs rdiff -u -r1.4 -r1.5 \ src/common/lib/libc/arch/powerpc/atomic/atomic_op_asm.h cvs rdiff -u -r1.3 -r1.4 src/common/lib/libc/arch/powerpc/atomic/membar_ops.S cvs rdiff -u -r1.4 -r1.5 src/common/lib/libc/arch/powerpc/string/ffs.S cvs rdiff -u -r1.2 -r1.3 src/common/lib/libc/arch/powerpc/string/memcmp.S \ src/common/lib/libc/arch/powerpc/string/memcpy.S \ src/common/lib/libc/arch/powerpc/string/memmove.S cvs rdiff -u -r1.5 -r1.6 src/common/lib/libc/arch/powerpc/string/strlen.S cvs rdiff -u -r1.10 -r1.11 src/lib/libc/arch/powerpc/Makefile.inc cvs rdiff -u -r1.11 -r1.12 src/lib/libc/arch/powerpc/SYS.h cvs rdiff -u -r1.1 -r1.2 src/lib/libc/arch/powerpc/genassym.cf cvs rdiff -u -r1.4 -r1.5 src/lib/libc/arch/powerpc/gen/__setjmp14.S \ src/lib/libc/arch/powerpc/gen/__sigsetjmp14.S \ src/lib/libc/arch/powerpc/gen/swapcontext.S cvs rdiff -u -r1.2 -r1.3 src/lib/libc/arch/powerpc/gen/_setjmp.S cvs rdiff -u -r1.7 -r1.8 src/lib/libc/arch/powerpc/string/bzero.S cvs rdiff -u -r1.2 -r1.3 src/lib/libc/arch/powerpc/sys/__clone.S \ src/lib/libc/arch/powerpc/sys/__sigtramp2.S cvs rdiff -u -r1.3 -r1.4 src/lib/libc/arch/powerpc/sys/__vfork14.S cvs rdiff -u -r1.10 -r1.11 src/lib/libc/arch/powerpc/sys/brk.S cvs rdiff -u -r1.6 -r1.7 src/lib/libc/arch/powerpc/sys/cerror.S cvs rdiff -u -r1.5 -r1.6 src/lib/libc/arch/powerpc/sys/fork.S cvs rdiff -u -r1.4 -r1.5 src/lib/libc/arch/powerpc/sys/getcontext.S \ src/lib/libc/arch/powerpc/sys/ptrace.S cvs rdiff -u -r1.7 -r1.8 src/lib/libc/arch/powerpc/sys/pipe.S cvs rdiff -u -r1.9 -r1.10 src/lib/libc/arch/powerpc/sys/sbrk.S cvs rdiff -u -r1.2 -r1.3 src/lib/libc/compat/arch/powerpc/Makefile.inc cvs rdiff -u -r1.1 -r1.2 src/lib/libc/compat/arch/powerpc/gen/compat_setjmp.S \ src/lib/libc/compat/arch/powerpc/gen/compat_sigsetjmp.S cvs rdiff -u -r1.1 -r1.2 src/lib/libc/compat/arch/powerpc/sys/compat_Ovfork.S \ src/lib/libc/compat/arch/powerpc/sys/compat_sigpending13.S \ src/lib/libc/compat/arch/powerpc/sys/compat_sigprocmask13.S \ src/lib/libc/compat/arch/powerpc/sys/compat_sigsuspend13.S cvs rdiff -u -r1.2 -r1.3 \ src/lib/libc/compat/arch/powerpc/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/common/lib/libc/arch/powerpc/atomic/atomic_add.S diff -u src/common/lib/libc/arch/powerpc/atomic/atomic_add.S:1.6 src/common/lib/libc/arch/powerpc/atomic/atomic_add.S:1.7 --- src/common/lib/libc/arch/powerpc/atomic/atomic_add.S:1.6 Sun May 25 15:56:12 2008 +++ src/common/lib/libc/arch/powerpc/atomic/atomic_add.S Sat Jan 15 07:31:11 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: atomic_add.S,v 1.6 2008/05/25 15:56:12 chs Exp $ */ +/* $NetBSD: atomic_add.S,v 1.7 2011/01/15 07:31:11 matt Exp $ */ /*- * Copyright (c) 2007 The NetBSD Foundation, Inc. @@ -31,14 +31,16 @@ #include "atomic_op_asm.h" - .text +__RCSID("$NetBSD: atomic_add.S,v 1.7 2011/01/15 07:31:11 matt Exp $") + .text ENTRY(_atomic_add_32) 1: lwarx %r10,0,%r3 add %r10,%r10,%r4 stwcx. %r10,0,%r3 bne- 1b blr +END(_atomic_add_32) ATOMIC_OP_ALIAS(atomic_add_32,_atomic_add_32) ATOMIC_OP_ALIAS(atomic_add_int,_atomic_add_32) STRONG_ALIAS(_atomic_add_int,_atomic_add_32) @@ -56,6 +58,7 @@ bne- 1b mr %r3,%r10 blr +END(_atomic_add_32_nv) ATOMIC_OP_ALIAS(atomic_add_32_nv,_atomic_add_32_nv) ATOMIC_OP_ALIAS(atomic_add_int_nv,_atomic_add_32_nv) STRONG_ALIAS(_atomic_add_int_nv,_atomic_add_32_nv) Index: src/common/lib/libc/arch/powerpc/atomic/atomic_cas.S diff -u src/common/lib/libc/arch/powerpc/atomic/atomic_cas.S:1.6 src/common/lib/libc/arch/powerpc/atomic/atomic_cas.S:1.7 --- src/common/lib/libc/arch/powerpc/atomic/atomic_cas.S:1.6 Sun May 25 15:56:12 2008 +++ src/common/lib/libc/arch/powerpc/atomic/atomic_cas.S Sat Jan 15 07:31:11 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: atomic_cas.S,v 1.6 2008/05/25 15:56:12 chs Exp $ */ +/* $NetBSD: atomic_cas.S,v 1.7 2011/01/15 07:31:11 matt Exp $ */ /*- * Copyright (c) 2007, 2008 The NetBSD Foundation, Inc. @@ -31,8 +31,9 @@ #include "atomic_op_asm.h" - .text +__RCSID("$NetBSD: atomic_cas.S,v 1.7 2011/01/15 07:31:11 matt Exp $") + .text ENTRY(_atomic_cas_32) 1: lwarx %r10,0,%r3 cmpw %r10,%r4 @@ -41,6 +42,7 @@ bne- 1b 2: mr %r3,%r10 blr +END(_atomic_cas_32) ATOMIC_OP_ALIAS(atomic_cas_32,_atomic_cas_32) ATOMIC_OP_ALIAS(atomic_cas_uint,_atomic_cas_32) Index: src/common/lib/libc/arch/powerpc/atomic/atomic_and.S diff -u src/common/lib/libc/arch/powerpc/atomic/atomic_and.S:1.5 src/common/lib/libc/arch/powerpc/atomic/atomic_and.S:1.6 --- src/common/lib/libc/arch/powerpc/atomic/atomic_and.S:1.5 Sun May 25 15:56:12 2008 +++ src/common/lib/libc/arch/powerpc/atomic/atomic_and.S Sat Jan 15 07:31:11 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: atomic_and.S,v 1.5 2008/05/25 15:56:12 chs Exp $ */ +/* $NetBSD: atomic_and.S,v 1.6 2011/01/15 07:31:11 matt Exp $ */ /*- * Copyright (c) 2007 The NetBSD Foundation, Inc. @@ -31,14 +31,16 @@ #include "atomic_op_asm.h" - .text +__RCSID("$NetBSD: atomic_and.S,v 1.6 2011/01/15 07:31:11 matt Exp $") + .text ENTRY(_atomic_and_32) 1: lwarx %r10,0,%r3 and %r10,%r10,%r4 stwcx. %r10,0,%r3 bne- 1b blr +END(_atomic_and_32) ATOMIC_OP_ALIAS(atomic_and_32,_atomic_and_32) ATOMIC_OP_ALIAS(atomic_and_uint,_atomic_and_32) STRONG_ALIAS(_atomic_and_uint,_atomic_and_32) @@ -54,6 +56,7 @@ bne- 1b mr %r3,%r10 blr +END(_atomic_and_32_nv) ATOMIC_OP_ALIAS(atomic_and_32_nv,_atomic_and_32_nv) ATOMIC_OP_ALIAS(atomic_and_uint_nv,_atomic_and_32_nv) STRONG_ALIAS(_atomic_and_uint_nv,_atomic_and_32_nv) Index: src/common/lib/libc/arch/powerpc/atomic/atomic_dec.S diff -u src/common/lib/libc/arch/powerpc/atomic/atomic_dec.S:1.5 src/common/lib/libc/arch/powerpc/atomic/atomic_dec.S:1.6 --- src/common/lib/libc/arch/powerpc/atomic/atomic_dec.S:1.5 Sun May 25 15:56:12 2008 +++ src/common/lib/libc/arch/powerpc/atomic/atomic_dec.S Sat Jan 15 07:31:11 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: atomic_dec.S,v 1.5 2008/05/25 15:56:12 chs Exp $ */ +/* $NetBSD: atomic_dec.S,v 1.6 2011/01/15 07:31:11 matt Exp $ */ /*- * Copyright (c) 2007 The NetBSD Foundation, Inc. @@ -31,6 +31,7 @@ #include "atomic_op_asm.h" +__RCSID("$NetBSD: atomic_dec.S,v 1.6 2011/01/15 07:31:11 matt Exp $") .text ENTRY(_atomic_dec_32) @@ -39,6 +40,7 @@ stwcx. %r10,0,%r3 bne- 1b blr +END(_atomic_dec_32) ATOMIC_OP_ALIAS(atomic_dec_32,_atomic_dec_32) ATOMIC_OP_ALIAS(atomic_dec_uint,_atomic_dec_32) STRONG_ALIAS(_atomic_dec_uint,_atomic_dec_32) @@ -56,6 +58,7 @@ bne- 1b mr %r3,%r10 blr +END(_atomic_dec_32_nv) ATOMIC_OP_ALIAS(atomic_dec_32_nv,_atomic_dec_32_nv) ATOMIC_OP_ALIAS(atomic_dec_uint_nv,_atomic_dec_32_nv) STRONG_ALIAS(_atomic_dec_uint_nv,_atomic_dec_32_nv) Index: src/common/lib/libc/arch/powerpc/atomic/atomic_inc.S diff -u src/common/lib/libc/arch/powerpc/atomic/atomic_inc.S:1.5 src/common/lib/libc/arch/powerpc/atomic/atomic_inc.S:1.6 --- src/common/lib/libc/arch/powerpc/atomic/atomic_inc.S:1.5 Sun May 25 15:56:12 2008 +++ src/common/lib/libc/arch/powerpc/atomic/atomic_inc.S Sat Jan 15 07:31:11 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: atomic_inc.S,v 1.5 2008/05/25 15:56:12 chs Exp $ */ +/* $NetBSD: atomic_inc.S,v 1.6 2011/01/15 07:31:11 matt Exp $ */ /*- * Copyright (c) 2007 The NetBSD Foundation, Inc. @@ -31,14 +31,16 @@ #include "atomic_op_asm.h" - .text +__RCSID("$NetBSD: atomic_inc.S,v 1.6 2011/01/15 07:31:11 matt Exp $") + .text ENTRY(_atomic_inc_32) 1: lwarx %r10,0,%r3 addi %r10,%r10,1 stwcx. %r10,0,%r3 bne- 1b blr +END(_atomic_inc_32) ATOMIC_OP_ALIAS(atomic_inc_32,_atomic_inc_32) ATOMIC_OP_ALIAS(atomic_inc_uint,_atomic_inc_32) STRONG_ALIAS(_atomic_inc_uint,_atomic_inc_32) @@ -56,6 +58,7 @@ bne- 1b mr %r3,%r10 blr +END(_atomic_inc_32_nv) ATOMIC_OP_ALIAS(atomic_inc_32_nv,_atomic_inc_32_nv) ATOMIC_OP_ALIAS(atomic_inc_uint_nv,_atomic_inc_32_nv) STRONG_ALIAS(_atomic_inc_uint_nv,_atomic_inc_32_nv) Index: src/common/lib/libc/arch/powerpc/atomic/atomic_or.S diff -u src/common/lib/libc/arch/powerpc/atomic/atomic_or.S:1.5 src/common/lib/libc/arch/powerpc/atomic/atomic_or.S:1.6 --- src/common/lib/libc/arch/powerpc/atomic/atomic_or.S:1.5 Sun May 25 15:56:12 2008 +++ src/common/lib/libc/arch/powerpc/atomic/atomic_or.S Sat Jan 15 07:31:11 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: atomic_or.S,v 1.5 2008/05/25 15:56:12 chs Exp $ */ +/* $NetBSD: atomic_or.S,v 1.6 2011/01/15 07:31:11 matt Exp $ */ /*- * Copyright (c) 2007 The NetBSD Foundation, Inc. @@ -31,14 +31,16 @@ #include "atomic_op_asm.h" - .text +__RCSID("$NetBSD: atomic_or.S,v 1.6 2011/01/15 07:31:11 matt Exp $") + .text ENTRY(_atomic_or_32) 1: lwarx %r10,0,%r3 or %r10,%r10,%r4 stwcx. %r10,0,%r3 bne- 1b blr +END(_atomic_or_32) ATOMIC_OP_ALIAS(atomic_or_32,_atomic_or_32) ATOMIC_OP_ALIAS(atomic_or_uint,_atomic_or_32) STRONG_ALIAS(_atomic_or_uint,_atomic_or_32) @@ -54,6 +56,7 @@ bne- 1b mr %r3,%r10 blr +END(_atomic_or_32_nv) ATOMIC_OP_ALIAS(atomic_or_32_nv,_atomic_or_32_nv) ATOMIC_OP_ALIAS(atomic_or_uint_nv,_atomic_or_32_nv) STRONG_ALIAS(_atomic_or_uint_nv,_atomic_or_32_nv) Index: src/common/lib/libc/arch/powerpc/atomic/atomic_swap.S diff -u src/common/lib/libc/arch/powerpc/atomic/atomic_swap.S:1.5 src/common/lib/libc/arch/powerpc/atomic/atomic_swap.S:1.6 --- src/common/lib/libc/arch/powerpc/atomic/atomic_swap.S:1.5 Sun May 25 15:56:12 2008 +++ src/common/lib/libc/arch/powerpc/atomic/atomic_swap.S Sat Jan 15 07:31:11 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: atomic_swap.S,v 1.5 2008/05/25 15:56:12 chs Exp $ */ +/* $NetBSD: atomic_swap.S,v 1.6 2011/01/15 07:31:11 matt Exp $ */ /*- * Copyright (c) 2007 The NetBSD Foundation, Inc. @@ -31,14 +31,16 @@ #include "atomic_op_asm.h" - .text +__RCSID("$NetBSD: atomic_swap.S,v 1.6 2011/01/15 07:31:11 matt Exp $") + .text ENTRY(_atomic_swap_32) 1: lwarx %r10,0,%r3 stwcx. %r4,0,%r3 bne- 1b mr %r3,%r10 blr +END(_atomic_swap_32) ATOMIC_OP_ALIAS(atomic_swap_32,_atomic_swap_32) ATOMIC_OP_ALIAS(atomic_swap_uint,_atomic_swap_32) STRONG_ALIAS(_atomic_swap_uint,_atomic_swap_32) Index: src/common/lib/libc/arch/powerpc/atomic/atomic_op_asm.h diff -u src/common/lib/libc/arch/powerpc/atomic/atomic_op_asm.h:1.4 src/common/lib/libc/arch/powerpc/atomic/atomic_op_asm.h:1.5 --- src/common/lib/libc/arch/powerpc/atomic/atomic_op_asm.h:1.4 Mon Apr 28 20:22:52 2008 +++ src/common/lib/libc/arch/powerpc/atomic/atomic_op_asm.h Sat Jan 15 07:31:11 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: atomic_op_asm.h,v 1.4 2008/04/28 20:22:52 martin Exp $ */ +/* $NetBSD: atomic_op_asm.h,v 1.5 2011/01/15 07:31:11 matt Exp $ */ /*- * Copyright (c) 2007 The NetBSD Foundation, Inc. @@ -32,7 +32,6 @@ #ifndef _ATOMIC_OP_ASM_H_ #define _ATOMIC_OP_ASM_H_ -#define _NOREGNAMES #include <machine/asm.h> #if defined(_KERNEL) Index: src/common/lib/libc/arch/powerpc/atomic/membar_ops.S diff -u src/common/lib/libc/arch/powerpc/atomic/membar_ops.S:1.3 src/common/lib/libc/arch/powerpc/atomic/membar_ops.S:1.4 --- src/common/lib/libc/arch/powerpc/atomic/membar_ops.S:1.3 Sun May 25 15:56:12 2008 +++ src/common/lib/libc/arch/powerpc/atomic/membar_ops.S Sat Jan 15 07:31:11 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: membar_ops.S,v 1.3 2008/05/25 15:56:12 chs Exp $ */ +/* $NetBSD: membar_ops.S,v 1.4 2011/01/15 07:31:11 matt Exp $ */ /*- * Copyright (c) 2007 The NetBSD Foundation, Inc. @@ -31,17 +31,20 @@ #include "atomic_op_asm.h" - .text +__RCSID("$NetBSD: membar_ops.S,v 1.4 2011/01/15 07:31:11 matt Exp $") + .text /* These assume Total Store Order (TSO) */ ENTRY(_membar_consumer) isync blr +END(_membar_consumer) ENTRY(_membar_producer) sync blr +END(_membar_producer) ATOMIC_OP_ALIAS(membar_producer,_membar_producer) ATOMIC_OP_ALIAS(membar_consumer,_membar_consumer) Index: src/common/lib/libc/arch/powerpc/string/ffs.S diff -u src/common/lib/libc/arch/powerpc/string/ffs.S:1.4 src/common/lib/libc/arch/powerpc/string/ffs.S:1.5 --- src/common/lib/libc/arch/powerpc/string/ffs.S:1.4 Fri Jul 7 07:31:03 2006 +++ src/common/lib/libc/arch/powerpc/string/ffs.S Sat Jan 15 07:31:12 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: ffs.S,v 1.4 2006/07/07 07:31:03 ross Exp $ */ +/* $NetBSD: ffs.S,v 1.5 2011/01/15 07:31:12 matt Exp $ */ /*- * Copyright (C) 2001 Martin J. Laubach <m...@netbsd.org> @@ -28,11 +28,11 @@ */ /*----------------------------------------------------------------------*/ -#define _NOREGNAMES - #include <machine/asm.h> -.align 4 +__RCSID("$NetBSD: ffs.S,v 1.5 2011/01/15 07:31:12 matt Exp $") + + .align 4 ENTRY(ffs) neg %r4, %r3 and %r3, %r4, %r3 @@ -40,5 +40,6 @@ li %r0, 32 subf %r3, %r3, %r0 blr +END(ffs) /*----------------------------------------------------------------------*/ Index: src/common/lib/libc/arch/powerpc/string/memcmp.S diff -u src/common/lib/libc/arch/powerpc/string/memcmp.S:1.2 src/common/lib/libc/arch/powerpc/string/memcmp.S:1.3 --- src/common/lib/libc/arch/powerpc/string/memcmp.S:1.2 Thu Mar 6 21:17:17 2008 +++ src/common/lib/libc/arch/powerpc/string/memcmp.S Sat Jan 15 07:31:12 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: memcmp.S,v 1.2 2008/03/06 21:17:17 phx Exp $ */ +/* $NetBSD: memcmp.S,v 1.3 2011/01/15 07:31:12 matt Exp $ */ /* stropt/memcmp.S, pl_string_common, pl_linux 10/11/04 11:45:35 * ========================================================================== @@ -49,7 +49,6 @@ * ========================================================================== */ -#define _NOREGNAMES #include <machine/asm.h> .text @@ -268,3 +267,4 @@ addi %r3,0,1 /* Greater than result */ blr +END(memcmp) Index: src/common/lib/libc/arch/powerpc/string/memcpy.S diff -u src/common/lib/libc/arch/powerpc/string/memcpy.S:1.2 src/common/lib/libc/arch/powerpc/string/memcpy.S:1.3 --- src/common/lib/libc/arch/powerpc/string/memcpy.S:1.2 Thu Mar 6 21:17:17 2008 +++ src/common/lib/libc/arch/powerpc/string/memcpy.S Sat Jan 15 07:31:12 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: memcpy.S,v 1.2 2008/03/06 21:17:17 phx Exp $ */ +/* $NetBSD: memcpy.S,v 1.3 2011/01/15 07:31:12 matt Exp $ */ /* stropt/memcpy_440.S, pl_string_common, pl_linux 10/11/04 11:45:36 * ========================================================================== @@ -51,7 +51,6 @@ * ========================================================================== */ -#define _NOREGNAMES #include <machine/asm.h> .text @@ -115,4 +114,4 @@ bdnz+ last2 blr - +END(memcpy) Index: src/common/lib/libc/arch/powerpc/string/memmove.S diff -u src/common/lib/libc/arch/powerpc/string/memmove.S:1.2 src/common/lib/libc/arch/powerpc/string/memmove.S:1.3 --- src/common/lib/libc/arch/powerpc/string/memmove.S:1.2 Thu Mar 6 21:17:17 2008 +++ src/common/lib/libc/arch/powerpc/string/memmove.S Sat Jan 15 07:31:12 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: memmove.S,v 1.2 2008/03/06 21:17:17 phx Exp $ */ +/* $NetBSD: memmove.S,v 1.3 2011/01/15 07:31:12 matt Exp $ */ /* stropt/memmove.S, pl_string_common, pl_linux 10/11/04 11:45:37 * ========================================================================== @@ -49,7 +49,6 @@ * ========================================================================== */ -#define _NOREGNAMES #include <machine/asm.h> .text @@ -176,3 +175,8 @@ /* bytes left */ blr +#ifdef _BCOPY +END(bcopy) +#else +END(memmove) +#endif Index: src/common/lib/libc/arch/powerpc/string/strlen.S diff -u src/common/lib/libc/arch/powerpc/string/strlen.S:1.5 src/common/lib/libc/arch/powerpc/string/strlen.S:1.6 --- src/common/lib/libc/arch/powerpc/string/strlen.S:1.5 Tue Aug 15 02:23:54 2006 +++ src/common/lib/libc/arch/powerpc/string/strlen.S Sat Jan 15 07:31:12 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: strlen.S,v 1.5 2006/08/15 02:23:54 ross Exp $ */ +/* $NetBSD: strlen.S,v 1.6 2011/01/15 07:31:12 matt Exp $ */ /*- * Copyright (C) 2001 Martin J. Laubach <m...@netbsd.org> @@ -28,10 +28,10 @@ */ /*----------------------------------------------------------------------*/ -#define _NOREGNAMES - #include <machine/asm.h> +__RCSID("$NetBSD: strlen.S,v 1.6 2011/01/15 07:31:12 matt Exp $"); + /*----------------------------------------------------------------------*/ /* The algorithm here uses the following techniques: @@ -114,5 +114,5 @@ subf %r3, %r3, %r4 blr - +END(strlen) /*----------------------------------------------------------------------*/ Index: src/lib/libc/arch/powerpc/Makefile.inc diff -u src/lib/libc/arch/powerpc/Makefile.inc:1.10 src/lib/libc/arch/powerpc/Makefile.inc:1.11 --- src/lib/libc/arch/powerpc/Makefile.inc:1.10 Sat Jun 17 18:04:23 2006 +++ src/lib/libc/arch/powerpc/Makefile.inc Sat Jan 15 07:31:12 2011 @@ -1,6 +1,7 @@ -# $NetBSD: Makefile.inc,v 1.10 2006/06/17 18:04:23 uwe Exp $ +# $NetBSD: Makefile.inc,v 1.11 2011/01/15 07:31:12 matt Exp $ -SRCS+= __sigaction14_sigtramp.c __sigtramp2.S +SRCS+= __sigaction14_sigtramp.c __sigtramp2.S +CPPFLAGS+= -D_NOREGNAMES .if defined(MKSOFTFLOAT) && (${MKSOFTFLOAT} != "no") .include <softfloat/Makefile.inc> Index: src/lib/libc/arch/powerpc/SYS.h diff -u src/lib/libc/arch/powerpc/SYS.h:1.11 src/lib/libc/arch/powerpc/SYS.h:1.12 --- src/lib/libc/arch/powerpc/SYS.h:1.11 Tue Jul 30 06:07:56 2002 +++ src/lib/libc/arch/powerpc/SYS.h Sat Jan 15 07:31:12 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: SYS.h,v 1.11 2002/07/30 06:07:56 matt Exp $ */ +/* $NetBSD: SYS.h,v 1.12 2011/01/15 07:31:12 matt Exp $ */ #include <machine/asm.h> #include <sys/syscall.h> @@ -18,7 +18,7 @@ #define _SYSCALL(x,y) .text ;\ .align 2 ;\ - 2: b PIC_PLT(_C_LABEL(__cerror));\ + 2: b _C_LABEL(__cerror) ;\ _SYSCALL_NOERROR(x,y) ;\ bso 2b @@ -27,11 +27,13 @@ #define SYSCALL(x) _SYSCALL(x,x) #define PSEUDO_NOERROR(x,y) _SYSCALL_NOERROR(x,y) ;\ - blr + blr ;\ + END(x) #define PSEUDO(x,y) _SYSCALL_NOERROR(x,y) ;\ bnslr ;\ - b PIC_PLT(_C_LABEL(__cerror)) + b _C_LABEL(__cerror) ;\ + END(x) #define RSYSCALL_NOERROR(x) PSEUDO_NOERROR(x,x) Index: src/lib/libc/arch/powerpc/genassym.cf diff -u src/lib/libc/arch/powerpc/genassym.cf:1.1 src/lib/libc/arch/powerpc/genassym.cf:1.2 --- src/lib/libc/arch/powerpc/genassym.cf:1.1 Fri Jan 14 06:15:27 2011 +++ src/lib/libc/arch/powerpc/genassym.cf Sat Jan 15 07:31:12 2011 @@ -1,4 +1,4 @@ -# $NetBSD: genassym.cf,v 1.1 2011/01/14 06:15:27 matt Exp $ +# $NetBSD: genassym.cf,v 1.2 2011/01/15 07:31:12 matt Exp $ # # Copyright (c) 2001 The NetBSD Foundation, Inc. @@ -30,14 +30,19 @@ # include <sys/types.h> -include <machine/frame.h> +include <sys/signal.h> include <sys/ucontext.h> +include <machine/frame.h> + define CALLFRAMELEN sizeof(struct callframe) -define CALLFRAME_LR offsetof(struct callframe, cf_lr) -define CALLFRAME_R30 offsetof(struct callframe, cf_r30) -define CALLFRAME_R31 offsetof(struct callframe, cf_r31) +define CALLFRAME_LR offsetof(struct callframe, lr) +define CALLFRAME_R30 offsetof(struct callframe, r30) +define CALLFRAME_R31 offsetof(struct callframe, r31) define UC_GREGS_R1 offsetof(ucontext_t, uc_mcontext.__gregs[_REG_R1]) define UC_GREGS_R3 offsetof(ucontext_t, uc_mcontext.__gregs[_REG_R3]) define UC_GREGS_PC offsetof(ucontext_t, uc_mcontext.__gregs[_REG_PC]) + +define SIG_BLOCK SIG_BLOCK +define SIG_SETMASK SIG_SETMASK Index: src/lib/libc/arch/powerpc/gen/__setjmp14.S diff -u src/lib/libc/arch/powerpc/gen/__setjmp14.S:1.4 src/lib/libc/arch/powerpc/gen/__setjmp14.S:1.5 --- src/lib/libc/arch/powerpc/gen/__setjmp14.S:1.4 Sat Feb 18 00:45:22 2006 +++ src/lib/libc/arch/powerpc/gen/__setjmp14.S Sat Jan 15 07:31:12 2011 @@ -1,12 +1,10 @@ -/* $NetBSD: __setjmp14.S,v 1.4 2006/02/18 00:45:22 matt Exp $ */ +/* $NetBSD: __setjmp14.S,v 1.5 2011/01/15 07:31:12 matt Exp $ */ -#include <sys/syscall.h> - -#include <machine/asm.h> +#include "SYS.h" +#include "assym.h" #if defined(LIBC_SCCS) - .text - .asciz "$NetBSD: __setjmp14.S,v 1.4 2006/02/18 00:45:22 matt Exp $" +__RCSID("$NetBSD: __setjmp14.S,v 1.5 2011/01/15 07:31:12 matt Exp $") #endif /* @@ -21,11 +19,10 @@ ENTRY(__setjmp14) mr %r6,%r3 - li %r3,1 # SIG_BLOCK + li %r3,SIG_BLOCK li %r4,0 - addi %r5,%r6,100 # &sigmask - li %r0,SYS___sigprocmask14 - sc # assume no error XXX + addi %r5,%r6,4*(1+24) # &sigmask + _DOSYSCALL(__sigprocmask14) # assume no error XXX mflr %r11 mfcr %r12 mr %r10,%r1 @@ -33,6 +30,7 @@ stmw %r8,4(%r6) # save r8-r31 li %r3,0 blr +END(__setjmp14) ENTRY(__longjmp14) lmw %r8,4(%r3) # load r8-r31 @@ -41,12 +39,12 @@ mtcr %r12 mr %r2,%r9 mr %r1,%r10 - addi %r4,%r3,100 # &sigmask - li %r3,3 # SIG_SETMASK + addi %r4,%r3,4*(1+24) # &sigmask + li %r3,SIG_SETMASK li %r5,0 - li %r0,SYS___sigprocmask14 - sc # assume no error XXX + _DOSYSCALL(__sigprocmask14) # assume no error XXX or. %r3,%r6,%r6 bnelr li %r3,1 blr +END(__longjmp14) Index: src/lib/libc/arch/powerpc/gen/__sigsetjmp14.S diff -u src/lib/libc/arch/powerpc/gen/__sigsetjmp14.S:1.4 src/lib/libc/arch/powerpc/gen/__sigsetjmp14.S:1.5 --- src/lib/libc/arch/powerpc/gen/__sigsetjmp14.S:1.4 Sat Feb 18 00:45:22 2006 +++ src/lib/libc/arch/powerpc/gen/__sigsetjmp14.S Sat Jan 15 07:31:12 2011 @@ -1,23 +1,20 @@ -/* $NetBSD: __sigsetjmp14.S,v 1.4 2006/02/18 00:45:22 matt Exp $ */ +/* $NetBSD: __sigsetjmp14.S,v 1.5 2011/01/15 07:31:12 matt Exp $ */ -#include <sys/syscall.h> - -#include <machine/asm.h> +#include "SYS.h" +#include "assym.h" #if defined(LIBC_SCCS) - .text - .asciz "$NetBSD: __sigsetjmp14.S,v 1.4 2006/02/18 00:45:22 matt Exp $" +__RCSID("$NetBSD: __sigsetjmp14.S,v 1.5 2011/01/15 07:31:12 matt Exp $") #endif ENTRY(__sigsetjmp14) mr %r6,%r3 or. %r7,%r4,%r4 beq 1f - li %r3,1 # SIG_BLOCK + li %r3,SIG_BLOCK li %r4,0 - addi %r5,%r6,100 # &sigmask - li %r0,SYS___sigprocmask14 - sc # assume no error XXX + addi %r5,%r6,4*(1+24) # &sigmask + _DOSYSCALL(__sigprocmask14) # assume no error XXX 1: mflr %r11 mfcr %r12 @@ -26,6 +23,7 @@ stmw %r7,0(%r6) # save r7-r31 li %r3,0 blr +END(__sigsetjmp14) ENTRY(__siglongjmp14) lmw %r7,0(%r3) # load r7-r31 @@ -36,13 +34,13 @@ mr %r1,%r10 or. %r7,%r7,%r7 beq 1f - addi %r4,%r3,100 # &sigmask - li %r3,3 # SIG_SETMASK + addi %r4,%r3,4*(1+24) # &sigmask + li %r3,SIG_SETMASK li %r5,0 - li %r0,SYS___sigprocmask14 - sc # assume no error XXX + _DOSYSCALL(__sigprocmask14) # assume no error XXX 1: or. %r3,%r6,%r6 bnelr li %r3,1 blr +END(__siglongjmp14) Index: src/lib/libc/arch/powerpc/gen/swapcontext.S diff -u src/lib/libc/arch/powerpc/gen/swapcontext.S:1.4 src/lib/libc/arch/powerpc/gen/swapcontext.S:1.5 --- src/lib/libc/arch/powerpc/gen/swapcontext.S:1.4 Mon Apr 28 20:22:57 2008 +++ src/lib/libc/arch/powerpc/gen/swapcontext.S Sat Jan 15 07:31:12 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: swapcontext.S,v 1.4 2008/04/28 20:22:57 martin Exp $ */ +/* $NetBSD: swapcontext.S,v 1.5 2011/01/15 07:31:12 matt Exp $ */ /*- * Copyright (c) 2001 The NetBSD Foundation, Inc. @@ -30,30 +30,32 @@ */ #include "SYS.h" +#include "assym.h" -#if defined(LIBC_SCCS) && !defined(lint) - .text - .asciz "$NetBSD: swapcontext.S,v 1.4 2008/04/28 20:22:57 martin Exp $" -#endif /* LIBC_SCCS && !lint */ +__RCSID("$NetBSD: swapcontext.S,v 1.5 2011/01/15 07:31:12 matt Exp $") + +#define CALLFRAME_UCP (CALLFRAMELEN - 1*SZREG) +#define CALLFRAME_OUCP (CALLFRAMELEN - 2*SZREG) ENTRY(swapcontext) - stwu %r1,-16(%r1) # set up new stack frame + stwu %r1,-CALLFRAMELEN(%r1) # set up new stack frame mflr %r0 - stw %r0,20(%r1) # save link register - stw %r3,8(%r1) # must save oucp - stw %r4,12(%r1) # must save ucp + stw %r0,CALLFRAMELEN+CALLFRAME_LR(%r1) # save link register + stw %r3,CALLFRAME_OUCP(%r1) # must save oucp + stw %r4,CALLFRAME_UCP(%r1) # must save ucp bl PIC_PLT(_C_LABEL(_getcontext)) # getcontext(oucp) cmpwi %r3,0 bne 1f - lwz %r11,8(%r1) # load oucp for adjustment - lwz %r0,20(%r1) - stw %r0,(48 + 34 * 4)(%r11) # pc <- lr - la %r0,16(%r1) - stw %r0,(48 + 1 * 4)(%r11) # adjust sp - lwz %r3,12(%r1) # load ucp + lwz %r11,CALLFRAME_OUCP(%r1) # load oucp for adjustment + lwz %r0,CALLFRAMELEN+CALLFRAME_LR(%r1) + stw %r0,UC_GREGS_PC(%r11) # pc <- lr + addi %r0,%r1,CALLFRAMELEN + stw %r0,UC_GREGS_R1(%r11) # save adjusted sp + lwz %r3,CALLFRAME_UCP(%r1) # load ucp bl PIC_PLT(_C_LABEL(setcontext)) # setcontext(ucp) 1: - lwz %r0,20(%r1) + lwz %r0,CALLFRAMELEN+CALLFRAME_LR(%r1) mtlr %r0 - la %r1,16(%r1) + addi %r1,%r1,CALLFRAMELEN blr +END(swapcontext) Index: src/lib/libc/arch/powerpc/gen/_setjmp.S diff -u src/lib/libc/arch/powerpc/gen/_setjmp.S:1.2 src/lib/libc/arch/powerpc/gen/_setjmp.S:1.3 --- src/lib/libc/arch/powerpc/gen/_setjmp.S:1.2 Tue Jul 30 06:07:57 2002 +++ src/lib/libc/arch/powerpc/gen/_setjmp.S Sat Jan 15 07:31:12 2011 @@ -1,10 +1,9 @@ -/* $NetBSD: _setjmp.S,v 1.2 2002/07/30 06:07:57 matt Exp $ */ +/* $NetBSD: _setjmp.S,v 1.3 2011/01/15 07:31:12 matt Exp $ */ #include <machine/asm.h> #if defined(LIBC_SCCS) - .text - .asciz "$NetBSD: _setjmp.S,v 1.2 2002/07/30 06:07:57 matt Exp $" +__RCSID("$NetBSD: _setjmp.S,v 1.3 2011/01/15 07:31:12 matt Exp $") #endif /* @@ -25,6 +24,7 @@ stmw %r9,8(%r3) /* save r9..r31 */ li %r3,0 /* indicate success */ blr /* return */ +END(_setjmp) ENTRY(_longjmp) lmw %r9,8(%r3) /* save r9..r31 */ @@ -36,3 +36,4 @@ bnelr /* return if not 0 */ li %r3,1 /* what's the point? */ blr /* return */ +END(_longjmp) Index: src/lib/libc/arch/powerpc/string/bzero.S diff -u src/lib/libc/arch/powerpc/string/bzero.S:1.7 src/lib/libc/arch/powerpc/string/bzero.S:1.8 --- src/lib/libc/arch/powerpc/string/bzero.S:1.7 Sat Jul 26 19:24:37 2003 +++ src/lib/libc/arch/powerpc/string/bzero.S Sat Jan 15 07:31:12 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: bzero.S,v 1.7 2003/07/26 19:24:37 salo Exp $ */ +/* $NetBSD: bzero.S,v 1.8 2011/01/15 07:31:12 matt Exp $ */ /*- * Copyright (C) 2001 Martin J. Laubach <m...@netbsd.org> @@ -29,6 +29,12 @@ /*----------------------------------------------------------------------*/ #include <machine/asm.h> + + +#if defined(LIBC_SCCS) && !defined(lint) +__RCSID("$NetBSD: bzero.S,v 1.8 2011/01/15 07:31:12 matt Exp $") +#endif /* LIBC_SCCS && !lint */ + #ifdef _KERNEL #include <assym.h> #endif @@ -51,6 +57,7 @@ ENTRY(bzero) li r_val, 0 /* Value to stuff in */ b cb_memset +END(bzero) ENTRY(memset) cmplwi cr1, %r5, 0 @@ -363,6 +370,7 @@ #endif mr %r3, %r8 /* restore orig ptr */ blr /* for memset functionality */ +END(memset) /*----------------------------------------------------------------------*/ #ifndef _KERNEL Index: src/lib/libc/arch/powerpc/sys/__clone.S diff -u src/lib/libc/arch/powerpc/sys/__clone.S:1.2 src/lib/libc/arch/powerpc/sys/__clone.S:1.3 --- src/lib/libc/arch/powerpc/sys/__clone.S:1.2 Tue Jul 30 06:07:59 2002 +++ src/lib/libc/arch/powerpc/sys/__clone.S Sat Jan 15 07:31:12 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: __clone.S,v 1.2 2002/07/30 06:07:59 matt Exp $ */ +/* $NetBSD: __clone.S,v 1.3 2011/01/15 07:31:12 matt Exp $ */ /*- * Copyright (c) 2001 Tsubai Masanari. All rights reserved. @@ -29,6 +29,10 @@ #include <sys/errno.h> #include "SYS.h" +#if defined(LIBC_SCCS) && !defined(lint) +__RCSID("$NetBSD: __clone.S,v 1.3 2011/01/15 07:31:12 matt Exp $") +#endif /* LIBC_SCCS && !lint */ + #ifdef WEAK_ALIAS WEAK_ALIAS(clone, __clone) #endif @@ -47,8 +51,7 @@ mr %r7,%r3 /* Save fn in r7. */ mr %r3,%r5 - li %r0,SYS___clone /* (flags, stack) */ - sc + _DOSYSCALL(__clone) /* (flags, stack) */ bso 2f /* error... */ cmpwi %r3,0 @@ -63,4 +66,5 @@ 1: li %r3,EINVAL 2: - b PIC_PLT(_C_LABEL(__cerror)) + b _C_LABEL(__cerror) +END(__clone) Index: src/lib/libc/arch/powerpc/sys/__sigtramp2.S diff -u src/lib/libc/arch/powerpc/sys/__sigtramp2.S:1.2 src/lib/libc/arch/powerpc/sys/__sigtramp2.S:1.3 --- src/lib/libc/arch/powerpc/sys/__sigtramp2.S:1.2 Mon Apr 28 20:22:57 2008 +++ src/lib/libc/arch/powerpc/sys/__sigtramp2.S Sat Jan 15 07:31:12 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: __sigtramp2.S,v 1.2 2008/04/28 20:22:57 martin Exp $ */ +/* $NetBSD: __sigtramp2.S,v 1.3 2011/01/15 07:31:12 matt Exp $ */ /*- * Copyright (c) 2002 The NetBSD Foundation, Inc. @@ -29,9 +29,12 @@ * POSSIBILITY OF SUCH DAMAGE. */ -#define _NOREGNAMES #include "SYS.h" +#if defined(LIBC_SCCS) && !defined(lint) +__RCSID("$NetBSD: __sigtramp2.S,v 1.3 2011/01/15 07:31:12 matt Exp $") +#endif /* LIBC_SCCS && !lint */ + /* * On entry to user space, stack and registers look like: * @@ -47,3 +50,4 @@ mr %r3,%r30 /* restore ucontext pointer */ _DOSYSCALL(setcontext) /* restore machine state */ _DOSYSCALL(exit) /* or exit with errno if failed */ +END(__sigtramp_siginfo_2) Index: src/lib/libc/arch/powerpc/sys/__vfork14.S diff -u src/lib/libc/arch/powerpc/sys/__vfork14.S:1.3 src/lib/libc/arch/powerpc/sys/__vfork14.S:1.4 --- src/lib/libc/arch/powerpc/sys/__vfork14.S:1.3 Tue Jul 30 06:07:59 2002 +++ src/lib/libc/arch/powerpc/sys/__vfork14.S Sat Jan 15 07:31:12 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: __vfork14.S,v 1.3 2002/07/30 06:07:59 matt Exp $ */ +/* $NetBSD: __vfork14.S,v 1.4 2011/01/15 07:31:12 matt Exp $ */ /* * pid = vfork(); @@ -13,3 +13,4 @@ addi %r4,%r4,-1 # from 1 to 0 in child, 0 to -1 in parent and %r3,%r3,%r4 # return 0 in child, pid in parent blr +END(__vfork14) Index: src/lib/libc/arch/powerpc/sys/brk.S diff -u src/lib/libc/arch/powerpc/sys/brk.S:1.10 src/lib/libc/arch/powerpc/sys/brk.S:1.11 --- src/lib/libc/arch/powerpc/sys/brk.S:1.10 Tue Jul 30 06:07:59 2002 +++ src/lib/libc/arch/powerpc/sys/brk.S Sat Jan 15 07:31:12 2011 @@ -1,7 +1,11 @@ -/* $NetBSD: brk.S,v 1.10 2002/07/30 06:07:59 matt Exp $ */ +/* $NetBSD: brk.S,v 1.11 2011/01/15 07:31:12 matt Exp $ */ #include "SYS.h" +#if defined(LIBC_SCCS) && !defined(lint) +__RCSID("$NetBSD: brk.S,v 1.11 2011/01/15 07:31:12 matt Exp $") +#endif /* LIBC_SCCS && !lint */ + .globl _C_LABEL(__curbrk) .globl _C_LABEL(__minbrk) .globl _C_LABEL(_end) @@ -32,8 +36,7 @@ mr %r5,%r3 # r5 = r3 0: mr %r3,%r5 # new break value - li %r0,SYS_break - sc # assume, that r5 is kept + _DOSYSCALL(break) # assume, that r5 is kept bso 1f #ifdef PIC lwz %r6,_C_LABEL(__curbrk)@got(%r9) @@ -45,4 +48,5 @@ blr # return 0 1: - b PIC_PLT(_C_LABEL(__cerror)) + b _C_LABEL(__cerror) +END(_brk) Index: src/lib/libc/arch/powerpc/sys/cerror.S diff -u src/lib/libc/arch/powerpc/sys/cerror.S:1.6 src/lib/libc/arch/powerpc/sys/cerror.S:1.7 --- src/lib/libc/arch/powerpc/sys/cerror.S:1.6 Tue Jul 30 06:07:59 2002 +++ src/lib/libc/arch/powerpc/sys/cerror.S Sat Jan 15 07:31:13 2011 @@ -1,25 +1,32 @@ -/* $NetBSD: cerror.S,v 1.6 2002/07/30 06:07:59 matt Exp $ */ +/* $NetBSD: cerror.S,v 1.7 2011/01/15 07:31:13 matt Exp $ */ -#include <machine/asm.h> #include "SYS.h" +#include "assym.h" + +#if defined(LIBC_SCCS) && !defined(lint) +__RCSID("$NetBSD: cerror.S,v 1.7 2011/01/15 07:31:13 matt Exp $") +#endif /* LIBC_SCCS && !lint */ #ifndef _REENTRANT .globl _C_LABEL(errno) #endif +#ifdef PIC + .hidden _C_LABEL(__cerror) +#endif ENTRY(__cerror) #ifdef _REENTRANT mflr %r0 - stwu %r1,-16(%r1) # allocate new stack frame - stw %r0,20(%r1) - stw %r31,8(%r1) - mr %r31,%r3 # stash away in callee-saved register + stwu %r1,-CALLFRAMELEN(%r1) # allocate new stack frame + stw %r0,CALLFRAMELEN+CALLFRAME_LR(%r1) + stw %r31,CALLFRAME_R31(%r1) + mr %r31,%r3 # stash away in callee-saved register bl PIC_PLT(_C_LABEL(__errno)) stw %r31,0(%r3) - lwz %r0,20(%r1) - lwz %r31,8(%r1) + lwz %r0,CALLFRAMELEN+CALLFRAME_LR(%r1) + lwz %r31,CALLFRAME_R31(%r1) mtlr %r0 - la %r1,16(%r1) + addi %r1,%r1,CALLFRAMELEN #else #ifdef PIC mflr %r10 @@ -36,3 +43,4 @@ li %r3,-1 li %r4,-1 blr +END(__cerror) Index: src/lib/libc/arch/powerpc/sys/fork.S diff -u src/lib/libc/arch/powerpc/sys/fork.S:1.5 src/lib/libc/arch/powerpc/sys/fork.S:1.6 --- src/lib/libc/arch/powerpc/sys/fork.S:1.5 Thu Feb 13 02:50:50 2003 +++ src/lib/libc/arch/powerpc/sys/fork.S Sat Jan 15 07:31:13 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: fork.S,v 1.5 2003/02/13 02:50:50 nathanw Exp $ */ +/* $NetBSD: fork.S,v 1.6 2011/01/15 07:31:13 matt Exp $ */ /* * pid = fork(); @@ -13,3 +13,4 @@ addi %r4,%r4,-1 # from 1 to 0 in child, 0 to -1 in parent and %r3,%r3,%r4 # return 0 in child, pid in parent blr +END(__fork) Index: src/lib/libc/arch/powerpc/sys/getcontext.S diff -u src/lib/libc/arch/powerpc/sys/getcontext.S:1.4 src/lib/libc/arch/powerpc/sys/getcontext.S:1.5 --- src/lib/libc/arch/powerpc/sys/getcontext.S:1.4 Mon Apr 28 20:22:57 2008 +++ src/lib/libc/arch/powerpc/sys/getcontext.S Sat Jan 15 07:31:13 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: getcontext.S,v 1.4 2008/04/28 20:22:57 martin Exp $ */ +/* $NetBSD: getcontext.S,v 1.5 2011/01/15 07:31:13 matt Exp $ */ /*- * Copyright (c) 2001 The NetBSD Foundation, Inc. @@ -30,11 +30,11 @@ */ #include "SYS.h" +#include "assym.h" -#if defined(SYSLIBC_SCCS) && !defined(lint) - .text - .asciz "$NetBSD: getcontext.S,v 1.4 2008/04/28 20:22:57 martin Exp $" -#endif /* SYSLIBC_SCCS && !lint */ +#if defined(LIBC_SCCS) && !defined(lint) +__RCSID("$NetBSD: getcontext.S,v 1.5 2011/01/15 07:31:13 matt Exp $") +#endif /* LIBC_SCCS && !lint */ #ifdef WEAK_ALIAS WEAK_ALIAS(getcontext, _getcontext) @@ -42,12 +42,12 @@ ENTRY(_getcontext) mr %r5,%r3 # must save pointer - li %r0,SYS_getcontext - sc + _DOSYSCALL(getcontext) bso 1f mflr %r4 - stw %r4,(48 + 34 * 4)(%r5) # saved pc <- lr - stw %r3,(48 + 3 * 4)(%r5) # arrange for return value 0 + stw %r4,UC_GREGS_PC(%r5) # saved pc <- lr + stw %r3,UC_GREGS_R3(%r5) # arrange for return value 0 blr 1: - b PIC_PLT(_C_LABEL(__cerror)) + b _C_LABEL(__cerror) +END(_getcontext) Index: src/lib/libc/arch/powerpc/sys/ptrace.S diff -u src/lib/libc/arch/powerpc/sys/ptrace.S:1.4 src/lib/libc/arch/powerpc/sys/ptrace.S:1.5 --- src/lib/libc/arch/powerpc/sys/ptrace.S:1.4 Tue Jul 30 06:08:00 2002 +++ src/lib/libc/arch/powerpc/sys/ptrace.S Sat Jan 15 07:31:13 2011 @@ -1,28 +1,39 @@ -/* $NetBSD: ptrace.S,v 1.4 2002/07/30 06:08:00 matt Exp $ */ +/* $NetBSD: ptrace.S,v 1.5 2011/01/15 07:31:13 matt Exp $ */ #include "SYS.h" +#include "assym.h" + +#if defined(LIBC_SCCS) && !defined(lint) +__RCSID("$NetBSD: ptrace.S,v 1.5 2011/01/15 07:31:13 matt Exp $") +#endif /* LIBC_SCCS && !lint */ + +#define XCALLFRAMELEN ((((2+4)*SZREG) + CALLFRAMELEN - 1) & -CALLFRAMELEN) +#define XCALLFRAME_DATA (XCALLFRAMELEN - 1*SZREG) +#define XCALLFRAME_ADDR (XCALLFRAMELEN - 2*SZREG) +#define XCALLFRAME_PID (XCALLFRAMELEN - 3*SZREG) +#define XCALLFRAME_REQUEST (XCALLFRAMELEN - 4*SZREG) ENTRY(ptrace) #ifdef _REENTRANT mflr %r0 - stwu %r1,-32(%r1) - stw %r0,36(%r1) - stw %r3,8(%r1) - stw %r4,12(%r1) - stw %r5,16(%r1) - stw %r6,20(%r1) + stw %r0,CALLFRAME_LR(%r1) + stwu %r1,-XCALLFRAMELEN(%r1) + stw %r3,XCALLFRAME_REQUEST(%r1) + stw %r4,XCALLFRAME_PID(%r1) + stw %r5,XCALLFRAME_ADDR(%r1) + stw %r6,XCALLFRAME_DATA(%r1) bl PIC_PLT(_C_LABEL(__errno)) li %r7,0 stw %r7,0(%r3) - lwz %r3,8(%r1) - lwz %r4,12(%r1) - lwz %r5,16(%r1) - lwz %r0,36(%r1) - lwz %r6,20(%r1) + lwz %r6,XCALLFRAME_DATA(%r1) + lwz %r4,XCALLFRAME_PID(%r1) + lwz %r5,XCALLFRAME_ADDR(%r1) + lwz %r3,XCALLFRAME_REQUEST(%r1) + addi %r1,%r1,XCALLFRAMELEN + lwz %r0,CALLFRAME_LR(%r1) mtlr %r0 - la %r1,32(%r1) #else #ifdef PIC mflr %r0 @@ -38,9 +49,9 @@ stw %r8,_C_LABEL(errno)@l(%r7) #endif /* PIC */ #endif /* _REENTRANT */ - li %r0,SYS_ptrace - sc + _DOSYSCALL(ptrace) bso 1f blr 1: - b PIC_PLT(_C_LABEL(__cerror)) + b _C_LABEL(__cerror) +END(ptrace) Index: src/lib/libc/arch/powerpc/sys/pipe.S diff -u src/lib/libc/arch/powerpc/sys/pipe.S:1.7 src/lib/libc/arch/powerpc/sys/pipe.S:1.8 --- src/lib/libc/arch/powerpc/sys/pipe.S:1.7 Tue Jul 30 06:08:00 2002 +++ src/lib/libc/arch/powerpc/sys/pipe.S Sat Jan 15 07:31:13 2011 @@ -1,19 +1,23 @@ -/* $NetBSD: pipe.S,v 1.7 2002/07/30 06:08:00 matt Exp $ */ +/* $NetBSD: pipe.S,v 1.8 2011/01/15 07:31:13 matt Exp $ */ #include "SYS.h" +#if defined(LIBC_SCCS) && !defined(lint) +__RCSID("$NetBSD: pipe.S,v 1.8 2011/01/15 07:31:13 matt Exp $") +#endif /* LIBC_SCCS && !lint */ + #ifdef WEAK_ALIAS WEAK_ALIAS(pipe, _pipe) #endif ENTRY(_pipe) mr %r5,%r3 # save pointer - li %r0,SYS_pipe - sc # assume, that r5 is kept + _DOSYSCALL(pipe) # assume, that r5 is kept bso 1f stw %r3,0(%r5) # success, store fds stw %r4,4(%r5) li %r3,0 blr # and return 0 1: - b PIC_PLT(_C_LABEL(__cerror)) + b _C_LABEL(__cerror) +END(_pipe) Index: src/lib/libc/arch/powerpc/sys/sbrk.S diff -u src/lib/libc/arch/powerpc/sys/sbrk.S:1.9 src/lib/libc/arch/powerpc/sys/sbrk.S:1.10 --- src/lib/libc/arch/powerpc/sys/sbrk.S:1.9 Tue Jul 30 06:08:00 2002 +++ src/lib/libc/arch/powerpc/sys/sbrk.S Sat Jan 15 07:31:13 2011 @@ -1,7 +1,11 @@ -/* $NetBSD: sbrk.S,v 1.9 2002/07/30 06:08:00 matt Exp $ */ +/* $NetBSD: sbrk.S,v 1.10 2011/01/15 07:31:13 matt Exp $ */ #include "SYS.h" +#if defined(LIBC_SCCS) && !defined(lint) +__RCSID("$NetBSD: sbrk.S,v 1.10 2011/01/15 07:31:13 matt Exp $") +#endif /* LIBC_SCCS && !lint */ + .globl _C_LABEL(__curbrk) .globl _C_LABEL(_end) @@ -24,19 +28,15 @@ lwz %r6,0(%r5) #else lis %r5,_C_LABEL(__curbrk)@ha - lwz %r6,_C_LABEL(__curbrk)@l(%r5) # r6 = old break + lwzu %r6,_C_LABEL(__curbrk)@l(%r5) # r6 = old break, r5 = &curbrk #endif add %r3,%r3,%r6 mr %r7,%r3 # r7 = new break - li %r0,SYS_break - sc # break(new_break) + _DOSYSCALL(break) # break(new_break) bso 1f mr %r3,%r6 # set return value -#ifdef PIC - stw %r7,0(%r5) -#else - stw %r7,_C_LABEL(__curbrk)@l(%r5) # record new break -#endif + stw %r7,0(%r5) # record new break blr 1: - b PIC_PLT(_C_LABEL(__cerror)) + b _C_LABEL(__cerror) +END(_sbrk) Index: src/lib/libc/compat/arch/powerpc/Makefile.inc diff -u src/lib/libc/compat/arch/powerpc/Makefile.inc:1.2 src/lib/libc/compat/arch/powerpc/Makefile.inc:1.3 --- src/lib/libc/compat/arch/powerpc/Makefile.inc:1.2 Sat Mar 11 23:04:04 2006 +++ src/lib/libc/compat/arch/powerpc/Makefile.inc Sat Jan 15 07:31:13 2011 @@ -1,4 +1,6 @@ -# $NetBSD: Makefile.inc,v 1.2 2006/03/11 23:04:04 christos Exp $ +# $NetBSD: Makefile.inc,v 1.3 2011/01/15 07:31:13 matt Exp $ .include "${COMPATARCHDIR}/gen/Makefile.inc" .include "${COMPATARCHDIR}/sys/Makefile.inc" + +CPPFLAGS+= -I. Index: src/lib/libc/compat/arch/powerpc/gen/compat_setjmp.S diff -u src/lib/libc/compat/arch/powerpc/gen/compat_setjmp.S:1.1 src/lib/libc/compat/arch/powerpc/gen/compat_setjmp.S:1.2 --- src/lib/libc/compat/arch/powerpc/gen/compat_setjmp.S:1.1 Sat Feb 18 00:45:22 2006 +++ src/lib/libc/compat/arch/powerpc/gen/compat_setjmp.S Sat Jan 15 07:31:13 2011 @@ -1,12 +1,10 @@ -/* $NetBSD: compat_setjmp.S,v 1.1 2006/02/18 00:45:22 matt Exp $ */ +/* $NetBSD: compat_setjmp.S,v 1.2 2011/01/15 07:31:13 matt Exp $ */ -#include <sys/syscall.h> - -#include <machine/asm.h> +#include "SYS.h" +#include "assym.h" #if defined(LIBC_SCCS) - .text - .asciz "$NetBSD: compat_setjmp.S,v 1.1 2006/02/18 00:45:22 matt Exp $" +__RCSID("$NetBSD: compat_setjmp.S,v 1.2 2011/01/15 07:31:13 matt Exp $") #endif /* @@ -21,10 +19,9 @@ ENTRY(setjmp) mr %r6,%r3 - li %r3,1 # SIG_BLOCK + li %r3,SIG_BLOCK li %r4,0 - li %r0,SYS_compat_13_sigprocmask13 - sc # assume no error XXX + _DOSYSCALL(compat_13_sigprocmask13) # assume no error XXX mflr %r11 mfcr %r12 mr %r10,%r1 @@ -33,6 +30,7 @@ stmw %r8,4(%r6) li %r3,0 blr +END(setjmp) ENTRY(longjmp) lmw %r8,4(%r3) @@ -42,10 +40,10 @@ mr %r2,%r9 mr %r1,%r10 mr %r4,%r8 - li %r3,3 # SIG_SETMASK - li %r0,SYS_compat_13_sigprocmask13 - sc # assume no error XXX + li %r3,SIG_SETMASK + _DOSYSCALL(compat_13_sigprocmask13) # assume no error XXX or. %r3,%r6,%r6 bnelr li %r3,1 blr +END(longjmp) Index: src/lib/libc/compat/arch/powerpc/gen/compat_sigsetjmp.S diff -u src/lib/libc/compat/arch/powerpc/gen/compat_sigsetjmp.S:1.1 src/lib/libc/compat/arch/powerpc/gen/compat_sigsetjmp.S:1.2 --- src/lib/libc/compat/arch/powerpc/gen/compat_sigsetjmp.S:1.1 Sat Feb 18 00:45:22 2006 +++ src/lib/libc/compat/arch/powerpc/gen/compat_sigsetjmp.S Sat Jan 15 07:31:13 2011 @@ -1,22 +1,19 @@ -/* $NetBSD: compat_sigsetjmp.S,v 1.1 2006/02/18 00:45:22 matt Exp $ */ +/* $NetBSD: compat_sigsetjmp.S,v 1.2 2011/01/15 07:31:13 matt Exp $ */ -#include <sys/syscall.h> - -#include <machine/asm.h> +#include "SYS.h" +#include "assym.h" #if defined(LIBC_SCCS) - .text - .asciz "$NetBSD: compat_sigsetjmp.S,v 1.1 2006/02/18 00:45:22 matt Exp $" +__RCSID("$NetBSD: compat_sigsetjmp.S,v 1.2 2011/01/15 07:31:13 matt Exp $") #endif ENTRY(sigsetjmp) mr %r6,%r3 or. %r7,%r4,%r4 beq 1f - li %r3,1 # SIG_BLOCK + li %r3,SIG_BLOCK li %r4,0 - li %r0,SYS_compat_13_sigprocmask13 - sc # assume no error XXX + _DOSYSCALL(compat_13_sigprocmask13) # assume no error XXX 1: mflr %r11 mfcr %r12 @@ -26,6 +23,7 @@ stmw %r7,0(%r6) li %r3,0 blr +END(sigsetjmp) ENTRY(siglongjmp) lmw %r7,0(%r3) @@ -37,11 +35,11 @@ or. %r7,%r7,%r7 beq 1f mr %r4,%r8 - li %r3,3 # SIG_SETMASK - li %r0,SYS_compat_13_sigprocmask13 - sc # assume no error XXX + li %r3,SIG_SETMASK + _DOSYSCALL(compat_13_sigprocmask13) # assume no error XXX 1: or. %r3,%r6,%r6 bnelr li %r3,1 blr +END(siglongjmp) Index: src/lib/libc/compat/arch/powerpc/sys/compat_Ovfork.S diff -u src/lib/libc/compat/arch/powerpc/sys/compat_Ovfork.S:1.1 src/lib/libc/compat/arch/powerpc/sys/compat_Ovfork.S:1.2 --- src/lib/libc/compat/arch/powerpc/sys/compat_Ovfork.S:1.1 Sat Feb 18 00:21:28 2006 +++ src/lib/libc/compat/arch/powerpc/sys/compat_Ovfork.S Sat Jan 15 07:31:13 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: compat_Ovfork.S,v 1.1 2006/02/18 00:21:28 matt Exp $ */ +/* $NetBSD: compat_Ovfork.S,v 1.2 2011/01/15 07:31:13 matt Exp $ */ /* * pid = vfork(); @@ -9,6 +9,10 @@ #include "SYS.h" +#if defined(LIBC_SCCS) +__RCSID("$NetBSD: compat_Ovfork.S,v 1.2 2011/01/15 07:31:13 matt Exp $") +#endif + WARN_REFERENCES(vfork, \ "warning: reference to compatibility vfork(); include <unistd.h> for correct reference") @@ -16,3 +20,4 @@ addi %r4,%r4,-1 # from 1 to 0 in child, 0 to -1 in parent and %r3,%r3,%r4 # return 0 in child, pid in parent blr +END(vfork) Index: src/lib/libc/compat/arch/powerpc/sys/compat_sigpending13.S diff -u src/lib/libc/compat/arch/powerpc/sys/compat_sigpending13.S:1.1 src/lib/libc/compat/arch/powerpc/sys/compat_sigpending13.S:1.2 --- src/lib/libc/compat/arch/powerpc/sys/compat_sigpending13.S:1.1 Sat Feb 18 00:21:28 2006 +++ src/lib/libc/compat/arch/powerpc/sys/compat_sigpending13.S Sat Jan 15 07:31:13 2011 @@ -1,17 +1,21 @@ -/* $NetBSD: compat_sigpending13.S,v 1.1 2006/02/18 00:21:28 matt Exp $ */ +/* $NetBSD: compat_sigpending13.S,v 1.2 2011/01/15 07:31:13 matt Exp $ */ #include "SYS.h" +#if defined(LIBC_SCCS) +__RCSID("$NetBSD: compat_sigpending13.S,v 1.2 2011/01/15 07:31:13 matt Exp $") +#endif + WARN_REFERENCES(sigpending, \ "warning: reference to compatibility sigpending(); include <signal.h> for correct reference") ENTRY(sigpending) mr %r5,%r3 # save pointer - li %r0,SYS_compat_13_sigpending13 - sc # sigpending() + _DOSYSCALL(compat_13_sigpending13) # sigpending() bso 1f stw %r3,0(%r5) # store return value li %r3,0 # and return 0 blr 1: - b PIC_PLT(_C_LABEL(__cerror)) + b _C_LABEL(__cerror) +END(sigpending) Index: src/lib/libc/compat/arch/powerpc/sys/compat_sigprocmask13.S diff -u src/lib/libc/compat/arch/powerpc/sys/compat_sigprocmask13.S:1.1 src/lib/libc/compat/arch/powerpc/sys/compat_sigprocmask13.S:1.2 --- src/lib/libc/compat/arch/powerpc/sys/compat_sigprocmask13.S:1.1 Sat Feb 18 00:21:28 2006 +++ src/lib/libc/compat/arch/powerpc/sys/compat_sigprocmask13.S Sat Jan 15 07:31:13 2011 @@ -1,6 +1,11 @@ -/* $NetBSD: compat_sigprocmask13.S,v 1.1 2006/02/18 00:21:28 matt Exp $ */ +/* $NetBSD: compat_sigprocmask13.S,v 1.2 2011/01/15 07:31:13 matt Exp $ */ #include "SYS.h" +#include "assym.h" + +#if defined(LIBC_SCCS) +__RCSID("$NetBSD: compat_sigprocmask13.S,v 1.2 2011/01/15 07:31:13 matt Exp $") +#endif WARN_REFERENCES(sigprocmask, \ "warning: reference to compatibility sigprocmask(); include <signal.h> for correct reference") @@ -10,14 +15,13 @@ */ ENTRY(sigprocmask) or. %r4,%r4,%r4 # set == NULL? - li %r6,1 # how = SIG_BLOCK + li %r6,SIG_BLOCK beq 1f lwz %r4,0(%r4) # if not, replace it in r4 with *set mr %r6,%r3 1: mr %r3,%r6 # ... using sigprocmask(SIG_BLOCK) - li %r0,SYS_compat_13_sigprocmask13 - sc + _DOSYSCALL(compat_13_sigprocmask13) bso 3f or. %r5,%r5,%r5 # check to see of oset requested beq 2f # if oset != NULL, @@ -26,4 +30,5 @@ li %r3,0 blr # in any case, return 0 3: - b PIC_PLT(_C_LABEL(__cerror)) + b _C_LABEL(__cerror) +END(sigprocmask) Index: src/lib/libc/compat/arch/powerpc/sys/compat_sigsuspend13.S diff -u src/lib/libc/compat/arch/powerpc/sys/compat_sigsuspend13.S:1.1 src/lib/libc/compat/arch/powerpc/sys/compat_sigsuspend13.S:1.2 --- src/lib/libc/compat/arch/powerpc/sys/compat_sigsuspend13.S:1.1 Sat Feb 18 00:21:28 2006 +++ src/lib/libc/compat/arch/powerpc/sys/compat_sigsuspend13.S Sat Jan 15 07:31:13 2011 @@ -1,12 +1,16 @@ -/* $NetBSD: compat_sigsuspend13.S,v 1.1 2006/02/18 00:21:28 matt Exp $ */ +/* $NetBSD: compat_sigsuspend13.S,v 1.2 2011/01/15 07:31:13 matt Exp $ */ #include "SYS.h" +#if defined(LIBC_SCCS) +__RCSID("$NetBSD: compat_sigsuspend13.S,v 1.2 2011/01/15 07:31:13 matt Exp $") +#endif + WARN_REFERENCES(sigsuspend, \ "warning: reference to compatibility sigsuspend(); include <signal.h> for correct reference") ENTRY(sigsuspend) lwz %r3,0(%r3) # indirect to mask arg - li %r0,SYS_compat_13_sigsuspend13 - sc - b PIC_PLT(_C_LABEL(__cerror)) # always terminates with EINTR + _DOSYSCALL(compat_13_sigsuspend13) + b _C_LABEL(__cerror) # always terminates with EINTR +END(sigsuspend) Index: src/lib/libc/compat/arch/powerpc/sys/compat___sigtramp1.S diff -u src/lib/libc/compat/arch/powerpc/sys/compat___sigtramp1.S:1.2 src/lib/libc/compat/arch/powerpc/sys/compat___sigtramp1.S:1.3 --- src/lib/libc/compat/arch/powerpc/sys/compat___sigtramp1.S:1.2 Mon Apr 28 20:22:58 2008 +++ src/lib/libc/compat/arch/powerpc/sys/compat___sigtramp1.S Sat Jan 15 07:31:13 2011 @@ -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 2011/01/15 07:31:13 matt Exp $ */ /*- * Copyright (c) 2002 The NetBSD Foundation, Inc. @@ -30,6 +30,11 @@ */ #include "SYS.h" +#include "assym.h" + +#if defined(LIBC_SCCS) +__RCSID("$NetBSD: compat___sigtramp1.S,v 1.3 2011/01/15 07:31:13 matt Exp $") +#endif /* * On entry, stack and registers look like: @@ -42,8 +47,9 @@ * sp-> sigcontext structure */ ENTRY_NOPROFILE(__sigtramp_sigcontext_1) - addi %r1,%r1,-16 /* space for callee */ + addi %r1,%r1,-CALLFRAMELEN /* space for callee */ blrl /* call handler */ - addi %r3,%r1,16 /* compute address of sigcontext */ + addi %r3,%r1,CALLFRAMELEN /* compute address of sigcontext */ _DOSYSCALL(compat_16___sigreturn14) /* and call sigreturn */ _DOSYSCALL(exit) /* or exit with errno if failed */ +END(__sigtramp_sigcontext_1)