* alpha-tdep.c (alpha_heuristic_frame_unwind_cache): Set
authorJoel Brobecker <brobecker@gnat.com>
Fri, 30 May 2008 17:03:55 +0000 (17:03 +0000)
committerJoel Brobecker <brobecker@gnat.com>
Fri, 30 May 2008 17:03:55 +0000 (17:03 +0000)
        the trad-frame register value for the SP register.

gdb/ChangeLog
gdb/alpha-tdep.c

index 8e7f103679f40e429d085d9190cdb99c94d592ff..55ac929cff1e702d37642b1a7ff1b81db4ef3375 100644 (file)
@@ -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.
index a667ec2cb82bb7e420441d7330cbc3cf50586404..fe8671f3a5c7497f9b8b0aaa4b8edda1698b0f49 100644 (file)
@@ -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;
 }