[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