summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLandon Fuller <landonf@bikemonkey.org>2011-02-12 10:39:18 -0500
committerLandon Fuller <landonf@bikemonkey.org>2011-02-12 10:39:18 -0500
commit7f2ea33a80bfced5e48ed7292f3b8f057d54ff8f (patch)
tree9d12d209ca4cc2d0e8ea92b17979d20d135a46c9
parent92ff23e77fa586455b427b71f49e1d9502470e6e (diff)
downloadlibffi-7f2ea33a80bfced5e48ed7292f3b8f057d54ff8f.tar.gz
Replace RETLDM macro.
The macro is incompatible with Apple's assembler; switch to a simple inline version.
-rw-r--r--src/arm/sysv.S24
1 files changed, 6 insertions, 18 deletions
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