* mips-tdep.c: Remove code which sets saved_regs from
authorJim Kingdon <jkingdon@engr.sgi.com>
Mon, 31 Jan 1994 21:22:44 +0000 (21:22 +0000)
committerJim Kingdon <jkingdon@engr.sgi.com>
Mon, 31 Jan 1994 21:22:44 +0000 (21:22 +0000)
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.

gdb/ChangeLog
gdb/config/mips/tm-mips.h

index 6fb1a199c36bbd38425bccf8f5411558233e724f..c62593b53969e6f1e1bf2fc3faff4cf6619a62a4 100644 (file)
@@ -1,5 +1,11 @@
 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
index 5a56666318f3b65e21a74dc002c91d8d304271dd..74517178495c9fe05df78ed4431eeb24d046e2da 100644 (file)
@@ -272,9 +272,13 @@ extern int in_sigtramp PARAMS ((CORE_ADDR, char *));
    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.  */