gdb/pc-regnum.diff

17 lines
665 B
Diff

--- gdb/frame.c 11 Jan 2007 17:40:17 +0100 1.218
+++ gdb/frame.c 11 Jan 2007 17:43:00 +0100
@@ -1223,8 +1223,11 @@ get_prev_frame_1 (struct frame_info *thi
happen when the prologue analyzer finds a stack adjustment, but
no PC save. This check does assume that the "PC register" is
roughly a traditional PC, even if the gdbarch_unwind_pc method
- frobs it. */
- if (this_frame->level > 0
+ frobs it.
+
+ Skip this check when there is no "PC register". */
+ if (PC_REGNUM >= 0
+ && this_frame->level > 0
&& get_frame_type (this_frame) == NORMAL_FRAME
&& get_frame_type (this_frame->next) == NORMAL_FRAME)
{