diff mbox

[java] bump libgcj soname

Message ID 56895B88.60504@ubuntu.com
State New
Headers show

Commit Message

Matthias Klose Jan. 3, 2016, 5:34 p.m. UTC
On 03.01.2016 17:23, Andrew Haley wrote:
> On 03/01/16 15:52, Matthias Klose wrote:
>> No, libgcj versions up to 4.9.3 didn't change the value for releases taken from
>> the same branch. All of 4.9.0, 4.9.1, 4.9.2, 4.9.3 have the same
>> GCJ_CXX_ABI_VERSION. But 5.1, 5.2 and 5.3 have *different* GCJ_CXX_ABI_VERSIONs.
>>
>>>> Why change this rule now, at this stage of GCJ's life?
>> This was changed by the change of the version schema, an unintential change for
>> GCJ_CXX_ABI_VERSION.  I want to keep it that way, not change it with every
>> release from the gcc-5 branch.
>
> Because effectively we've done an arithmetic shift left on the GCC version
> numbering, I guess?  So where we would have had 5.1.1, 5.1.2, 5.1.3, we now
> have 5.1, 5.2, 5.3?

yes, exactly.

> If that's the idea, your patch is OK.

committed the attached patch to the gcc-5-branch.

Matthias

Comments

Mike Stump Jan. 3, 2016, 7:01 p.m. UTC | #1
On Jan 3, 2016, at 9:34 AM, Matthias Klose <doko@ubuntu.com> wrote:
> On 03.01.2016 17:23, Andrew Haley wrote:
>> On 03/01/16 15:52, Matthias Klose wrote:
>>> No, libgcj versions up to 4.9.3 didn't change the value for releases taken from
>>> the same branch. All of 4.9.0, 4.9.1, 4.9.2, 4.9.3 have the same
>>> GCJ_CXX_ABI_VERSION. But 5.1, 5.2 and 5.3 have *different* GCJ_CXX_ABI_VERSIONs.
>>> 
>>>>> Why change this rule now, at this stage of GCJ's life?
>>> This was changed by the change of the version schema, an unintential change for
>>> GCJ_CXX_ABI_VERSION.  I want to keep it that way, not change it with every
>>> release from the gcc-5 branch.
>> 
>> Because effectively we've done an arithmetic shift left on the GCC version
>> numbering, I guess?  So where we would have had 5.1.1, 5.1.2, 5.1.3, we now
>> have 5.1, 5.2, 5.3?
> 
> yes, exactly.

But, isn’t there a trunk version of this patch?  I mean, the same issue applies to it and gcc 6, gcc 7 and gcc 8, no?
Matthias Klose Jan. 3, 2016, 10:14 p.m. UTC | #2
On 03.01.2016 20:01, Mike Stump wrote:
> On Jan 3, 2016, at 9:34 AM, Matthias Klose <doko@ubuntu.com> wrote:
>> On 03.01.2016 17:23, Andrew Haley wrote:
>>> On 03/01/16 15:52, Matthias Klose wrote:
>>>> No, libgcj versions up to 4.9.3 didn't change the value for releases taken from
>>>> the same branch. All of 4.9.0, 4.9.1, 4.9.2, 4.9.3 have the same
>>>> GCJ_CXX_ABI_VERSION. But 5.1, 5.2 and 5.3 have *different* GCJ_CXX_ABI_VERSIONs.
>>>>
>>>>>> Why change this rule now, at this stage of GCJ's life?
>>>> This was changed by the change of the version schema, an unintential change for
>>>> GCJ_CXX_ABI_VERSION.  I want to keep it that way, not change it with every
>>>> release from the gcc-5 branch.
>>>
>>> Because effectively we've done an arithmetic shift left on the GCC version
>>> numbering, I guess?  So where we would have had 5.1.1, 5.1.2, 5.1.3, we now
>>> have 5.1, 5.2, 5.3?
>>
>> yes, exactly.
>
> But, isn’t there a trunk version of this patch?  I mean, the same issue applies to it and gcc 6, gcc 7 and gcc 8, no?

yes, r232040.
diff mbox

Patch

2016-01-03  Matthias Klose  <doko@ubuntu.com>

	* include/jvm.h (GCJ_CXX_ABI_VERSION): Freeze the ABI for releases
	made from the gcc-5-branch.

 
Index: include/jvm.h
===================================================================
--- include/jvm.h	(revision 232040)
+++ include/jvm.h	(working copy)
@@ -686,7 +686,10 @@ 
 					  loader.  */
 
 // These are used to find ABI versions we recognize.
-#define GCJ_CXX_ABI_VERSION (__GNUC__ * 100000 + __GNUC_MINOR__ * 1000)
+// GCC 5 changed the versioning schema; the __GNUC_MINOR__ is not anymore
+// a part of a GCC release series.  Freeze the ABI on the gcc-5-branch with
+// the value of the GCC 5.3 release.
+#define GCJ_CXX_ABI_VERSION (__GNUC__ * 100000 + 3 * 1000)
 
 // This is the old-style BC version ID used by GCJ 4.0.0.
 #define OLD_GCJ_40_BC_ABI_VERSION (4 * 10000 + 0 * 10 + 5)