diff options
author | Ulrich Weigand <uweigand@de.ibm.com> | 2007-01-11 20:48:50 +0000 |
---|---|---|
committer | Ulrich Weigand <uweigand@de.ibm.com> | 2007-01-11 20:48:50 +0000 |
commit | 12102450ba06133ee4b2d173964a79ec3df1b4cd (patch) | |
tree | 59b7043553394fe8f5343695c9feac62e1a7d4b3 /gdb/spu-tdep.c | |
parent | 81121995ba146b0c5d0ed18730b07c2c3fcdb974 (diff) | |
download | gdb-12102450ba06133ee4b2d173964a79ec3df1b4cd.zip gdb-12102450ba06133ee4b2d173964a79ec3df1b4cd.tar.gz gdb-12102450ba06133ee4b2d173964a79ec3df1b4cd.tar.bz2 |
* spu-tdep.c (spu_analyze_prologue): Fix erroneous backtrace
past entry function with recent newlib.
Diffstat (limited to 'gdb/spu-tdep.c')
-rw-r--r-- | gdb/spu-tdep.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/gdb/spu-tdep.c b/gdb/spu-tdep.c index de534dd..222b95f 100644 --- a/gdb/spu-tdep.c +++ b/gdb/spu-tdep.c @@ -478,11 +478,17 @@ spu_analyze_prologue (CORE_ADDR start_pc, CORE_ADDR end_pc, else if (is_ri16 (insn, op_il, &rt, &immed)) { reg_immed[rt] = immed; + + if (rt == SPU_RAW_SP_REGNUM && !found_sp) + found_sp = 1; } else if (is_ri18 (insn, op_ila, &rt, &immed)) { reg_immed[rt] = immed & 0x3ffff; + + if (rt == SPU_RAW_SP_REGNUM && !found_sp) + found_sp = 1; } /* STQD is used to save registers to the stack. */ |