This is the mail archive of the java-discuss@sourceware.cygnus.com mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

libgcj and ARM systems...


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

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]