* mips-tdep.c (mips_frame_chain): If PROC_FRAME_OFFSET is zero,
authorJim Kingdon <jkingdon@engr.sgi.com>
Wed, 22 Sep 1993 19:31:42 +0000 (19:31 +0000)
committerJim Kingdon <jkingdon@engr.sgi.com>
Wed, 22 Sep 1993 19:31:42 +0000 (19:31 +0000)
then return zero.

gdb/ChangeLog
gdb/mips-tdep.c

index 6d71aa389d04ff6379f80e5ec5d57920635b1f75..235330fd2577c206dd55c960ad023f6221b11989 100644 (file)
@@ -1,5 +1,11 @@
 Wed Sep 22 10:28:06 1993  Jim Kingdon  (kingdon@lioth.cygnus.com)
 
+       * breakpoint.c (bpstat_what): Initialize retval.call_dummy and
+       retval.step_resume.
+
+       * mips-tdep.c (mips_frame_chain): If PROC_FRAME_OFFSET is zero,
+       then return zero.
+
        * remote-nindy.c: Declare ninMemGet and ninMemPut.
 
 Wed Sep 22 08:02:57 1993  Stu Grossman  (grossman at cygnus.com)
index d2d712aff718548a396d4aae91a67cd581b9ff55..3ed7c4bd4ab60fdb2752c33ef439d22334b22214 100644 (file)
@@ -341,8 +341,13 @@ mips_frame_chain(frame)
       return 0;
 
     cached_proc_desc = proc_desc;
-    return read_next_frame_reg(frame, PROC_FRAME_REG(proc_desc))
-      + PROC_FRAME_OFFSET(proc_desc);
+    /* If frame size is zero, we must be at end of stack (or otherwise hosed).
+       If we don't check frame size, we loop forever if we see it == 0.  */
+    if (PROC_FRAME_OFFSET (proc_desc) == 0)
+      return 0;
+    else
+      return read_next_frame_reg(frame, PROC_FRAME_REG(proc_desc))
+       + PROC_FRAME_OFFSET(proc_desc);
 }
 
 void
@@ -943,7 +948,10 @@ Turn off to avoid using floating point instructions when calling functions\n\
 or dealing with return values.", &setlist),
      &showlist);
 
-  c = add_set_cmd ("heuristic-fence-post", class_support, var_uinteger,
+  /* We really would like to have both "0" and "unlimited" work, but
+     command.c doesn't deal with that.  So make it a var_zinteger
+     because the user can always use "999999" or some such for unlimited.  */
+  c = add_set_cmd ("heuristic-fence-post", class_support, var_zinteger,
                   (char *) &heuristic_fence_post,
                   "\
 Set the distance searched for the start of a function.\n\