Home
last modified time | relevance | path

Searched refs:cfa (Results 1 – 25 of 90) sorted by relevance

1234

/third_party/libunwind/src/x86_64/
DGtrace.c214 unw_word_t cfa, in trace_init_addr() argument
237 d->cfa = cfa; in trace_init_addr()
276 unw_word_t cfa, in trace_lookup() argument
331 return trace_init_addr (frame, cursor, cfa, rip, rbp, rsp); in trace_lookup()
403 unw_word_t rbp, rsp, rip, cfa; in tdep_trace() local
413 Debug (1, "begin ip 0x%lx cfa 0x%lx\n", d->ip, d->cfa); in tdep_trace()
421 rsp = cfa = d->cfa; in tdep_trace()
442 depth, cfa, rip, rsp, rbp); in tdep_trace()
449 unw_tdep_frame_t *f = trace_lookup (cursor, cache, cfa, rip, rbp, rsp); in tdep_trace()
483 cfa = (f->cfa_reg_rsp ? rsp : rbp) + f->cfa_reg_offset; in tdep_trace()
[all …]
DGstep.c71 c, c->dwarf.ip, c->dwarf.cfa); in unw_step()
114 unw_word_t prev_ip = c->dwarf.ip, prev_cfa = c->dwarf.cfa; in unw_step()
141 c->dwarf.loc[RIP] = DWARF_LOC (c->dwarf.cfa, 0); in unw_step()
142 c->dwarf.cfa += 8; in unw_step()
205 c->dwarf.cfa += 8; in unw_step()
231 rbp, c->dwarf.cfa, rbp1); in unw_step()
239 || rbp < c->dwarf.cfa in unw_step()
240 || (rbp - c->dwarf.cfa) > 0x4000) in unw_step()
250 c->dwarf.cfa += 16; in unw_step()
293 if (c->dwarf.ip == prev_ip && c->dwarf.cfa == prev_cfa) in unw_step()
DGos-linux.c48 dw->ip, dw->cfa, c->sigcontext_format); in tdep_fetch_frame()
57 dw->ip, dw->cfa, c->sigcontext_format); in tdep_cache_frame()
71 c->sigcontext_addr = dw->cfa; in tdep_reuse_frame()
75 dw->ip, dw->cfa, c->sigcontext_format, c->sigcontext_addr, in tdep_reuse_frame()
98 c->sigcontext_format, c->sigcontext_addr, c->dwarf.cfa); in x86_64_handle_signal_frame()
DGos-freebsd.c99 ucontext = c->dwarf.cfa + offsetof(struct sigframe, sf_uc); in x86_64_handle_signal_frame()
100 c->sigcontext_addr = c->dwarf.cfa; in x86_64_handle_signal_frame()
104 ret = dwarf_get (&c->dwarf, rsp_loc, &c->dwarf.cfa); in x86_64_handle_signal_frame()
139 c->dwarf.loc[RSP] = DWARF_VAL_LOC (c, c->dwarf.cfa + 8); in x86_64_handle_signal_frame()
140 c->dwarf.loc[RIP] = DWARF_LOC (c->dwarf.cfa, 0); in x86_64_handle_signal_frame()
150 c->dwarf.cfa += 8; in x86_64_handle_signal_frame()
DGos-solaris.c53 unw_word_t ucontext = c->dwarf.cfa + sizeof (struct sigframe); in x86_64_handle_signal_frame()
59 c->sigcontext_addr = c->dwarf.cfa; in x86_64_handle_signal_frame()
62 (uint64_t)c->dwarf.cfa, (uint64_t)ucontext); in x86_64_handle_signal_frame()
65 int ret = dwarf_get (&c->dwarf, rsp_loc, &c->dwarf.cfa); in x86_64_handle_signal_frame()
/third_party/libunwind/src/arm/
DGtrace.c220 unw_word_t cfa, in trace_init_addr() argument
244 d->cfa = cfa; in trace_init_addr()
280 unw_word_t cfa, in trace_lookup() argument
335 return trace_init_addr (frame, cursor, cfa, pc, r7, sp); in trace_lookup()
407 unw_word_t sp, pc, cfa, r7, lr; in tdep_trace() local
416 Debug (1, "begin ip 0x%x cfa 0x%x\n", d->ip, d->cfa); in tdep_trace()
424 sp = cfa = d->cfa; in tdep_trace()
446 depth, cfa, pc, sp, r7); in tdep_trace()
453 unw_tdep_frame_t *f = trace_lookup (cursor, cache, cfa, pc, r7, sp); in tdep_trace()
486 cfa = (f->cfa_reg_sp ? sp : r7) + f->cfa_reg_offset; in tdep_trace()
[all …]
DGex_tables.c97 c->cfa -= edata->data; in arm_exidx_apply_cmd()
101 c->cfa += edata->data; in arm_exidx_apply_cmd()
108 c->loc[UNW_ARM_R0 + i] = DWARF_LOC (c->cfa, 0); in arm_exidx_apply_cmd()
109 c->cfa += 4; in arm_exidx_apply_cmd()
113 dwarf_get (c, c->loc[UNW_ARM_R13], &c->cfa); in arm_exidx_apply_cmd()
119 dwarf_get (c, c->loc[UNW_ARM_R13], &c->cfa); in arm_exidx_apply_cmd()
125 c->cfa += 8; in arm_exidx_apply_cmd()
127 c->cfa += 4; in arm_exidx_apply_cmd()
132 c->cfa += 8; in arm_exidx_apply_cmd()
137 c->cfa += 4; in arm_exidx_apply_cmd()
DGos-freebsd.c42 unw_word_t sc_addr, sp, sp_addr = c->dwarf.cfa; in arm_handle_signal_frame()
66 c->sigcontext_sp = c->dwarf.cfa; in arm_handle_signal_frame()
89 dwarf_get (&c->dwarf, c->dwarf.loc[UNW_ARM_R13], &c->dwarf.cfa); in arm_handle_signal_frame()
DGos-linux.c37 unw_word_t sc_addr, sp, sp_addr = c->dwarf.cfa; in arm_handle_signal_frame()
48 c->sigcontext_sp = c->dwarf.cfa; in arm_handle_signal_frame()
120 dwarf_get (&c->dwarf, c->dwarf.loc[UNW_ARM_R13], &c->dwarf.cfa); in arm_handle_signal_frame()
/third_party/libunwind/src/aarch64/
DGtrace.c218 unw_word_t cfa, in trace_init_addr() argument
242 d->cfa = cfa; in trace_init_addr()
278 unw_word_t cfa, in trace_lookup() argument
333 return trace_init_addr (frame, cursor, cfa, pc, fp, sp); in trace_lookup()
405 unw_word_t fp, sp, pc, cfa, lr; in tdep_trace() local
414 Debug (1, "begin ip 0x%lx cfa 0x%lx\n", d->ip, d->cfa); in tdep_trace()
422 sp = cfa = d->cfa; in tdep_trace()
444 depth, cfa, pc, sp, fp); in tdep_trace()
451 unw_tdep_frame_t *f = trace_lookup (cursor, cache, cfa, pc, fp, sp); in tdep_trace()
484 cfa = (f->cfa_reg_sp ? sp : fp) + f->cfa_reg_offset; in tdep_trace()
[all …]
DGstep.c59 unw_word_t sc_addr, sp, sp_addr = c->dwarf.cfa; in aarch64_handle_signal_frame()
70 c->sigcontext_sp = c->dwarf.cfa; in aarch64_handle_signal_frame()
127 dwarf_get (&c->dwarf, c->dwarf.loc[UNW_AARCH64_SP], &c->dwarf.cfa); in aarch64_handle_signal_frame()
165 c, c->dwarf.ip, c->dwarf.cfa); in unw_step()
186 … (uintptr_t*)&(c->dwarf.ip), (uintptr_t*)&(c->dwarf.fp), (uintptr_t*)&(c->dwarf.cfa), buf, 128); in unw_step()
/third_party/elfutils/tests/
Drun-readelf-frames.sh85 offset r29 (x29) at cfa-32
86 offset r30 (x30) at cfa-24
88 offset r19 (x19) at cfa-16
134 offset r29 (x29) at cfa-64
135 offset r30 (x30) at cfa-56
137 offset r19 (x19) at cfa-48
138 offset r20 (x20) at cfa-40
140 offset r21 (x21) at cfa-32
141 offset r22 (x22) at cfa-24
143 offset r23 (x23) at cfa-16
[all …]
Drun-readelf-zdebug.sh430 offset r16 (rip) at cfa-8
455 offset r12 (r12) at cfa-40
456 offset r6 (rbp) at cfa-48
459 offset r3 (rbx) at cfa-56
460 offset r15 (r15) at cfa-16
461 offset r14 (r14) at cfa-24
462 offset r13 (r13) at cfa-32
528 offset r16 (rip) at cfa-8
/third_party/libunwind/src/x86/
DGstep.c69 ret = dwarf_get (&c->dwarf, c->dwarf.loc[EBP], &c->dwarf.cfa); in unw_step()
77 c->dwarf.cfa); in unw_step()
79 ebp_loc = DWARF_LOC (c->dwarf.cfa, 0); in unw_step()
80 esp_loc = DWARF_VAL_LOC (c, c->dwarf.cfa + 8); in unw_step()
81 eip_loc = DWARF_LOC (c->dwarf.cfa + 4, 0); in unw_step()
82 c->dwarf.cfa += 8; in unw_step()
DGos-linux.c84 unw_word_t siginfo_ptr_addr = c->dwarf.cfa + 4; in x86_handle_signal_frame()
85 unw_word_t sigcontext_ptr_addr = c->dwarf.cfa + 8; in x86_handle_signal_frame()
98 if (siginfo_ptr < c->dwarf.cfa in x86_handle_signal_frame()
99 || siginfo_ptr > c->dwarf.cfa + 256 in x86_handle_signal_frame()
100 || sigcontext_ptr < c->dwarf.cfa in x86_handle_signal_frame()
101 || sigcontext_ptr > c->dwarf.cfa + 256) in x86_handle_signal_frame()
105 c->sigcontext_addr = sc_addr = c->dwarf.cfa + 4; in x86_handle_signal_frame()
119 ret = dwarf_get (&c->dwarf, esp_loc, &c->dwarf.cfa); in x86_handle_signal_frame()
DGos-freebsd.c115 sf = (struct sigframe *)c->dwarf.cfa; in x86_handle_signal_frame()
117 c->sigcontext_addr = c->dwarf.cfa; in x86_handle_signal_frame()
120 ret = dwarf_get (&c->dwarf, esp_loc, &c->dwarf.cfa); in x86_handle_signal_frame()
143 c->dwarf.loc[EIP] = DWARF_LOC (c->dwarf.cfa, 0); in x86_handle_signal_frame()
144 c->dwarf.loc[ESP] = DWARF_VAL_LOC (c, c->dwarf.cfa + 4); in x86_handle_signal_frame()
146 c->dwarf.cfa += 4; in x86_handle_signal_frame()
/third_party/libunwind/src/riscv/
DGstep.c34 unw_word_t sp, sp_addr = c->dwarf.cfa; in riscv_handle_signal_frame()
71 dwarf_get (&c->dwarf, c->dwarf.loc[UNW_TDEP_SP], &c->dwarf.cfa); in riscv_handle_signal_frame()
85 c, c->dwarf.ip, c->dwarf.cfa); in unw_step()
106 …1, "DWARF unwinding failed (cursor=%p, ip=0x%016lx, sp=0x%016lx)\n", c, c->dwarf.ip, c->dwarf.cfa); in unw_step()
/third_party/libunwind/src/ppc32/
DGstep.c97 back_chain_loc = DWARF_LOC (c->dwarf.cfa + back_chain_offset, 0); in unw_step()
100 dwarf_get (&c->dwarf, back_chain_loc, &c->dwarf.cfa)) < 0) in unw_step()
107 if (c->dwarf.cfa == 0) in unw_step()
112 lr_save_loc = DWARF_LOC (c->dwarf.cfa + lr_save_offset, 0); in unw_step()
135 unw_word_t ucontext = c->dwarf.cfa + __SIGNAL_FRAMESIZE; in unw_step()
145 ret = dwarf_get (&c->dwarf, sp_loc, &c->dwarf.cfa); in unw_step()
/third_party/libunwind/src/tilegx/
DGis_signal_frame.c83 unw_word_t sc_addr, sp, sp_addr = c->dwarf.cfa; in tilegx_handle_signal_frame()
92 c->sigcontext_sp = c->dwarf.cfa; in tilegx_handle_signal_frame()
114 dwarf_get (&c->dwarf, c->dwarf.loc[UNW_TILEGX_R54], &c->dwarf.cfa); in tilegx_handle_signal_frame()
/third_party/libunwind/src/mips/
DGstep.c33 unw_word_t sc_addr, sp_addr = c->dwarf.cfa; in mips_handle_signal_frame()
93 dwarf_get (&c->dwarf, c->dwarf.loc[UNW_MIPS_R29], &c->dwarf.cfa); in mips_handle_signal_frame()
108 (unsigned long long)c->dwarf.cfa, (unsigned long long)fp); in mips_handle_signal_frame()
161 current_sp_val, current_fp_val, c->dwarf.cfa, in _step_n64()
169 } else if (is_valid_fp_val(c->dwarf.cfa, current_fp_val)) { in _step_n64()
/third_party/libunwind/src/dwarf/
DGparser.c788 unw_word_t regnum, addr, cfa, ip; in apply_reg_state() local
806 prev_cfa = c->cfa; in apply_reg_state()
825 cfa = c->cfa; in apply_reg_state()
829 if ((ret = unw_get_reg ((unw_cursor_t *) c, regnum, &cfa)) < 0) in apply_reg_state()
832 cfa += rs->reg.val[DWARF_CFA_OFF_COLUMN]; in apply_reg_state()
849 cfa = DWARF_GET_LOC (cfa_loc); in apply_reg_state()
873 new_loc[i] = DWARF_MEM_LOC (c, cfa + rs->reg.val[i]); in apply_reg_state()
892 if ((ret = eval_location_expr (c, cfa, as, a, addr, new_loc + i, arg)) < 0) in apply_reg_state()
900 if ((ret = eval_location_expr (c, cfa, as, a, addr, new_loc + i, arg)) < 0) in apply_reg_state()
915 c->cfa = cfa; in apply_reg_state()
[all …]
/third_party/libunwind/tests/
Dx64-test-dwarf-expressions.S68 # of cfa-16 (cfa points at old rsp, cfa-8 is our rip, so we stored r12 at
69 # cfa-16).
/third_party/libunwind/src/sh/
DGstep.c35 unw_word_t sc_addr, sp, sp_addr = c->dwarf.cfa; in sh_handle_signal_frame()
46 c->sigcontext_sp = c->dwarf.cfa; in sh_handle_signal_frame()
92 dwarf_get (&c->dwarf, c->dwarf.loc[UNW_SH_R15], &c->dwarf.cfa); in sh_handle_signal_frame()
/third_party/libunwind/src/ppc64/
DGstep.c92 back_chain_loc = DWARF_LOC (c->dwarf.cfa + back_chain_offset, 0); in unw_step()
95 dwarf_get (&c->dwarf, back_chain_loc, &c->dwarf.cfa)) < 0) in unw_step()
102 if (c->dwarf.cfa == 0) in unw_step()
107 lr_save_loc = DWARF_LOC (c->dwarf.cfa + lr_save_offset, 0); in unw_step()
135 unw_word_t ucontext = c->dwarf.cfa + __SIGNAL_FRAMESIZE; in unw_step()
145 ret = dwarf_get (&c->dwarf, sp_loc, &c->dwarf.cfa); in unw_step()
467 c->dwarf.loc[UNW_PPC64_R2] = DWARF_LOC(c->dwarf.cfa + toc_save, 0); in unw_step()
/third_party/libunwind/src/s390x/
DGstep.c80 dwarf_get (&c->dwarf, c->dwarf.loc[UNW_S390X_R15], &c->dwarf.cfa); in s390x_handle_signal_frame()
100 c, c->dwarf.ip, c->dwarf.cfa); in unw_step()

1234