[patch] Don't encode the minor version in the gcj abi version

Matthias Klose <[email protected]> Thu, 28 Apr 2016 09:55:00 +0200
Newsgroups gmane.comp.gcc.patches,gmane.comp.gcc.java.patches
Message-ID <[email protected]>
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
gcj-abi-version.diff (text/x-diff, 625 B)
2016-04-28  Matthias Klose  <[email protected]>

	* 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;