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
prev 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