public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
From: Tom Tromey <tom@tromey.com>
To: gdb-patches@sourceware.org
Cc: Tom de Vries <tdevries@suse.de>
Subject: [PATCH gdb/symtab v2 0/7] Compute DWARF entry parents across CUs
Date: Mon, 08 Apr 2024 15:11:36 -0600	[thread overview]
Message-ID: <20240408-die-map-madness-v2-0-6741626d544d@tromey.com> (raw)

This is a different approach to a patch series that Tom de Vries sent.
The bug here is that gdb won't always correctly compute the parent of
an entry in some cross-CU reference cases.

I've included a few of Tom's patches in this series.  The main
difference overall is that this one incorporates the parent
computation into the finalization loop, so the work is parallelized.

Regression tested on x86-64 Fedora 38 with the cc-with-dwz board.
There is still one bug (the inlining one), but I believe that one
requires a different fix.

---
Changes in v2:
- Rebased; some minor changes were required
- Link to v1: https://inbox.sourceware.org/gdb-patches/20240117-die-map-madness-v1-0-42fb435ad1ed@tromey.com

---
Tom Tromey (4):
      Change handling of DW_TAG_enumeration_type in DWARF scanner
      Add move operators for addrmap
      Introduce class parent_map for DIE range map
      Correctly handle DIE parent computations

Tom de Vries (3):
      [gdb/symtab] Refactor condition in scan_attributes
      [gdb/testsuite] Add gdb.dwarf2/forward-spec-inter-cu.exp
      [gdb/testsuite] Add gdb.dwarf2/backward-spec-inter-cu.exp

 gdb/addrmap.c                                      |  12 +-
 gdb/addrmap.h                                      |  19 ++-
 gdb/dwarf2/cooked-index.c                          |  14 ++-
 gdb/dwarf2/cooked-index.h                          |  56 ++++++---
 gdb/dwarf2/parent-map.h                            | 132 +++++++++++++++++++++
 gdb/dwarf2/read-debug-names.c                      |   7 +-
 gdb/dwarf2/read.c                                  | 112 ++++++++---------
 .../gdb.dwarf2/backward-spec-inter-cu.exp          | 103 ++++++++++++++++
 gdb/testsuite/gdb.dwarf2/forward-spec-inter-cu.exp | 103 ++++++++++++++++
 9 files changed, 468 insertions(+), 90 deletions(-)
---
base-commit: d05e1a4a6d438c11af5a2b9b0ac88a74727b5f0f
change-id: 20240117-die-map-madness-b84a75473c85

Best regards,
-- 
Tom Tromey <tom@tromey.com>


             reply	other threads:[~2024-04-08 21:11 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-08 21:11 Tom Tromey [this message]
2024-04-08 21:11 ` [PATCH gdb/symtab v2 1/7] Refactor condition in scan_attributes Tom Tromey
2024-04-08 21:11 ` [PATCH v2 2/7] Change handling of DW_TAG_enumeration_type in DWARF scanner Tom Tromey
2024-04-08 21:11 ` [PATCH v2 3/7] Add move operators for addrmap Tom Tromey
2024-04-08 21:11 ` [PATCH v2 4/7] Introduce class parent_map for DIE range map Tom Tromey
2024-04-08 21:11 ` [PATCH v2 5/7] Correctly handle DIE parent computations Tom Tromey
2024-04-08 21:11 ` [PATCH gdb/testsuite v2 6/7] Add gdb.dwarf2/forward-spec-inter-cu.exp Tom Tromey
2024-04-08 21:11 ` [PATCH gdb/testsuite v2 7/7] Add gdb.dwarf2/backward-spec-inter-cu.exp Tom Tromey
2024-04-16 17:54 ` [PATCH gdb/symtab v2 0/7] Compute DWARF entry parents across CUs Tom Tromey

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=20240408-die-map-madness-v2-0-6741626d544d@tromey.com \
    --to=tom@tromey.com \
    --cc=gdb-patches@sourceware.org \
    --cc=tdevries@suse.de \
    /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;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).