Since a week or two I'm trying to get CACAO running on OpenJDK's libraries and it's very promising:
$ cacao prop LOG: [0x00002ba1dc8ee0a0] JVM_GetStackAccessControlContext: IMPLEMENT ME! LOG: [0x00002ba1dc8ee0a0] JVM_DesiredAssertionStatus: cls=0x690c00, IMPLEMENT ME! LOG: [0x00002ba1dc8ee0a0] JVM_DesiredAssertionStatus: cls=0x686000, IMPLEMENT ME! LOG: [0x00002ba1dc8ee0a0] JVM_DesiredAssertionStatus: cls=0x690400, IMPLEMENT ME! LOG: [0x00002ba1dc8ee0a0] JVM_DesiredAssertionStatus: cls=0x692800, IMPLEMENT ME! LOG: [0x00002ba1dc8ee0a0] JVM_DesiredAssertionStatus: cls=0x69d600, IMPLEMENT ME! LOG: [0x00002ba1dc8ee0a0] JVM_DesiredAssertionStatus: cls=0x69d000, IMPLEMENT ME! LOG: [0x00002ba1dc8ee0a0] JVM_DesiredAssertionStatus: cls=0x686000, IMPLEMENT ME! LOG: [0x00002ba1dc8ee0a0] JVM_DesiredAssertionStatus: cls=0x69ec00, IMPLEMENT ME! LOG: [0x00002ba1dc8ee0a0] JVM_DesiredAssertionStatus: cls=0x69e400, IMPLEMENT ME! LOG: [0x00002ba1dc8ee0a0] JVM_DesiredAssertionStatus: cls=0x69e000, IMPLEMENT ME! LOG: [0x00002ba1dc8ee0a0] JVM_DesiredAssertionStatus: cls=0x649c00, IMPLEMENT ME! LOG: [0x00002ba1dc8ee0a0] JVM_FindSignal: name=HUP LOG: [0x00002ba1dc8ee0a0] JVM_RegisterSignal: sig=0, handler=0x2, IMPLEMENT ME! LOG: [0x00002ba1dc8ee0a0] JVM_FindSignal: name=INT LOG: [0x00002ba1dc8ee0a0] JVM_RegisterSignal: sig=0, handler=0x2, IMPLEMENT ME! LOG: [0x00002ba1dc8ee0a0] JVM_FindSignal: name=TERM LOG: [0x00002ba1dc8ee0a0] JVM_RegisterSignal: sig=0, handler=0x2, IMPLEMENT ME! LOG: [0x00002ba1dc8ee0a0] JVM_DesiredAssertionStatus: cls=0x6b7e00, IMPLEMENT ME! LOG: [0x00002ba1dc8ee0a0] JVM_GetStackAccessControlContext: IMPLEMENT ME! LOG: [0x00002ba1dc8ee0a0] JVM_DesiredAssertionStatus: cls=0x6b8400, IMPLEMENT ME! LOG: [0x00002ba1dc8ee0a0] JVM_DesiredAssertionStatus: cls=0x6bfa00, IMPLEMENT ME! LOG: [0x00002ba1dc8ee0a0] JVM_DesiredAssertionStatus: cls=0x6bf800, IMPLEMENT ME! LOG: [0x00002ba1dc8ee0a0] JVM_DesiredAssertionStatus: cls=0x6c5600, IMPLEMENT ME! LOG: [0x00002ba1dc8ee0a0] JVM_GetStackAccessControlContext: IMPLEMENT ME! LOG: [0x00002ba1dc8ee0a0] JVM_DesiredAssertionStatus: cls=0x6da200, IMPLEMENT ME! LOG: [0x00002ba1dc8ee0a0] JVM_DesiredAssertionStatus: cls=0x6da200, IMPLEMENT ME! LOG: [0x00002ba1dc8ee0a0] JVM_DesiredAssertionStatus: cls=0x6db200, IMPLEMENT ME! LOG: [0x00002ba1dc8ee0a0] JVM_DesiredAssertionStatus: cls=0x6e4c00, IMPLEMENT ME! LOG: [0x00002ba1dc8ee0a0] JVM_DesiredAssertionStatus: cls=0x6eda00, IMPLEMENT ME! LOG: [0x00002ba1dc8ee0a0] JVM_DesiredAssertionStatus: cls=0x6f8c00, IMPLEMENT ME! LOG: [0x00002ba1dc8ee0a0] JVM_DesiredAssertionStatus: cls=0x6f8200, IMPLEMENT ME! #all properties: #Thu Jun 14 11:23:34 GMT+01:00 2007 java.runtime.name=OpenJDK Runtime Environment sun.boot.library.path=/home/twisti/cacao/sun/openjdk/jdk/control/build/linux-amd64/lib/amd64/ java.vm.version=0.98+svn java.vm.vendor=CACAO Team java.vendor.url=http\://java.sun.com/ path.separator=\: java.vm.name=CACAO file.encoding.pkg=sun.io user.country=US sun.os.patch.level=unknown java.vm.specification.name=Java Virtual Machine Specification user.dir=/home/twisti/cacao/cacao/tests java.runtime.version=1.7.0-internal-twisti_09_may_2007_15_45-b00 java.awt.graphicsenv=sun.awt.X11GraphicsEnvironment os.arch=amd64 java.io.tmpdir=/tmp line.separator=\n java.vm.specification.vendor=Sun Microsystems Inc. os.name=Linux sun.jnu.encoding=ANSI_X3.4-1968 java.specification.name=Java Platform API Specification java.class.version=50.0 os.version=2.6.21-1-amd64 user.home=/home/twisti user.timezone=GMT+01\:00 java.awt.printerjob=sun.print.PSPrinterJob file.encoding=ANSI_X3.4-1968 java.specification.version=1.7 java.class.path=. user.name=twisti java.vm.specification.version=1.0 sun.arch.data.model=64 java.home=/home/twisti/tmp/cacao/jre user.language=en java.specification.vendor=Sun Microsystems Inc. java.version=1.7.0-internal sun.boot.class.path=/home/twisti/cacao/sun/openjdk/jdk/control/build/linux-amd64/j2sdk-image/jre/lib/rt.jar java.boot.class.path=/home/twisti/cacao/sun/openjdk/jdk/control/build/linux-amd64/j2sdk-image/jre/lib/rt.jar java.vendor=Sun Microsystems Inc. file.separator=/ java.vendor.url.bug=http\://java.sun.com/cgi-bin/bugreport.cgi sun.io.unicode.encoding=UnicodeLittle sun.cpu.endian=little sun.desktop=gnome sun.cpu.isalist=
I still have a problem with resources and I don't know where the problem is. I suspect some string-issues. I have to add some debugging code into OpenJDK's native zip code.
When javac works (it does not because of the resouce problem I mentioned above), the next thing will be to replace HotSpot's libjvm.so by CACAO's and try to build it on some architectures that are not supported by HotSpot, like PowerPC.