Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 180aa6e6 authored by Matt Fleming's avatar Matt Fleming Committed by Paul Mundt
Browse files

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: default avatarMatt Fleming <matt@console-pimps.org>
Signed-off-by: default avatarPaul Mundt <lethal@linux-sh.org>
parent 7dd6662a
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -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: