summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoel Brobecker <brobecker@gnat.com>2008-05-30 17:03:55 +0000
committerJoel Brobecker <brobecker@gnat.com>2008-05-30 17:03:55 +0000
commitce797a3800e9b88b6155a29f6cc1392145ee2b53 (patch)
tree7f40cd8d6408a69fae345e8caa804d7b418d16c2
parent81c0215342df1f35ad9bc0e3ed0601ac3f2cbe92 (diff)
downloadgdb-ce797a3800e9b88b6155a29f6cc1392145ee2b53.tar.gz
* alpha-tdep.c (alpha_heuristic_frame_unwind_cache): Set
the trad-frame register value for the SP register.
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/alpha-tdep.c5
2 files changed, 10 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 8e7f103679f..55ac929cff1 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2008-05-30 Joel Brobecker <brobecker@adacore.com>
+
+ * alpha-tdep.c (alpha_heuristic_frame_unwind_cache): Set
+ the trad-frame register value for the SP register.
+
2008-05-29 Mark Kettenis <kettenis@gnu.org>
* sparcnbsd-tdep.c, sparcobsd-tdep.c: Update for unwinder changes.
diff --git a/gdb/alpha-tdep.c b/gdb/alpha-tdep.c
index a667ec2cb82..fe8671f3a5c 100644
--- a/gdb/alpha-tdep.c
+++ b/gdb/alpha-tdep.c
@@ -1149,6 +1149,11 @@ alpha_heuristic_frame_unwind_cache (struct frame_info *this_frame,
if (trad_frame_addr_p(info->saved_regs, reg))
info->saved_regs[reg].addr += val - 1;
+ /* The stack pointer of the previous frame is computed by popping
+ the current stack frame. */
+ if (!trad_frame_addr_p (info->saved_regs, ALPHA_SP_REGNUM))
+ trad_frame_set_value (info->saved_regs, ALPHA_SP_REGNUM, info->vfp);
+
return info;
}