1
0
Fork 0
mirror of https://github.com/tobast/libunwind-eh_elf.git synced 2024-11-29 10:17:38 +01:00

Use the register_state version of ret_addr_column, rather than the

cursor version, for frame-stashing.  They have the same value in master.
This commit is contained in:
Doug Moore 2017-05-19 18:22:08 -05:00
parent 7634874591
commit f3be411bc8
3 changed files with 6 additions and 6 deletions

View file

@ -39,7 +39,7 @@ tdep_stash_frame (struct dwarf_cursor *d, struct dwarf_reg_state *rs)
rs->where[DWARF_CFA_REG_COLUMN],
rs->val[DWARF_CFA_REG_COLUMN],
rs->val[DWARF_CFA_OFF_COLUMN],
DWARF_GET_LOC(d->loc[d->ret_addr_column]),
DWARF_GET_LOC(d->loc[rs->ret_addr_column]),
rs->where[FP], rs->val[FP], DWARF_GET_LOC(d->loc[FP]),
rs->where[LR], rs->val[LR], DWARF_GET_LOC(d->loc[LR]),
rs->where[SP], rs->val[SP], DWARF_GET_LOC(d->loc[SP]));
@ -55,7 +55,7 @@ tdep_stash_frame (struct dwarf_cursor *d, struct dwarf_reg_state *rs)
&& (rs->val[DWARF_CFA_REG_COLUMN] == FP
|| rs->val[DWARF_CFA_REG_COLUMN] == SP)
&& labs(rs->val[DWARF_CFA_OFF_COLUMN]) < (1 << 29)
&& d->ret_addr_column == LR
&& rs->ret_addr_column == LR
&& (rs->where[FP] == DWARF_WHERE_UNDEF
|| rs->where[FP] == DWARF_WHERE_SAME
|| (rs->where[FP] == DWARF_WHERE_CFAREL

View file

@ -39,7 +39,7 @@ tdep_stash_frame (struct dwarf_cursor *d, struct dwarf_reg_state *rs)
rs->where[DWARF_CFA_REG_COLUMN],
rs->val[DWARF_CFA_REG_COLUMN],
rs->val[DWARF_CFA_OFF_COLUMN],
DWARF_GET_LOC(d->loc[d->ret_addr_column]),
DWARF_GET_LOC(d->loc[rs->ret_addr_column]),
rs->where[R7], rs->val[R7], DWARF_GET_LOC(d->loc[R7]),
rs->where[LR], rs->val[LR], DWARF_GET_LOC(d->loc[LR]),
rs->where[SP], rs->val[SP], DWARF_GET_LOC(d->loc[SP]));
@ -55,7 +55,7 @@ tdep_stash_frame (struct dwarf_cursor *d, struct dwarf_reg_state *rs)
&& (rs->val[DWARF_CFA_REG_COLUMN] == R7
|| rs->val[DWARF_CFA_REG_COLUMN] == SP)
&& labs(rs->val[DWARF_CFA_OFF_COLUMN]) < (1 << 29)
&& d->ret_addr_column == LR
&& rs->ret_addr_column == LR
&& (rs->where[R7] == DWARF_WHERE_UNDEF
|| rs->where[R7] == DWARF_WHERE_SAME
|| (rs->where[R7] == DWARF_WHERE_CFAREL

View file

@ -37,7 +37,7 @@ tdep_stash_frame (struct dwarf_cursor *d, struct dwarf_reg_state *rs)
rs->where[DWARF_CFA_REG_COLUMN],
rs->val[DWARF_CFA_REG_COLUMN],
rs->val[DWARF_CFA_OFF_COLUMN],
DWARF_GET_LOC(d->loc[d->ret_addr_column]),
DWARF_GET_LOC(d->loc[rs->ret_addr_column]),
rs->where[RBP], rs->val[RBP], DWARF_GET_LOC(d->loc[RBP]),
rs->where[RSP], rs->val[RSP], DWARF_GET_LOC(d->loc[RSP]));
@ -68,7 +68,7 @@ tdep_stash_frame (struct dwarf_cursor *d, struct dwarf_reg_state *rs)
&& (rs->val[DWARF_CFA_REG_COLUMN] == RBP
|| rs->val[DWARF_CFA_REG_COLUMN] == RSP)
&& labs((long) rs->val[DWARF_CFA_OFF_COLUMN]) < (1 << 28)
&& DWARF_GET_LOC(d->loc[d->ret_addr_column]) == d->cfa-8
&& DWARF_GET_LOC(d->loc[rs->ret_addr_column]) == d->cfa-8
&& (rs->where[RBP] == DWARF_WHERE_UNDEF
|| rs->where[RBP] == DWARF_WHERE_SAME
|| (rs->where[RBP] == DWARF_WHERE_CFAREL