This is the mail archive of the java@gcc.gnu.org mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

bootclassloader problem (gcc 4.0 regression)


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/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]