Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
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


  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