------- 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

Reply via email to