From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 2331 invoked by alias); 10 Dec 2008 13:14:55 -0000 Received: (qmail 2309 invoked by alias); 10 Dec 2008 13:14:55 -0000 Date: Wed, 10 Dec 2008 13:14:00 -0000 Message-ID: <20081210131455.2308.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug libgcj/38396] [4.4 Regression] libgcj_bc for 4.3 and 4.4 are binary incompatible but have the same SONAME In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: java-prs@gcc.gnu.org From: "rguenther at suse dot de" 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/msg00109.txt.bz2 ------- Comment #15 from rguenther at suse dot de 2008-12-10 13:14 ------- Subject: Re: [4.4 Regression] libgcj_bc for 4.3 and 4.4 are binary incompatible but have the same SONAME On Wed, 10 Dec 2008, aph at redhat dot com wrote: > ------- Comment #14 from aph at redhat dot com 2008-12-10 12:46 ------- > Subject: Re: [4.4 Regression] libgcj_bc for 4.3 and 4.4 > are binary incompatible but have the same SONAME > > rguenther at suse dot de wrote: > > >> Look at the exported symbols in the old version of libgcj_bc.so. > >> > >> Make sure that these symbols are exported: > >> > >> _Jv_JNI_PopSystemFrame > >> _Jv_LookupInterfaceMethod > >> _Jv_MonitorExit > >> _Jv_RegisterResource > > > > readelf -s libgcj_bc.so | grep > > '_Jv_RegisterResource\|_Jv_JNI_PopSystemFrame\|_Jv_LookupInterfaceMethod\|_Jv_MonitorExit' > > 43: 0000000000001330 2 FUNC GLOBAL DEFAULT 12 > > _Jv_LookupInterfaceMethod > > > > so only _Jv_LookupInterfaceMethod is there. > > Right, so that's probably what's causing the DT_NEEDED for libgcj.so.9. > > > But they are all provided by > > both libgcj.so.9 and libgcj.so.10 (which is what /usr/lib64/libgcj_bc.so.1 > > links to). The libgcj_bc.so is in /usr/lib64/gcc/x86_64-suse-linux/4.3 > > and thus only used if you link with gcj 4.3. > > Right, so this is a bug in gcj 4.3. All symbols used by BC-compiled > programs need to be in libgcj_bc.so. > > As has already been said, /usr/lib64/libgcj_bc.so.1 is not a link > to libgcj.so.x in FSF gcj. Ok, I'm checking what happens on pristine 4.3 branch and report back. Maybe it's somehow my own fault (the Debian libgcj_bc seems to have the proper symbols). Richard. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38396