mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-27 03:51:15 +08:00
* dwarf2-frame.c: (execute_cfa_program): Don't access past the
allocated dwarf2_frame_state.initial.regs.
This commit is contained in:
parent
58ad504107
commit
92ad9f6b57
@ -1,3 +1,8 @@
|
||||
2005-11-25 Frederic Riss <frederic.riss@st.com>
|
||||
|
||||
* dwarf2-frame.c: (execute_cfa_program): Don't access past the
|
||||
allocated dwarf2_frame_state.initial.regs.
|
||||
|
||||
2005-11-25 Frederic Riss <frederic.riss@st.com>
|
||||
|
||||
* MAINTAINERS (Write After Approval): Add myself to the list.
|
||||
|
@ -294,7 +294,17 @@ execute_cfa_program (gdb_byte *insn_ptr, gdb_byte *insn_end,
|
||||
gdb_assert (fs->initial.reg);
|
||||
reg = insn & 0x3f;
|
||||
dwarf2_frame_state_alloc_regs (&fs->regs, reg + 1);
|
||||
fs->regs.reg[reg] = fs->initial.reg[reg];
|
||||
if (reg < fs->initial.num_regs)
|
||||
fs->regs.reg[reg] = fs->initial.reg[reg];
|
||||
else
|
||||
fs->regs.reg[reg].how = DWARF2_FRAME_REG_UNSPECIFIED;
|
||||
|
||||
if (fs->regs.reg[reg].how == DWARF2_FRAME_REG_UNSPECIFIED)
|
||||
complaint (&symfile_complaints, _("\
|
||||
incomplete CFI data; DW_CFA_restore unspecified\n\
|
||||
register %s (#%d) at 0x%s"),
|
||||
REGISTER_NAME(DWARF2_REG_TO_REGNUM(reg)),
|
||||
DWARF2_REG_TO_REGNUM(reg), paddr (fs->pc));
|
||||
}
|
||||
else
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user