This is the mail archive of the
frysk@sources.redhat.com
mailing list for the frysk project.
Getting inline function information
- From: Adam Jocksch <ajocksch at redhat dot com>
- To: frysk at sourceware dot org
- Cc: mcvet at redhat dot com, Rick Moseley <rmoseley at redhat dot com>
- Date: Mon, 11 Sep 2006 17:03:12 -0600
- Subject: Getting inline function information
After conversing with Roland this afternoon, I think I've figured out
the way we should be approaching this problem. It looks like we need to
do the following things for each PC in the stack frame returned from
libunwind:
1) get the scopes for that pc using dwarf_getscopes (already wrapped).
2) Started at the innermost scope, work our way backwards and check for
a Dwarf_Die with the DW_TAG_inlined_subroutine tag on it. Attributes
attached to this tag may give us more information about the call state
of the inlined code. You can get the Dwarf tag by using dwarf_tag.
He also suggested taking a look at
elfutils/src/addr2line.c:print_dwarf_function (which I have yet to do
but will do shortly) for more information. It looks like the things that
need to be accomplished to get this working are
a) Wrap dwarf_tag
b) Wrap whatever we need to get any/all relevant attributes out of the
dwarf_tag (this may very well end up becoming a part of step (a) ).
Hopefully I should be able to get started on this sometime this week, so
if anyone has any questions/comments/criticisms please feel free to
respond :)
Adam