libgcj and ARM systems...
Scott Bambrough
scottb@netwinder.org
Wed May 17 13:25:00 GMT 2000
Hi Tom,
A while ago (Jan 30, 2000) actually you pointed out that natDouble.cc should be
checked for problems on the ARM. I had put this aside as I didn't have time
ATM, then had my compiler problems we spoke of earlier. I had a look at
natDouble.cc and natMath.cc. Pretty much anything requiring bitmask operations
with double values in these files (isNaN, doubleToLongBits, longBitsToDouble)
are broken on ARM platforms. Since these are used heavily in the other
routines, there isn't very many routines that can be relied upon in these files.
The problem stems from the memory layout of ARM doubles (little endian, with
words swapped big endian).
I would enter a bug for these in the bug tracking system so others know a
problem exists. I'll try to work on patches for these next week.
union {
jlong l;
jdouble d;
};
A union like the above is declared in several places in these files. Should
this be moved to a header and used in a consistent manner in these files? If so
which header? Something similar appears in include/jvm.h as _Jv_word2. Also is
there an appropriate place to define consistent definitions of bitmasks. I want
to do something similar to what is done for D_NAN_MASK in gjavah.c in the
compiler sources.
Scott
--
Scott Bambrough - Software Engineer
REBEL.COM http://www.rebel.com
NetWinder http://www.netwinder.org
More information about the Java
mailing list