aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Cagney <cagney@redhat.com>2003-06-09 02:10:35 +0000
committerAndrew Cagney <cagney@redhat.com>2003-06-09 02:10:35 +0000
commit25e3a86bb10e57d021b5dd8d9ddc6fe78c3c5c42 (patch)
tree8a42fc8cdce14c6da80eae2602d95f3157ee9ee1
parenta9e5fdc21938b3d8733bdfc5931088319c921f78 (diff)
downloadgdb-25e3a86bb10e57d021b5dd8d9ddc6fe78c3c5c42.zip
gdb-25e3a86bb10e57d021b5dd8d9ddc6fe78c3c5c42.tar.gz
gdb-25e3a86bb10e57d021b5dd8d9ddc6fe78c3c5c42.tar.bz2
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.
-rw-r--r--gdb/ChangeLog11
-rw-r--r--gdb/config/vax/tm-vax.h4
-rw-r--r--gdb/doc/ChangeLog5
-rw-r--r--gdb/doc/gdbint.texinfo4
-rw-r--r--gdb/frame-base.c10
-rw-r--r--gdb/frame.c10
-rw-r--r--gdb/vax-tdep.c27
7 files changed, 34 insertions, 37 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 78ff45e..14907da 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -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.
diff --git a/gdb/config/vax/tm-vax.h b/gdb/config/vax/tm-vax.h
index 22e60a0..f1ed146 100644
--- a/gdb/config/vax/tm-vax.h
+++ b/gdb/config/vax/tm-vax.h
@@ -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 */
diff --git a/gdb/doc/ChangeLog b/gdb/doc/ChangeLog
index 653c565..6bf5b42 100644
--- a/gdb/doc/ChangeLog
+++ b/gdb/doc/ChangeLog
@@ -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.
diff --git a/gdb/doc/gdbint.texinfo b/gdb/doc/gdbint.texinfo
index 75444ee..d21be22 100644
--- a/gdb/doc/gdbint.texinfo
+++ b/gdb/doc/gdbint.texinfo
@@ -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.
diff --git a/gdb/frame-base.c b/gdb/frame-base.c
index 34e1523..ad4689d 100644
--- a/gdb/frame-base.c
+++ b/gdb/frame-base.c
@@ -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 = {
diff --git a/gdb/frame.c b/gdb/frame.c
index b7a8785..a87e522 100644
--- a/gdb/frame.c
+++ b/gdb/frame.c
@@ -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;
diff --git a/gdb/vax-tdep.c b/gdb/vax-tdep.c
index 71eb697..bccbd50 100644
--- a/gdb/vax-tdep.c
+++ b/gdb/vax-tdep.c
@@ -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