Permalink
Browse files

Re-integrate iOS assembler support.

  • Loading branch information...
1 parent e817cae commit ef9538976a4e18756370b030ee8fe088f7fd9870 @landonf committed Apr 12, 2011
Showing with 15 additions and 18 deletions.
  1. +15 −18 src/arm/sysv.S
View
@@ -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
@@ -335,7 +318,12 @@ ARM_FUNC_START ffi_closure_SYSV
/* Below are VFP hard-float ABI call and closure implementations.
Add VFP FPU directive here. */
+#ifndef __APPLE__
+ /* the .fpu pseudo-directive is not supported by Apple's assembler,
+ and VFP hard-float calling conventions are not supported by the
+ compiler. */
.fpu vfp
+#endif
@ r0: fn
@ r1: &ecif
@@ -424,11 +412,18 @@ 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
+#ifdef __ELF__
.size CNAME(ffi_call_VFP),.ffi_call_VFP_end-CNAME(ffi_call_VFP)
+#endif
ARM_FUNC_START ffi_closure_VFP
@@ -490,7 +485,9 @@ ARM_FUNC_START ffi_closure_VFP
.ffi_closure_VFP_end:
UNWIND .fnend
+#ifdef __ELF__
.size CNAME(ffi_closure_VFP),.ffi_closure_VFP_end-CNAME(ffi_closure_VFP)
+#endif
#if defined __ELF__ && defined __linux__
.section .note.GNU-stack,"",%progbits

0 comments on commit ef95389

Please sign in to comment.