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. I guess we can guarantee that on the gcc-5 branch? Andrew.