summaryrefslogtreecommitdiff
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
commita81d62fab52ad6c7ecfd0f743774235600a52f69 (patch)
tree42b7c70dad0576dc028f31c4a07e943764232c5d
parent3c9ec45ffe65d85eadf6ba7e63881e525821ac8f (diff)
downloadgdb-a81d62fab52ad6c7ecfd0f743774235600a52f69.tar.gz
* frame.c (get_frame_type): Don't attempt to lazily initialize
frame's unwinder for legacy frames.
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/frame.c7
2 files changed, 11 insertions, 1 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 5d3e1fff007..00cfdaed94b 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2003-05-08 Kevin Buettner <kevinb@redhat.com>
+
+ * frame.c (get_frame_type): Don't attempt to lazily initialize
+ frame's unwinder for legacy frames.
+
2003-05-07 Andrew Cagney <cagney@redhat.com>
* ia64-tdep.c (ia64_remote_translate_xfer_address): Add "gdbarch"
diff --git a/gdb/frame.c b/gdb/frame.c
index b881a74d345..d007c3f2b91 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. */