aboutsummaryrefslogtreecommitdiff
path: root/gdb/alpha-tdep.c
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 /gdb/alpha-tdep.c
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.
Diffstat (limited to 'gdb/alpha-tdep.c')
-rw-r--r--gdb/alpha-tdep.c5
1 files changed, 5 insertions, 0 deletions
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;
}