Author: andrew
Date: Sat Sep  7 14:04:10 2013
New Revision: 255361
URL: http://svnweb.freebsd.org/changeset/base/255361

Log:
  On ARM EABI double precision floating point values are stored in the
  endian the CPU is in, i.e. little-endian on most ARM cores.
  
  This allows ARMv4 and ARMv5 boards to boot with the ARM EABI.

Modified:
  head/contrib/gcc/config/arm/ieee754-df.S
  head/lib/libc/arm/_fpmath.h
  head/lib/libc/arm/arith.h
  head/lib/libc/arm/softfloat/arm-gcc.h
  head/lib/msun/src/math_private.h
  head/sys/arm/include/ieee.h

Modified: head/contrib/gcc/config/arm/ieee754-df.S
==============================================================================
--- head/contrib/gcc/config/arm/ieee754-df.S    Sat Sep  7 13:50:13 2013        
(r255360)
+++ head/contrib/gcc/config/arm/ieee754-df.S    Sat Sep  7 14:04:10 2013        
(r255361)
@@ -43,7 +43,7 @@
 
 @ For FPA, float words are always big-endian.
 @ For VFP, floats words follow the memory system mode.
-#if defined(__VFP_FP__) && !defined(__ARMEB__)
+#if (defined(__ARM_EABI__) || defined(__VFP_FP__)) && !defined(__ARMEB__)
 #define xl r0
 #define xh r1
 #define yl r2

Modified: head/lib/libc/arm/_fpmath.h
==============================================================================
--- head/lib/libc/arm/_fpmath.h Sat Sep  7 13:50:13 2013        (r255360)
+++ head/lib/libc/arm/_fpmath.h Sat Sep  7 14:04:10 2013        (r255361)
@@ -26,7 +26,7 @@
  * $FreeBSD$
  */
 
-#if defined(__VFP_FP__)
+#if defined(__VFP_FP__) || defined(__ARM_EABI__)
 #define        _IEEE_WORD_ORDER        _BYTE_ORDER
 #else
 #define        _IEEE_WORD_ORDER        _BIG_ENDIAN

Modified: head/lib/libc/arm/arith.h
==============================================================================
--- head/lib/libc/arm/arith.h   Sat Sep  7 13:50:13 2013        (r255360)
+++ head/lib/libc/arm/arith.h   Sat Sep  7 14:04:10 2013        (r255361)
@@ -11,7 +11,7 @@
  * architecture.  See contrib/gdtoa/gdtoaimp.h for details.
  */
 
-#if !defined(__ARMEB__) && defined(__VFP_FP__)
+#if !defined(__ARMEB__) && (defined(__VFP_FP__) || defined(__ARM_EABI__))
 #define IEEE_8087
 #define Arith_Kind_ASL 1
 #define Sudden_Underflow

Modified: head/lib/libc/arm/softfloat/arm-gcc.h
==============================================================================
--- head/lib/libc/arm/softfloat/arm-gcc.h       Sat Sep  7 13:50:13 2013        
(r255360)
+++ head/lib/libc/arm/softfloat/arm-gcc.h       Sat Sep  7 14:04:10 2013        
(r255361)
@@ -91,7 +91,7 @@ what the endianness of the CPU.  VFP is 
 -------------------------------------------------------------------------------
 */
 #if defined(SOFTFLOAT_FOR_GCC)
-#if defined(__VFP_FP__) || defined(__ARMEB__)
+#if defined (__ARM_EABI__) || defined(__VFP_FP__) || defined(__ARMEB__)
 #define FLOAT64_DEMANGLE(a)    (a)
 #define FLOAT64_MANGLE(a)      (a)
 #else

Modified: head/lib/msun/src/math_private.h
==============================================================================
--- head/lib/msun/src/math_private.h    Sat Sep  7 13:50:13 2013        
(r255360)
+++ head/lib/msun/src/math_private.h    Sat Sep  7 14:04:10 2013        
(r255361)
@@ -39,7 +39,7 @@
  */
 
 #ifdef __arm__
-#if defined(__VFP_FP__)
+#if defined(__VFP_FP__) || defined(__ARM_EABI__)
 #define        IEEE_WORD_ORDER BYTE_ORDER
 #else
 #define        IEEE_WORD_ORDER BIG_ENDIAN

Modified: head/sys/arm/include/ieee.h
==============================================================================
--- head/sys/arm/include/ieee.h Sat Sep  7 13:50:13 2013        (r255360)
+++ head/sys/arm/include/ieee.h Sat Sep  7 14:04:10 2013        (r255361)
@@ -91,7 +91,7 @@
 #define        DBL_EXPBITS     11
 #define        DBL_FRACBITS    52
 
-#if defined(__VFP_FP__)
+#if defined(__VFP_FP__) || defined(__ARM_EABI__)
 #define        _IEEE_WORD_ORDER        _BYTE_ORDER
 #else
 #define        _IEEE_WORD_ORDER        _BIG_ENDIAN
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to