x86_64 unwinder in libgcc_s
Dmitri Shubin
sbn@tbricks.com
Tue Aug 7 08:09:00 GMT 2012
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