* h8300-tdep.c (h8300_examine_prologue): Match saved regs location
authorCorinna Vinschen <corinna@vinschen.de>
Fri, 20 Sep 2002 14:22:44 +0000 (14:22 +0000)
committerCorinna Vinschen <corinna@vinschen.de>
Fri, 20 Sep 2002 14:22:44 +0000 (14:22 +0000)
with what gcc thinks is correct.

gdb/ChangeLog
gdb/h8300-tdep.c

index 233bf27..ba66a18 100644 (file)
@@ -1,5 +1,10 @@
 2002-09-20  Corinna Vinschen  <vinschen@redhat.com>
 
+       * h8300-tdep.c (h8300_examine_prologue): Match saved regs location
+       with what gcc thinks is correct.
+
+2002-09-20  Corinna Vinschen  <vinschen@redhat.com>
+
        * h8300-tdep.c (h8300_examine_prologue): Fix loop for saved regs in
        multiple register push instruction.
 
index 8e1ac81..affd8dd 100644 (file)
@@ -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;