mirror of
https://github.com/darlinghq/darling-gdb.git
synced 2024-11-28 06:20:30 +00:00
2002-11-09 Andrew Cagney <ac131313@redhat.com>
* frame.c (get_prev_frame): Test prev_p to identify a previously unwound frame. Initialize prev_p. * frame.h (struct frame_info): Add field prev_p. Expand prev/next comment.
This commit is contained in:
parent
95adb866d7
commit
15220c65c0
@ -1,3 +1,10 @@
|
|||||||
|
2002-11-09 Andrew Cagney <ac131313@redhat.com>
|
||||||
|
|
||||||
|
* frame.c (get_prev_frame): Test prev_p to identify a previously
|
||||||
|
unwound frame. Initialize prev_p.
|
||||||
|
* frame.h (struct frame_info): Add field prev_p. Expand prev/next
|
||||||
|
comment.
|
||||||
|
|
||||||
2002-11-09 Andrew Cagney <ac131313@redhat.com>
|
2002-11-09 Andrew Cagney <ac131313@redhat.com>
|
||||||
|
|
||||||
* frame.c (get_prev_frame): Cleanups. Eliminate redundant tests
|
* frame.c (get_prev_frame): Cleanups. Eliminate redundant tests
|
||||||
|
@ -742,13 +742,10 @@ get_prev_frame (struct frame_info *next_frame)
|
|||||||
return current_frame;
|
return current_frame;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* If we have the prev one, return it. */
|
/* Only try to do the unwind once. */
|
||||||
if (next_frame->prev)
|
if (next_frame->prev_p)
|
||||||
/* FIXME: cagney/2002-11-09: Rather than relying on ->PREV being
|
|
||||||
non-NULL, there should be a predicate (->prev_p?). That would
|
|
||||||
stop this function constantly trying to chain beyond the
|
|
||||||
outermost frame. */
|
|
||||||
return next_frame->prev;
|
return next_frame->prev;
|
||||||
|
next_frame->prev_p = 1;
|
||||||
|
|
||||||
/* On some machines it is possible to call a function without
|
/* On some machines it is possible to call a function without
|
||||||
setting up a stack frame for it. On these machines, we
|
setting up a stack frame for it. On these machines, we
|
||||||
|
@ -140,10 +140,11 @@ struct frame_info
|
|||||||
frame_register_unwind_ftype *register_unwind;
|
frame_register_unwind_ftype *register_unwind;
|
||||||
void *register_unwind_cache;
|
void *register_unwind_cache;
|
||||||
|
|
||||||
/* Pointers to the next (down, inner) and previous (up, outer)
|
/* Pointers to the next (down, inner, younger) and previous (up,
|
||||||
frame_info's in the frame cache. */
|
outer, older) frame_info's in the frame cache. */
|
||||||
struct frame_info *next; /* down, inner */
|
struct frame_info *next; /* down, inner, younger */
|
||||||
struct frame_info *prev; /* up, outer */
|
int prev_p;
|
||||||
|
struct frame_info *prev; /* up, outer, older */
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Values for the source flag to be used in print_frame_info_base(). */
|
/* Values for the source flag to be used in print_frame_info_base(). */
|
||||||
|
Loading…
Reference in New Issue
Block a user