Using dwfl to enumerate frames of current thread
Mark Wielaard
mjw at redhat.com
Fri Aug 21 22:53:35 UTC 2015
On Fri, Aug 21, 2015 at 06:25:38PM +0200, Ben Gamari wrote:
> Mark Wielaard <mjw at redhat.com> writes:
>
> > And this is the problem. Sorry. I should have realized earlier.
> > We use the .debug_aranges to get a quick index of the CUs and which
> > address ranges they cover. In the case that there is no .debug_aranges
> > we could do a full scan of all CUs. But that is somewhat inefficient,
> > since no .debug_aranges could also mean that there really are no
> > CUs with address scope DIEs (however that is probably unlikely). But
> > if there is a .debug_aranges then we do assume it is complete. I am
> > thinking whether we should still scan all CUs anyway if we are
> > looking for an address that is really inside a module. But I think
> > that would quickly become very inefficient.
> >
> Does elfutils need .debug_ranges as well?
Only if the DWARF producer created DIEs with DW_AT_ranges attributes.
You seem to never do that. If your range is just one simple one you can
just use a DW_AT_low_pc/high_pc pair and .debug_ranges will never be
used.
Also see Appendix B -- Debug Section Relationships in
http://dwarfstd.org/doc/DWARF4.pdf for a picture of which and how
different debug sections might refer to each other.
Cheers,
Mark
More information about the elfutils-devel
mailing list