mirror of
https://github.com/tobast/libunwind-eh_elf.git
synced 2024-11-25 16:47: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:
parent
7634874591
commit
f3be411bc8
3 changed files with 6 additions and 6 deletions
|
@ -39,7 +39,7 @@ tdep_stash_frame (struct dwarf_cursor *d, struct dwarf_reg_state *rs)
|
||||||
rs->where[DWARF_CFA_REG_COLUMN],
|
rs->where[DWARF_CFA_REG_COLUMN],
|
||||||
rs->val[DWARF_CFA_REG_COLUMN],
|
rs->val[DWARF_CFA_REG_COLUMN],
|
||||||
rs->val[DWARF_CFA_OFF_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[FP], rs->val[FP], DWARF_GET_LOC(d->loc[FP]),
|
||||||
rs->where[LR], rs->val[LR], DWARF_GET_LOC(d->loc[LR]),
|
rs->where[LR], rs->val[LR], DWARF_GET_LOC(d->loc[LR]),
|
||||||
rs->where[SP], rs->val[SP], DWARF_GET_LOC(d->loc[SP]));
|
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] == FP
|
||||||
|| rs->val[DWARF_CFA_REG_COLUMN] == SP)
|
|| rs->val[DWARF_CFA_REG_COLUMN] == SP)
|
||||||
&& labs(rs->val[DWARF_CFA_OFF_COLUMN]) < (1 << 29)
|
&& 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_UNDEF
|
||||||
|| rs->where[FP] == DWARF_WHERE_SAME
|
|| rs->where[FP] == DWARF_WHERE_SAME
|
||||||
|| (rs->where[FP] == DWARF_WHERE_CFAREL
|
|| (rs->where[FP] == DWARF_WHERE_CFAREL
|
||||||
|
|
|
@ -39,7 +39,7 @@ tdep_stash_frame (struct dwarf_cursor *d, struct dwarf_reg_state *rs)
|
||||||
rs->where[DWARF_CFA_REG_COLUMN],
|
rs->where[DWARF_CFA_REG_COLUMN],
|
||||||
rs->val[DWARF_CFA_REG_COLUMN],
|
rs->val[DWARF_CFA_REG_COLUMN],
|
||||||
rs->val[DWARF_CFA_OFF_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[R7], rs->val[R7], DWARF_GET_LOC(d->loc[R7]),
|
||||||
rs->where[LR], rs->val[LR], DWARF_GET_LOC(d->loc[LR]),
|
rs->where[LR], rs->val[LR], DWARF_GET_LOC(d->loc[LR]),
|
||||||
rs->where[SP], rs->val[SP], DWARF_GET_LOC(d->loc[SP]));
|
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] == R7
|
||||||
|| rs->val[DWARF_CFA_REG_COLUMN] == SP)
|
|| rs->val[DWARF_CFA_REG_COLUMN] == SP)
|
||||||
&& labs(rs->val[DWARF_CFA_OFF_COLUMN]) < (1 << 29)
|
&& 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_UNDEF
|
||||||
|| rs->where[R7] == DWARF_WHERE_SAME
|
|| rs->where[R7] == DWARF_WHERE_SAME
|
||||||
|| (rs->where[R7] == DWARF_WHERE_CFAREL
|
|| (rs->where[R7] == DWARF_WHERE_CFAREL
|
||||||
|
|
|
@ -37,7 +37,7 @@ tdep_stash_frame (struct dwarf_cursor *d, struct dwarf_reg_state *rs)
|
||||||
rs->where[DWARF_CFA_REG_COLUMN],
|
rs->where[DWARF_CFA_REG_COLUMN],
|
||||||
rs->val[DWARF_CFA_REG_COLUMN],
|
rs->val[DWARF_CFA_REG_COLUMN],
|
||||||
rs->val[DWARF_CFA_OFF_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[RBP], rs->val[RBP], DWARF_GET_LOC(d->loc[RBP]),
|
||||||
rs->where[RSP], rs->val[RSP], DWARF_GET_LOC(d->loc[RSP]));
|
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] == RBP
|
||||||
|| rs->val[DWARF_CFA_REG_COLUMN] == RSP)
|
|| rs->val[DWARF_CFA_REG_COLUMN] == RSP)
|
||||||
&& labs((long) rs->val[DWARF_CFA_OFF_COLUMN]) < (1 << 28)
|
&& 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_UNDEF
|
||||||
|| rs->where[RBP] == DWARF_WHERE_SAME
|
|| rs->where[RBP] == DWARF_WHERE_SAME
|
||||||
|| (rs->where[RBP] == DWARF_WHERE_CFAREL
|
|| (rs->where[RBP] == DWARF_WHERE_CFAREL
|
||||||
|
|
Loading…
Reference in a new issue