[PATCH gdb/symtab 0/7] Compute DWARF entry parents across CUs

Tom Tromey tom@tromey.com
Wed Jan 17 18:58:47 GMT 2024


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.

---
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                          |  13 +-
 gdb/dwarf2/cooked-index.h                          |  52 ++++++--
 gdb/dwarf2/parent-map.h                            | 132 +++++++++++++++++++++
 gdb/dwarf2/read.c                                  | 113 +++++++-----------
 .../gdb.dwarf2/backward-spec-inter-cu.exp          | 103 ++++++++++++++++
 gdb/testsuite/gdb.dwarf2/forward-spec-inter-cu.exp | 103 ++++++++++++++++
 8 files changed, 458 insertions(+), 89 deletions(-)
---
base-commit: 2002c0099f9fb4d737930acd66733cfad39f68f1
change-id: 20240117-die-map-madness-b84a75473c85

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



More information about the Gdb-patches mailing list