diff options
author | David S. Miller <davem@redhat.com> | 2002-04-24 13:48:39 +0000 |
---|---|---|
committer | David S. Miller <davem@redhat.com> | 2002-04-24 13:48:39 +0000 |
commit | 21d83aa55ad8543b4a732680302aba99cb89b8b7 (patch) | |
tree | e4165184393a4b317de2bb5ba50f56ac92695adc | |
parent | c6ed57bdd2893634eca15d944347c9decf64d574 (diff) | |
download | gdb-21d83aa55ad8543b4a732680302aba99cb89b8b7.zip gdb-21d83aa55ad8543b4a732680302aba99cb89b8b7.tar.gz gdb-21d83aa55ad8543b4a732680302aba99cb89b8b7.tar.bz2 |
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.
2002-04-24 David S. Miller <davem@redhat.com>
* gdbint.texinfo (REGISTER_IN_WINDOW): Delete definition.
-rw-r--r-- | gdb/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/config/i960/tm-i960.h | 15 | ||||
-rw-r--r-- | gdb/doc/ChangeLog | 4 | ||||
-rw-r--r-- | gdb/doc/gdbint.texinfo | 5 | ||||
-rw-r--r-- | gdb/i960-tdep.c | 20 |
5 files changed, 28 insertions, 21 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 5d2470c..e13160a 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -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. diff --git a/gdb/config/i960/tm-i960.h b/gdb/config/i960/tm-i960.h index 40bec42..a62e35d 100644 --- a/gdb/config/i960/tm-i960.h +++ b/gdb/config/i960/tm-i960.h @@ -127,21 +127,6 @@ extern void i960_get_saved_register (char *raw_buffer, i960_get_saved_register(raw_buffer, optimized, addrp, frame, regnum, lval) - -/* 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). */ - -#define REGISTER_IN_WINDOW_P(regnum) ((regnum) <= R15_REGNUM) - /* Number of bytes of storage in the actual machine representation for register N. On the i960, all regs are 4 bytes except for floating point, which are 10. NINDY only sends us 8 byte values for these, diff --git a/gdb/doc/ChangeLog b/gdb/doc/ChangeLog index 6e42d34..9dfa0dc 100644 --- a/gdb/doc/ChangeLog +++ b/gdb/doc/ChangeLog @@ -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. diff --git a/gdb/doc/gdbint.texinfo b/gdb/doc/gdbint.texinfo index 0e8a91d..fd164d8 100644 --- a/gdb/doc/gdbint.texinfo +++ b/gdb/doc/gdbint.texinfo @@ -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 diff --git a/gdb/i960-tdep.c b/gdb/i960-tdep.c index 820e502..98718a3 100644 --- a/gdb/i960-tdep.c +++ b/gdb/i960-tdep.c @@ -122,6 +122,24 @@ check_host (void) } } +/* 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) |