[0/3,gdb/symtab] Eliminate deferred_entry

Message ID 20240104141911.7596-1-tdevries@suse.de
Headers
Series Eliminate deferred_entry |

Message

Tom de Vries Jan. 4, 2024, 2:19 p.m. UTC
  In a discussion of a proposed fix for PR symtab/30728 (
https://sourceware.org/pipermail/gdb-patches/2023-December/205068.html ), this
was mentioned:
...
I wonder then about just sticking this info directly into the
cooked_index_entry object, and then doing fixups directly on these in
the shard.

That is, instead of keeping separate "deferred" entries, just making
ordinary entries.  cooked_index_entry::parent_entry could be a union
holding either the parent (if known) or a CORE_ADDR; and then there
could be a new flag in cooked_index_flag_enum indicating which one is in
use.
...

This patch series implements that idea.

Tested on x86_64-linux.

Tom de Vries (3):
  [gdb/symtab] Allow changing of added cooked_index entries
  [gdb/symtab] Make cooked_index_entry::parent_entry private
  [gdb/symtab] Eliminate deferred_entry

 gdb/dwarf2/cooked-index.c | 21 ++++++-----
 gdb/dwarf2/cooked-index.h | 78 ++++++++++++++++++++++++++++++++-------
 gdb/dwarf2/read.c         | 51 +++++++++++--------------
 3 files changed, 99 insertions(+), 51 deletions(-)


base-commit: 2bcfdb758bb18e29cf6c0486c448bf78dbbc0c8a
  

Comments

Tom Tromey Jan. 9, 2024, 2:43 p.m. UTC | #1
>>>>> "Tom" == Tom de Vries <tdevries@suse.de> writes:

Tom> In a discussion of a proposed fix for PR symtab/30728 (
Tom> https://sourceware.org/pipermail/gdb-patches/2023-December/205068.html ), this
Tom> was mentioned:
Tom> ...
Tom> I wonder then about just sticking this info directly into the
Tom> cooked_index_entry object, and then doing fixups directly on these in
Tom> the shard.

Tom> That is, instead of keeping separate "deferred" entries, just making
Tom> ordinary entries.  cooked_index_entry::parent_entry could be a union
Tom> holding either the parent (if known) or a CORE_ADDR; and then there
Tom> could be a new flag in cooked_index_flag_enum indicating which one is in
Tom> use.
Tom> ...

Tom> This patch series implements that idea.

Thank you.  This is ok.
Approved-By: Tom Tromey <tom@tromey.com>

Tom