diff options
author | Ulrich Weigand <uweigand@de.ibm.com> | 2007-06-15 22:32:02 +0000 |
---|---|---|
committer | Ulrich Weigand <uweigand@de.ibm.com> | 2007-06-15 22:32:02 +0000 |
commit | d2ca4222d5a14ae1a0bcc28fc7ce667baec76ff0 (patch) | |
tree | 1dc319c102d8e7d7f026d2a4ee22ae7006d10c06 /gdb/v850-tdep.c | |
parent | c458d6db4beec11df86f11c63e69cb0e28cb1d40 (diff) | |
download | gdb-d2ca4222d5a14ae1a0bcc28fc7ce667baec76ff0.zip gdb-d2ca4222d5a14ae1a0bcc28fc7ce667baec76ff0.tar.gz gdb-d2ca4222d5a14ae1a0bcc28fc7ce667baec76ff0.tar.bz2 |
* mips-tdep.c (mips16_scan_prologue): Replace read_next_frame_reg
by frame_unwind_register_signed calls.
(mips32_scan_prologue): Likewise. Skip analysis of alloca stack
frame allocations when called with NULL NEXT_FRAME parameter.
(read_next_frame_reg): Remove.
* sh-tdep.c (sh_analyze_prologue): Add FPSCR parameter. Use it
instead of reading the FPSCR register.
(sh_frame_cache): Pass unwound FPSCR register value to
sh_analyze_prologue.
(sh_skip_prologue): Pass dummy FPSCR value to sh_analyze_prologue.
* v850-tdep.c (v850_analyze_prologue): Add CTBP parameter. Use it
instead of reading the CTBP register.
(v850_frame_cache): Pass unwound CTBP register value to
v850_analyze_prologue.
Diffstat (limited to 'gdb/v850-tdep.c')
-rw-r--r-- | gdb/v850-tdep.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/gdb/v850-tdep.c b/gdb/v850-tdep.c index 752223c..7aa7dc3 100644 --- a/gdb/v850-tdep.c +++ b/gdb/v850-tdep.c @@ -456,7 +456,7 @@ v850_is_save_register (int reg) static CORE_ADDR v850_analyze_prologue (CORE_ADDR func_addr, CORE_ADDR pc, - struct v850_frame_cache *pi) + struct v850_frame_cache *pi, ULONGEST ctbp) { CORE_ADDR prologue_end, current_pc; struct pifsr pifsrs[E_NUM_REGS + 1]; @@ -517,7 +517,6 @@ v850_analyze_prologue (CORE_ADDR func_addr, CORE_ADDR pc, } else if ((insn & 0xffc0) == 0x0200 && !regsave_func_p) { /* callt <imm6> */ - long ctbp = read_register (E_CTBP_REGNUM); long adr = ctbp + ((insn & 0x3f) << 1); save_pc = current_pc; @@ -859,7 +858,11 @@ v850_frame_cache (struct frame_info *next_frame, void **this_cache) cache->pc = frame_func_unwind (next_frame, NORMAL_FRAME); current_pc = frame_pc_unwind (next_frame); if (cache->pc != 0) - v850_analyze_prologue (cache->pc, current_pc, cache); + { + ULONGEST ctbp; + ctbp = frame_unwind_register_unsigned (next_frame, E_CTBP_REGNUM); + v850_analyze_prologue (cache->pc, current_pc, cache, ctbp); + } if (!cache->uses_fp) { |