public inbox for java-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [patch] Don't encode the minor version in the gcj abi version
@ 2016-04-28  7:55 Matthias Klose
  2016-04-28  7:56 ` Andrew Haley
  2016-04-28  8:39 ` Rainer Orth
  0 siblings, 2 replies; 6+ messages in thread
From: Matthias Klose @ 2016-04-28  7:55 UTC (permalink / raw)
  To: GCJ-patches; +Cc: GCC Patches

[-- Attachment #1: Type: text/plain, Size: 992 bytes --]

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

[-- Attachment #2: gcj-abi-version.diff --]
[-- Type: text/x-diff, Size: 625 bytes --]

2016-04-28  Matthias Klose  <doko@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;

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [patch] Don't encode the minor version in the gcj abi version
  2016-04-28  7:55 [patch] Don't encode the minor version in the gcj abi version Matthias Klose
@ 2016-04-28  7:56 ` Andrew Haley
  2016-04-28  8:39 ` Rainer Orth
  1 sibling, 0 replies; 6+ messages in thread
From: Andrew Haley @ 2016-04-28  7:56 UTC (permalink / raw)
  To: Matthias Klose, GCJ-patches; +Cc: GCC Patches

On 28/04/16 08:55, Matthias Klose wrote:
> Ok for the 6 branch and the trunk?

OK,

Andrew.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [patch] Don't encode the minor version in the gcj abi version
  2016-04-28  7:55 [patch] Don't encode the minor version in the gcj abi version Matthias Klose
  2016-04-28  7:56 ` Andrew Haley
@ 2016-04-28  8:39 ` Rainer Orth
  2016-04-28 10:52   ` Rainer Orth
  1 sibling, 1 reply; 6+ messages in thread
From: Rainer Orth @ 2016-04-28  8:39 UTC (permalink / raw)
  To: Matthias Klose; +Cc: GCJ-patches, GCC Patches

Matthias Klose <doko@ubuntu.com> writes:

> 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.

This is PR java/70839.

	Rainer

-- 
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [patch] Don't encode the minor version in the gcj abi version
  2016-04-28  8:39 ` Rainer Orth
@ 2016-04-28 10:52   ` Rainer Orth
  2016-04-28 11:45     ` Matthias Klose
  0 siblings, 1 reply; 6+ messages in thread
From: Rainer Orth @ 2016-04-28 10:52 UTC (permalink / raw)
  To: Matthias Klose; +Cc: GCJ-patches, GCC Patches

[-- Attachment #1: Type: text/plain, Size: 630 bytes --]

Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> writes:

> Matthias Klose <doko@ubuntu.com> writes:
>
>> 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.
>
> This is PR java/70839.

I just noticed that your patch is incomplete: it leaves the now unused
minor around and incorrectly talks about sub-minor versions...

Here's what I had in the PR instead:

2016-04-28  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	PR java/70839
	* decl.c (parse_version): Remove minor handling.


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: java-abi-minor-version.patch --]
[-- Type: text/x-patch, Size: 1212 bytes --]

# HG changeset patch
# Parent  acf979f160547bd8b9b207525f97c29f6c9a9a6e
Don't include minor version in GCJ ABI version

diff --git a/gcc/java/decl.c b/gcc/java/decl.c
--- a/gcc/java/decl.c
+++ b/gcc/java/decl.c
@@ -507,7 +507,7 @@ static void
 parse_version (void)
 {
   const char *p = version_string;
-  unsigned int major = 0, minor = 0;
+  unsigned int major = 0;
   unsigned int abi_version;
 
   /* Skip leading junk.  */
@@ -525,13 +525,6 @@ parse_version (void)
   gcc_assert (*p == '.' && ISDIGIT (p[1]));
   ++p;
 
-  /* Extract minor version.  */
-  while (ISDIGIT (*p))
-    {
-      minor = minor * 10 + *p - '0';
-      ++p;
-    }
-
   if (flag_indirect_dispatch)
     {
       abi_version = GCJ_CURRENT_BC_ABI_VERSION;
@@ -540,9 +533,9 @@ parse_version (void)
   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 minor release (e.g., from 6.1.0 to
+	 6.2.0).  */
+      abi_version = 100000 * major;
     }
   if (flag_bootstrap_classes)
     abi_version |= FLAG_BOOTSTRAP_LOADER;

[-- Attachment #3: Type: text/plain, Size: 152 bytes --]


	Rainer

-- 
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [patch] Don't encode the minor version in the gcj abi version
  2016-04-28 10:52   ` Rainer Orth
@ 2016-04-28 11:45     ` Matthias Klose
  2016-04-28 11:47       ` Andrew Haley
  0 siblings, 1 reply; 6+ messages in thread
From: Matthias Klose @ 2016-04-28 11:45 UTC (permalink / raw)
  To: Rainer Orth; +Cc: GCJ-patches, GCC Patches

On 28.04.2016 12:52, Rainer Orth wrote:
> Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> writes:
>
>> Matthias Klose <doko@ubuntu.com> writes:
>>
>>> 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.
>>
>> This is PR java/70839.
>
> I just noticed that your patch is incomplete: it leaves the now unused
> minor around and incorrectly talks about sub-minor versions...
>
> Here's what I had in the PR instead:
>
> 2016-04-28  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
>
> 	PR java/70839
> 	* decl.c (parse_version): Remove minor handling.

yes, that looks good. Can't approve it myself.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [patch] Don't encode the minor version in the gcj abi version
  2016-04-28 11:45     ` Matthias Klose
@ 2016-04-28 11:47       ` Andrew Haley
  0 siblings, 0 replies; 6+ messages in thread
From: Andrew Haley @ 2016-04-28 11:47 UTC (permalink / raw)
  To: Matthias Klose, Rainer Orth; +Cc: GCJ-patches, GCC Patches

On 04/28/2016 12:45 PM, Matthias Klose wrote:
> yes, that looks good. Can't approve it myself.

OK.

Andrew.

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2016-04-28 11:47 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-04-28  7:55 [patch] Don't encode the minor version in the gcj abi version Matthias Klose
2016-04-28  7:56 ` Andrew Haley
2016-04-28  8:39 ` Rainer Orth
2016-04-28 10:52   ` Rainer Orth
2016-04-28 11:45     ` Matthias Klose
2016-04-28 11:47       ` Andrew Haley

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).