From ddd216eaca2c1a4e8f22347abc94b558f89fdeae Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Fri, 20 Sep 2002 14:22:44 +0000 Subject: [PATCH] * h8300-tdep.c (h8300_examine_prologue): Match saved regs location with what gcc thinks is correct. --- gdb/ChangeLog | 5 +++++ gdb/h8300-tdep.c | 6 +++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 233bf27..ba66a18 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,10 @@ 2002-09-20 Corinna Vinschen + * h8300-tdep.c (h8300_examine_prologue): Match saved regs location + with what gcc thinks is correct. + +2002-09-20 Corinna Vinschen + * h8300-tdep.c (h8300_examine_prologue): Fix loop for saved regs in multiple register push instruction. diff --git a/gdb/h8300-tdep.c b/gdb/h8300-tdep.c index 8e1ac81..affd8dd 100644 --- a/gdb/h8300-tdep.c +++ b/gdb/h8300-tdep.c @@ -412,10 +412,10 @@ h8300_examine_prologue (register CORE_ADDR ip, register CORE_ADDR limit, if (IS_PUSH (insn_word)) { + auto_depth += 2 + adjust; + fsr[insn_word & 0x7] = after_prolog_fp - auto_depth; ip = next_ip; next_ip = h8300_next_prologue_insn (ip, limit, &insn_word); - fsr[r] = after_prolog_fp + auto_depth; - auto_depth += 2 + adjust; continue; } @@ -431,8 +431,8 @@ h8300_examine_prologue (register CORE_ADDR ip, register CORE_ADDR limit, for (i = start; i < start + count; i++) { - fsr[i] = after_prolog_fp + auto_depth; auto_depth += 4; + fsr[i] = after_prolog_fp - auto_depth; } } break; -- 2.7.4