aboutsummaryrefslogtreecommitdiff
path: root/gdb/arm-tdep.c
diff options
context:
space:
mode:
authorAndrew Cagney <cagney@redhat.com>2002-11-28 21:38:44 +0000
committerAndrew Cagney <cagney@redhat.com>2002-11-28 21:38:44 +0000
commit07555a72863c79f6146a10730ef9468e9f4abc7f (patch)
treebab2d57c6978fcc5d59b420917f0fef0063e9a20 /gdb/arm-tdep.c
parentb99fa2d2956f35124e25b6399afc124041be9a93 (diff)
downloadgdb-07555a72863c79f6146a10730ef9468e9f4abc7f.zip
gdb-07555a72863c79f6146a10730ef9468e9f4abc7f.tar.gz
gdb-07555a72863c79f6146a10730ef9468e9f4abc7f.tar.bz2
2002-11-28 Andrew Cagney <ac131313@redhat.com>
* gdbarch.sh (DEPRECATED_USE_GENERIC_DUMMY_FRAMES): Rename USE_GENERIC_DUMMY_FRAMES. * gdbarch.h, gdbarch.c: Regenerate. * valops.c, frame.c: Update. * config/z8k/tm-z8k.h, config/mn10200/tm-mn10200.h: Update. * config/m32r/tm-m32r.h, config/h8500/tm-h8500.h: Update. * config/pa/tm-hppa.h, blockframe.c: Update. * vax-tdep.c, sparc-tdep.c, ns32k-tdep.c: Ditto. * m68k-tdep.c, alpha-tdep.c: Ditto. * arm-tdep.c: Eliminate USE_GENERIC_DUMMY_FRAMES as always 1. * mips-tdep.c: Ditto. Index: doc/ChangeLog 2002-11-28 Andrew Cagney <ac131313@redhat.com> * gdbint.texinfo (Host Definition): Delete documentation on USE_GENERIC_DUMMY_FRAMES.
Diffstat (limited to 'gdb/arm-tdep.c')
-rw-r--r--gdb/arm-tdep.c51
1 files changed, 8 insertions, 43 deletions
diff --git a/gdb/arm-tdep.c b/gdb/arm-tdep.c
index b7db085..742b0d2 100644
--- a/gdb/arm-tdep.c
+++ b/gdb/arm-tdep.c
@@ -410,8 +410,7 @@ arm_skip_prologue (CORE_ADDR pc)
struct symtab_and_line sal;
/* If we're in a dummy frame, don't even try to skip the prologue. */
- if (USE_GENERIC_DUMMY_FRAMES
- && PC_IN_CALL_DUMMY (pc, 0, 0))
+ if (PC_IN_CALL_DUMMY (pc, 0, 0))
return pc;
/* See what the symbol table says. */
@@ -536,8 +535,7 @@ thumb_scan_prologue (struct frame_info *fi)
int i;
/* Don't try to scan dummy frames. */
- if (USE_GENERIC_DUMMY_FRAMES
- && fi != NULL
+ if (fi != NULL
&& PC_IN_CALL_DUMMY (fi->pc, 0, 0))
return;
@@ -992,8 +990,7 @@ arm_find_callers_reg (struct frame_info *fi, int regnum)
function could be called directly. */
for (; fi; fi = fi->next)
{
- if (USE_GENERIC_DUMMY_FRAMES
- && PC_IN_CALL_DUMMY (fi->pc, 0, 0))
+ if (PC_IN_CALL_DUMMY (fi->pc, 0, 0))
{
return deprecated_read_register_dummy (fi->pc, fi->frame, regnum);
}
@@ -1022,8 +1019,7 @@ arm_frame_chain (struct frame_info *fi)
CORE_ADDR caller_pc;
int framereg = fi->extra_info->framereg;
- if (USE_GENERIC_DUMMY_FRAMES
- && PC_IN_CALL_DUMMY (fi->pc, 0, 0))
+ if (PC_IN_CALL_DUMMY (fi->pc, 0, 0))
/* A generic call dummy's frame is the same as caller's. */
return fi->frame;
@@ -1106,8 +1102,7 @@ arm_init_extra_frame_info (int fromleaf, struct frame_info *fi)
the sigtramp and call dummy cases. */
if (!fi->next)
sp = read_sp();
- else if (USE_GENERIC_DUMMY_FRAMES
- && PC_IN_CALL_DUMMY (fi->next->pc, 0, 0))
+ else if (PC_IN_CALL_DUMMY (fi->next->pc, 0, 0))
/* For generic dummy frames, pull the value direct from the frame.
Having an unwind function to do this would be nice. */
sp = deprecated_read_register_dummy (fi->next->pc, fi->next->frame,
@@ -1148,33 +1143,6 @@ arm_init_extra_frame_info (int fromleaf, struct frame_info *fi)
fi->extra_info->frameoffset = 0;
}
- else if (!USE_GENERIC_DUMMY_FRAMES
- && PC_IN_CALL_DUMMY (fi->pc, sp, fi->frame))
- {
- CORE_ADDR rp;
- CORE_ADDR callers_sp;
-
- /* Set rp point at the high end of the saved registers. */
- rp = fi->frame - REGISTER_SIZE;
-
- /* Fill in addresses of saved registers. */
- fi->saved_regs[ARM_PS_REGNUM] = rp;
- rp -= REGISTER_RAW_SIZE (ARM_PS_REGNUM);
- for (reg = ARM_PC_REGNUM; reg >= 0; reg--)
- {
- fi->saved_regs[reg] = rp;
- rp -= REGISTER_RAW_SIZE (reg);
- }
-
- callers_sp = read_memory_integer (fi->saved_regs[ARM_SP_REGNUM],
- REGISTER_RAW_SIZE (ARM_SP_REGNUM));
- if (arm_pc_is_thumb (fi->pc))
- fi->extra_info->framereg = THUMB_FP_REGNUM;
- else
- fi->extra_info->framereg = ARM_FP_REGNUM;
- fi->extra_info->framesize = callers_sp - sp;
- fi->extra_info->frameoffset = fi->frame - sp;
- }
else
{
arm_scan_prologue (fi);
@@ -1182,8 +1150,7 @@ arm_init_extra_frame_info (int fromleaf, struct frame_info *fi)
if (!fi->next)
/* This is the innermost frame? */
fi->frame = read_register (fi->extra_info->framereg);
- else if (USE_GENERIC_DUMMY_FRAMES
- && PC_IN_CALL_DUMMY (fi->next->pc, 0, 0))
+ else if (PC_IN_CALL_DUMMY (fi->next->pc, 0, 0))
/* Next inner most frame is a dummy, just grab its frame.
Dummy frames always have the same FP as their caller. */
fi->frame = fi->next->frame;
@@ -1224,8 +1191,7 @@ static CORE_ADDR
arm_frame_saved_pc (struct frame_info *fi)
{
/* If a dummy frame, pull the PC out of the frame's register buffer. */
- if (USE_GENERIC_DUMMY_FRAMES
- && PC_IN_CALL_DUMMY (fi->pc, 0, 0))
+ if (PC_IN_CALL_DUMMY (fi->pc, 0, 0))
return deprecated_read_register_dummy (fi->pc, fi->frame, ARM_PC_REGNUM);
if (PC_IN_CALL_DUMMY (fi->pc, fi->frame - fi->extra_info->frameoffset,
@@ -1554,8 +1520,7 @@ arm_pop_frame (void)
CORE_ADDR old_SP = (frame->frame - frame->extra_info->frameoffset
+ frame->extra_info->framesize);
- if (USE_GENERIC_DUMMY_FRAMES
- && PC_IN_CALL_DUMMY (frame->pc, frame->frame, frame->frame))
+ if (PC_IN_CALL_DUMMY (frame->pc, frame->frame, frame->frame))
{
generic_pop_dummy_frame ();
flush_cached_frames ();