This is the mail archive of the
dwarf2@corp.sgi.com
mailing list for the dwarf2 project.
Re: location lists revisited
- To: eager at eagercon dot com (Michael Eager), todd dot allen at ccur dot com (Todd Allen)
- Subject: Re: location lists revisited
- From: David B Anderson <davea at quasar dot engr dot sgi dot com>
- Date: Fri, 30 Mar 2001 09:31:45 -0800 (PST)
- Cc: dwarf2 at corp dot sgi dot com (dwarf2)
- Reply-To: David B Anderson <davea at quasar dot engr dot sgi dot com>
T. Allen writes:
>The only two declarations of global described in the DWARF had to be
>described with location lists, because in each object in which they appeared,
>they were at different locations in various points in those objects.
>
>(Note that I am using your "non-defining declarations can have location
>lists" extension here.) Also, I'm expanding the location lists right in the
>dump, because it's easier to understand that way.
>
>So, how does a debugger stopped at a point outside either of those objects
>(e.g. at 0x8100), and trying to reference or modify "global" know which
>location to use? Probably, it would want to track down the defining
>declaration, but that has a location list, and that list doesn't cover the
>current pc. How does it know which of the locations is the one that's good
>for the pc at which it's stopped?
>
>In this example, it probably could make a good guess that it doesn't want the
>register. But that's just a heuristic and I wouldn't want to have to depend
>on it.
A related question: in this example, what do
.debug_pubnames
and
.debug_aranges
contain? Those are supposed to be used for 'fast access' but
how would such 'fast access' be defined for the example in hand?
davea@sgi.com