[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug classpath/22800] ARM double to ascii conversion issue
From: |
gccbugzilla at themastermind1 dot net |
Subject: |
[Bug classpath/22800] ARM double to ascii conversion issue |
Date: |
15 Apr 2006 02:12:54 -0000 |
------- Comment #15 from gccbugzilla at themastermind1 dot net 2006-04-15
02:12 -------
Looking into this further, the correct solution is to define the Storeinc macro
correctly. When Just_16 is defined the Storeinc macro is not used, so the
problem does not occur.
Now, the reason the Storeinc macro is being set improperly is because
IEEE_8087 is not set (mprec.h:103), which is because
__IEEE_LITTLE_ENDIAN is not set (mprec.h:53), which is because
The conditional used to set big/little endian is incorrect at ieeefp.h:14
#if defined(__arm__) || defined(__thumb__)
/* 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. */
#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
On my XScale PXA255 little-endian ARM v5TE toolchain, the following are defined
during build:
__arm__
__ARMEL__
__SOFTFP__
however, neither __VFP_FP__ nor __FPA_FP__ is defined. This patch to ieeefp.h
possibly? originated at http://sourceware.org/ml/newlib/2004/msg00046.html.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22800