This is the mail archive of the
frysk@sourceware.org
mailing list for the frysk project.
Dwarf expertise needed
- From: Sami Wagiaalla <swagiaal at redhat dot com>
- To: frysk <frysk at sourceware dot org>
- Date: Tue, 19 Jun 2007 11:18:02 -0400
- Subject: Dwarf expertise needed
So I have been stuck on a bug to do with inlined functions for a bit.
Here goes:
Attached are two programs funit-scopes.c, and funit-scopes-works.c. My
original test case was simmilar to funit-scopes.c. What I would do is
run the program until it crashes, get a stack back trace, go one frame
out of the inner most frame, subptract 1 from the pc so that it is
pointing at something before the return instruction.
Using that frame address I look at the debug info. I get a Die, ask the
Die for its scopes, and explore upwards in the hierarchy.
For funit-scopes-works.c i get this:
DW_TAG_inlined_subroutine name: second
DW_TAG_compile_unit name:
For funit-scopes.c I cannot even get a die corresponding to the frame
address (I have verified that frame address is between hight_pc, and
low_pc for that particular expansion of that inlined function ).
Tow questions:
Why doesnt funit-scopes.c work ?
and
Why does funit-scopes-works.c not print the tag for the subroutine
within wich the function has been inlined ?
funit-scopes is in cvs, and so is TestFrameScopes.java which performs
the above test.