changed 5c calling convention to use stack exclusively for in
params. a number of fixes to assembly routines that assumed R0
had the first arg. one stack offset fix, arm pushes the link
register on stack top.
go/test: passes 65% (235/364) tests
R=rsc
APPROVED=rsc
DELTA=20 (11 added, 0 deleted, 9 changed)
OCL=34809
CL=34812
diff --git a/src/pkg/runtime/linux/arm/sys.s b/src/pkg/runtime/linux/arm/sys.s
index c61d08f..d7eb43e 100644
--- a/src/pkg/runtime/linux/arm/sys.s
+++ b/src/pkg/runtime/linux/arm/sys.s
@@ -12,8 +12,9 @@
#define SYS_mmap2 (SYS_BASE + 192)
TEXT write(SB),7,$0
- MOVW 8(SP), R1
- MOVW 12(SP), R2
+ MOVW 0(FP), R0
+ MOVW 4(FP), R1
+ MOVW 8(FP), R2
SWI $SYS_write
RET
@@ -22,6 +23,7 @@
SWI $SYS_exit
TEXT sys·mmap(SB),7,$0
+ MOVW 0(FP), R0
MOVW 4(FP), R1
MOVW 8(FP), R2
MOVW 12(FP), R3