aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2002-09-20 14:22:44 +0000
committerCorinna Vinschen <corinna@vinschen.de>2002-09-20 14:22:44 +0000
commitddd216eaca2c1a4e8f22347abc94b558f89fdeae (patch)
tree56a7bc18a6114d3de136d866589564bc26a37655 /gdb
parent585cc78f65f55dd5834911fbbe21b654c52f7bee (diff)
downloadgdb-ddd216eaca2c1a4e8f22347abc94b558f89fdeae.zip
gdb-ddd216eaca2c1a4e8f22347abc94b558f89fdeae.tar.gz
gdb-ddd216eaca2c1a4e8f22347abc94b558f89fdeae.tar.bz2
* h8300-tdep.c (h8300_examine_prologue): Match saved regs location
with what gcc thinks is correct.
Diffstat (limited to 'gdb')
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/h8300-tdep.c6
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 <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.
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;