OSDN Git Service

2003-06-08 Andrew Cagney <cagney@redhat.com>
authorcagney <cagney>
Mon, 9 Jun 2003 02:10:34 +0000 (02:10 +0000)
committercagney <cagney>
Mon, 9 Jun 2003 02:10:34 +0000 (02:10 +0000)
* frame.c (get_prev_frame): Remove reference to
frame_args_address_correct in comments.
* frame-base.c (default_frame_args_address): Delete code
conditional on FRAME_ARGS_ADDRESS_CORRECT.
* vax-tdep.c (vax_frame_args_address_correct): Delete.
(vax_frame_args_address): Merge in vax_frame_args_address_correct.
* config/vax/tm-vax.h (FRAME_ARGS_ADDRESS_CORRECT): Delete
(vax_frame_args_address_correct): Delete declaration.

Index: doc/ChangeLog
2003-06-08  Andrew Cagney  <cagney@redhat.com>

* gdbint.texinfo (Target Architecture Definition): Delete
documentation on FRAME_ARGS_ADDRESS_CORRECT.

gdb/ChangeLog
gdb/config/vax/tm-vax.h
gdb/doc/ChangeLog
gdb/doc/gdbint.texinfo
gdb/frame-base.c
gdb/frame.c
gdb/vax-tdep.c

index 78ff45e..14907da 100644 (file)
@@ -1,5 +1,16 @@
 2003-06-08  Andrew Cagney  <cagney@redhat.com>
 
+       * frame.c (get_prev_frame): Remove reference to
+       frame_args_address_correct in comments.
+       * frame-base.c (default_frame_args_address): Delete code
+       conditional on FRAME_ARGS_ADDRESS_CORRECT.
+       * vax-tdep.c (vax_frame_args_address_correct): Delete.
+       (vax_frame_args_address): Merge in vax_frame_args_address_correct.
+       * config/vax/tm-vax.h (FRAME_ARGS_ADDRESS_CORRECT): Delete
+       (vax_frame_args_address_correct): Delete declaration.
+
+2003-06-08  Andrew Cagney  <cagney@redhat.com>
+
        * gdbarch.sh (UNWIND_SP): Add.
        * gdbarch.h, gdbarch.c: Re-generate.
        * frame.c (frame_sp_unwind): New function.
index 22e60a0..f1ed146 100644 (file)
@@ -24,8 +24,4 @@
 
 #define GDB_MULTI_ARCH GDB_MULTI_ARCH_PARTIAL
 
-/* XXXJRT not yet under gdbarch control */
-#define FRAME_ARGS_ADDRESS_CORRECT(fi) vax_frame_args_address_correct ((fi))
-extern CORE_ADDR vax_frame_args_address_correct (struct frame_info *);
-
 #endif /* TM_VAX_H */
index 653c565..6bf5b42 100644 (file)
@@ -1,5 +1,10 @@
 2003-06-08  Andrew Cagney  <cagney@redhat.com>
 
+       * gdbint.texinfo (Target Architecture Definition): Delete
+       documentation on FRAME_ARGS_ADDRESS_CORRECT.
+
+2003-06-08  Andrew Cagney  <cagney@redhat.com>
+
        * gdbint.texinfo (Target Architecture Definition): Document
        "unwind_sp".  Cross reference "unwind_sp" and TARGET_READ_SP.
 
index 75444ee..d21be22 100644 (file)
@@ -3233,10 +3233,6 @@ the direction of stack growth.
 
 By default, no frame based stack alignment is performed.
 
-@item FRAME_ARGS_ADDRESS_CORRECT
-@findex FRAME_ARGS_ADDRESS_CORRECT
-See @file{stack.c}.
-
 @item DEPRECATED_FRAME_CHAIN(@var{frame})
 @findex DEPRECATED_FRAME_CHAIN
 Given @var{frame}, return a pointer to the calling frame.
index 34e1523..ad4689d 100644 (file)
@@ -46,17 +46,7 @@ static CORE_ADDR
 default_frame_args_address (struct frame_info *next_frame, void **this_cache)
 {
   struct frame_info *this_frame = get_prev_frame (next_frame);
-  /* FRAME_ARGS_ADDRESS_CORRECT is just like FRAME_ARGS_ADDRESS except
-     that if it is unsure about the answer, it returns 0 instead of
-     guessing (this happens on the VAX and i960, for example).
-
-     On most machines, we never have to guess about the args address,
-     so FRAME_ARGS_ADDRESS{,_CORRECT} are the same.  */
-#ifdef FRAME_ARGS_ADDRESS_CORRECT
-  return FRAME_ARGS_ADDRESS_CORRECT (this_frame);
-#else
   return FRAME_ARGS_ADDRESS (this_frame);
-#endif
 }
 
 const struct frame_base default_frame_base = {
index b7a8785..a87e522 100644 (file)
@@ -1944,11 +1944,11 @@ get_prev_frame (struct frame_info *this_frame)
      Doing this makes it possible for the user to examine a frame that
      has an invalid frame ID.
 
-     The very old VAX frame_args_address_correct() method noted: [...]
-     For the sake of argument, suppose that the stack is somewhat
-     trashed (which is one reason that "info frame" exists).  So,
-     return 0 (indicating we don't know the address of the arglist) if
-     we don't know what frame this frame calls.  */
+     Some very old VAX code noted: [...]  For the sake of argument,
+     suppose that the stack is somewhat trashed (which is one reason
+     that "info frame" exists).  So, return 0 (indicating we don't
+     know the address of the arglist) if we don't know what frame this
+     frame calls.  */
 
   /* Link it in.  */
   this_frame->prev = prev_frame;
index 71eb697..bccbd50 100644 (file)
@@ -165,15 +165,6 @@ vax_frame_saved_pc (struct frame_info *frame)
 CORE_ADDR
 vax_frame_args_address_correct (struct frame_info *frame)
 {
-  /* Cannot find the AP register value directly from the FP value.  Must
-     find it saved in the frame called by this one, or in the AP register
-     for the innermost frame.  However, there is no way to tell the
-     difference between the innermost frame and a frame for which we
-     just don't know the frame that it called (e.g. "info frame 0x7ffec789").
-     For the sake of argument, suppose that the stack is somewhat trashed
-     (which is one reason that "info frame" exists).  So, return 0 (indicating
-     we don't know the address of the arglist) if we don't know what frame
-     this frame calls.  */
   if (get_next_frame (frame))
     return (read_memory_integer (get_frame_base (get_next_frame (frame)) + 8, 4));
 
@@ -183,13 +174,21 @@ vax_frame_args_address_correct (struct frame_info *frame)
 static CORE_ADDR
 vax_frame_args_address (struct frame_info *frame)
 {
-  /* In most of GDB, getting the args address is too important to
-     just say "I don't know".  This is sometimes wrong for functions
-     that aren't on top of the stack, but c'est la vie.  */
+  /* In most of GDB, getting the args address is too important to just
+     say "I don't know".  This is sometimes wrong for functions that
+     aren't on top of the stack, but c'est la vie.  */
   if (get_next_frame (frame))
     return (read_memory_integer (get_frame_base (get_next_frame (frame)) + 8, 4));
-
-  return (read_register (VAX_AP_REGNUM));
+  /* Cannot find the AP register value directly from the FP value.
+     Must find it saved in the frame called by this one, or in the AP
+     register for the innermost frame.  However, there is no way to
+     tell the difference between the innermost frame and a frame for
+     which we just don't know the frame that it called (e.g. "info
+     frame 0x7ffec789").  For the sake of argument, suppose that the
+     stack is somewhat trashed (which is one reason that "info frame"
+     exists).  So, return 0 (indicating we don't know the address of
+     the arglist) if we don't know what frame this frame calls.  */
+  return 0;
 }
 
 static CORE_ADDR