Rainer Orth <[email protected]> writes:
> Matthias Klose <[email protected]> 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 <[email protected]>
PR java/70839
* decl.c (parse_version): Remove minor handling.
# 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;
Rainer
--
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University