aboutsummaryrefslogtreecommitdiff
path: root/gdb
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
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')
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/blockframe.c4
2 files changed, 8 insertions, 1 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index bea8753..919e5f4 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+Fri Feb 7 10:06:22 1997 Jeffrey A Law (law@cygnus.com)
+
+ * blockframe.c (generic_frame_chain_valid): If the new frame
+ is not INNER_THAN the old frame, then it's not valid.
+
Tue Feb 04 09:04:37 1997 Mark Alexander <marka@cygnus.com>
* mips-tdep.c (mips16_get_imm): Fix calculation of extended immediate.
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