From be9718e911aff34896dcf1c3dfa41bfe34e5a9f4 Mon Sep 17 00:00:00 2001 From: Tom de Vries Date: Thu, 7 Dec 2023 10:38:05 +0100 Subject: [PATCH 10/11] [gdb/symtab] Keep track of all parents for cooked index Keep track of all parents for cooked index. Tested on x86_64-linux. --- gdb/dwarf2/read.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/gdb/dwarf2/read.c b/gdb/dwarf2/read.c index 39f6e480e19..e2d4fe8cde6 100644 --- a/gdb/dwarf2/read.c +++ b/gdb/dwarf2/read.c @@ -18626,9 +18626,15 @@ cooked_indexer::index_dies (cutu_reader *reader, }); } else - this_entry = m_index_storage->add (this_die, abbrev->tag, flags, - name, this_parent_entry, - m_per_cu); + { + CORE_ADDR addr + = parent_map::form_addr (this_die, reader->cu->per_cu->is_dwz, + reader->cu->per_cu->is_debug_types); + set_parent (addr, addr, this_parent_entry); + this_entry = m_index_storage->add (this_die, abbrev->tag, flags, + name, this_parent_entry, + m_per_cu); + } } if (linkage_name != nullptr) -- 2.35.3