aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Cagney <cagney@redhat.com>2002-11-24 15:41:59 +0000
committerAndrew Cagney <cagney@redhat.com>2002-11-24 15:41:59 +0000
commit931d12c681248b84b7e5b411ff8797288702ae87 (patch)
tree374bc69f484042c5eec2d63a1205acb21fa09cd5
parent5e0f933e908cdbdec03ad7b7a575d645912b9194 (diff)
downloadgdb-931d12c681248b84b7e5b411ff8797288702ae87.zip
gdb-931d12c681248b84b7e5b411ff8797288702ae87.tar.gz
gdb-931d12c681248b84b7e5b411ff8797288702ae87.tar.bz2
2002-11-24 Andrew Cagney <ac131313@redhat.com>
* frame.c (set_unwind_by_pc): Revert change below, use PC_IN_CALL_DUMMY. (get_prev_frame): Ditto.
-rw-r--r--gdb/ChangeLog6
-rw-r--r--gdb/frame.c19
2 files changed, 21 insertions, 4 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index fad9fa9..3f33d39 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,11 @@
2002-11-24 Andrew Cagney <ac131313@redhat.com>
+ * frame.c (set_unwind_by_pc): Revert change below, use
+ PC_IN_CALL_DUMMY.
+ (get_prev_frame): Ditto.
+
+2002-11-24 Andrew Cagney <ac131313@redhat.com>
+
* dummy-frame.c (pc_in_dummy_frame): New function.
(generic_pc_in_call_dummy): Call pc_in_dummy_frame.
(find_dummy_frame): Update comment.
diff --git a/gdb/frame.c b/gdb/frame.c
index e45dcf8..ba692c5 100644
--- a/gdb/frame.c
+++ b/gdb/frame.c
@@ -656,7 +656,11 @@ set_unwind_by_pc (CORE_ADDR pc, CORE_ADDR fp,
*unwind_register = frame_saved_regs_register_unwind;
*unwind_pc = frame_saved_regs_pc_unwind;
}
- else if (pc_in_dummy_frame (pc))
+ /* FIXME: cagney/2002-11-24: Can't yet directly call
+ pc_in_dummy_frame() as some architectures don't set
+ PC_IN_CALL_DUMMY() to generic_pc_in_call_dummy() (remember the
+ latter is implemented by simply calling pc_in_dummy_frame). */
+ else if (PC_IN_CALL_DUMMY (pc, 0, 0))
{
*unwind_register = dummy_frame_register_unwind;
*unwind_pc = dummy_frame_pc_unwind;
@@ -694,7 +698,11 @@ create_new_frame (CORE_ADDR addr, CORE_ADDR pc)
has previously set it. This is really somewhat bogus. The
initialization, as seen in create_new_frame(), should occur
before the INIT function has been called. */
- if (USE_GENERIC_DUMMY_FRAMES && pc_in_dummy_frame (pc))
+ /* FIXME: cagney/2002-11-24: Can't yet directly call
+ pc_in_dummy_frame() as some architectures don't set
+ PC_IN_CALL_DUMMY() to generic_pc_in_call_dummy() (remember the
+ latter is implemented by simply calling pc_in_dummy_frame). */
+ if (USE_GENERIC_DUMMY_FRAMES && PC_IN_CALL_DUMMY (pc, 0, 0))
/* NOTE: cagney/2002-11-11: Does this even occure? */
type = DUMMY_FRAME;
else
@@ -975,8 +983,11 @@ get_prev_frame (struct frame_info *next_frame)
has previously set it. This is really somewhat bogus. The
initialization, as seen in create_new_frame(), should occur
before the INIT function has been called. */
- if (USE_GENERIC_DUMMY_FRAMES
- && pc_in_dummy_frame (prev->pc))
+ /* FIXME: cagney/2002-11-24: Can't yet directly call
+ pc_in_dummy_frame() as some architectures don't set
+ PC_IN_CALL_DUMMY() to generic_pc_in_call_dummy() (remember the
+ latter is implemented by simply calling pc_in_dummy_frame). */
+ if (USE_GENERIC_DUMMY_FRAMES && PC_IN_CALL_DUMMY (prev->pc, 0, 0))
prev->type = DUMMY_FRAME;
else
{