Lines Matching refs:dwarf
35 unw_word_t sc_addr, sp, sp_addr = c->dwarf.cfa; in unw_handle_signal_frame()
38 if ((ret = dwarf_get (&c->dwarf, sp_loc, &sp)) < 0) in unw_handle_signal_frame()
46 c->sigcontext_sp = c->dwarf.cfa; in unw_handle_signal_frame()
47 c->sigcontext_pc = c->dwarf.ip; in unw_handle_signal_frame()
62 c->dwarf.loc[UNW_AARCH64_X0] = DWARF_LOC (sc_addr + LINUX_SC_X0_OFF, 0); in unw_handle_signal_frame()
63 c->dwarf.loc[UNW_AARCH64_X1] = DWARF_LOC (sc_addr + LINUX_SC_X1_OFF, 0); in unw_handle_signal_frame()
64 c->dwarf.loc[UNW_AARCH64_X2] = DWARF_LOC (sc_addr + LINUX_SC_X2_OFF, 0); in unw_handle_signal_frame()
65 c->dwarf.loc[UNW_AARCH64_X3] = DWARF_LOC (sc_addr + LINUX_SC_X3_OFF, 0); in unw_handle_signal_frame()
66 c->dwarf.loc[UNW_AARCH64_X4] = DWARF_LOC (sc_addr + LINUX_SC_X4_OFF, 0); in unw_handle_signal_frame()
67 c->dwarf.loc[UNW_AARCH64_X5] = DWARF_LOC (sc_addr + LINUX_SC_X5_OFF, 0); in unw_handle_signal_frame()
68 c->dwarf.loc[UNW_AARCH64_X6] = DWARF_LOC (sc_addr + LINUX_SC_X6_OFF, 0); in unw_handle_signal_frame()
69 c->dwarf.loc[UNW_AARCH64_X7] = DWARF_LOC (sc_addr + LINUX_SC_X7_OFF, 0); in unw_handle_signal_frame()
70 c->dwarf.loc[UNW_AARCH64_X8] = DWARF_LOC (sc_addr + LINUX_SC_X8_OFF, 0); in unw_handle_signal_frame()
71 c->dwarf.loc[UNW_AARCH64_X9] = DWARF_LOC (sc_addr + LINUX_SC_X9_OFF, 0); in unw_handle_signal_frame()
72 c->dwarf.loc[UNW_AARCH64_X10] = DWARF_LOC (sc_addr + LINUX_SC_X10_OFF, 0); in unw_handle_signal_frame()
73 c->dwarf.loc[UNW_AARCH64_X11] = DWARF_LOC (sc_addr + LINUX_SC_X11_OFF, 0); in unw_handle_signal_frame()
74 c->dwarf.loc[UNW_AARCH64_X12] = DWARF_LOC (sc_addr + LINUX_SC_X12_OFF, 0); in unw_handle_signal_frame()
75 c->dwarf.loc[UNW_AARCH64_X13] = DWARF_LOC (sc_addr + LINUX_SC_X13_OFF, 0); in unw_handle_signal_frame()
76 c->dwarf.loc[UNW_AARCH64_X14] = DWARF_LOC (sc_addr + LINUX_SC_X14_OFF, 0); in unw_handle_signal_frame()
77 c->dwarf.loc[UNW_AARCH64_X15] = DWARF_LOC (sc_addr + LINUX_SC_X15_OFF, 0); in unw_handle_signal_frame()
78 c->dwarf.loc[UNW_AARCH64_X16] = DWARF_LOC (sc_addr + LINUX_SC_X16_OFF, 0); in unw_handle_signal_frame()
79 c->dwarf.loc[UNW_AARCH64_X17] = DWARF_LOC (sc_addr + LINUX_SC_X17_OFF, 0); in unw_handle_signal_frame()
80 c->dwarf.loc[UNW_AARCH64_X18] = DWARF_LOC (sc_addr + LINUX_SC_X18_OFF, 0); in unw_handle_signal_frame()
81 c->dwarf.loc[UNW_AARCH64_X19] = DWARF_LOC (sc_addr + LINUX_SC_X19_OFF, 0); in unw_handle_signal_frame()
82 c->dwarf.loc[UNW_AARCH64_X20] = DWARF_LOC (sc_addr + LINUX_SC_X20_OFF, 0); in unw_handle_signal_frame()
83 c->dwarf.loc[UNW_AARCH64_X21] = DWARF_LOC (sc_addr + LINUX_SC_X21_OFF, 0); in unw_handle_signal_frame()
84 c->dwarf.loc[UNW_AARCH64_X22] = DWARF_LOC (sc_addr + LINUX_SC_X22_OFF, 0); in unw_handle_signal_frame()
85 c->dwarf.loc[UNW_AARCH64_X23] = DWARF_LOC (sc_addr + LINUX_SC_X23_OFF, 0); in unw_handle_signal_frame()
86 c->dwarf.loc[UNW_AARCH64_X24] = DWARF_LOC (sc_addr + LINUX_SC_X24_OFF, 0); in unw_handle_signal_frame()
87 c->dwarf.loc[UNW_AARCH64_X25] = DWARF_LOC (sc_addr + LINUX_SC_X25_OFF, 0); in unw_handle_signal_frame()
88 c->dwarf.loc[UNW_AARCH64_X26] = DWARF_LOC (sc_addr + LINUX_SC_X26_OFF, 0); in unw_handle_signal_frame()
89 c->dwarf.loc[UNW_AARCH64_X27] = DWARF_LOC (sc_addr + LINUX_SC_X27_OFF, 0); in unw_handle_signal_frame()
90 c->dwarf.loc[UNW_AARCH64_X28] = DWARF_LOC (sc_addr + LINUX_SC_X28_OFF, 0); in unw_handle_signal_frame()
91 c->dwarf.loc[UNW_AARCH64_X29] = DWARF_LOC (sc_addr + LINUX_SC_X29_OFF, 0); in unw_handle_signal_frame()
92 c->dwarf.loc[UNW_AARCH64_X30] = DWARF_LOC (sc_addr + LINUX_SC_X30_OFF, 0); in unw_handle_signal_frame()
93 c->dwarf.loc[UNW_AARCH64_SP] = DWARF_LOC (sc_addr + LINUX_SC_SP_OFF, 0); in unw_handle_signal_frame()
94 c->dwarf.loc[UNW_AARCH64_PC] = DWARF_LOC (sc_addr + LINUX_SC_PC_OFF, 0); in unw_handle_signal_frame()
95 c->dwarf.loc[UNW_AARCH64_PSTATE] = DWARF_LOC (sc_addr + LINUX_SC_PSTATE_OFF, 0); in unw_handle_signal_frame()
98 dwarf_get (&c->dwarf, c->dwarf.loc[UNW_AARCH64_SP], &c->dwarf.cfa); in unw_handle_signal_frame()
99 dwarf_get (&c->dwarf, c->dwarf.loc[UNW_AARCH64_PC], &c->dwarf.ip); in unw_handle_signal_frame()
101 c->dwarf.pi_valid = 0; in unw_handle_signal_frame()
113 c, c->dwarf.ip, c->dwarf.cfa); in unw_step()
115 unw_word_t old_ip = c->dwarf.ip; in unw_step()
116 unw_word_t old_cfa = c->dwarf.cfa; in unw_step()
127 ret = dwarf_step (&c->dwarf); in unw_step()
131 if (ret < 0 && c->dwarf.frame == 0) in unw_step()
138 if (dwarf_get(&c->dwarf, c->dwarf.loc[UNW_AARCH64_X30], &lr) >= 0) in unw_step()
140 if (lr != c->dwarf.ip) in unw_step()
143 c->dwarf.ip = lr; in unw_step()
151 if (c->dwarf.ip >= 4) in unw_step()
152 c->dwarf.ip -= 4; in unw_step()
155 if (c->dwarf.ip == old_ip && c->dwarf.cfa == old_cfa) in unw_step()
158 __FUNCTION__, (long) c->dwarf.ip); in unw_step()
161 c->dwarf.frame++; in unw_step()
170 return (c->dwarf.ip == 0) ? 0 : 1; in unw_step()