diff options
author | Landon Fuller <landonf@bikemonkey.org> | 2011-02-12 10:39:18 -0500 |
---|---|---|
committer | Landon Fuller <landonf@bikemonkey.org> | 2011-02-12 10:39:18 -0500 |
commit | 7f2ea33a80bfced5e48ed7292f3b8f057d54ff8f (patch) | |
tree | 9d12d209ca4cc2d0e8ea92b17979d20d135a46c9 | |
parent | 92ff23e77fa586455b427b71f49e1d9502470e6e (diff) | |
download | libffi-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.S | 24 |
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 |