* gdb-symtab-refactor-condition-in-scan_attributes.patch * gdb-symtab-factor-out-m_die_range_map-usage.patch * gdb-symtab-handle-nullptr-parent-in-parent_map-set_p.patch * gdb-symtab-factor-out-m_deferred_entries-usage.patch * gdb-symtab-resolve-deferred-entries-inter-shard-case.patch * gdb-symtab-keep-track-of-processed-dies-in-shard.patch * gdb-symtab-resolve-deferred-entries-intra-shard-case.patch * gdb-symtab-don-t-defer-backward-refs-inter-cu-intra-.patch * gdb-symtab-recurse-into-c-dw_tag_subprogram-dies-for.patch * gdb-symtab-keep-track-of-all-parents-for-cooked-inde.patch * gdb-symtab-fix-dw_tag_inlined_subroutine-entries-in-.patch OBS-URL: https://build.opensuse.org/package/show/devel:gcc/gdb?expand=0&rev=373
39 lines
1.1 KiB
Diff
39 lines
1.1 KiB
Diff
From be9718e911aff34896dcf1c3dfa41bfe34e5a9f4 Mon Sep 17 00:00:00 2001
|
|
From: Tom de Vries <tdevries@suse.de>
|
|
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
|
|
|