* dwarf2-frame.c (execute_cfa_program): New support of

`DW_CFA_GNU_negative_offset_extended'.
This commit is contained in:
Jan Kratochvil 2007-01-21 22:42:09 +00:00
parent 43a9b631fc
commit 58894217ea
2 changed files with 18 additions and 0 deletions

View File

@ -1,3 +1,10 @@
2007-01-11 Andrew Cagney <cagney@redhat.com>
Daniel Jacobowitz <dan@codesourcery.com>
Jan Kratochvil <jan.kratochvil@redhat.com>
* dwarf2-frame.c (execute_cfa_program): New support of
`DW_CFA_GNU_negative_offset_extended'.
2007-01-21 Daniel Jacobowitz <dan@codesourcery.com>
* NEWS: Mention flash support for "load" and new remote packets.

View File

@ -579,6 +579,17 @@ bad CFI data; mismatched DW_CFA_restore_state at 0x%s"), paddr (fs->pc));
insn_ptr = read_uleb128 (insn_ptr, insn_end, &utmp);
break;
case DW_CFA_GNU_negative_offset_extended:
insn_ptr = read_uleb128 (insn_ptr, insn_end, &reg);
if (eh_frame_p)
reg = dwarf2_frame_eh_frame_regnum (gdbarch, reg);
insn_ptr = read_uleb128 (insn_ptr, insn_end, &offset);
offset *= fs->data_align;
dwarf2_frame_state_alloc_regs (&fs->regs, reg + 1);
fs->regs.reg[reg].how = DWARF2_FRAME_REG_SAVED_OFFSET;
fs->regs.reg[reg].loc.offset = -offset;
break;
default:
internal_error (__FILE__, __LINE__, _("Unknown CFI encountered."));
}