forked from Imagelibrary/binutils-gdb
2004-03-22 Andrew Cagney <cagney@redhat.com>
* rs6000-tdep.c (frame_initial_stack_address): Delete unused function.
This commit is contained in:
@@ -1,5 +1,8 @@
|
||||
2004-03-22 Andrew Cagney <cagney@redhat.com>
|
||||
|
||||
* rs6000-tdep.c (frame_initial_stack_address): Delete unused
|
||||
function.
|
||||
|
||||
* frame.h (generic_pop_current_frame): Delete declaration.
|
||||
(deprecate_pop_dummy_frame): Deprecate
|
||||
generic_pop_dummy_frame.
|
||||
|
||||
@@ -129,7 +129,6 @@ static CORE_ADDR skip_prologue (CORE_ADDR, CORE_ADDR,
|
||||
struct rs6000_framedata *);
|
||||
static void frame_get_saved_regs (struct frame_info * fi,
|
||||
struct rs6000_framedata * fdatap);
|
||||
static CORE_ADDR frame_initial_stack_address (struct frame_info *);
|
||||
|
||||
/* Is REGNO an AltiVec register? Return 1 if so, 0 otherwise. */
|
||||
int
|
||||
@@ -1497,61 +1496,6 @@ frame_get_saved_regs (struct frame_info *fi, struct rs6000_framedata *fdatap)
|
||||
deprecated_get_frame_saved_regs (fi)[tdep->ppc_vrsave_regnum] = frame_addr + fdatap->vrsave_offset;
|
||||
}
|
||||
|
||||
/* Return the address of a frame. This is the inital %sp value when the frame
|
||||
was first allocated. For functions calling alloca(), it might be saved in
|
||||
an alloca register. */
|
||||
|
||||
static CORE_ADDR
|
||||
frame_initial_stack_address (struct frame_info *fi)
|
||||
{
|
||||
CORE_ADDR tmpaddr;
|
||||
struct rs6000_framedata fdata;
|
||||
struct frame_info *callee_fi;
|
||||
|
||||
/* If the initial stack pointer (frame address) of this frame is known,
|
||||
just return it. */
|
||||
|
||||
if (get_frame_extra_info (fi)->initial_sp)
|
||||
return get_frame_extra_info (fi)->initial_sp;
|
||||
|
||||
/* Find out if this function is using an alloca register. */
|
||||
|
||||
(void) skip_prologue (get_frame_func (fi), get_frame_pc (fi), &fdata);
|
||||
|
||||
/* If saved registers of this frame are not known yet, read and
|
||||
cache them. */
|
||||
|
||||
if (!deprecated_get_frame_saved_regs (fi))
|
||||
frame_get_saved_regs (fi, &fdata);
|
||||
|
||||
/* If no alloca register used, then fi->frame is the value of the %sp for
|
||||
this frame, and it is good enough. */
|
||||
|
||||
if (fdata.alloca_reg < 0)
|
||||
{
|
||||
get_frame_extra_info (fi)->initial_sp = get_frame_base (fi);
|
||||
return get_frame_extra_info (fi)->initial_sp;
|
||||
}
|
||||
|
||||
/* There is an alloca register, use its value, in the current frame,
|
||||
as the initial stack pointer. */
|
||||
{
|
||||
char tmpbuf[MAX_REGISTER_SIZE];
|
||||
if (frame_register_read (fi, fdata.alloca_reg, tmpbuf))
|
||||
{
|
||||
get_frame_extra_info (fi)->initial_sp
|
||||
= extract_unsigned_integer (tmpbuf,
|
||||
DEPRECATED_REGISTER_RAW_SIZE (fdata.alloca_reg));
|
||||
}
|
||||
else
|
||||
/* NOTE: cagney/2002-04-17: At present the only time
|
||||
frame_register_read will fail is when the register isn't
|
||||
available. If that does happen, use the frame. */
|
||||
get_frame_extra_info (fi)->initial_sp = get_frame_base (fi);
|
||||
}
|
||||
return get_frame_extra_info (fi)->initial_sp;
|
||||
}
|
||||
|
||||
/* Return the size of register REG when words are WORDSIZE bytes long. If REG
|
||||
isn't available with that word size, return 0. */
|
||||
|
||||
|
||||
Reference in New Issue
Block a user