This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: [PATCH] Add support for tracking/evaluating dwarf2 location expressions
> So the code doesn't belong in dwarf2read.c. dwarf2read.c is a symbol
> reader. dwarf2 location expressions are a way of describing variable
> locations. The other code to process the current gdb address
> classes/locations is in findvar.c, so that's where i put it.
No.
if (frame == NULL)
frame = selected_frame;
! if (SYMBOL_DWARF2_LOC (var) != NULL)
! return evaluate_dwarf2_locdesc (var, frame, (struct dwarf_block *)
SYMBOL_DWARF2_LOC (var),
SYMBOL_TYPE (var));
switch (SYMBOL_CLASS (var))
{
case LOC_CONST:
I would have expected something like:
if (this symbol's location is computed dynamically) then
return var->compute_location_dynamically (frame);
where that ``compute_location_dynamically'' was a function supplied by
dwarf2read.c.
For this starts to make sense, I suspect it needs to be given some
additional context - namely where in dwarf2read.c things are also going
to be changed.
Andrew