[kaffe] ARM Double problems
Helmer Krämer
hkraemer at freenet.de
Tue Nov 9 04:41:18 PST 2004
On Tue, 9 Nov 2004 13:41:36 +0200 (EET)
Jari Korva <jpkorva at iki.fi> wrote:
> Hi again,
>
> On Fri, 5 Nov 2004, Helmer [ISO-8859-15] Krämer wrote:
> > config/config-hacks.h defines a macro DOUBLE_ORDER_OPPOSITE
> > which tells kaffe that the word order of doubles is different
> > from the word order of jlongs (it's used in kaffe/kaffevm/fp.c).
> > At the moment this macro is always defined when compiling kaffe
> > for arm. Could you try whether the double problems are solved
> > when this macro is not defined? If so, we should work out some
> > preprocessor or configure magic to detect whether that macro
> > is necessary.
>
> How about this:
>
> #include <endian.h>
>
> ...
>
> #if __BYTE_ORDER != __FLOAT_WORD_ORDER
> #define DOUBLE_ORDER_OPPOSITE
> #endif
>
> It seems to produce correct results at least on my x86, armv5b (XScale
> IXP) and armv5l (StrongARM).
glibc doesn't seem to properly define __FLOAT_WORD_ORDER for all
combinations (vfp / fpa) [1]. How about
#if defined(__ARMEL__) && !defined(__VFP_FP__)
#define DOUBLE_ORDER_OPPOSITE
#endif
?
Regards,
Helmer
[1] http://www.kegel.com/crosstool/crosstool-0.28-rc37/patches/glibc-2.3.2/glibc-fp-byteorder.patch
More information about the kaffe
mailing list