aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Weigand <uweigand@de.ibm.com>2008-09-03 19:19:42 +0000
committerUlrich Weigand <uweigand@de.ibm.com>2008-09-03 19:19:42 +0000
commitc4891da7f9acc20edcc7b8ba551c44efd79b199c (patch)
tree56b1cdc54749f361f53609f66ad486982fb3f056
parent704209c00fb8c3fdb54c6e30d2793948c0e3547b (diff)
downloadgdb-c4891da7f9acc20edcc7b8ba551c44efd79b199c.zip
gdb-c4891da7f9acc20edcc7b8ba551c44efd79b199c.tar.gz
gdb-c4891da7f9acc20edcc7b8ba551c44efd79b199c.tar.bz2
* spu-tdep.c (spu_frame_unwind_cache): Do not attempt to unwind
SP or return address if we failed to find a valid frame.
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/spu-tdep.c4
2 files changed, 9 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 0aa1051..a52ce2e 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2008-09-03 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * spu-tdep.c (spu_frame_unwind_cache): Do not attempt to unwind
+ SP or return address if we failed to find a valid frame.
+
2008-09-03 Aleksandar Ristovski <aristovski@qnx.com>
* breakpoint.c (breakpoint_init_inferior): Mark as not inserted only
diff --git a/gdb/spu-tdep.c b/gdb/spu-tdep.c
index 6e2fdb7..b016d4b 100644
--- a/gdb/spu-tdep.c
+++ b/gdb/spu-tdep.c
@@ -910,6 +910,10 @@ spu_frame_unwind_cache (struct frame_info *this_frame,
}
}
+ /* If we didn't find a frame, we cannot determine SP / return address. */
+ if (info->frame_base == 0)
+ return info;
+
/* The previous SP is equal to the CFA. */
trad_frame_set_value (info->saved_regs, SPU_SP_REGNUM, info->frame_base);