diff options
author | Andrew Cagney <cagney@redhat.com> | 2002-11-24 15:41:59 +0000 |
---|---|---|
committer | Andrew Cagney <cagney@redhat.com> | 2002-11-24 15:41:59 +0000 |
commit | 931d12c681248b84b7e5b411ff8797288702ae87 (patch) | |
tree | 374bc69f484042c5eec2d63a1205acb21fa09cd5 | |
parent | 5e0f933e908cdbdec03ad7b7a575d645912b9194 (diff) | |
download | gdb-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/ChangeLog | 6 | ||||
-rw-r--r-- | gdb/frame.c | 19 |
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 { |