This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
Re: frame cache
> Michael Eager Wrote:
It depends on target . If you register dwarf2 frame sniffers to
gdbarch, and your compiler can emit proper debugging information, gdb
will not call analyze_prologue(). At least for our target(I did the
porting), it works as Mark Kettenis said:
"prologue analysis should only be done as a last resort, i.e. when
proper debug information is not available. "
Which target?
Our chip is still under development, so no target name published.
Because if you want to use debugging information to skip prologue, you
write the code in this function. So, test should be place here in this
function.
As I mentioned, in x86 or PowerPC there is no code to bypass analyzing
the prologue, even if there is debug info. If prologue analysis is
truly to be done "only as a last resort", and I agree that this should
be the case, then this seems not to be represented in the gdb code.
If I've missed where this is done, feel free to point me at the correct
code.
I'm sorry I didn't find it too in x86. But x86 has many files, I'm not sure I
have read through them. In mips-tdep.c, in mips_skip_prologue() , this
function "skip_prologue_using_sal()" is using the debugging information, i.e.
skip prologue using symbol and line. If x86 doesn't use debugging information,
maybe it has some universal consideration on using it, e.g. some compiler
can't emit proper debugging information. From my experience, if your compiler
can't give all right debugging information, your debugging will encounter
strange problems, what is worse than not using them(exclude the base info as
symbols).
Regards,
Wenbo
--
Wenbo Yang
The State Key Lab. of Information Security
Graduate School of CAS, 19A Yuquan Road, Beijing, China
Homepage: http://solrex.cn
SimpLight Nanoelectronics Ltd. 6 Zhichun Road, 10th Floor, Beijing, China
Phone: +86-10-5126-6989 --- Email: wenbo.yang@simplnano.com