sh: Set the cfa_offset to 0 if we see a DW_CFA_def_cfa_register op
The way that the CFA is calculated can change as we progress through a function. If we see a DW_CFA_def_cfa_register op we need to reset the frame's cfa_offset value which may have been previously setup. Signed-off-by: Matt Fleming <matt@console-pimps.org> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
This commit is contained in:
parent
7dd6662a92
commit
180aa6e6aa
1 changed files with 1 additions and 0 deletions
|
@ -449,6 +449,7 @@ static int dwarf_cfa_execute_insns(unsigned char *insn_start,
|
|||
count = dwarf_read_uleb128(current_insn,
|
||||
&frame->cfa_register);
|
||||
current_insn += count;
|
||||
frame->cfa_offset = 0;
|
||||
frame->flags |= DWARF_FRAME_CFA_REG_OFFSET;
|
||||
break;
|
||||
case DW_CFA_def_cfa_offset:
|
||||
|
|
Loading…
Reference in a new issue