From: Simon Marchi <simon.marchi@efficios.com>
To: gdb-patches@sourceware.org
Cc: Simon Marchi <simon.marchi@efficios.com>
Subject: [PATCH 0/2] gdb: resolve class name via DW_AT_signature in cooked index
Date: Thu, 24 Sep 2026 00:59:35 -0400 [thread overview]
Message-ID: <20260924050002.1539783-1-simon.marchi@efficios.com> (raw)
In-Reply-To: <e78a75720042dba3d3b052883d2d84d374ffc157.1789555833.git.aburgess@redhat.com>
This is v5 of Andrew's fix for PR gdb/33447, where qualified member function
lookup fails for C++ binaries built by Clang with -fdebug-types-section. v4
was here:
https://inbox.sourceware.org/gdb-patches/e78a75720042dba3d3b052883d2d84d374ffc157.1789555833.git.aburgess@redhat.com/
I wrote this version addressing some comments I had on v4, with the hope that
it can be ready to merge before the release planned on Friday.
The main changes are:
- Patch 1 is new preparatory patch that does a bit of refactoring. It splits
cooked_index_shard::finalize into separate steps, making it easier for patch
2 to add more steps.
- The deferred names mechanism now uses a flag on the cooked_index_entries
(like the deferred parents)rather than a vector. This is probably what Tom
meant in earlier reviews, but I did not understand at the time. When I
finally understood how the deferred parent mechanism worked, it seemed
logical to implement the deferred names mechanism the same way, at least for
consistency. Scanning over all index entries is relatively fast anyway, and
this step only runs if actually needed.
Andrew Burgess (1):
gdb: resolve class name via DW_AT_signature in cooked index
Simon Marchi (1):
gdb: split cooked index finalization into separate steps
gdb/dwarf2/abbrev.c | 1 +
gdb/dwarf2/cooked-index-entry.c | 15 +-
gdb/dwarf2/cooked-index-entry.h | 75 +++++++-
gdb/dwarf2/cooked-index-shard.c | 132 ++++++++++---
gdb/dwarf2/cooked-index-shard.h | 69 ++++++-
gdb/dwarf2/cooked-index-worker.c | 9 +
gdb/dwarf2/cooked-index-worker.h | 30 ++-
gdb/dwarf2/cooked-index.c | 179 +++++++++++++++---
gdb/dwarf2/cooked-index.h | 64 ++++++-
gdb/dwarf2/cooked-indexer.c | 60 ++++--
gdb/dwarf2/cooked-indexer.h | 1 +
gdb/dwarf2/index-write.c | 2 +-
.../ada-forward-spec-deferred-grandparent.exp | 81 ++++++++
.../sig-type-unnamed-class-bad-sig.exp | 155 +++++++++++++++
.../gdb.dwarf2/sig-type-unnamed-class-dwo.exp | 143 ++++++++++++++
.../gdb.dwarf2/sig-type-unnamed-class.exp | 106 +++++++++++
16 files changed, 1030 insertions(+), 92 deletions(-)
create mode 100644 gdb/testsuite/gdb.dwarf2/ada-forward-spec-deferred-grandparent.exp
create mode 100644 gdb/testsuite/gdb.dwarf2/sig-type-unnamed-class-bad-sig.exp
create mode 100644 gdb/testsuite/gdb.dwarf2/sig-type-unnamed-class-dwo.exp
create mode 100644 gdb/testsuite/gdb.dwarf2/sig-type-unnamed-class.exp
base-commit: af53f4d1644ef024c8c91a3dcc733958becfeac0
--
2.55.0
next prev parent reply other threads:[~2026-09-24 5:00 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-19 10:03 [PATCH] [GDB 18] " Andrew Burgess
2026-08-21 17:07 ` Tom Tromey
2026-08-28 21:30 ` [PATCHv2] " Andrew Burgess
2026-09-01 13:31 ` [PATCHv3] " Andrew Burgess
2026-09-10 16:11 ` Simon Marchi
2026-09-11 19:18 ` Tom Tromey
2026-09-12 2:06 ` Simon Marchi
2026-09-14 13:23 ` Andrew Burgess
2026-09-14 14:57 ` Simon Marchi
2026-09-14 15:38 ` Tom Tromey
2026-09-15 10:25 ` Andrew Burgess
2026-09-15 15:01 ` Tom Tromey
2026-09-15 15:55 ` Simon Marchi
2026-09-15 17:21 ` Simon Marchi
2026-09-16 11:40 ` Andrew Burgess
2026-09-16 11:45 ` Andrew Burgess
2026-09-16 11:48 ` Andrew Burgess
2026-09-14 15:36 ` Tom Tromey
2026-09-10 16:18 ` Simon Marchi
2026-09-16 11:38 ` [PATCHv4] " Andrew Burgess
2026-09-22 4:26 ` Simon Marchi
2026-09-23 13:47 ` Simon Marchi
2026-09-24 4:59 ` Simon Marchi [this message]
2026-09-24 5:05 ` [PATCH 0/2] " Simon Marchi
2026-09-24 15:09 ` [PATCH v6 0/3] gdb/dwarf: " Simon Marchi
2026-09-24 15:09 ` [PATCH v6 1/3] gdb/dwarf: split cooked index finalization into separate steps Simon Marchi
2026-09-24 15:09 ` [PATCH v6 2/3] gdb/dwarf: resolve class name via DW_AT_signature in cooked index Simon Marchi
2026-09-24 15:09 ` [PATCH v6 3/3] gdb/dwarf: add cooked_index_entry::parent_is_deferred Simon Marchi
2026-09-24 20:53 ` Andrew Burgess
2026-09-25 2:34 ` Simon Marchi
2026-09-24 4:59 ` [PATCH 1/2] gdb: split cooked index finalization into separate steps Simon Marchi
2026-09-24 10:16 ` Andrew Burgess
2026-09-24 14:24 ` Simon Marchi
2026-09-24 4:59 ` [PATCH 2/2] gdb: resolve class name via DW_AT_signature in cooked index Simon Marchi
2026-09-24 10:39 ` Andrew Burgess
2026-09-24 15:07 ` Simon Marchi
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=20260924050002.1539783-1-simon.marchi@efficios.com \
--to=simon.marchi@efficios.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