aboutsummaryrefslogtreecommitdiff
path: root/gdb/blockframe.c
diff options
context:
space:
mode:
authorJeff Law <law@redhat.com>1997-02-07 17:07:49 +0000
committerJeff Law <law@redhat.com>1997-02-07 17:07:49 +0000
commitc301abbdbbbf2a794aa9de14ad72e22923d44502 (patch)
tree6704663aa0af9f134c84e7f12eb293f1afdf6837 /gdb/blockframe.c
parenta7355c4d87952f64dd91c72a630f4097d71fd5fb (diff)
downloadgdb-c301abbdbbbf2a794aa9de14ad72e22923d44502.zip
gdb-c301abbdbbbf2a794aa9de14ad72e22923d44502.tar.gz
gdb-c301abbdbbbf2a794aa9de14ad72e22923d44502.tar.bz2
* blockframe.c (generic_frame_chain_valid): If the new frame
is not INNER_THAN the old frame, then it's not valid.
Diffstat (limited to 'gdb/blockframe.c')
-rw-r--r--gdb/blockframe.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/gdb/blockframe.c b/gdb/blockframe.c
index d10bdd3..3a84ae7 100644
--- a/gdb/blockframe.c
+++ b/gdb/blockframe.c
@@ -997,7 +997,9 @@ generic_frame_chain_valid (fp, fi)
if (PC_IN_CALL_DUMMY(FRAME_SAVED_PC(fi), fp, fp))
return 1; /* don't prune CALL_DUMMY frames */
else /* fall back to default algorithm (see frame.h) */
- return (fp != 0 && !inside_entry_file (FRAME_SAVED_PC(fi)));
+ return (fp != 0
+ && fi->frame INNER_THAN fp
+ && !inside_entry_file (FRAME_SAVED_PC(fi)));
}
/* Function: get_saved_register