This is the mail archive of the
java-discuss@sourceware.cygnus.com
mailing list for the Java project.
libgcj and ARM systems...
- To: Tom Tromey <tromey at cygnus dot com>
- Subject: libgcj and ARM systems...
- From: Scott Bambrough <scottb at netwinder dot org>
- Date: Wed, 17 May 2000 16:20:58 -0400
- CC: Java/Libgcj Mailing List <java-discuss at sourceware dot cygnus dot com>
- Organization: Rebel.com
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