aboutsummaryrefslogtreecommitdiff
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
commitbfd66dd95a21e553ef0d97e607db8bb9e22082bf (patch)
treea9d1612a3de8ac16d5231dac76e91d99821f8bd9
parentadfef0bd4784918f644107faf0f01b16fe15cb57 (diff)
downloadgdb-bfd66dd95a21e553ef0d97e607db8bb9e22082bf.zip
gdb-bfd66dd95a21e553ef0d97e607db8bb9e22082bf.tar.gz
gdb-bfd66dd95a21e553ef0d97e607db8bb9e22082bf.tar.bz2
* 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 8e7f103..55ac929 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 a667ec2..fe8671f 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;
}