Build fix for soft-float power targets
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
diff --git a/ChangeLog b/ChangeLog
index d5bf71f..9f7866b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,11 @@
+2013-03-16 Gilles Talis <gilles.talis@gmail.com>
+
+ * src/powerpc/ffi.c (ffi_prep_args_SYSV): Don't use
+ fparg_count,etc on __NO_FPRS__ targets.
+
2013-03-16 Alan Hourihane <alanh@fairlite.co.uk>
- * src/m68k/sysv.S (epilogue): Don't user extb instruction on
+ * src/m68k/sysv.S (epilogue): Don't use extb instruction on
m680000 machines.
2013-03-16 Alex Gaynor <alex.gaynor@gmail.com>
diff --git a/README b/README
index fd5e6b4..276c2f6 100644
--- a/README
+++ b/README
@@ -164,11 +164,11 @@ History
See the ChangeLog files for details.
3.0.13 Mar-16-13
-
Add Meta support.
Add missing Moxie bits.
Fix stack alignment bug on 32-bit x86.
Build fix for m68000 targets.
+ Build fix for soft-float Power targets.
3.0.12 Feb-11-13
Add Moxie support.
diff --git a/src/powerpc/ffi.c b/src/powerpc/ffi.c
index f3a96a1..54f2731 100644
--- a/src/powerpc/ffi.c
+++ b/src/powerpc/ffi.c
@@ -376,9 +376,9 @@ ffi_prep_args_SYSV (extended_cif *ecif, unsigned *const stack)
with the number found in ffi_prep_cif_machdep(). However, intarg_count
is incremeneted whenever we place an FP arg on the stack, so account for
that before our assert test. */
+#ifndef __NO_FPRS__
if (fparg_count > NUM_FPR_ARG_REGISTERS)
intarg_count -= fparg_count - NUM_FPR_ARG_REGISTERS;
-#ifndef __NO_FPRS__
FFI_ASSERT (fpr_base.u
<= stacktop.u - ASM_NEEDS_REGISTERS - NUM_GPR_ARG_REGISTERS);
#endif