mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-27 03:51:15 +08:00
* dwarf2-frame.c (execute_cfa_program): New support of
`DW_CFA_GNU_negative_offset_extended'.
This commit is contained in:
parent
43a9b631fc
commit
58894217ea
@ -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.
|
||||
|
@ -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, ®);
|
||||
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."));
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user