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.