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]

Re: Porting libgcj...


I come out of my lurk...

I have a netwinder (it's Corel Computors' box actually), and an interest in
this project.  Not much time, but I would be willing to QA your port and try
porting some of my development code to it.

Let me know.

Rick Graham                      rick@bitflash.com
                Applications Architect
BitFlash Graphics     http//www.bitflash.com/
                     Ottawa On, Ca.


scottb wrote:

> > > <scottb@netwinder.org> writes:
> >
> > I'm trying to port libgcj to run on ArmLinux on a NetWinder.
> >
> > It seems that when generating this file, the value for
> > MAX_VALUE is interpreted as a NAN by printf..  I have been
> > looking for the file generation code but have been unable to
> > find it.  Could someone point me in the correct direction.
>
> Tom Tromey wrote:
> >
> > Most of the headers are generated from class files by a program named
> > "gcjh".  It is part of gcc.  The source is gcc/java/gjavah.c.  You
> > want to look at the function print_field_info().
> >
>
> I think I have found the problem (at least for this case).  It is the
> WORDS_TO_DOUBLE() macro in javaop.h.  The ARM has a funny floating point
> memory layout for doubles.   It is the IEEE format in little endian with
> the words swapped.  As an example:
>
> MAX_DBL = 0xff 0xff 0xff 0xff 0xff 0xff 0xef 0x7f in little endian
> MAX_DBL = 0xff 0xff 0xef 0x7f 0xff 0xff 0xff 0xff on the ARM
>
> I updated my gcc-2.95 tree this morning and have a build going to test
> this hypothesis.  I have modified WORDS_TO_DOUBLE to be:
>
> static inline jdouble
> WORDS_TO_DOUBLE(jword hi, jword lo)
> { union DWord wu;
> #ifdef __arm__
>   wu.l = WORDS_TO_LONG(lo,hi);
> #else
>   wu.l = WORDS_TO_LONG(hi,lo);
> #endif
> }
>
> This is fine to test the code, but not my idea of a decent port.  There
> doesn't seem to be any other way of introducing architecture dependent
> code into the tree however.  Does anyone have any better suggestions?
>
> Scott


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