This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]