harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Weldon Washburn" <weldon...@gmail.com>
Subject [classlib] unmodified generic GNU Classpath JVM can now run Classlib "hello world"
Date Wed, 12 Apr 2006 04:42:58 GMT
I just uploaded a new zip file to JIRA Harmony-318 that contains the
mods to Harmony Classlib that will allow it to run on an unmodified
generic GNU Classpath JVM.

Some of the issues encountered:

libtool was not behaving.  So, I gave up and used raw ld.
dlopen() refused to load the output of ld. Google turned up help pages
that showed dlopen() only likes files ending in *.a
Once dlopen() was able to open the shared lib containing the native
method, gdb was getting lost.  Googling the web again turned up a
magic input arg to ld called "--enable-auto-image-base".  Apparently
gdb internals are stepping on the same virtual addr as the newly
loaded lib?? In any case, the  --enable.... worked around it.
There was real difficulty lining up the native method's incoming
arguments.  Finally I declared the native method with input arguments
(int a1, int a2, int a3, int a4).  Then passed the character to be
printed in all four arg slots.  Surprise! The second arg of the C
routine actually held the correct argument.  So the native method was
modified to print just a2.  It works fine.

Question for  SableVM/JCHEVM guys:  Did I miss the documentation on
lining up native method args?  Can you point me to the correct place
to figure out how to do this?

Also, I modified files in Harmony Classlib's native-src directory. 
This might mean we need to add an additional level below
enhanced/gnuclasspathadapter/.  Something like
enhanced/gnuclasspathadapter/native-src...  Another issue is that
different GNU Classpath JVMs may require different name decoration and
different build options.  Two ways of handling this are 1) add a
subdirectory for each JVM that contains the code that is unique to the
jvm and 2) use #ifdefs and make file options to handle the

Weldon Washburn
Intel Middleware Products Division

Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
For additional commands, e-mail: harmony-dev-help@incubator.apache.org

View raw message