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 <[email protected]>
@@ -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 <[email protected]>
@@ -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 <[email protected]>
@@ -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)