Index: src/forwarding/apple-forwarding-arm.S ================================================================== --- src/forwarding/apple-forwarding-arm.S +++ src/forwarding/apple-forwarding-arm.S @@ -34,11 +34,11 @@ .section __TEXT, __text, regular, pure_instructions .arm .align 2 _of_forward: stmfd sp!, {r0-r4, lr} - fstmfdd sp!, {d0-d7} + vstmdb sp!, {d0-d7} ldr r4, sel_forwardingTargetForSelector_$indirect_L0 L0: ldr r4, [pc, r4] @@ -59,18 +59,18 @@ beq 0f ldr r1, [sp, #64] cmp r0, r1 beq 0f - fldmfdd sp!, {d0-d7} + vldmia sp!, {d0-d7} add sp, sp, #4 @ throw away r0 ldmfd sp!, {r1-r4, lr} b _objc_msgSend 0: - fldmfdd sp!, {d0-d7} + vldmia sp!, {d0-d7} ldmfd sp!, {r0-r4, lr} b _of_method_not_found .data_region sel_forwardingTargetForSelector_$indirect_L0: @@ -78,11 +78,11 @@ .end_data_region .align 2 _of_forward_stret: stmfd sp!, {r0-r4, lr} - fstmfdd sp!, {d0-d7} + vstmdb sp!, {d0-d7} ldr r4, sel_forwardingTargetForSelector_$indirect_L1 L1: ldr r4, [pc, r4] @@ -106,21 +106,21 @@ cmp r0, r1 beq 0f mov r1, r0 - fldmfdd sp!, {d0-d7} + vldmia sp!, {d0-d7} ldmfd sp!, {r0} add sp, sp, #4 @ throw away r1 ldmfd sp!, {r2-r4, lr} b _objc_msgSend_stret 0: - fldmfdd sp!, {d0-d7} + vldmia sp!, {d0-d7} ldmfd sp!, {r0-r4, lr} b _of_method_not_found_stret .data_region sel_forwardingTargetForSelector_$indirect_L1: .long sel_forwardingTargetForSelector_-(L1+8) .end_data_region Index: src/forwarding/forwarding-arm-elf.S ================================================================== --- src/forwarding/forwarding-arm-elf.S +++ src/forwarding/forwarding-arm-elf.S @@ -27,11 +27,11 @@ .globl of_forward_stret .section .text of_forward: #ifdef HAVE_VFP2 - fstmfdd sp!, {d0-d7} + vstmdb sp!, {d0-d7} #endif stmfd sp!, {r0-r4, lr} ldr r4, sel_forwardingTargetForSelector_$indirect_.L0 .L0: @@ -66,27 +66,27 @@ bl objc_msg_lookup(PLT) mov r12, r0 ldmfd sp!, {r0-r4, lr} #ifdef HAVE_VFP2 - fldmfdd sp!, {d0-d7} + vldmia sp!, {d0-d7} #endif bx r12 0: ldmfd sp!, {r0-r4, lr} #ifdef HAVE_VFP2 - fldmfdd sp!, {d0-d7} + vldmia sp!, {d0-d7} #endif b of_method_not_found(PLT) .type of_forward, %function .size of_forward, .-of_forward of_forward_stret: #ifdef HAVE_VFP2 - fstmfdd sp!, {d0-d7} + vstmdb sp!, {d0-d7} #endif stmfd sp!, {r0-r4, lr} ldr r4, sel_forwardingTargetForSelector_$indirect_.L1 .L1: @@ -122,19 +122,19 @@ bl objc_msg_lookup_stret(PLT) mov r12, r0 ldmfd sp!, {r0-r4, lr} #ifdef HAVE_VFP2 - fldmfdd sp!, {d0-d7} + vldmia sp!, {d0-d7} #endif bx r12 0: ldmfd sp!, {r0-r4, lr} #ifdef HAVE_VFP2 - fldmfdd sp!, {d0-d7} + vldmia sp!, {d0-d7} #endif b of_method_not_found_stret(PLT) .type of_forward_stret, %function .size of_forward_stret, .-of_forward_stret