This is the mail archive of the java-patches@gcc.gnu.org mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [patch] [java] bump libgcj soname


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]