1
0
Fork 0
mirror of https://github.com/tobast/libunwind-eh_elf.git synced 2024-11-29 18:27:37 +01:00

Move the change to c->ret_addr_column to the end of dwarf_step, to make sure

that it gets set in the cache hit case.
This commit is contained in:
Doug Moore 2017-05-19 17:59:08 -05:00
parent ec1a021243
commit 7634874591

View file

@ -516,7 +516,6 @@ setup_fde (struct dwarf_cursor *c, dwarf_state_record_t *sr)
set_reg (sr, i, DWARF_WHERE_SAME, 0); set_reg (sr, i, DWARF_WHERE_SAME, 0);
struct dwarf_cie_info *dci = c->pi.unwind_info; struct dwarf_cie_info *dci = c->pi.unwind_info;
c->ret_addr_column = dci->ret_addr_column;
sr->rs_current.ret_addr_column = dci->ret_addr_column; sr->rs_current.ret_addr_column = dci->ret_addr_column;
unw_word_t addr = dci->cie_instr_start; unw_word_t addr = dci->cie_instr_start;
unw_word_t curr_ip = 0; unw_word_t curr_ip = 0;
@ -942,6 +941,7 @@ dwarf_step (struct dwarf_cursor *c)
return ret; return ret;
if ((ret = apply_reg_state (c, &sr.rs_current)) < 0) if ((ret = apply_reg_state (c, &sr.rs_current)) < 0)
return ret; return ret;
c->ret_addr_column = sr.rs_current.ret_addr_column;
return 1; return 1;
} }