Handle ARMs with big endian IEEE words but little endian IEEE bytes
This commit is contained in:
parent
288f125efd
commit
2b6b730c98
|
@ -1,3 +1,11 @@
|
|||
2001-06-27 Nick Clifton <nickc@cambridge.redhat.com>
|
||||
|
||||
* libc/include/machine/ieeefp.h (__IEEE_BYTES_LITTLE_ENDIAN):
|
||||
Define for little endian ARMs.
|
||||
|
||||
* libc/stdlib/mprec.h (Storeinc): Use little endian version if
|
||||
__IEEE_BYTES_LITTLE_ENDIAN is defined.
|
||||
|
||||
2001-06-11 Danny Smith <dannysmith@users.sourceforge.net>
|
||||
|
||||
* /libc/include/ctype.h (is* and to* macros): Do not define if C++.
|
||||
|
|
|
@ -21,9 +21,11 @@
|
|||
|
||||
#if defined(__arm__) || defined(__thumb__)
|
||||
/* ARM always has big-endian words. Within those words the byte ordering
|
||||
appears to be big or little endian. Newlib doesn't seem to care about
|
||||
the byte ordering within words. */
|
||||
will be big or little endian depending upon the target. */
|
||||
#define __IEEE_BIG_ENDIAN
|
||||
#ifdef __ARMEL__
|
||||
#define __IEEE_BYTES_LITTLE_ENDIAN
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef __hppa__
|
||||
|
|
|
@ -81,7 +81,7 @@ union double_union
|
|||
* An alternative that might be better on some machines is
|
||||
* #define Storeinc(a,b,c) (*a++ = b << 16 | c & 0xffff)
|
||||
*/
|
||||
#if defined(IEEE_8087) + defined(VAX)
|
||||
#if defined (__IEEE_BYTES_LITTLE_ENDIAN) + defined (IEEE_8087) + defined (VAX)
|
||||
#define Storeinc(a,b,c) (((unsigned short *)a)[1] = (unsigned short)b, \
|
||||
((unsigned short *)a)[0] = (unsigned short)c, a++)
|
||||
#else
|
||||
|
|
Loading…
Reference in New Issue