bootclassloader problem (gcc 4.0 regression)
Per Bothner
per@bothner.com
Wed Apr 13 07:40:00 GMT 2005
I did a little bit of poking to figure out why the Kawa
testsuite fails. Unfortunately, I don't know what is intended to
happen, and debugging GCJ runtime is a wee bit tricky, but this is
what I see:
The problem is:
Class.forName("module1")
is in a compiled class ModuleInfo.java, where "module1" is supposed to
resolve to "./module1.class".
The StackTrace in Class::forName (jstring className) find the correct
klass, and does klass->getClassLoaderInternal(). That yields null,
which is then passed to _Jv_FindClass. The latter interprets null as
the bootLoader, which as far as I can tell does *not* search the
CLASS_PATH - not even the default "file:./". I'm not sure though -
this seems rather confusing.
If someone would like to take a look:
Grab http://per.bothner.com/kawa.tgz
$ tar xzf kawa.tgz
$ cd kawa
$ ./configure --without-swt --without-swing --disable-xml \
--enable-maintainer-mode --enable-kawa-frontend --prefix /tmp/kawa \
--with-java-source=2 --without-servlet --with-gcj >&LOG.CONF
$ make >&LOG.ALL
$ cd testsuite
$ make module2.class
You can run gdb on ../bin/.libs/lt-kawa-bin
--
--Per Bothner
per@bothner.com http://per.bothner.com/
More information about the Java
mailing list