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.
This commit is contained in:
Andrew Turner 2013-09-07 14:04:10 +00:00
parent ab97ad0806
commit 0a10f22a30
6 changed files with 6 additions and 6 deletions

View File

@ -43,7 +43,7 @@
@ For FPA, float words are always big-endian. @ For FPA, float words are always big-endian.
@ For VFP, floats words follow the memory system mode. @ 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 xl r0
#define xh r1 #define xh r1
#define yl r2 #define yl r2

View File

@ -26,7 +26,7 @@
* $FreeBSD$ * $FreeBSD$
*/ */
#if defined(__VFP_FP__) #if defined(__VFP_FP__) || defined(__ARM_EABI__)
#define _IEEE_WORD_ORDER _BYTE_ORDER #define _IEEE_WORD_ORDER _BYTE_ORDER
#else #else
#define _IEEE_WORD_ORDER _BIG_ENDIAN #define _IEEE_WORD_ORDER _BIG_ENDIAN

View File

@ -11,7 +11,7 @@
* architecture. See contrib/gdtoa/gdtoaimp.h for details. * 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 IEEE_8087
#define Arith_Kind_ASL 1 #define Arith_Kind_ASL 1
#define Sudden_Underflow #define Sudden_Underflow

View File

@ -91,7 +91,7 @@ what the endianness of the CPU. VFP is sane.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
*/ */
#if defined(SOFTFLOAT_FOR_GCC) #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_DEMANGLE(a) (a)
#define FLOAT64_MANGLE(a) (a) #define FLOAT64_MANGLE(a) (a)
#else #else

View File

@ -39,7 +39,7 @@
*/ */
#ifdef __arm__ #ifdef __arm__
#if defined(__VFP_FP__) #if defined(__VFP_FP__) || defined(__ARM_EABI__)
#define IEEE_WORD_ORDER BYTE_ORDER #define IEEE_WORD_ORDER BYTE_ORDER
#else #else
#define IEEE_WORD_ORDER BIG_ENDIAN #define IEEE_WORD_ORDER BIG_ENDIAN

View File

@ -91,7 +91,7 @@
#define DBL_EXPBITS 11 #define DBL_EXPBITS 11
#define DBL_FRACBITS 52 #define DBL_FRACBITS 52
#if defined(__VFP_FP__) #if defined(__VFP_FP__) || defined(__ARM_EABI__)
#define _IEEE_WORD_ORDER _BYTE_ORDER #define _IEEE_WORD_ORDER _BYTE_ORDER
#else #else
#define _IEEE_WORD_ORDER _BIG_ENDIAN #define _IEEE_WORD_ORDER _BIG_ENDIAN