Bumping the version from from 6.0.0 to 6.1.0 broke gcj, because the minor version is still encoded in the gcj abi, not seen during development of the 6 series until it was bumped for the final release.

The gcc-5-branch needs a slightly different approach, because we froze the abi version only with the 5.3.0 release.

--- gcc/java/decl.c     (Revision 235458)
+++ gcc/java/decl.c     (Arbeitskopie)
@@ -561,9 +561,10 @@
   else /* C++ ABI */
     {
       /* Implicit in this computation is the idea that we won't break the
-        old-style binary ABI in a sub-minor release (e.g., from 4.0.0 to
-        4.0.1).  */
-      abi_version = 100000 * major + 1000 * minor;
+        old-style binary ABI in a sub-minor release (e.g., from 5.0 to
+        5.1).  Freeze the ABI on the gcc-5-branch with the value of the
+        GCC 5.3 release.*/
+      abi_version = 100000 * major + 1000 * 3;
     }
   if (flag_bootstrap_classes)
     abi_version |= FLAG_BOOTSTRAP_LOADER;

Ok for the 6 branch and the trunk?

Matthias
2016-04-28  Matthias Klose  <d...@ubuntu.com>

	* decl.c (parse_version): Don't encode the minor version in the abi
	version.

 
--- gcc/java/decl.c
+++ gcc/java/decl.c
@@ -540,9 +540,9 @@
   else /* C++ ABI */
     {
       /* Implicit in this computation is the idea that we won't break the
-	 old-style binary ABI in a sub-minor release (e.g., from 4.0.0 to
-	 4.0.1).  */
-      abi_version = 100000 * major + 1000 * minor;
+	 old-style binary ABI in a sub-minor release (e.g., from 6.0 to
+	 6.1).  */
+      abi_version = 100000 * major;
     }
   if (flag_bootstrap_classes)
     abi_version |= FLAG_BOOTSTRAP_LOADER;

Reply via email to