aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog6
-rw-r--r--gdb/mn10300-tdep.c7
2 files changed, 10 insertions, 3 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 5a1667e..06decce 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,9 @@
+Mon Jul 27 15:38:07 1998 Mark Alexander <marka@cygnus.com>
+
+ * mn10300-tdep.c (mn10300_analyze_prologue): Undo previous fix
+ for setting frame address in optimized code; made unnecessary
+ by compiler fixes.
+
Mon Jul 27 10:45:56 1998 Martin M. Hunt <hunt@cygnus.com>
* symtab.c (decode_line_1): For minimal symbol, call
diff --git a/gdb/mn10300-tdep.c b/gdb/mn10300-tdep.c
index 8b0c7ed..c2b4fd8 100644
--- a/gdb/mn10300-tdep.c
+++ b/gdb/mn10300-tdep.c
@@ -326,7 +326,7 @@ mn10300_analyze_prologue (fi, pc)
/* No more prologue insns follow, so begin preparation to return. */
/* Fix fi->frame if it's bogus at this point. */
if (fi && fi->next == NULL && (fi->status & MY_FRAME_IN_SP))
- fi->frame = read_sp ();
+ fi->frame = read_sp () - stack_size;
/* Note if/where callee saved registers were saved. */
set_movm_offsets (fi, found_movm);
@@ -416,8 +416,9 @@ mn10300_frame_chain (fi)
/* end-sanitize-am33 */
/* Our caller does not have a frame pointer. So his frame starts
- at the base of our frame (fi->frame) + register save space. */
- return fi->frame + adjust;
+ at the base of our frame (fi->frame) + register save space
+ + <his size>. */
+ return fi->frame + adjust + -dummy_frame.stack_size;
}
}