From: Ulrich Weigand Date: Thu, 11 Jan 2007 20:48:50 +0000 (+0000) Subject: * spu-tdep.c (spu_analyze_prologue): Fix erroneous backtrace X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=12102450ba06133ee4b2d173964a79ec3df1b4cd;p=binutils-gdb.git * spu-tdep.c (spu_analyze_prologue): Fix erroneous backtrace past entry function with recent newlib. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 4ec0c4d7632..0e5fc687503 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2007-01-11 Ulrich Weigand + + * spu-tdep.c (spu_analyze_prologue): Fix erroneous backtrace + past entry function with recent newlib. + 2007-01-11 Vladimir Prus * gdb.texinfo (GDB/MI Variable Objects): Improve the diff --git a/gdb/spu-tdep.c b/gdb/spu-tdep.c index de534ddbd47..222b95f8f1b 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. */