[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