Re: [patch] [java] bump libgcj soname

Matthias Klose <[email protected]> Sat, 2 Jan 2016 16:53:13 +0100
Newsgroups gmane.comp.gcc.java.patches,gmane.comp.gcc.patches
Message-ID <[email protected]>
On 02.01.2016 16:39, Andrew Haley wrote:
> On 02/01/16 14:40, Matthias Klose wrote:
>>
>> preparing for a test rebuild of the archive, and trying to run gcj-dbtool (from
>> GCC 5) with libgcj16 (from GCC 6):
>>
>> $ gcj-dbtool -n /tmp/foo.db
>> libgcj failure: gcj linkage error.
>> Incorrect library ABI version detected.  Aborting.
>>
>> Aborted (core dumped)
>>
>> natClassLoader.cc:_Jv_CheckABIVersion checks the ABI version, which is defined as
>>
>> libjava/include/jvm.h:#define GCJ_CXX_ABI_VERSION (__GNUC__ * 100000 +
>> __GNUC_MINOR__ * 1000)
>>
>> so this will be seen with everything directly linked to libgcj with a libgcj16
>> upgraded to GCC 6. So what to do? Bump the soname, or discard this check?
>
> I'd bump the soname.
>
>> In any case, GCJ_CXX_ABI_VERSION should be changed to not include __GNUC_MINOR__
>> anymore.  Maybe for the gcc-5-branch, set it unconditionally to 3 so that it
>> won't change anymore with future releases from the gcc-5 branch?
>
> That's safe only if Classpath and libgcj are not changed at all.

why?  __GNUC_SUBMINOR__ wasn't encoded either for releases up to 4.9.x.

Matthias