This is the mail archive of the
gdb@sources.redhat.com
mailing list for the GDB project.
Re: frame.c assertion failure
On May 8, 10:05am, Andrew Cagney wrote:
> Don't forget a comment :-)
[...]
> > Okay?
>
> yup.
It's in. This is what I committed...
* frame.c (get_frame_type): Don't attempt to lazily initialize
frame's unwinder for legacy frames.
Index: frame.c
===================================================================
RCS file: /cvs/src/src/gdb/frame.c,v
retrieving revision 1.111
diff -u -p -r1.111 frame.c
--- frame.c 5 May 2003 18:33:10 -0000 1.111
+++ frame.c 8 May 2003 15:32:59 -0000
@@ -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. */