Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Sam James <sam@gentoo.org>
To: Andrew Burgess <aburgess@redhat.com>
Cc: gdb-patches@sourceware.org
Subject: Re: [PATCH 0/7] Inline Function Optimised Code Debug Improvements
Date: Fri, 01 Aug 2025 16:41:07 +0100	[thread overview]
Message-ID: <878qk3123w.fsf@gentoo.org> (raw)
In-Reply-To: <cover.1753006060.git.aburgess@redhat.com>

Andrew Burgess <aburgess@redhat.com> writes:

> This series presents some improvements to debugging inline functions,
> especially in optimised code.
>
> The first two patches of this series have been posted previously here:
>
>   https://inbox.sourceware.org/gdb-patches/cover.1736865029.git.aburgess@redhat.com
>
> This series replaces that earlier work, though the patches are
> basically unchanged.
>
> This entire series is an alternative solution to the patches that were
> posted here:
>
>   https://inbox.sourceware.org/gdb-patches/AS1PR01MB946510286FBF2497A6F03E83E4922@AS1PR01MB9465.eurprd01.prod.exchangelabs.com/
>
> My reasons for writing an alternative patch set can be found in the
> commit messages of patches (2) and (7), I'm not going to repeat them
> here.  However, Bernd, the original patch author, did amazing work
> identifying the problems GDB was having, and these patches likely
> wouldn't exist without the original patch series, so a big thanks
> there.
>
> For reviewing, this series can be considered in 3 parts:
>
>   + Patches (1) and (2) are independent from the rest of the series,
>     though related in theme.  Both these patches could be approved and
>     merged ahead of remaining work, and do offer an improvement to GDB
>     on their own.
>
>   + Patches (3), (4), (5), and (6) are refactoring work to support the
>     last patch.  These can be reviewed, but shouldn't be merged until
>     the last patch is approved.
>
>   + Patch (7) covers the final parts of this work, which deal with
>     non-empty inline functions.
>
> All thoughts and feedback are welcome.

There hasn't been anything else so I don't feel too guilty about being
noisy: thanks again for these to you and Bernd. I'd stopped using the
patches when they ceased to apply a few months ago and then applied
these and found I could immediately spot the difference with `list`
working correctly inside/out of an inlined function.

All I need now is PR32381 and I'm a very happy debugger indeed!

Anyway, thank you. I'll continue to test them out.

>
> Thanks,
> Andrew
>
> ---
>
> Andrew Burgess (7):
>   gdb: improve line number lookup around inline functions
>   gdb: handle empty ranges for inline subroutines
>   gdb: split dwarf line table parsing in two
>   gdb: move block range recording into its own function
>   gdb: create address map after parsing all DIE
>   gdb: record block end addresses while parsing DIEs
>   gdb: fix-up truncated inline function block ranges
>
>  gdb/buildsym.c                                |  42 +-
>  gdb/buildsym.h                                |  13 +-
>  gdb/dwarf2/cu.h                               |   7 +
>  gdb/dwarf2/read.c                             | 288 +++++++--
>  gdb/symtab.c                                  |  25 +-
>  gdb/testsuite/gdb.cp/step-and-next-inline.exp | 171 ++++--
>  .../gdb.dwarf2/dw2-empty-inline-low-high.c    |  39 ++
>  .../gdb.dwarf2/dw2-empty-inline-low-high.exp  | 128 ++++
>  .../gdb.dwarf2/dw2-empty-inline-ranges.c      |  54 ++
>  .../gdb.dwarf2/dw2-empty-inline-ranges.exp    | 260 ++++++++
>  .../gdb.dwarf2/dw2-extend-inline-block.c      |  78 +++
>  .../gdb.dwarf2/dw2-extend-inline-block.exp    | 574 ++++++++++++++++++
>  gdb/testsuite/gdb.dwarf2/dw2-inline-bt.c      |  79 +++
>  gdb/testsuite/gdb.dwarf2/dw2-inline-bt.exp    | 227 +++++++
>  .../gdb.dwarf2/dw2-unexpected-entry-pc.exp    |  75 ++-
>  gdb/testsuite/gdb.opt/empty-inline-cxx.cc     |  65 ++
>  gdb/testsuite/gdb.opt/empty-inline-cxx.exp    |  95 +++
>  gdb/testsuite/gdb.opt/empty-inline.c          |  40 ++
>  gdb/testsuite/gdb.opt/empty-inline.exp        | 130 ++++
>  gdb/testsuite/gdb.opt/inline-bt.c             |  28 +
>  gdb/testsuite/gdb.opt/inline-bt.exp           | 119 ++--
>  21 files changed, 2342 insertions(+), 195 deletions(-)
>  create mode 100644 gdb/testsuite/gdb.dwarf2/dw2-empty-inline-low-high.c
>  create mode 100644 gdb/testsuite/gdb.dwarf2/dw2-empty-inline-low-high.exp
>  create mode 100644 gdb/testsuite/gdb.dwarf2/dw2-empty-inline-ranges.c
>  create mode 100644 gdb/testsuite/gdb.dwarf2/dw2-empty-inline-ranges.exp
>  create mode 100644 gdb/testsuite/gdb.dwarf2/dw2-extend-inline-block.c
>  create mode 100644 gdb/testsuite/gdb.dwarf2/dw2-extend-inline-block.exp
>  create mode 100644 gdb/testsuite/gdb.dwarf2/dw2-inline-bt.c
>  create mode 100644 gdb/testsuite/gdb.dwarf2/dw2-inline-bt.exp
>  create mode 100644 gdb/testsuite/gdb.opt/empty-inline-cxx.cc
>  create mode 100644 gdb/testsuite/gdb.opt/empty-inline-cxx.exp
>  create mode 100644 gdb/testsuite/gdb.opt/empty-inline.c
>  create mode 100644 gdb/testsuite/gdb.opt/empty-inline.exp
>
>
> base-commit: cfbf9925c1c34f9e9d47c8b29d165866557663e3

      parent reply	other threads:[~2025-08-01 15:41 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-07-20 10:20 Andrew Burgess
2025-07-20 10:20 ` [PATCH 1/7] gdb: improve line number lookup around inline functions Andrew Burgess
2025-07-20 10:20 ` [PATCH 2/7] gdb: handle empty ranges for inline subroutines Andrew Burgess
2025-07-20 10:20 ` [PATCH 3/7] gdb: split dwarf line table parsing in two Andrew Burgess
2025-07-20 10:20 ` [PATCH 4/7] gdb: move block range recording into its own function Andrew Burgess
2025-07-20 10:20 ` [PATCH 5/7] gdb: create address map after parsing all DIE Andrew Burgess
2025-07-20 10:20 ` [PATCH 6/7] gdb: record block end addresses while parsing DIEs Andrew Burgess
2025-07-20 10:20 ` [PATCH 7/7] gdb: fix-up truncated inline function block ranges Andrew Burgess
2025-08-01  8:58 ` [PATCHv2 0/7] Inline Function Optimised Code Debug Improvements Andrew Burgess
2025-08-01  8:58   ` [PATCHv2 1/7] gdb: improve line number lookup around inline functions Andrew Burgess
2025-08-01  8:58   ` [PATCHv2 2/7] gdb: handle empty ranges for inline subroutines Andrew Burgess
2025-08-01  8:58   ` [PATCHv2 3/7] gdb: split dwarf line table parsing in two Andrew Burgess
2025-08-01  8:58   ` [PATCHv2 4/7] gdb: move block range recording into its own function Andrew Burgess
2025-08-01  8:58   ` [PATCHv2 5/7] gdb: create address map after parsing all DIE Andrew Burgess
2025-08-01  8:58   ` [PATCHv2 6/7] gdb: record block end addresses while parsing DIEs Andrew Burgess
2025-08-01  8:58   ` [PATCHv2 7/7] gdb: fix-up truncated inline function block ranges Andrew Burgess
2025-10-16 17:49   ` [PATCHv3 0/7] Inline Function Optimised Code Debug Improvements Andrew Burgess
2025-10-16 17:49     ` [PATCHv3 1/7] gdb: improve line number lookup around inline functions Andrew Burgess
2025-10-27 22:22       ` Tom Tromey
2025-12-17 14:32         ` Andrew Burgess
2025-12-17 14:48           ` Tom de Vries
2025-12-18 14:46             ` Andrew Burgess
2025-10-16 17:49     ` [PATCHv3 2/7] gdb: handle empty ranges for inline subroutines Andrew Burgess
2025-10-16 17:49     ` [PATCHv3 3/7] gdb: split dwarf line table parsing in two Andrew Burgess
2025-10-16 17:49     ` [PATCHv3 4/7] gdb: move block range recording into its own function Andrew Burgess
2025-10-27 22:45       ` Tom Tromey
2025-10-16 17:49     ` [PATCHv3 5/7] gdb: create address map after parsing all DIE Andrew Burgess
2025-10-27 22:56       ` Tom Tromey
2026-01-02 16:36         ` Andrew Burgess
2026-01-05 20:03           ` Tom Tromey
2026-01-05 21:37             ` Andrew Burgess
2026-01-06  0:53               ` Tom Tromey
2025-10-16 17:49     ` [PATCHv3 6/7] gdb: record block end addresses while parsing DIEs Andrew Burgess
2025-10-27 23:00       ` Tom Tromey
2025-10-16 17:49     ` [PATCHv3 7/7] gdb: fix-up truncated inline function block ranges Andrew Burgess
2026-02-04 10:43     ` [PATCHv3 0/7] Inline Function Optimised Code Debug Improvements Andrew Burgess
2025-08-01 15:41 ` Sam James [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=878qk3123w.fsf@gentoo.org \
    --to=sam@gentoo.org \
    --cc=aburgess@redhat.com \
    --cc=gdb-patches@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox