Commit 001aaf4b1b56349596bb6f6b5c1613dcbbd84ea8

Anthony Green 2014-02-28T00:20:17

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