Lines Matching refs:cfa
206 RIP using current CFA, RBP and RSP values. Modifies CURSOR to
216 unw_word_t cfa,
239 d->cfa = cfa;
260 Debug (3, "frame va %lx type %d last %d cfa %s+%d rbp @ cfa%+d rsp @ cfa%+d\n",
269 in CACHE using current CFA, RBP and RSP values. Uses CURSOR to
275 unw_word_t cfa,
330 return trace_init_addr (frame, cursor, cfa, rip, rbp, rsp);
351 common x86-64 ABI stack layouts: CFA is RBP or RSP plus/minus
352 constant offset, return address is at CFA-8, and RBP and RSP are
353 either unchanged or saved on stack at constant offset from the CFA;
402 unw_word_t rbp, rsp, rip, cfa;
411 Debug (1, "begin ip 0x%lx cfa 0x%lx\n", d->ip, d->cfa);
419 rsp = cfa = d->cfa;
439 Debug (2, "depth %d cfa 0x%lx rip 0x%lx rsp 0x%lx rbp 0x%lx\n",
440 depth, cfa, rip, rsp, rbp);
447 unw_tdep_frame_t *f = trace_lookup (cursor, cache, cfa, rip, rbp, rsp);
456 Debug (3, "frame va %lx type %d last %d cfa %s+%d rbp @ cfa%+d rsp @ cfa%+d\n",
471 /* Evaluate CFA and registers for the next frame. */
480 cfa
481 ACCESS_MEM_FAST(ret, c->validate, d, cfa - 8, rip);
483 ACCESS_MEM_FAST(ret, c->validate, d, cfa + f->rbp_cfa_offset, rbp);
485 /* Don't bother reading RSP from DWARF, CFA becomes new RSP. */
486 rsp = cfa;
493 cfa = cfa + f->cfa_reg_offset; /* cfa now points to ucontext_t. */
495 ACCESS_MEM_FAST(ret, c->validate, d, cfa + UC_MCONTEXT_GREGS_RIP, rip);
497 ACCESS_MEM_FAST(ret, c->validate, d, cfa + UC_MCONTEXT_GREGS_RBP, rbp);
499 ACCESS_MEM_FAST(ret, c->validate, d, cfa + UC_MCONTEXT_GREGS_RSP, rsp);
503 cfa = rsp;
517 Debug (4, "new cfa 0x%lx rip 0x%lx rsp 0x%lx rbp 0x%lx\n",
518 cfa, rip, rsp, rbp);