This is the mail archive of the dwarf2@corp.sgi.com mailing list for the dwarf2 project.


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

Re: location lists revisited



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


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