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