mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-22 02:50:08 +08:00
2004-04-02 Andrew Cagney <cagney@redhat.com>
* frame.c (get_prev_frame_1): Exclude signal trampolines from the "previous frame inner to this frame" test.
This commit is contained in:
@ -1,3 +1,8 @@
|
|||||||
|
2004-04-02 Andrew Cagney <cagney@redhat.com>
|
||||||
|
|
||||||
|
* frame.c (get_prev_frame_1): Exclude signal trampolines from the
|
||||||
|
"previous frame inner to this frame" test.
|
||||||
|
|
||||||
2004-04-02 Andrew Cagney <cagney@redhat.com>
|
2004-04-02 Andrew Cagney <cagney@redhat.com>
|
||||||
|
|
||||||
* frame.c (safe_frame_unwind_memory): New function.
|
* frame.c (safe_frame_unwind_memory): New function.
|
||||||
|
@ -1792,9 +1792,10 @@ get_prev_frame_1 (struct frame_info *this_frame)
|
|||||||
|
|
||||||
/* Check that this frame's ID isn't inner to (younger, below, next)
|
/* Check that this frame's ID isn't inner to (younger, below, next)
|
||||||
the next frame. This happens when a frame unwind goes backwards.
|
the next frame. This happens when a frame unwind goes backwards.
|
||||||
Since the sentinel frame doesn't really exist, don't compare the
|
Exclude signal trampolines (due to sigaltstack the frame ID can
|
||||||
inner-most against that sentinel. */
|
go backwards) and sentinel frames (the test is meaningless). */
|
||||||
if (this_frame->level > 0
|
if (this_frame->next->level >= 0
|
||||||
|
&& this_frame->next->type != SIGTRAMP_FRAME
|
||||||
&& frame_id_inner (get_frame_id (this_frame),
|
&& frame_id_inner (get_frame_id (this_frame),
|
||||||
get_frame_id (this_frame->next)))
|
get_frame_id (this_frame->next)))
|
||||||
error ("Previous frame inner to this frame (corrupt stack?)");
|
error ("Previous frame inner to this frame (corrupt stack?)");
|
||||||
|
Reference in New Issue
Block a user