When no VFP arguments are present the IP register is used uninitialized. Initialize it to the value of FP. This fixes a number of testsuite failures when configured for armv7l-unknown-linux-gnueabihf
diff --git a/ChangeLog b/ChangeLog
index ca24a09..d2a38a0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2014-02-28 Will Newton <will.newton@linaro.org>
+
+ * src/arm/sysv.S: Initialize IP register with FP.
+
2014-02-28 Yufeng Zhang <yufeng.zhang@arm.com>
* src/aarch64/sysv.S (ffi_closure_SYSV): Use x29 as the
diff --git a/src/arm/sysv.S b/src/arm/sysv.S
index 595ea33..541bbe9 100644
--- a/src/arm/sysv.S
+++ b/src/arm/sysv.S
@@ -353,6 +353,7 @@ ARM_FUNC_START(ffi_call_VFP)
@ Load VFP register args if needed
cmp r0, #0
+ mov ip, fp
beq LSYM(Lbase_args)
@ Load only d0 if possible