[kaffe] Bug: Kaffe doesn't work with GMP on x86_64

Alan Eliasen eliasen at mindspring.com
Wed Dec 7 01:14:21 PST 2005


   I really like using Kaffe as my JVM for working with really big
numbers, as it can be compiled to use the GMP library.  It makes certain
programs that work with really big integers run thousands of times
faster than any other JVM.  I was really excited about running it on the
x86_64 with 64-bit multiplies that might be up to 4 times faster.  There
seem to be major bugs preventing this from working on the x86_64
architecture, though.  (I tested against the CVS head.)

   I've written a small test program, available at:
http://futureboy.us/temp/BigIntTest.java

   that demonstrates the issue.  It should print out two identical numbers.

------------------------
   When run with:
kaffe BigIntTest
  it produces:

Fits in long
4294967292
4294967292

This is correct.
-------------------------

   When run with:
kaffe -Xnative-big-math BigIntTest
  it produces:

Fits in long
4294967292
18446744073709551612

Which is incorrect.  The BigInteger has the wrong value.
--------------------------

   I tried compiling against both the GMP library shipped with Fedora
Core 3 (gmp-4.1.4-3) and against GMP 4.1.4 hand-compiled on my system.
Both exhibit the same issue.

   Is it known that GMP doesn't work with kaffe on x86_64?  Is there
anything I could try to make it work?  (Like compiling with some
different option like -m32 or -m64?)

Also, FYI, when running "make check," I get one failure
FAIL: RefTest.java

   Please let me know if there's something I can test or clarify.

-- 
  Alan Eliasen                 |  "It's amazing how much mature wisdom
  eliasen at mindspring.com       |   resembles being too tired."
  http://futureboy.homeip.net/ |     -- Robert Heinlein




More information about the kaffe mailing list