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.
This commit is contained in:
Andrew Cagney 2003-06-09 02:10:35 +00:00
parent a9e5fdc219
commit 25e3a86bb1
7 changed files with 34 additions and 37 deletions

View File

@ -1,3 +1,14 @@
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.

View 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 */

View File

@ -1,3 +1,8 @@
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

View 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.

View 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 = {

View 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;

View 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