bug-classpath
[Top][All Lists]
Advanced

[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





reply via email to

[Prev in Thread] Current Thread [Next in Thread]