[Bug libgcj/38396] [4.4 Regression] libgcj_bc for 4.3 and 4.4 are binary incompatible but have the same SONAME

aph at redhat dot com gcc-bugzilla@gcc.gnu.org
Wed Dec 10 13:47:00 GMT 2008



------- Comment #18 from aph at redhat dot com  2008-12-10 13:46 -------
Subject: Re:  [4.4 Regression] libgcj_bc for 4.3 and 4.4
 are binary incompatible but have the same SONAME

jakub at gcc dot gnu dot org wrote:
> ------- Comment #17 from jakub at gcc dot gnu dot org  2008-12-10 13:30 -------
> For #c12, those weren't present in 4.3 libgcj_bc.so, but I don't see why it
> matters.  4.3 linked ecj1 doesn't need any of those symbols.  The reason why it
> has DT_NEEDED libgcj.so.9 is IMHO that libgcj.la was in ecjx's LDADD, so
> libtool
> linked it with -lgcj (and as -Wl,--as-needed -lgcj -Wl,--no-as-needed wasn't
> used, it was added to DT_NEEDED unconditionally).
> The fix really is not to have libgcj.la in LDADD for dynamically linked ecj1.
> I'm just not sure about !ENABLE_SHARED build if USE_LIBGCJ_BC is true, maybe
> libgcj.la is needed in that case (not sure if libgcj_bc.la has libgcj.la as a
> dependency in that case).

We, then, have two unrelated bugs to fix on 4.3 branch.

1.  The missing symbols in libgcj_bc that cause BC-compiled applications
to have a DT_NEEDED libgcj.so.9.

2.  ecjx's LDADD to libgcj.la.

Andrew.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38396



More information about the Gcc-bugs mailing list