x86_64 unwinder in libgcc_s

Dmitri Shubin sbn@tbricks.com
Tue Aug 14 08:45:00 GMT 2012


Any thoughts on this?
Or maybe it's wrong list for this question?

On 07.08.2012 12:09, Dmitri Shubin wrote:
> On 06.08.2012 21:13, Richard Henderson wrote:
>> On 08/06/2012 08:23 AM, Dmitri Shubin wrote:
>>>      char *cfa = (char *) _Unwind_GetCFA(ctx);
>>>      printf("cfa = %p\nra = %p\n", cfa, *(void **)(cfa - 8));
>> Use _Unwind_GetIP here, for one.
> In fact I'm not interested in IP or RA here, I need some context 
> stored by assembly routine on the stack relative to its CFA.
> I use RA only to illustrate that I got "wrong" (from my pov) CFA from 
> libgcc unwinder.
> And the question is is it a bug (or deviation from x86-64 psABI) in 
> libgcc or I misunderstand what CFA is.



More information about the Gcc mailing list