* frame.c (get_frame_type): Don't attempt to lazily initialize
authorKevin Buettner <kevinb@redhat.com>
Thu, 8 May 2003 15:34:12 +0000 (15:34 +0000)
committerKevin Buettner <kevinb@redhat.com>
Thu, 8 May 2003 15:34:12 +0000 (15:34 +0000)
frame's unwinder for legacy frames.

gdb/ChangeLog
gdb/frame.c

index 5d3e1fff007604e1e3ace056e1e04436fcff7c3f..00cfdaed94bab1442b643c929c7f07c5f80dfe37 100644 (file)
@@ -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"
index b881a74d3453c1d38fe2cae10ef798334eb96b86..d007c3f2b915d91c02d3f5d1d77818db7e30242b 100644 (file)
@@ -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.  */