public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
* Re: Oh dear. I regret to inform you that commit ab816a274505933da2f854014b54901c3c3db9d2 might be unfortunate
       [not found] <5378.08408630571$1506886707@news.gmane.org>
@ 2017-10-02  1:10 ` Sergio Durigan Junior
  2017-10-02  2:04   ` Tom Tromey
  0 siblings, 1 reply; 6+ messages in thread
From: Sergio Durigan Junior @ 2017-10-02  1:10 UTC (permalink / raw)
  To: Tom Tromey, gdb-patches

On Sunday, October 01 2017, gdb-buildbot@sergiodj.net wrote:

> My lords, ladies, gentlemen, members of the public.
>
> It is a matter of great regret and sadness to inform you that commit:
>
> 	Use a std::vector for ada_exceptions_list
> 	ab816a274505933da2f854014b54901c3c3db9d2
>
> might have made GDB unwell.  Since I am just your Butler BuildBot,
> I kindly ask that a human superior officer double-check this.
>
> Please note that if you are reading this message on gdb-patches, there might
> be other builders broken.
>
> You can find more details about the unfortunate breakage in the next messages.

FWIW, the brekages happened on RHEL-s390x-m64, Ubuntu-AArch64-m64 and
Ubuntu-AArch64-native-gdbserver-m64 (so far).

The compilation log says:

In file included from /usr/include/c++/4.8/algorithm:62:0,
                 from ../../binutils-gdb/gdb/ada-lang.c:65:
/usr/include/c++/4.8/bits/stl_algo.h: In instantiation of ‘_RandomAccessIterator std::__unguarded_partition(_RandomAccessIterator, _RandomAccessIterator, const _Tp&) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<ada_exc_info*, std::vector<ada_exc_info> >; _Tp = ada_exc_info]’:
/usr/include/c++/4.8/bits/stl_algo.h:2283:70:   required from ‘_RandomAccessIterator std::__unguarded_partition_pivot(_RandomAccessIterator, _RandomAccessIterator) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<ada_exc_info*, std::vector<ada_exc_info> >]’
/usr/include/c++/4.8/bits/stl_algo.h:2315:54:   required from ‘void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<ada_exc_info*, std::vector<ada_exc_info> >; _Size = long int]’
/usr/include/c++/4.8/bits/stl_algo.h:5461:36:   required from ‘void std::sort(_RAIter, _RAIter) [with _RAIter = __gnu_cxx::__normal_iterator<ada_exc_info*, std::vector<ada_exc_info> >]’
../../binutils-gdb/gdb/ada-lang.c:13153:61:   required from here
/usr/include/c++/4.8/bits/stl_algo.h:2245:19: error: passing ‘const ada_exc_info’ as ‘this’ argument of ‘bool ada_exc_info::operator<(const ada_exc_info&)’ discards qualifiers [-fpermissive]
    while (__pivot < *__last)
                   ^
make[2]: *** [ada-lang.o] Error 1

Cheers,

-- 
Sergio
GPG key ID: 237A 54B1 0287 28BF 00EF  31F4 D0EB 7628 65FC 5E36
Please send encrypted e-mail if possible
http://sergiodj.net/

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

* Re: Oh dear. I regret to inform you that commit ab816a274505933da2f854014b54901c3c3db9d2 might be unfortunate
  2017-10-02  1:10 ` Oh dear. I regret to inform you that commit ab816a274505933da2f854014b54901c3c3db9d2 might be unfortunate Sergio Durigan Junior
@ 2017-10-02  2:04   ` Tom Tromey
  2017-10-02  2:43     ` Sergio Durigan Junior
  2017-10-02  9:39     ` Pedro Alves
  0 siblings, 2 replies; 6+ messages in thread
From: Tom Tromey @ 2017-10-02  2:04 UTC (permalink / raw)
  To: Sergio Durigan Junior; +Cc: Tom Tromey, gdb-patches

>>>>> "Sergio" == Sergio Durigan Junior <sergiodj@redhat.com> writes:

Sergio> /usr/include/c++/4.8/bits/stl_algo.h:2245:19: error: passing ‘const ada_exc_info’ as ‘this’ argument of ‘bool ada_exc_info::operator<(const ada_exc_info&)’ discards qualifiers [-fpermissive]

I don't really understand this error, and especially why I don't see it
(and didn't see it from try?), but I wonder if changing operator< and
operator== to const-qualified would help.

The appended is an attempt but I'm not sure how to test it now.

Tom

diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c
index 7e9f06c..1a0c769 100644
--- a/gdb/ada-lang.c
+++ b/gdb/ada-lang.c
@@ -13123,7 +13123,7 @@ ada_is_non_standard_exception_sym (struct symbol *sym)
    by exception address.  */
 
 bool
-ada_exc_info::operator< (const ada_exc_info &other)
+ada_exc_info::operator< (const ada_exc_info &other) const
 {
   int result;
 
@@ -13136,7 +13136,7 @@ ada_exc_info::operator< (const ada_exc_info &other)
 }
 
 bool
-ada_exc_info::operator== (const ada_exc_info &other)
+ada_exc_info::operator== (const ada_exc_info &other) const
 {
   return addr == other.addr && strcmp (name, other.name) == 0;
 }
diff --git a/gdb/ada-lang.h b/gdb/ada-lang.h
index f92b88d..a47fe82 100644
--- a/gdb/ada-lang.h
+++ b/gdb/ada-lang.h
@@ -387,8 +387,8 @@ struct ada_exc_info
   /* The address of the symbol corresponding to that exception.  */
   CORE_ADDR addr;
 
-  bool operator< (const ada_exc_info &);
-  bool operator== (const ada_exc_info &);
+  bool operator< (const ada_exc_info &) const;
+  bool operator== (const ada_exc_info &) const;
 };
 
 extern std::vector<ada_exc_info> ada_exceptions_list (const char *regexp);

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

* Re: Oh dear. I regret to inform you that commit ab816a274505933da2f854014b54901c3c3db9d2 might be unfortunate
  2017-10-02  2:04   ` Tom Tromey
@ 2017-10-02  2:43     ` Sergio Durigan Junior
  2017-10-02  9:10       ` Tejas Belagod
  2017-10-02  9:39     ` Pedro Alves
  1 sibling, 1 reply; 6+ messages in thread
From: Sergio Durigan Junior @ 2017-10-02  2:43 UTC (permalink / raw)
  To: Tom Tromey; +Cc: gdb-patches

On Sunday, October 01 2017, Tom Tromey wrote:

>>>>>> "Sergio" == Sergio Durigan Junior <sergiodj@redhat.com> writes:
>
> Sergio> /usr/include/c++/4.8/bits/stl_algo.h:2245:19: error: passing
> Sergio> ‘const ada_exc_info’ as ‘this’ argument of ‘bool
> Sergio> ada_exc_info::operator<(const ada_exc_info&)’ discards
> Sergio> qualifiers [-fpermissive]
>
> I don't really understand this error, and especially why I don't see it
> (and didn't see it from try?), but I wonder if changing operator< and
> operator== to const-qualified would help.

Hm, it may be that you're not testing your patches on the AArch64
builders, maybe?  At least I don't see any try builds from you here:

  https://gdb-build.sergiodj.net/builders/Ubuntu-AArch64-m64?numbuilds=500

> The appended is an attempt but I'm not sure how to test it now.

You can test by specifying the AArch64 builder manually via the cli:

  buildbot try -b Ubuntu-AArch64-m64

This should run the try build only on the specified builder.

-- 
Sergio
GPG key ID: 237A 54B1 0287 28BF 00EF  31F4 D0EB 7628 65FC 5E36
Please send encrypted e-mail if possible
http://sergiodj.net/

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

* Re: Re: Oh dear. I regret to inform you that commit ab816a274505933da2f854014b54901c3c3db9d2 might be unfortunate
  2017-10-02  2:43     ` Sergio Durigan Junior
@ 2017-10-02  9:10       ` Tejas Belagod
  0 siblings, 0 replies; 6+ messages in thread
From: Tejas Belagod @ 2017-10-02  9:10 UTC (permalink / raw)
  To: Tom Tromey; +Cc: Sergio Durigan Junior, gdb-patches

On 02/10/17 03:43, Sergio Durigan Junior wrote:
> On Sunday, October 01 2017, Tom Tromey wrote:
>
>>>>>>> "Sergio" == Sergio Durigan Junior <sergiodj@redhat.com> writes:
>>
>> Sergio> /usr/include/c++/4.8/bits/stl_algo.h:2245:19: error: passing
>> Sergio> ‘const ada_exc_info’ as ‘this’ argument of ‘bool
>> Sergio> ada_exc_info::operator<(const ada_exc_info&)Â’ discards
>> Sergio> qualifiers [-fpermissive]
>>
>> I don't really understand this error, and especially why I don't see it
>> (and didn't see it from try?), but I wonder if changing operator< and
>> operator== to const-qualified would help.
>
> Hm, it may be that you're not testing your patches on the AArch64
> builders, maybe?  At least I don't see any try builds from you here:
>
>    https://gdb-build.sergiodj.net/builders/Ubuntu-AArch64-m64?numbuilds=500
>
>> The appended is an attempt but I'm not sure how to test it now.
>
> You can test by specifying the AArch64 builder manually via the cli:
>
>    buildbot try -b Ubuntu-AArch64-m64
>
> This should run the try build only on the specified builder.
>

Tom,

This also fails to build for arm-none-eabi

$ src/gdb/configure --target=arm-none-eabi --disable-nls --disable-sim 
--disable-gas --disable-binutils --disable-ld --disable-gprof --with-libexpat 
--with-lzma=no 
--with-system-gdbinit=..../install-native/x86_64-linux-gnu/arm-none-eabi/lib/gdbinit 
--build=x86_64-linux-gnu --host=x86_64-linux-gnu 
--with-libexpat-prefix=..../build-native/host-libs/usr --with-python=no 
'--with-gdb-datadir='\''${prefix}'\''/arm-none-eabi/share/gdb' && make -j24

Thanks,
Tejas.



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

* Re: Oh dear. I regret to inform you that commit ab816a274505933da2f854014b54901c3c3db9d2 might be unfortunate
  2017-10-02  2:04   ` Tom Tromey
  2017-10-02  2:43     ` Sergio Durigan Junior
@ 2017-10-02  9:39     ` Pedro Alves
  1 sibling, 0 replies; 6+ messages in thread
From: Pedro Alves @ 2017-10-02  9:39 UTC (permalink / raw)
  To: Tom Tromey, Sergio Durigan Junior; +Cc: gdb-patches

On 10/02/2017 03:04 AM, Tom Tromey wrote:
>>>>>> "Sergio" == Sergio Durigan Junior <sergiodj@redhat.com> writes:
> 
> Sergio> /usr/include/c++/4.8/bits/stl_algo.h:2245:19: error: passing ‘const ada_exc_info’ as ‘this’ argument of ‘bool ada_exc_info::operator<(const ada_exc_info&)’ discards qualifiers [-fpermissive]
> 
> I don't really understand this error, 

I have a local build of gcc 4.8.5, and I see the same.  The const is
coming from here:

/opt/gcc-4.8/include/c++/4.8.5/bits/stl_algo.h: In instantiation of ‘_RandomAccessIterator std::__unguarded_partition(_RandomAccessIterator, _RandomAccessIterator, const _Tp&) [with _RandomAccessIterator = 
                                                                         ^^^^^^^^^^
__gnu_cxx::__normal_iterator<ada_exc_info*, std::vector<ada_exc_info> >; _Tp = ada_exc_info]’:
                                                                         ^^^^^^^^^^^^^^^^^^

I think that was a bug in libstdc++.  std::__unguarded_partition no longer take
'const _Tp&' in the current sources.  Git blame points at:

  https://gcc.gnu.org/ml/libstdc++/2012-04/msg00074.html

where François wrote (emphasis mine):

~~~~
 - __unguarded_partition used to have 3 template parameters: _RandomAccessIterator, _Tp and _Compare. It was taking a const reference 
                                                                                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 to _Tp which was a useless constraint for the functor. So it now only have 2 template parameters, const _Tp& has been replaced by 
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 iterator_traits<_RandomAccessIterator>::reference.
~~~~

and especially why I don't see it
> (and didn't see it from try?), but I wonder if changing operator< and
> operator== to const-qualified would help.
> 
> The appended is an attempt but I'm not sure how to test it now.

Yes, I also think that that's the right fix.  I've pushed it in now.

Thanks,
Pedro Alves

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

* Oh dear. I regret to inform you that commit ab816a274505933da2f854014b54901c3c3db9d2 might be unfortunate
@ 2017-10-01 19:38 gdb-buildbot
  0 siblings, 0 replies; 6+ messages in thread
From: gdb-buildbot @ 2017-10-01 19:38 UTC (permalink / raw)
  To: Tom Tromey, gdb-patches

My lords, ladies, gentlemen, members of the public.

It is a matter of great regret and sadness to inform you that commit:

	Use a std::vector for ada_exceptions_list
	ab816a274505933da2f854014b54901c3c3db9d2

might have made GDB unwell.  Since I am just your Butler BuildBot,
I kindly ask that a human superior officer double-check this.

Please note that if you are reading this message on gdb-patches, there might
be other builders broken.

You can find more details about the unfortunate breakage in the next messages.

Cheers,

Your GDB BuildBot.

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

end of thread, other threads:[~2017-10-02  9:39 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <5378.08408630571$1506886707@news.gmane.org>
2017-10-02  1:10 ` Oh dear. I regret to inform you that commit ab816a274505933da2f854014b54901c3c3db9d2 might be unfortunate Sergio Durigan Junior
2017-10-02  2:04   ` Tom Tromey
2017-10-02  2:43     ` Sergio Durigan Junior
2017-10-02  9:10       ` Tejas Belagod
2017-10-02  9:39     ` Pedro Alves
2017-10-01 19:38 gdb-buildbot

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