is not INNER_THAN the old frame, then it's not valid.
+
+ * blockframe.c (generic_frame_chain_valid): If the new frame
+ is not INNER_THAN the old frame, then it's not valid.
+
* mips-tdep.c (mips16_get_imm): Fix calculation of extended immediate.
if (PC_IN_CALL_DUMMY(FRAME_SAVED_PC(fi), fp, fp))
return 1; /* don't prune CALL_DUMMY frames */
else /* fall back to default algorithm (see frame.h) */
- return (fp != 0 && !inside_entry_file (FRAME_SAVED_PC(fi)));
+ return (fp != 0
+ && fi->frame INNER_THAN fp
+ && !inside_entry_file (FRAME_SAVED_PC(fi)));
}
/* Function: get_saved_register