Re: frame cache

Wenbo Yang
2007-07-31T01:08:35Z

> 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