diff options
-rw-r--r-- | gdb/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/alpha-tdep.c | 5 |
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; } |