Re: Dwarf debug location list

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



majia gm <gmmajia@xxxxxxxxx> writes:

> I'm working on a non-mainstream RISC machine. I found that the
> CFA(Canonical Frame Address) of a function as follows, is record
> errorly in a location list.
>
> The origninal function is wrriten in C, and here's the objdump result.
>
> prologue:
> stw.w  lr, [sp-], 4
> sub  sp, sp, #404
>
> ...
>
> epilogue:
> add  sp, sp, #404
> cmovub  pc, lr
>
> The CFA is discribed relatively to the stack pointer sp. But the
> location list for CFA only noticed the adjustment of sp in the
> prologue but ignored the one in the epilogue.
>
> I'm trying to figure out how this happened. But I'm not familiar with GCC.
>
> Could you give me some hints on how the location list of the CFA is generated?
> Or is there any reference to the Dwarf generating machenism in GCC?

I think you neglected to mention which version of gcc you are using.
gcc only recently started generating good information for unwinding
through an epilogue.  I think it was in gcc 4.5 but not before.

Ian


[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux