This is the mail archive of the
java@gcc.gnu.org
mailing list for the Java project.
Re: Binary Compatibility
>>>>> "Andrew" == Andrew Haley <aph@redhat.com> writes:
Andrew> Before we do anything else, I think we need a Binary
Andrew> Compatibility Testsuite.
Great idea. There are a few tests for this sort of thing in Jacks.
However, I don't think they are exhaustive.
Andrew> One question: do we think that Binary Compatibility issues will arise
Andrew> when referencing compiled Java code from CNI C++ code? Personally, I
Andrew> think that such issues are outside the scope of Java binary
Andrew> compatibility, so CNI code can continue to reference Java methods as
Andrew> at present.
Unfortunately, I think it does matter.
First, I think one of our goals is to be able to actually promise
binary compatibility to our users. One thing this means to me is that
a third party could ship a library compiled with e.g.) gcj 3.5, and
still expect it to work without recompilation with gcj 3.6.
If a library like this contains any CNI code, that goal will only be
achievable if g++ also implements the binary compatibility ABI. For
instance the size of some base class might change, or a new virtual
function added somewhere in the core classes. (As a thought
experiment, what if we add a new field and virtual method to Object?)
Another choice would be to simply require people wanting this feature
to use JNI, which does make these promises. This isn't entirely
unreasonable.
I suspect the decision will lie with the g++ maintainers anyway.
Would they even accept a change like this?
Tom