From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 25981 invoked by alias); 2 Nov 2008 02:33:17 -0000 Received: (qmail 25955 invoked by alias); 2 Nov 2008 02:33:16 -0000 Date: Sun, 02 Nov 2008 02:33:00 -0000 Message-ID: <20081102023316.25953.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug java/37068] [4.4 Regression] libgcj linkage failure: Incorrect library ABI version detected In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: java-prs@gcc.gnu.org From: "dave at hiauly1 dot hia dot nrc dot ca" Mailing-List: contact java-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: java-prs-owner@gcc.gnu.org X-SW-Source: 2008-q4/txt/msg00028.txt.bz2 ------- 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