OSDN Git Service

2002-04-24 David S. Miller <davem@redhat.com>
authordavem <davem>
Wed, 24 Apr 2002 13:48:24 +0000 (13:48 +0000)
committerdavem <davem>
Wed, 24 Apr 2002 13:48:24 +0000 (13:48 +0000)
* i960-tdep.c (register_in_window_p): New function.
(i960_find_saved_register): Use it instead of
REGISTER_IN_WINDOW_P.
* config/i960/tm-i960.h (REGISTER_IN_WINDOW): Delete.

2002-04-24  David S. Miller  <davem@redhat.com>

* gdbint.texinfo (REGISTER_IN_WINDOW): Delete definition.

gdb/ChangeLog
gdb/doc/ChangeLog
gdb/doc/gdbint.texinfo
gdb/i960-tdep.c

index 5d2470c..e13160a 100644 (file)
@@ -1,5 +1,10 @@
 2002-04-24  David S. Miller  <davem@redhat.com>
 
+       * i960-tdep.c (register_in_window_p): New function.
+       (i960_find_saved_register): Use it instead of
+       REGISTER_IN_WINDOW_P.
+       * config/i960/tm-i960.h (REGISTER_IN_WINDOW): Delete.
+
        * symtab.h (find_stab_function_addr): Kill extern.
        * minsyms.c (find_stab_function_addr): Remove from here...
        * dbxread.c: ... to here, and mark it static.
index 6e42d34..9dfa0dc 100644 (file)
@@ -1,3 +1,7 @@
+2002-04-24  David S. Miller  <davem@redhat.com>
+
+       * gdbint.texinfo (REGISTER_IN_WINDOW): Delete definition.
+
 2002-04-21  David S. Miller  <davem@redhat.com>
 
        * gdbint.texinfo (SKIP_PROLOGUE_FRAMELESS_P): Delete definition.
index 0e8a91d..fd164d8 100644 (file)
@@ -3044,11 +3044,6 @@ pointer.  It examines the current state of the machine as needed.
 Define this if you need to supply your own definition for the function
 @code{get_saved_register}.
 
-@item REGISTER_IN_WINDOW_P (@var{regnum})
-@findex REGISTER_IN_WINDOW_P
-Define this to be an expression that is 1 if the given register is in
-the window.
-
 @item IBM6000_TARGET
 @findex IBM6000_TARGET
 Shows that we are configured for an IBM RS/6000 target.  This
index 820e502..98718a3 100644 (file)
@@ -122,6 +122,24 @@ check_host (void)
     }
 }
 \f
+/* Is this register part of the register window system?  A yes answer
+   implies that 1) The name of this register will not be the same in
+   other frames, and 2) This register is automatically "saved" upon
+   subroutine calls and thus there is no need to search more than one
+   stack frame for it.
+
+   On the i960, in fact, the name of this register in another frame is
+   "mud" -- there is no overlap between the windows.  Each window is
+   simply saved into the stack (true for our purposes, after having been
+   flushed; normally they reside on-chip and are restored from on-chip
+   without ever going to memory).  */
+
+static int
+register_in_window_p (int regnum)
+{
+  return regnum <= R15_REGNUM;
+}
+
 /* i960_find_saved_register ()
 
    Return the address in which frame FRAME's value of register REGNUM
@@ -154,7 +172,7 @@ i960_find_saved_register (struct frame_info *frame, int regnum)
      stack pointer saved for *this* frame; this is returned from the
      next frame.  */
 
-  if (REGISTER_IN_WINDOW_P (regnum))
+  if (register_in_window_p (regnum))
     {
       frame1 = get_next_frame (frame);
       if (!frame1)