2004-02-05 Paul Brook <paul@codesourcery.com>

* libc/include/machine/ieeefp.h[__arm__][__VFP_FP__]: Set
        IEEE_{BIG,LITTLE} based on __ARMEL__ flag.
This commit is contained in:
Jeff Johnston 2004-02-05 20:08:52 +00:00
parent 656a999a33
commit b4a84c6695
2 changed files with 24 additions and 5 deletions

View File

@ -1,3 +1,8 @@
2004-02-05 Paul Brook <paul@codesourcery.com>
* libc/include/machine/ieeefp.h[__arm__][__VFP_FP__]: Set
IEEE_{BIG,LITTLE} based on __ARMEL__ flag.
2004-02-02 Jeff Johnston <jjohnstn@redhat.com>
* NEWS: Update with 1.12.0 info.

View File

@ -51,11 +51,25 @@
*/
#if (defined(__arm__) || defined(__thumb__)) && !defined(__MAVERICK__)
/* ARM always has big-endian words. Within those words the byte ordering
will be big or little endian depending upon the target. */
#define __IEEE_BIG_ENDIAN
#ifdef __ARMEL__
#define __IEEE_BYTES_LITTLE_ENDIAN
/* ARM traditionally used big-endian words; and within those words the
byte ordering was big or little endian depending upon the target.
Modern floating-point formats are naturally ordered; in this case
__VFP_FP__ will be defined, even if soft-float.
FIXME: long double support is broken for the ARM when __ARMEL__
is specified. New long double formats need to be added
to the long double conversion routines. */
#ifdef __VFP_FP__
# ifdef __ARMEL__
# define __IEEE_LITTLE_ENDIAN
# else
# define __IEEE_BIG_ENDIAN
# endif
#else
# define __IEEE_BIG_ENDIAN
# ifdef __ARMEL__
# define __IEEE_BYTES_LITTLE_ENDIAN
# endif
#endif
#endif