This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
[commit] Eliminate FRAME_ARGS_ADDRESS_CORRECT
- From: Andrew Cagney <ac131313 at redhat dot com>
- To: gdb-patches at sources dot redhat dot com
- Date: Sun, 08 Jun 2003 22:09:18 -0400
- Subject: [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.