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