Index: /trunk/source/compiler/ARM/arm-arch.lisp
===================================================================
--- /trunk/source/compiler/ARM/arm-arch.lisp	(revision 15256)
+++ /trunk/source/compiler/ARM/arm-arch.lisp	(revision 15257)
@@ -213,5 +213,5 @@
     oldspace-dnode-count                ; number of dnodes in dynamic space that are older than
                                         ; youngest generation
-    altivec-present                     ; non-zero if cpu supports AltiVec 
+    float-abi                           ; non-zero if using hard float abi
     fwdnum                              ; fixnum: GC "forwarder" call count.
     gc-count                            ; fixnum: GC call count.
Index: /trunk/source/lisp-kernel/arm-constants.s
===================================================================
--- /trunk/source/lisp-kernel/arm-constants.s	(revision 15256)
+++ /trunk/source/lisp-kernel/arm-constants.s	(revision 15257)
@@ -581,5 +581,5 @@
 	 _node(gc_num)                  /* fixnum: GC call count. */
 	 _node(fwdnum)                  /* fixnum: GC "forwarder" call count. */
-	 _node(altivec_present)         /* non-zero when AltiVec available */
+	 _node(float_abi)         /* non-zero when hard-float */
 	 _node(oldspace_dnode_count) 	/* dynamic dnodes older than g0 start */
 	 _node(refbits) 		/* EGC refbits */
Index: /trunk/source/lisp-kernel/lisp_globals.h
===================================================================
--- /trunk/source/lisp-kernel/lisp_globals.h	(revision 15256)
+++ /trunk/source/lisp-kernel/lisp_globals.h	(revision 15257)
@@ -40,5 +40,10 @@
 #define REFBITS (-17)
 #define OLDSPACE_DNODE_COUNT (-18) /* count of dynamic dnodes older than generation 0 */
+#ifdef PPC
 #define ALTIVEC_PRESENT (-19)   /* non-zero if AltiVec present. */
+#endif
+#ifdef ARM
+#define FLOAT_ABI (-19)         /* non zero when hard-float ABI in effect */
+#endif
 #define FWDNUM (-20)            /* fixnum: GC "forwarder" call count. */
 #define GC_NUM (-21)            /* fixnum: GC call count. */
Index: /trunk/source/lisp-kernel/pmcl-kernel.c
===================================================================
--- /trunk/source/lisp-kernel/pmcl-kernel.c	(revision 15256)
+++ /trunk/source/lisp-kernel/pmcl-kernel.c	(revision 15257)
@@ -2070,4 +2070,10 @@
 #ifdef PPC
   lisp_global(ALTIVEC_PRESENT) = altivec_present << fixnumshift;
+#endif
+#ifdef ARM
+#if defined (__ARM_PCS_VFP)
+ /* would be nice if there was a way to test for this (armhf) at runtime */
+  lisp_global(FLOAT_ABI) = 1 << fixnumshift;
+#endif
 #endif
 #if STATIC
