Lines Matching refs:orc

118 	static struct orc_entry *orc;  in orc_find()  local
155 orc = orc_module_find(ip); in orc_find()
156 if (orc) in orc_find()
157 return orc; in orc_find()
209 struct orc_entry *orc = _orc; in unwind_module_init() local
213 orc_size % sizeof(*orc) != 0 || in unwind_module_init()
214 num_entries != orc_size / sizeof(*orc)); in unwind_module_init()
223 cur_orc_table = orc; in unwind_module_init()
228 mod->arch.orc_unwind = orc; in unwind_module_init()
238 struct orc_entry *orc; in unwind_init() local
255 orc = __orc_find(__start_orc_unwind_ip, __start_orc_unwind, in unwind_init()
258 if (!orc) { in unwind_init()
263 orc_lookup[i] = orc - __start_orc_unwind; in unwind_init()
267 orc = __orc_find(__start_orc_unwind_ip, __start_orc_unwind, num_entries, in unwind_init()
269 if (!orc) { in unwind_init()
273 orc_lookup[lookup_num_blocks-1] = orc - __start_orc_unwind; in unwind_init()
357 struct orc_entry *orc; in unwind_next_frame() local
376 orc = orc_find(state->signal ? state->ip : state->ip - 1); in unwind_next_frame()
377 if (!orc) in unwind_next_frame()
381 if (orc->sp_reg == ORC_REG_UNDEFINED) { in unwind_next_frame()
382 if (!orc->end) in unwind_next_frame()
389 switch (orc->sp_reg) { in unwind_next_frame()
391 sp = state->sp + orc->sp_offset; in unwind_next_frame()
395 sp = state->bp + orc->sp_offset; in unwind_next_frame()
399 sp = state->sp + orc->sp_offset; in unwind_next_frame()
404 sp = state->bp + orc->sp_offset; in unwind_next_frame()
446 orc->sp_reg, (void *)state->ip); in unwind_next_frame()
456 switch (orc->type) { in unwind_next_frame()
497 orc->type, (void *)orig_ip); in unwind_next_frame()
502 switch (orc->bp_reg) { in unwind_next_frame()
509 if (!deref_stack_reg(state, sp + orc->bp_offset, &state->bp)) in unwind_next_frame()
514 if (!deref_stack_reg(state, state->bp + orc->bp_offset, &state->bp)) in unwind_next_frame()
520 orc->bp_reg, (void *)orig_ip); in unwind_next_frame()