From 59c30969f90a33d9696fe5b69fe545018ad76caa Mon Sep 17 00:00:00 2001 From: andrew Date: Sat, 7 Sep 2013 14:04:10 +0000 Subject: 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. --- lib/libc/arm/_fpmath.h | 2 +- lib/libc/arm/arith.h | 2 +- lib/libc/arm/softfloat/arm-gcc.h | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) (limited to 'lib/libc') 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 -- cgit v1.1