This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[commit] Eliminate FRAME_ARGS_ADDRESS_CORRECT


This eliminates the only use - in the vax.

committed,
Andrew
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.

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

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

Index: frame-base.c
===================================================================
RCS file: /cvs/src/src/gdb/frame-base.c,v
retrieving revision 1.2
diff -u -r1.2 frame-base.c
--- frame-base.c	8 Jun 2003 18:27:13 -0000	1.2
+++ frame-base.c	9 Jun 2003 02:06:34 -0000
@@ -46,17 +46,7 @@
 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: frame.c
===================================================================
RCS file: /cvs/src/src/gdb/frame.c,v
retrieving revision 1.119
diff -u -r1.119 frame.c
--- frame.c	9 Jun 2003 01:02:06 -0000	1.119
+++ frame.c	9 Jun 2003 02:06:35 -0000
@@ -1944,11 +1944,11 @@
      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: vax-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/vax-tdep.c,v
retrieving revision 1.52
diff -u -r1.52 vax-tdep.c
--- vax-tdep.c	7 Jun 2003 22:38:56 -0000	1.52
+++ vax-tdep.c	9 Jun 2003 02:06:35 -0000
@@ -165,15 +165,6 @@
 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 @@
 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
Index: config/vax/tm-vax.h
===================================================================
RCS file: /cvs/src/src/gdb/config/vax/tm-vax.h,v
retrieving revision 1.16
diff -u -r1.16 tm-vax.h
--- config/vax/tm-vax.h	26 Jun 2002 17:39:30 -0000	1.16
+++ config/vax/tm-vax.h	9 Jun 2003 02:06:36 -0000
@@ -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: doc/gdbint.texinfo
===================================================================
RCS file: /cvs/src/src/gdb/doc/gdbint.texinfo,v
retrieving revision 1.149
diff -u -r1.149 gdbint.texinfo
--- doc/gdbint.texinfo	9 Jun 2003 01:02:07 -0000	1.149
+++ doc/gdbint.texinfo	9 Jun 2003 02:07:13 -0000
@@ -3233,10 +3233,6 @@
 
 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 Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]