public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
* Ok for binutils 2.28
@ 2017-03-01 12:59 Tristan Gingold
  2017-03-01 13:06 ` Maciej W. Rozycki
                   ` (3 more replies)
  0 siblings, 4 replies; 7+ messages in thread
From: Tristan Gingold @ 2017-03-01 12:59 UTC (permalink / raw)
  To: binutils

Hello,

some people (they would recognise themselves :-) have recently committed patches for 2.28 while some others (who would also recognise themselves :-) have insisted to have the release.

Are we at a point where both agree ? Any reason not to release 2.28 *this* week ?

Tristan.

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

* Re: Ok for binutils 2.28
  2017-03-01 12:59 Ok for binutils 2.28 Tristan Gingold
@ 2017-03-01 13:06 ` Maciej W. Rozycki
  2017-03-01 13:17 ` Nick Clifton
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 7+ messages in thread
From: Maciej W. Rozycki @ 2017-03-01 13:06 UTC (permalink / raw)
  To: Tristan Gingold; +Cc: binutils

On Wed, 1 Mar 2017, Tristan Gingold wrote:

> Are we at a point where both agree ? Any reason not to release 2.28 
> *this* week ?

 Fine with me as far as the MIPS port is concerned.  We'll have to live 
with all the bugs that remained. ;)

  Maciej

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

* Re: Ok for binutils 2.28
  2017-03-01 12:59 Ok for binutils 2.28 Tristan Gingold
  2017-03-01 13:06 ` Maciej W. Rozycki
@ 2017-03-01 13:17 ` Nick Clifton
  2017-03-01 13:29 ` Alan Modra
  2017-03-01 13:42 ` Markus Trippelsdorf
  3 siblings, 0 replies; 7+ messages in thread
From: Nick Clifton @ 2017-03-01 13:17 UTC (permalink / raw)
  To: Tristan Gingold, binutils

Hi Tristan,

> Are we at a point where both agree ? Any reason not to release 2.28 *this* week ?

Personal opinion - go for release!

There will always be more bugs to fix and more patches that could go in, but you
have to draw the line somewhere.  Do it now, and let the complainers pester you
for a 2.28.1 point release some time down the road...

Cheers
  Nick


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

* Re: Ok for binutils 2.28
  2017-03-01 12:59 Ok for binutils 2.28 Tristan Gingold
  2017-03-01 13:06 ` Maciej W. Rozycki
  2017-03-01 13:17 ` Nick Clifton
@ 2017-03-01 13:29 ` Alan Modra
  2017-03-01 13:42 ` Markus Trippelsdorf
  3 siblings, 0 replies; 7+ messages in thread
From: Alan Modra @ 2017-03-01 13:29 UTC (permalink / raw)
  To: Tristan Gingold; +Cc: binutils

On Wed, Mar 01, 2017 at 01:59:04PM +0100, Tristan Gingold wrote:
> Are we at a point where both agree ? Any reason not to release 2.28 *this* week ?

As far as I can tell, we're good to go.

-- 
Alan Modra
Australia Development Lab, IBM

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

* Re: Ok for binutils 2.28
  2017-03-01 12:59 Ok for binutils 2.28 Tristan Gingold
                   ` (2 preceding siblings ...)
  2017-03-01 13:29 ` Alan Modra
@ 2017-03-01 13:42 ` Markus Trippelsdorf
  2017-03-01 13:59   ` Markus Trippelsdorf
  3 siblings, 1 reply; 7+ messages in thread
From: Markus Trippelsdorf @ 2017-03-01 13:42 UTC (permalink / raw)
  To: Tristan Gingold; +Cc: binutils

On 2017.03.01 at 13:59 +0100, Tristan Gingold wrote:
> Hello,
> 
> some people (they would recognise themselves :-) have recently
> committed patches for 2.28 while some others (who would also recognise
> themselves :-) have insisted to have the release.
> 
> Are we at a point where both agree ? Any reason not to release 2.28
> *this* week ?

It would be good if someone could sync libiberty with gcc's. There are
several demangling fixes, that are needed for gcc-7.

-- 
Markus

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

* Re: Ok for binutils 2.28
  2017-03-01 13:42 ` Markus Trippelsdorf
@ 2017-03-01 13:59   ` Markus Trippelsdorf
  2017-03-01 15:12     ` Nick Clifton
  0 siblings, 1 reply; 7+ messages in thread
From: Markus Trippelsdorf @ 2017-03-01 13:59 UTC (permalink / raw)
  To: Tristan Gingold; +Cc: binutils

On 2017.03.01 at 14:42 +0100, Markus Trippelsdorf wrote:
> On 2017.03.01 at 13:59 +0100, Tristan Gingold wrote:
> > Hello,
> > 
> > some people (they would recognise themselves :-) have recently
> > committed patches for 2.28 while some others (who would also recognise
> > themselves :-) have insisted to have the release.
> > 
> > Are we at a point where both agree ? Any reason not to release 2.28
> > *this* week ?
> 
> It would be good if someone could sync libiberty with gcc's. There are
> several demangling fixes, that are needed for gcc-7.

Here is the patch:

libiberty/ChangeLog:

	Sync with gcc.

diff --git a/libiberty/cp-demangle.c b/libiberty/cp-demangle.c
index 15ef3b48785f..f0dbf9381c6b 100644
--- a/libiberty/cp-demangle.c
+++ b/libiberty/cp-demangle.c
@@ -1594,6 +1594,8 @@ d_unqualified_name (struct d_info *di)
     ret = d_source_name (di);
   else if (IS_LOWER (peek))
     {
+      if (peek == 'o' && d_peek_next_char (di) == 'n')
+	d_advance (di, 2);
       ret = d_operator_name (di);
       if (ret != NULL && ret->type == DEMANGLE_COMPONENT_OPERATOR)
 	{
@@ -3609,7 +3611,11 @@ d_local_name (struct d_info *di)
     }
 }
 
-/* <discriminator> ::= _ <(non-negative) number>
+/* <discriminator> ::= _ <number>    # when number < 10
+                   ::= __ <number> _ # when number >= 10
+
+   <discriminator> ::= _ <number>    # when number >=10
+   is also accepted to support gcc versions that wrongly mangled that way.
 
    We demangle the discriminator, but we don't print it out.  FIXME:
    We should print it out in verbose mode.  */
@@ -3617,14 +3623,28 @@ d_local_name (struct d_info *di)
 static int
 d_discriminator (struct d_info *di)
 {
-  int discrim;
+  int discrim, num_underscores = 1;
 
   if (d_peek_char (di) != '_')
     return 1;
   d_advance (di, 1);
+  if (d_peek_char (di) == '_')
+    {
+      ++num_underscores;
+      d_advance (di, 1);
+    }
+
   discrim = d_number (di);
   if (discrim < 0)
     return 0;
+  if (num_underscores > 1 && discrim >= 10)
+    {
+      if (d_peek_char (di) == '_')
+	d_advance (di, 1);
+      else
+	return 0;
+    }
+
   return 1;
 }
 
diff --git a/libiberty/testsuite/demangle-expected b/libiberty/testsuite/demangle-expected
index b65dcd3450e9..c1cfa1545eca 100644
--- a/libiberty/testsuite/demangle-expected
+++ b/libiberty/testsuite/demangle-expected
@@ -4666,3 +4666,26 @@ void eat<int*, Foo()::{lambda(auto:1*, auto:2*)#6}>(int*&, Foo()::{lambda(auto:1
 
 _Z3eatIPiZ3BarIsEvvEUlPsPT_PT0_E0_EvRS3_RS5_
 void eat<int*, void Bar<short>()::{lambda(short*, auto:1*, auto:2*)#2}>(int*&, void Bar<short>()::{lambda(short*, auto:1*, auto:2*)#2}&)
+
+# PR 77489
+_ZZ3foovE8localVar_9
+foo()::localVar
+
+_ZZ3foovE8localVar_10
+foo()::localVar
+
+_ZZ3foovE8localVar__10_
+foo()::localVar
+
+_ZZ3foovE8localVar__9_
+_ZZ3foovE8localVar__9_
+
+_ZZ3foovE8localVar__12
+_ZZ3foovE8localVar__12
+
+# PR 70182
+_Z1gI1AEv1SIXadsrT_onplEE
+void g<A>(S<&A::operator+>)
+
+_Z1gI1AEv1SIXadsrT_plEE
+void g<A>(S<&A::operator+>)
-- 
Markus

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

* Re: Ok for binutils 2.28
  2017-03-01 13:59   ` Markus Trippelsdorf
@ 2017-03-01 15:12     ` Nick Clifton
  0 siblings, 0 replies; 7+ messages in thread
From: Nick Clifton @ 2017-03-01 15:12 UTC (permalink / raw)
  To: Markus Trippelsdorf, Tristan Gingold; +Cc: binutils

Hi Markus,

> It would be good if someone could sync libiberty with gcc's. There are
> several demangling fixes, that are needed for gcc-7.

I have updated the mainline sources.  The branch decision is up to Tristan.

Cheers
  Nick




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

end of thread, other threads:[~2017-03-01 15:12 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-03-01 12:59 Ok for binutils 2.28 Tristan Gingold
2017-03-01 13:06 ` Maciej W. Rozycki
2017-03-01 13:17 ` Nick Clifton
2017-03-01 13:29 ` Alan Modra
2017-03-01 13:42 ` Markus Trippelsdorf
2017-03-01 13:59   ` Markus Trippelsdorf
2017-03-01 15:12     ` Nick Clifton

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