gdb: remove context_stack::static_link
Commit Message
From: Simon Marchi <simon.marchi@polymtl.ca>
I don't think it's needed to record this information in the
context_stack structure. The only user is the DWARF reader, where it
can very well be a local variable.
Change-Id: I6e33affbf03f11c0d0ab60067f169137fde1c994
---
gdb/buildsym.h | 4 ----
gdb/dwarf2/read.c | 11 +++++------
2 files changed, 5 insertions(+), 10 deletions(-)
base-commit: 1819e42280cc89754db92a3416392b82794989a2
Comments
>>>>> "Simon" == simon marchi <simon.marchi@polymtl.ca> writes:
Simon> From: Simon Marchi <simon.marchi@polymtl.ca>
Simon> I don't think it's needed to record this information in the
Simon> context_stack structure. The only user is the DWARF reader, where it
Simon> can very well be a local variable.
Ok.
Approved-By: Tom Tromey <tom@tromey.com>
Tom
On 1/6/26 10:26 AM, Tom Tromey wrote:
>>>>>> "Simon" == simon marchi <simon.marchi@polymtl.ca> writes:
>
> Simon> From: Simon Marchi <simon.marchi@polymtl.ca>
> Simon> I don't think it's needed to record this information in the
> Simon> context_stack structure. The only user is the DWARF reader, where it
> Simon> can very well be a local variable.
>
> Ok.
> Approved-By: Tom Tromey <tom@tromey.com>
>
> Tom
Thanks, pushed.
Simon
@@ -94,10 +94,6 @@ struct context_stack
/* Name of function, if any, defining context. */
symbol *name = nullptr;
- /* Expression that computes the frame base of the lexically enclosing
- function, if any. NULL otherwise. */
- dynamic_prop *static_link = nullptr;
-
/* PC where this context starts. */
CORE_ADDR start_addr;
@@ -8600,14 +8600,12 @@ read_func_scope (struct die_info *die, struct dwarf2_cu *cu)
dwarf2_symbol_mark_computed (attr, ctx.name, cu, 1);
/* If there is a location for the static link, record it. */
- ctx.static_link = NULL;
+ dynamic_prop *static_link = nullptr;
attr = dwarf2_attr (die, DW_AT_static_link, cu);
if (attr != nullptr)
{
- ctx.static_link
- = XOBNEW (&objfile->objfile_obstack, struct dynamic_prop);
- attr_to_dynamic_prop (attr, die, cu, ctx.static_link,
- cu->addr_type ());
+ static_link = XOBNEW (&objfile->objfile_obstack, struct dynamic_prop);
+ attr_to_dynamic_prop (attr, die, cu, static_link, cu->addr_type ());
}
cu->list_in_scope = &cu->get_builder ()->get_local_symbols ();
@@ -8650,9 +8648,10 @@ read_func_scope (struct die_info *die, struct dwarf2_cu *cu)
}
struct context_stack cstk = cu->get_builder ()->pop_context ();
+
/* Make a block for the local symbols within. */
block = cu->get_builder ()->finish_block (cstk.name, cstk.old_blocks,
- cstk.static_link, lowpc, highpc);
+ static_link, lowpc, highpc);
/* For C++, set the block's scope. */
if ((cu->lang () == language_cplus