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