Mon Jan 31 12:12:34 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
+ * mips-tdep.c: Remove code which sets saved_regs from
+ init_extra_frame_info and put it in new function mips_find_saved_regs.
+ (READ_FRAME_REG): Remove macro and replace uses with the expansion.
+ * mips-tdep.c, config/mips/tm-mips.h: When examining ->saved_regs,
+ check if it is NULL and call mips_find_saved_regs if so.
+
* remote-mips.c: Use unfiltered, not filtered, output most places.
* blockframe.c (get_prev_frame_info): Detect and stop an infinite
ways in the stack frame. sp is even more special:
the address we return for it IS the sp for the next frame. */
-#define FRAME_FIND_SAVED_REGS(frame_info, frame_saved_regs) ( \
- (frame_saved_regs) = *(frame_info)->saved_regs, \
- (frame_saved_regs).regs[SP_REGNUM] = (frame_info)->frame)
+#define FRAME_FIND_SAVED_REGS(frame_info, frame_saved_regs) \
+ do { \
+ if ((frame_info)->saved_regs == NULL) \
+ mips_find_saved_regs (frame_info); \
+ (frame_saved_regs) = *(frame_info)->saved_regs; \
+ (frame_saved_regs).regs[SP_REGNUM] = (frame_info)->frame; \
+ } while (0)
\f
/* Things needed for making the inferior call functions. */