+2005-04-08 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * dwarf2-frame.c (struct dwarf2_frame_cache): New field
+ undefined_retaddr.
+ (dwarf2_frame_cache): Initialize undefined_retaddr.
+ (dwarf2_frame_this_id): Return an invalid frame ID if
+ undefined_retaddr.
+
2005-04-05 Jim Blandy <jimb@redhat.com>
Move construction of IA-32 vector types to i386-tdep.c.
/* DWARF Call Frame Address. */
CORE_ADDR cfa;
+ /* Set if the return address column was marked as undefined. */
+ int undefined_retaddr;
+
/* Saved registers, indexed by GDB register number, not by DWARF
register number. */
struct dwarf2_frame_state_reg *reg;
}
}
+ if (fs->retaddr_column < fs->regs.num_regs
+ && fs->regs.reg[fs->retaddr_column].how == DWARF2_FRAME_REG_UNDEFINED)
+ cache->undefined_retaddr = 1;
+
do_cleanups (old_chain);
*this_cache = cache;
struct dwarf2_frame_cache *cache =
dwarf2_frame_cache (next_frame, this_cache);
+ if (cache->undefined_retaddr)
+ return;
+
(*this_id) = frame_id_build (cache->cfa, frame_func_unwind (next_frame));
}