diff options
author | Andrew Cagney <cagney@redhat.com> | 2003-06-09 02:10:35 +0000 |
---|---|---|
committer | Andrew Cagney <cagney@redhat.com> | 2003-06-09 02:10:35 +0000 |
commit | 25e3a86bb10e57d021b5dd8d9ddc6fe78c3c5c42 (patch) | |
tree | 8a42fc8cdce14c6da80eae2602d95f3157ee9ee1 /gdb/vax-tdep.c | |
parent | a9e5fdc21938b3d8733bdfc5931088319c921f78 (diff) | |
download | gdb-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.
Diffstat (limited to 'gdb/vax-tdep.c')
-rw-r--r-- | gdb/vax-tdep.c | 27 |
1 files changed, 13 insertions, 14 deletions
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 |