diff options
author | andrew <andrew@FreeBSD.org> | 2013-09-07 14:04:10 +0000 |
---|---|---|
committer | andrew <andrew@FreeBSD.org> | 2013-09-07 14:04:10 +0000 |
commit | 59c30969f90a33d9696fe5b69fe545018ad76caa (patch) | |
tree | d742050140d3967fef8c5531b8fa6ef1d60bd3c2 | |
parent | 5545e24af36227705bd4f73c058fcda754d117d8 (diff) | |
download | FreeBSD-src-59c30969f90a33d9696fe5b69fe545018ad76caa.zip FreeBSD-src-59c30969f90a33d9696fe5b69fe545018ad76caa.tar.gz |
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.
-rw-r--r-- | contrib/gcc/config/arm/ieee754-df.S | 2 | ||||
-rw-r--r-- | lib/libc/arm/_fpmath.h | 2 | ||||
-rw-r--r-- | lib/libc/arm/arith.h | 2 | ||||
-rw-r--r-- | lib/libc/arm/softfloat/arm-gcc.h | 2 | ||||
-rw-r--r-- | lib/msun/src/math_private.h | 2 | ||||
-rw-r--r-- | sys/arm/include/ieee.h | 2 |
6 files changed, 6 insertions, 6 deletions
diff --git a/contrib/gcc/config/arm/ieee754-df.S b/contrib/gcc/config/arm/ieee754-df.S index 74d9f0d..70262a2 100644 --- a/contrib/gcc/config/arm/ieee754-df.S +++ b/contrib/gcc/config/arm/ieee754-df.S @@ -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 diff --git a/lib/libc/arm/_fpmath.h b/lib/libc/arm/_fpmath.h index 4c18945..28bcb4b 100644 --- a/lib/libc/arm/_fpmath.h +++ b/lib/libc/arm/_fpmath.h @@ -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 diff --git a/lib/libc/arm/arith.h b/lib/libc/arm/arith.h index be78d86..5e2e389 100644 --- a/lib/libc/arm/arith.h +++ b/lib/libc/arm/arith.h @@ -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 diff --git a/lib/libc/arm/softfloat/arm-gcc.h b/lib/libc/arm/softfloat/arm-gcc.h index 15bc509..0e20ef9 100644 --- a/lib/libc/arm/softfloat/arm-gcc.h +++ b/lib/libc/arm/softfloat/arm-gcc.h @@ -91,7 +91,7 @@ what the endianness of the CPU. VFP is sane. ------------------------------------------------------------------------------- */ #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 diff --git a/lib/msun/src/math_private.h b/lib/msun/src/math_private.h index 8ebc7fb..8af2c65 100644 --- a/lib/msun/src/math_private.h +++ b/lib/msun/src/math_private.h @@ -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 diff --git a/sys/arm/include/ieee.h b/sys/arm/include/ieee.h index 8ce9fd1..25a096d 100644 --- a/sys/arm/include/ieee.h +++ b/sys/arm/include/ieee.h @@ -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 |