------- Comment #12 from dave at hiauly1 dot hia dot nrc dot ca 2008-11-02
02:33 -------
Subject: Re: [4.4 Regression] libgcj linkage failure: Incorrect library ABI
version detected
> On Sat, 01 Nov 2008, danglin at gcc dot gnu dot org wrote:
>
> Possibly the attached change will fix the problem. However, I'm
> not sure if cgraphunit.c will detect all the java constructors that
> need calling. Someone who knows a little about java will need to
> look at this.
The patch doesn't work. It appears some classes are not registered.
Starting program:
/test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/libjava/.libs/gcj-dbtool -n
classmap.db
warning: Private mapping of shared library text was not specified
by the executable; setting a breakpoint in a shared library which
is not privately mapped will not work. See the HP-UX 11i v3 chatr
manpage for methods to privately map shared library text.
[New process 9031, lwp 4498783]
[process 9031, lwp 4498783 exited]
Program received signal SIGSEGV, Segmentation fault.
0xc3eca160 in _Jv_Linker::verify_class (klass=0x7a5f7428)
at ../../../gcc/libjava/link.cc:1904
1904 klass->engine->verify(klass);
(gdb) p klass->engine
$5 = (_Jv_ExecutionEngine *) 0x0
void
_Jv_RegisterClassHookDefault (jclass klass)
{
// This is bogus, but there doesn't seem to be a better place to do
// it.
if (! klass->engine)
klass->engine = &_Jv_soleCompiledEngine;
Dave
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37068