aboutsummaryrefslogtreecommitdiff
path: root/gdb/frame.c
diff options
context:
space:
mode:
authorKevin Buettner <kevinb@redhat.com>2003-05-08 15:34:12 +0000
committerKevin Buettner <kevinb@redhat.com>2003-05-08 15:34:12 +0000
commit710ee10a2725a865d30a006ad4dd5fc31b92cb23 (patch)
tree32c073892ee03c7ea77ddb5d09bd3e8ebf401e91 /gdb/frame.c
parent6a32c71069679a1b8cd3e38e80390133151e03f7 (diff)
downloadgdb-710ee10a2725a865d30a006ad4dd5fc31b92cb23.zip
gdb-710ee10a2725a865d30a006ad4dd5fc31b92cb23.tar.gz
gdb-710ee10a2725a865d30a006ad4dd5fc31b92cb23.tar.bz2
* frame.c (get_frame_type): Don't attempt to lazily initialize
frame's unwinder for legacy frames.
Diffstat (limited to 'gdb/frame.c')
-rw-r--r--gdb/frame.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/gdb/frame.c b/gdb/frame.c
index b881a74..d007c3f 100644
--- a/gdb/frame.c
+++ b/gdb/frame.c
@@ -2069,7 +2069,12 @@ get_frame_type (struct frame_info *frame)
if (!DEPRECATED_USE_GENERIC_DUMMY_FRAMES
&& deprecated_frame_in_dummy (frame))
return DUMMY_FRAME;
- if (frame->unwind == NULL)
+
+ /* Some legacy code, e.g, mips_init_extra_frame_info() wants
+ to determine the frame's type prior to it being completely
+ initialized. Don't attempt to lazily initialize ->unwind for
+ legacy code. It will be initialized in legacy_get_prev_frame(). */
+ if (frame->unwind == NULL && !legacy_frame_p (current_gdbarch))
{
/* Initialize the frame's unwinder because it is that which
provides the frame's type. */