Commit 7f2ea33a80bfced5e48ed7292f3b8f057d54ff8f

Landon Fuller 2011-02-12T10:39:18

Replace RETLDM macro. The macro is incompatible with Apple's assembler; switch to a simple inline version.

diff --git a/src/arm/sysv.S b/src/arm/sysv.S
index 14a7f03..95329d7 100644
--- a/src/arm/sysv.S
+++ b/src/arm/sysv.S
@@ -147,23 +147,6 @@ _L__\name:
 .endm
 #endif
 
-.macro	RETLDM	regs=, cond=, dirn=ia
-#if defined (__INTERWORKING__)
-	.ifc "\regs",""
-	ldr\cond	lr, [sp], #4
-	.else
-	ldm\cond\dirn	sp!, {\regs, lr}
-	.endif
-	bx\cond	lr
-#else
-	.ifc "\regs",""
-	ldr\cond	pc, [sp], #4
-	.else
-	ldm\cond\dirn	sp!, {\regs, pc}
-	.endif
-#endif
-.endm
-
 	@ r0:   ffi_prep_args
 	@ r1:   &ecif
 	@ r2:   cif->bytes
@@ -424,7 +407,12 @@ LSYM(Lbase_args):
 	fstmiadeq	r2, {d0-d3}
 
 LSYM(Lepilogue_vfp):
-	RETLDM	"r0-r3,fp"
+#if defined (__INTERWORKING__)
+  ldmia   sp!, {r0-r3,fp, lr}
+  bx  lr
+#else
+  ldmia   sp!, {r0-r3,fp, pc}
+#endif
 
 .ffi_call_VFP_end:
 	UNWIND .fnend