public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
* GDB 8.2 release 2018-08-21 status update
@ 2018-08-21 17:51 Joel Brobecker
  2018-08-21 18:33 ` Kevin Buettner
                   ` (4 more replies)
  0 siblings, 5 replies; 20+ messages in thread
From: Joel Brobecker @ 2018-08-21 17:51 UTC (permalink / raw)
  To: kevinb, scox, palves; +Cc: gdb-patches

Hello,

We are now at nearly 7 weeks since we created the 8.1.90 pre-release.
This is a bit longer than the time we typically take to get the first
release out, but considering we're in the middle of the summer with
lots of us taking holidays (including myself), this is a bit to be
expected...

As you will see from below, there is potentially still a fair amount
of work to do :-/.

Here is the currently list of PRs we identified as blocking for 8.2:

  * [KevinB] PR gdb/23021
    Setting breakpoints with -freorder-blocks-and-partition
    https://sourceware.org/bugzilla/show_bug.cgi?id=23021

	Identified as needed in the previous release, but couldn't do it
        in time. We should be very close, now:
        [v3] https://sourceware.org/ml/gdb-patches/2018-08/msg00467.html

        I'm wondering how reasonable it's going to be to backport
        those changes onto the branch, though... Any thoughts on that?
        Kevin? Simon?

  * [KevinB] PR symtab/23010
    Regression: Assertion: SYMBOL_LANGUAGE (sym) == DICT_LANGUAGE (dict)->la_language
    https://sourceware.org/bugzilla/show_bug.cgi?id=23010

        This regression was seemingly fixed, and then makes a come back.
        I suggested we double-check this is indeed still a regression.

  * [StanC] PR varobj/23378
    gdb.mi/mi-var-cmd.exp, with gdbserver
    https://sourceware.org/bugzilla/show_bug.cgi?id=23378

        GDB not reporting that a variable is now out of scope
        (when in native GDBserver mode).

The following PRs are currently unassigned; Pedro's name was tentatively
put down, but only because he had the misfortune of being the reporter.
If possible, we should try to help Pedro finding the commit that caused
the regression -- I will take care of bisecting 23374 (a big Thank You
to Sergio DJ for helping with 23378).

  * [*UNASSIGNED* (Joel???)] PR gdb/23374
    gdb.base/execl-update-breakpoints.exp, with --target_board=native-gdbserver
    https://sourceware.org/bugzilla/show_bug.cgi?id=23374

        No problem with native debugging, or when using the native
        gdbserver in extended-remote mode.

  * [*UNASSIGNED* (Pedro???)] PR gdb/23375
    gdb.base/jit-simple.exp, with --target_board=native-gdbserver
    https://sourceware.org/bugzilla/show_bug.cgi?id=23375

        Same as above, native debugging and extended-remote OK.

  * [*UNASSIGNED* (Pedro???)] PR python/23379
    gdb.python/py-evthreads.exp, with gdbserver
    https://sourceware.org/bugzilla/show_bug.cgi?id=23379

        Internal error running to a breakpoint, when in native gdbserver
        mode. Pure native mode is OK.

Thanks!
-- 
Joel

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

* Re: GDB 8.2 release 2018-08-21 status update
  2018-08-21 17:51 GDB 8.2 release 2018-08-21 status update Joel Brobecker
@ 2018-08-21 18:33 ` Kevin Buettner
  2018-08-21 19:02 ` Simon Marchi
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 20+ messages in thread
From: Kevin Buettner @ 2018-08-21 18:33 UTC (permalink / raw)
  To: Joel Brobecker; +Cc: gdb-patches, scox, palves, Keith Seitz

On Tue, 21 Aug 2018 10:51:36 -0700
Joel Brobecker <brobecker@adacore.com> wrote:

>   * [KevinB] PR gdb/23021
>     Setting breakpoints with -freorder-blocks-and-partition
>     https://sourceware.org/bugzilla/show_bug.cgi?id=23021
> 
> 	Identified as needed in the previous release, but couldn't do it
>         in time. We should be very close, now:
>         [v3] https://sourceware.org/ml/gdb-patches/2018-08/msg00467.html
> 
>         I'm wondering how reasonable it's going to be to backport
>         those changes onto the branch, though... Any thoughts on that?
>         Kevin? Simon?

I know that the current patches won't apply cleanly - I had to do a
bit of work yesterday to rebase my v2 work to the current sources.
It probably won't be too hard though...

>   * [KevinB] PR symtab/23010
>     Regression: Assertion: SYMBOL_LANGUAGE (sym) == DICT_LANGUAGE (dict)->la_language
>     https://sourceware.org/bugzilla/show_bug.cgi?id=23010
> 
>         This regression was seemingly fixed, and then makes a come back.
>         I suggested we double-check this is indeed still a regression.

I think this one is for Keith? (I've added him to the CC.)

Kevin

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

* Re: GDB 8.2 release 2018-08-21 status update
  2018-08-21 17:51 GDB 8.2 release 2018-08-21 status update Joel Brobecker
  2018-08-21 18:33 ` Kevin Buettner
@ 2018-08-21 19:02 ` Simon Marchi
  2018-08-21 20:17   ` Simon Marchi
  2018-08-21 20:55 ` Joel Brobecker
                   ` (2 subsequent siblings)
  4 siblings, 1 reply; 20+ messages in thread
From: Simon Marchi @ 2018-08-21 19:02 UTC (permalink / raw)
  To: Joel Brobecker; +Cc: kevinb, scox, palves, gdb-patches

On 2018-08-21 13:51, Joel Brobecker wrote:
>   * [*UNASSIGNED* (Pedro???)] PR gdb/23375
>     gdb.base/jit-simple.exp, with --target_board=native-gdbserver
>     https://sourceware.org/bugzilla/show_bug.cgi?id=23375
> 
>         Same as above, native debugging and extended-remote OK.

I'll give a shot at bisecting this one.

Simon

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

* Re: GDB 8.2 release 2018-08-21 status update
  2018-08-21 19:02 ` Simon Marchi
@ 2018-08-21 20:17   ` Simon Marchi
  2018-08-21 20:54     ` Joel Brobecker
  0 siblings, 1 reply; 20+ messages in thread
From: Simon Marchi @ 2018-08-21 20:17 UTC (permalink / raw)
  To: Joel Brobecker; +Cc: kevinb, scox, palves, gdb-patches

On 2018-08-21 15:02, Simon Marchi wrote:
> On 2018-08-21 13:51, Joel Brobecker wrote:
>>   * [*UNASSIGNED* (Pedro???)] PR gdb/23375
>>     gdb.base/jit-simple.exp, with --target_board=native-gdbserver
>>     https://sourceware.org/bugzilla/show_bug.cgi?id=23375
>> 
>>         Same as above, native debugging and extended-remote OK.
> 
> I'll give a shot at bisecting this one.
> 
> Simon

The failure seems to have been introduced by c12a508 ("Add client_state 
struct.") as well.

Simon

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

* Re: GDB 8.2 release 2018-08-21 status update
  2018-08-21 20:17   ` Simon Marchi
@ 2018-08-21 20:54     ` Joel Brobecker
  2018-08-22 16:07       ` Simon Marchi
  0 siblings, 1 reply; 20+ messages in thread
From: Joel Brobecker @ 2018-08-21 20:54 UTC (permalink / raw)
  To: Simon Marchi; +Cc: kevinb, scox, palves, gdb-patches

> The failure seems to have been introduced by c12a508 ("Add
> client_state struct.") as well.

Thanks Simon. That made me want to check this commit for the PR I said
I would check...

  * [*UNASSIGNED* (Joel???)] PR gdb/23374
    gdb.base/execl-update-breakpoints.exp, with --target_board=native-gdbserver
    https://sourceware.org/bugzilla/show_bug.cgi?id=23374

        No problem with native debugging, or when using the native
        gdbserver in extended-remote mode.

... and indeed, it's also caused, somehow, by commit c12a508.

-- 
Joel

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

* Re: GDB 8.2 release 2018-08-21 status update
  2018-08-21 17:51 GDB 8.2 release 2018-08-21 status update Joel Brobecker
  2018-08-21 18:33 ` Kevin Buettner
  2018-08-21 19:02 ` Simon Marchi
@ 2018-08-21 20:55 ` Joel Brobecker
  2018-08-21 21:29   ` Simon Marchi
  2018-08-23 18:37 ` Simon Marchi
  2018-08-24  3:57 ` Kevin Buettner
  4 siblings, 1 reply; 20+ messages in thread
From: Joel Brobecker @ 2018-08-21 20:55 UTC (permalink / raw)
  To: kevinb, scox, palves; +Cc: gdb-patches

>   * [*UNASSIGNED* (Pedro???)] PR python/23379
>     gdb.python/py-evthreads.exp, with gdbserver
>     https://sourceware.org/bugzilla/show_bug.cgi?id=23379
> 
>         Internal error running to a breakpoint, when in native gdbserver
>         mode. Pure native mode is OK.

Unless someone wants to do the bisecting, I will bisect this one
tomorrow.

-- 
Joel

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

* Re: GDB 8.2 release 2018-08-21 status update
  2018-08-21 20:55 ` Joel Brobecker
@ 2018-08-21 21:29   ` Simon Marchi
  2018-08-23 17:56     ` Pedro Alves
  0 siblings, 1 reply; 20+ messages in thread
From: Simon Marchi @ 2018-08-21 21:29 UTC (permalink / raw)
  To: Joel Brobecker; +Cc: kevinb, scox, palves, gdb-patches

On 2018-08-21 16:55, Joel Brobecker wrote:
>>   * [*UNASSIGNED* (Pedro???)] PR python/23379
>>     gdb.python/py-evthreads.exp, with gdbserver
>>     https://sourceware.org/bugzilla/show_bug.cgi?id=23379
>> 
>>         Internal error running to a breakpoint, when in native 
>> gdbserver
>>         mode. Pure native mode is OK.
> 
> Unless someone wants to do the bisecting, I will bisect this one
> tomorrow.

This one seems to come from

   00431a7 ("Use thread_info and inferior pointers more throughout")

Simon

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

* Re: GDB 8.2 release 2018-08-21 status update
  2018-08-21 20:54     ` Joel Brobecker
@ 2018-08-22 16:07       ` Simon Marchi
  2018-08-22 17:38         ` Simon Marchi
  2018-08-22 18:03         ` Stan Cox
  0 siblings, 2 replies; 20+ messages in thread
From: Simon Marchi @ 2018-08-22 16:07 UTC (permalink / raw)
  To: Joel Brobecker; +Cc: kevinb, scox, palves, gdb-patches

On 2018-08-21 16:54, Joel Brobecker wrote:
>> The failure seems to have been introduced by c12a508 ("Add
>> client_state struct.") as well.
> 
> Thanks Simon. That made me want to check this commit for the PR I said
> I would check...
> 
>   * [*UNASSIGNED* (Joel???)] PR gdb/23374
>     gdb.base/execl-update-breakpoints.exp, with 
> --target_board=native-gdbserver
>     https://sourceware.org/bugzilla/show_bug.cgi?id=23374
> 
>         No problem with native debugging, or when using the native
>         gdbserver in extended-remote mode.
> 
> ... and indeed, it's also caused, somehow, by commit c12a508.

It seems like both of these are caused by a small thinko in that commit. 
  I posted a patch here:

https://sourceware.org/ml/gdb-patches/2018-08/msg00537.html

Simon

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

* Re: GDB 8.2 release 2018-08-21 status update
  2018-08-22 16:07       ` Simon Marchi
@ 2018-08-22 17:38         ` Simon Marchi
  2018-08-22 18:03         ` Stan Cox
  1 sibling, 0 replies; 20+ messages in thread
From: Simon Marchi @ 2018-08-22 17:38 UTC (permalink / raw)
  To: Joel Brobecker; +Cc: kevinb, scox, palves, gdb-patches

On 2018-08-22 12:07, Simon Marchi wrote:
> On 2018-08-21 16:54, Joel Brobecker wrote:
>>> The failure seems to have been introduced by c12a508 ("Add
>>> client_state struct.") as well.
>> 
>> Thanks Simon. That made me want to check this commit for the PR I said
>> I would check...
>> 
>>   * [*UNASSIGNED* (Joel???)] PR gdb/23374
>>     gdb.base/execl-update-breakpoints.exp, with 
>> --target_board=native-gdbserver
>>     https://sourceware.org/bugzilla/show_bug.cgi?id=23374
>> 
>>         No problem with native debugging, or when using the native
>>         gdbserver in extended-remote mode.
>> 
>> ... and indeed, it's also caused, somehow, by commit c12a508.
> 
> It seems like both of these are caused by a small thinko in that
> commit.  I posted a patch here:
> 
> https://sourceware.org/ml/gdb-patches/2018-08/msg00537.html
> 
> Simon

You can scratch 23374 and 23375 from that list.

Simon

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

* Re: GDB 8.2 release 2018-08-21 status update
  2018-08-22 16:07       ` Simon Marchi
  2018-08-22 17:38         ` Simon Marchi
@ 2018-08-22 18:03         ` Stan Cox
  2018-08-22 18:09           ` Simon Marchi
  1 sibling, 1 reply; 20+ messages in thread
From: Stan Cox @ 2018-08-22 18:03 UTC (permalink / raw)
  To: Simon Marchi, Joel Brobecker; +Cc: kevinb, palves, gdb-patches

On 08/22/2018 12:07 PM, Simon Marchi wrote:

> It seems like both of these are caused by a small thinko in that commit. 
>   I posted a patch here:

Doh!  Thanks for finding that!

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

* Re: GDB 8.2 release 2018-08-21 status update
  2018-08-22 18:03         ` Stan Cox
@ 2018-08-22 18:09           ` Simon Marchi
  0 siblings, 0 replies; 20+ messages in thread
From: Simon Marchi @ 2018-08-22 18:09 UTC (permalink / raw)
  To: Stan Cox; +Cc: Joel Brobecker, kevinb, palves, gdb-patches

On 2018-08-22 14:03, Stan Cox wrote:
> On 08/22/2018 12:07 PM, Simon Marchi wrote:
> 
>> It seems like both of these are caused by a small thinko in that 
>> commit.   I posted a patch here:
> 
> Doh!  Thanks for finding that!

No problem, you can blame it on the reviewers for not spotting it :P.

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

* Re: GDB 8.2 release 2018-08-21 status update
  2018-08-21 21:29   ` Simon Marchi
@ 2018-08-23 17:56     ` Pedro Alves
  2018-08-24 18:01       ` Pedro Alves
  0 siblings, 1 reply; 20+ messages in thread
From: Pedro Alves @ 2018-08-23 17:56 UTC (permalink / raw)
  To: Simon Marchi, Joel Brobecker; +Cc: kevinb, scox, gdb-patches

On 08/21/2018 10:29 PM, Simon Marchi wrote:
> On 2018-08-21 16:55, Joel Brobecker wrote:
>>>   * [*UNASSIGNED* (Pedro???)] PR python/23379
>>>     gdb.python/py-evthreads.exp, with gdbserver
>>>     https://sourceware.org/bugzilla/show_bug.cgi?id=23379
>>>
>>>         Internal error running to a breakpoint, when in native gdbserver
>>>         mode. Pure native mode is OK.
>>
>> Unless someone wants to do the bisecting, I will bisect this one
>> tomorrow.
> 
> This one seems to come from
> 
>   00431a7 ("Use thread_info and inferior pointers more throughout")
Thanks for bisecting!  I'm taking a look at it.

Thanks,
Pedro Alves

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

* Re: GDB 8.2 release 2018-08-21 status update
  2018-08-21 17:51 GDB 8.2 release 2018-08-21 status update Joel Brobecker
                   ` (2 preceding siblings ...)
  2018-08-21 20:55 ` Joel Brobecker
@ 2018-08-23 18:37 ` Simon Marchi
  2018-08-23 22:41   ` Kevin Buettner
  2018-08-24  3:57 ` Kevin Buettner
  4 siblings, 1 reply; 20+ messages in thread
From: Simon Marchi @ 2018-08-23 18:37 UTC (permalink / raw)
  To: Joel Brobecker; +Cc: kevinb, gdb-patches

On 2018-08-21 13:51, Joel Brobecker wrote:
>   * [KevinB] PR gdb/23021
>     Setting breakpoints with -freorder-blocks-and-partition
>     https://sourceware.org/bugzilla/show_bug.cgi?id=23021
> 
> 	Identified as needed in the previous release, but couldn't do it
>         in time. We should be very close, now:
>         [v3] 
> https://sourceware.org/ml/gdb-patches/2018-08/msg00467.html
> 
>         I'm wondering how reasonable it's going to be to backport
>         those changes onto the branch, though... Any thoughts on that?
>         Kevin? Simon?

The changeset does indeed look scary :).  But I think Kevin was careful 
to keep the existing behaviour for contiguous blocks.

Patches 1 and 2 look harmless.

Patches 3 and 4 mostly added some branches for the contiguous and the 
non-contiguous case, where the contiguous case keeps the former 
behaviour.  If you have an executable with only contiguous blocks, it 
*should* therefore work the same way as before.  If you have an 
executable with non-contiguous blocks, well it would be broken with GDB 
8.1, so anything is an improvement.

Patch 5 changes BLOCK_START for BLOCK_ENTRY_PC, which is supposed to be 
the same for contiguous blocks, so again no changes expected there.

I'm not sure about the impact of patch 6.

Patch 7 modifies the block range data, which is only used in the 
non-contiguous branches.  So again, no impact on existing 
contiguous-only executables.

So from my point of view, it would be fine to include it in 8.2.  I'm 
just wondering though why this was considered as a blocker for 8.2 in 
the first place.  It's not really a regression, it's more like a new 
feature.  Was it to make sure we get the feature to users faster, before 
the new gcc that emits code like this by default starts to spread too 
much?

Simon

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

* Re: GDB 8.2 release 2018-08-21 status update
  2018-08-23 18:37 ` Simon Marchi
@ 2018-08-23 22:41   ` Kevin Buettner
  2018-08-24 18:35     ` Pedro Alves
  0 siblings, 1 reply; 20+ messages in thread
From: Kevin Buettner @ 2018-08-23 22:41 UTC (permalink / raw)
  To: gdb-patches; +Cc: Simon Marchi, Joel Brobecker

On Thu, 23 Aug 2018 14:36:54 -0400
Simon Marchi <simon.marchi@polymtl.ca> wrote:

> On 2018-08-21 13:51, Joel Brobecker wrote:
> >   * [KevinB] PR gdb/23021
> >     Setting breakpoints with -freorder-blocks-and-partition
> >     https://sourceware.org/bugzilla/show_bug.cgi?id=23021
> > 
> > 	Identified as needed in the previous release, but couldn't do it
> >         in time. We should be very close, now:
> >         [v3] 
> > https://sourceware.org/ml/gdb-patches/2018-08/msg00467.html
> > 
> >         I'm wondering how reasonable it's going to be to backport
> >         those changes onto the branch, though... Any thoughts on that?
> >         Kevin? Simon?  
> 
> The changeset does indeed look scary :).  But I think Kevin was careful 
> to keep the existing behaviour for contiguous blocks.
> 
> Patches 1 and 2 look harmless.
> 
> Patches 3 and 4 mostly added some branches for the contiguous and the 
> non-contiguous case, where the contiguous case keeps the former 
> behaviour.  If you have an executable with only contiguous blocks, it 
> *should* therefore work the same way as before.  If you have an 
> executable with non-contiguous blocks, well it would be broken with GDB 
> 8.1, so anything is an improvement.
> 
> Patch 5 changes BLOCK_START for BLOCK_ENTRY_PC, which is supposed to be 
> the same for contiguous blocks, so again no changes expected there.
> 
> I'm not sure about the impact of patch 6.

For contiguous blocks, there's no change in behavior for patch 6
either.

I.e. find_function_entry_range_from_pc provides the same answer as
find_pc_partial_function when invoked on a function occupying a
contiguous block.

> 
> Patch 7 modifies the block range data, which is only used in the 
> non-contiguous branches.  So again, no impact on existing 
> contiguous-only executables.

I agree with the rest of your analysis.

> So from my point of view, it would be fine to include it in 8.2.  I'm 
> just wondering though why this was considered as a blocker for 8.2 in 
> the first place.  It's not really a regression, it's more like a new 
> feature.  Was it to make sure we get the feature to users faster, before 
> the new gcc that emits code like this by default starts to spread too 
> much?

According to Thomas Koenig, from GCC bug 84550:

    With gdb 8.0.1, stepping through functions after breakpoints is
    often broken.  This makes it hard to debug gcc itself.

The non-contiguous address ranges patches _might_ make it easier for
gcc developers to debug gcc.

Kevin

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

* Re: GDB 8.2 release 2018-08-21 status update
  2018-08-21 17:51 GDB 8.2 release 2018-08-21 status update Joel Brobecker
                   ` (3 preceding siblings ...)
  2018-08-23 18:37 ` Simon Marchi
@ 2018-08-24  3:57 ` Kevin Buettner
  2018-08-25  5:41   ` Kevin Buettner
  4 siblings, 1 reply; 20+ messages in thread
From: Kevin Buettner @ 2018-08-24  3:57 UTC (permalink / raw)
  To: Joel Brobecker; +Cc: gdb-patches, palves

On Tue, 21 Aug 2018 10:51:36 -0700
Joel Brobecker <brobecker@adacore.com> wrote:

>   * [KevinB] PR gdb/23021
>     Setting breakpoints with -freorder-blocks-and-partition
>     https://sourceware.org/bugzilla/show_bug.cgi?id=23021
> 
> 	Identified as needed in the previous release, but couldn't do it
>         in time. We should be very close, now:
>         [v3] https://sourceware.org/ml/gdb-patches/2018-08/msg00467.html
> 
>         I'm wondering how reasonable it's going to be to backport
>         those changes onto the branch, though... Any thoughts on that?
>         Kevin? Simon?

I was able to apply the eight "non-contiguous address range support"
patches to my local checkout of gdb-8.2-branch.  Part #2 needed some
fixing, but everything else applied cleanly (which kind of surprised
me).

I've tested on x86-64.  No regressions.

Let me know if you want it pushed...

Kevin

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

* Re: GDB 8.2 release 2018-08-21 status update
  2018-08-23 17:56     ` Pedro Alves
@ 2018-08-24 18:01       ` Pedro Alves
  0 siblings, 0 replies; 20+ messages in thread
From: Pedro Alves @ 2018-08-24 18:01 UTC (permalink / raw)
  To: Simon Marchi, Joel Brobecker; +Cc: kevinb, scox, gdb-patches

On 08/23/2018 06:56 PM, Pedro Alves wrote:
> On 08/21/2018 10:29 PM, Simon Marchi wrote:
>> On 2018-08-21 16:55, Joel Brobecker wrote:
>>>>   * [*UNASSIGNED* (Pedro???)] PR python/23379
>>>>     gdb.python/py-evthreads.exp, with gdbserver
>>>>     https://sourceware.org/bugzilla/show_bug.cgi?id=23379
>>>>
>>>>         Internal error running to a breakpoint, when in native gdbserver
>>>>         mode. Pure native mode is OK.
>>>
>>> Unless someone wants to do the bisecting, I will bisect this one
>>> tomorrow.
>>
>> This one seems to come from
>>
>>   00431a7 ("Use thread_info and inferior pointers more throughout")
> Thanks for bisecting!  I'm taking a look at it.

This fixes it:
  https://sourceware.org/ml/gdb-patches/2018-08/msg00595.html

Thanks,
Pedro Alves

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

* Re: GDB 8.2 release 2018-08-21 status update
  2018-08-23 22:41   ` Kevin Buettner
@ 2018-08-24 18:35     ` Pedro Alves
  2018-08-24 19:15       ` Simon Marchi
  0 siblings, 1 reply; 20+ messages in thread
From: Pedro Alves @ 2018-08-24 18:35 UTC (permalink / raw)
  To: Kevin Buettner, gdb-patches; +Cc: Simon Marchi, Joel Brobecker

On 08/23/2018 11:41 PM, Kevin Buettner wrote:
> Simon Marchi <simon.marchi@polymtl.ca> wrote:

>> So from my point of view, it would be fine to include it in 8.2.  I'm 
>> just wondering though why this was considered as a blocker for 8.2 in 
>> the first place.  It's not really a regression, it's more like a new 
>> feature.  Was it to make sure we get the feature to users faster, before 
>> the new gcc that emits code like this by default starts to spread too 
>> much?

Yeah, the main issue here is that nowadays -freorder-blocks-and-partition 
is on by default in GCC (I believe the switch was flipped in GCC 8?), which
means users will run into this problem more frequently going forward.  While
technically it's not a GDB regression (you can always run into this if you
build your program with -freorder-blocks-and-partition explicitly), from
the perspective of end users looking at the toolchain as whole black box,
it's a toolchain regression (defaults no longer work).
I'd support putting the series in GDB 8.2.  Unless I'm wrong that
-freorder-blocks-and-partition is on by default in GCC 8 already?

> 
> According to Thomas Koenig, from GCC bug 84550:
> 
>     With gdb 8.0.1, stepping through functions after breakpoints is
>     often broken.  This makes it hard to debug gcc itself.
> 
> The non-contiguous address ranges patches _might_ make it easier for
> gcc developers to debug gcc.
While I'm all for helping our GCC hacker friends, I'm more concerned
with the general users, since presumably GCC developers would have no
big trouble building a new GDB from sources.

Thanks,
Pedro Alves

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

* Re: GDB 8.2 release 2018-08-21 status update
  2018-08-24 18:35     ` Pedro Alves
@ 2018-08-24 19:15       ` Simon Marchi
  2018-08-24 19:52         ` Pedro Alves
  0 siblings, 1 reply; 20+ messages in thread
From: Simon Marchi @ 2018-08-24 19:15 UTC (permalink / raw)
  To: Pedro Alves; +Cc: Kevin Buettner, gdb-patches, Joel Brobecker

On 2018-08-24 14:35, Pedro Alves wrote:
> On 08/23/2018 11:41 PM, Kevin Buettner wrote:
>> Simon Marchi <simon.marchi@polymtl.ca> wrote:
> 
>>> So from my point of view, it would be fine to include it in 8.2.  I'm
>>> just wondering though why this was considered as a blocker for 8.2 in
>>> the first place.  It's not really a regression, it's more like a new
>>> feature.  Was it to make sure we get the feature to users faster, 
>>> before
>>> the new gcc that emits code like this by default starts to spread too
>>> much?
> 
> Yeah, the main issue here is that nowadays 
> -freorder-blocks-and-partition
> is on by default in GCC (I believe the switch was flipped in GCC 8?), 
> which
> means users will run into this problem more frequently going forward.  
> While
> technically it's not a GDB regression (you can always run into this if 
> you
> build your program with -freorder-blocks-and-partition explicitly), 
> from
> the perspective of end users looking at the toolchain as whole black 
> box,
> it's a toolchain regression (defaults no longer work).
> I'd support putting the series in GDB 8.2.

Seems nobody is against it.  Go!

> Unless I'm wrong that
> -freorder-blocks-and-partition is on by default in GCC 8 already?

Looking at gcc/doc/invoke.texi, apparently it's been enabled for -O2/-O3 
for some time and more recently -Os.  You can check whether it is 
enabled with:

   gcc -Q -v --help 2>/dev/null | grep reorder-blocks-and-partition

I see it as disabled by default and enabled if I add -O2, with different 
gcc versions between 5.4.0 and 8.2.0.  So it doesn't seem to have 
changed recently.  Maybe what changed is that gcc 8 partitions more 
aggressively?  Or it's just that gcc developers tend to debug -O2 
builds?  I have no idea.

Simon

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

* Re: GDB 8.2 release 2018-08-21 status update
  2018-08-24 19:15       ` Simon Marchi
@ 2018-08-24 19:52         ` Pedro Alves
  0 siblings, 0 replies; 20+ messages in thread
From: Pedro Alves @ 2018-08-24 19:52 UTC (permalink / raw)
  To: Simon Marchi; +Cc: Kevin Buettner, gdb-patches, Joel Brobecker

On 08/24/2018 08:14 PM, Simon Marchi wrote:
> On 2018-08-24 14:35, Pedro Alves wrote:

>> Unless I'm wrong that
>> -freorder-blocks-and-partition is on by default in GCC 8 already?
> 
> Looking at gcc/doc/invoke.texi, apparently it's been enabled for -O2/-O3 for some time and more recently -Os.  You can check whether it is enabled with:
> 
>   gcc -Q -v --help 2>/dev/null | grep reorder-blocks-and-partition
> 
> I see it as disabled by default and enabled if I add -O2, with different gcc versions between 5.4.0 and 8.2.0.  So it doesn't seem to have changed recently.  Maybe what changed is that gcc 8 partitions more aggressively?  Or it's just that gcc developers tend to debug -O2 builds?  I have no idea.

Here's what Jakub Jelinek had to say about it:

 <palves> is -freorder-blocks-and-partition on by default in any gcc release yet?
 <jakub_> palves: yes, in gcc 8
 <jakub_> palves: for older releases I believe it has been enabled, but due to a bug actually disabled later on, unless -fprofile-use was used
 <jakub_> palves: "-freorder-blocks-and-partition, a pass splitting function bodies into hot and cold regions, is now enabled by default at -O2 and higher for x86 and x86-64." is in gcc.gnu.org/gcc-8/changes.html
 <jakub_> palves: it was added for -fprofile-use initially, and its test coverage was using usually explicit -freorder-blocks-and-partition

Thanks,
Pedro Alves

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

* Re: GDB 8.2 release 2018-08-21 status update
  2018-08-24  3:57 ` Kevin Buettner
@ 2018-08-25  5:41   ` Kevin Buettner
  0 siblings, 0 replies; 20+ messages in thread
From: Kevin Buettner @ 2018-08-25  5:41 UTC (permalink / raw)
  To: Joel Brobecker; +Cc: gdb-patches, palves

On Thu, 23 Aug 2018 20:57:18 -0700
Kevin Buettner <kevinb@redhat.com> wrote:

> On Tue, 21 Aug 2018 10:51:36 -0700
> Joel Brobecker <brobecker@adacore.com> wrote:
> 
> >   * [KevinB] PR gdb/23021
> >     Setting breakpoints with -freorder-blocks-and-partition
> >     https://sourceware.org/bugzilla/show_bug.cgi?id=23021
> > 
> > 	Identified as needed in the previous release, but couldn't do it
> >         in time. We should be very close, now:
> >         [v3] https://sourceware.org/ml/gdb-patches/2018-08/msg00467.html
> > 
> >         I'm wondering how reasonable it's going to be to backport
> >         those changes onto the branch, though... Any thoughts on that?
> >         Kevin? Simon?  
> 
> I was able to apply the eight "non-contiguous address range support"
> patches to my local checkout of gdb-8.2-branch.  Part #2 needed some
> fixing, but everything else applied cleanly (which kind of surprised
> me).
> 
> I've tested on x86-64.  No regressions.
> 
> Let me know if you want it pushed...

Based on comments and discussion from Simon and Pedro elsewhere in
this thread, it seems that it ought to go in, so...

I've pushed the "non-contiguous address range support" patches to
gdb-8.2-branch.

Kevin

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

end of thread, other threads:[~2018-08-25  5:41 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-08-21 17:51 GDB 8.2 release 2018-08-21 status update Joel Brobecker
2018-08-21 18:33 ` Kevin Buettner
2018-08-21 19:02 ` Simon Marchi
2018-08-21 20:17   ` Simon Marchi
2018-08-21 20:54     ` Joel Brobecker
2018-08-22 16:07       ` Simon Marchi
2018-08-22 17:38         ` Simon Marchi
2018-08-22 18:03         ` Stan Cox
2018-08-22 18:09           ` Simon Marchi
2018-08-21 20:55 ` Joel Brobecker
2018-08-21 21:29   ` Simon Marchi
2018-08-23 17:56     ` Pedro Alves
2018-08-24 18:01       ` Pedro Alves
2018-08-23 18:37 ` Simon Marchi
2018-08-23 22:41   ` Kevin Buettner
2018-08-24 18:35     ` Pedro Alves
2018-08-24 19:15       ` Simon Marchi
2018-08-24 19:52         ` Pedro Alves
2018-08-24  3:57 ` Kevin Buettner
2018-08-25  5:41   ` Kevin Buettner

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