aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorMark Kettenis <kettenis@gnu.org>2004-05-30 18:16:31 +0000
committerMark Kettenis <kettenis@gnu.org>2004-05-30 18:16:31 +0000
commit5ca8ca7c883865ddfb50a05bd35fd99221ef87c0 (patch)
tree4703a0ebbb21a675b7322c026829e327567227ed /gdb
parent593adc23491c6e80fb4a54c6ee3489e5dac5c55c (diff)
downloadgdb-5ca8ca7c883865ddfb50a05bd35fd99221ef87c0.zip
gdb-5ca8ca7c883865ddfb50a05bd35fd99221ef87c0.tar.gz
gdb-5ca8ca7c883865ddfb50a05bd35fd99221ef87c0.tar.bz2
* m88k-tdep.c (m88k_analyze_prologue): Fix handling of branch
instructions. (m88k_frame_prev_register): Simplify code a bit.
Diffstat (limited to 'gdb')
-rw-r--r--gdb/ChangeLog4
-rw-r--r--gdb/m88k-tdep.c8
2 files changed, 7 insertions, 5 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 78e93ba..2a7600e 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,9 @@
2004-05-30 Mark Kettenis <kettenis@gnu.org>
+ * m88k-tdep.c (m88k_analyze_prologue): Fix handling of branch
+ instructions.
+ (m88k_frame_prev_register): Simplify code a bit.
+
* amd64-tdep.c (amd64_supply_fpregset): Adjust comment.
(amd64_collect_fpregset): New function.
(amd64_regset_from_core_section): Use amd64_collect_fpregset.
diff --git a/gdb/m88k-tdep.c b/gdb/m88k-tdep.c
index 42a702d..215f1db 100644
--- a/gdb/m88k-tdep.c
+++ b/gdb/m88k-tdep.c
@@ -607,7 +607,7 @@ m88k_analyze_prologue (CORE_ADDR pc, CORE_ADDR limit,
the instruction in the delay slot might be. Limit the
prologue analysis to the delay slot and record the branch
instruction as the end of the prologue. */
- limit = pc + M88K_INSN_SIZE;
+ limit = min (limit, pc + 2 * M88K_INSN_SIZE);
end = pc;
break;
@@ -736,11 +736,9 @@ m88k_frame_prev_register (struct frame_info *next_frame, void **this_cache,
lvalp, addrp, realnump, valuep);
pc = extract_unsigned_integer (valuep, 4);
- if (regnum == M88K_SNIP_REGNUM)
+ if (regnum == M88K_SFIP_REGNUM)
pc += 4;
- else if (regnum == M88K_SFIP_REGNUM)
- pc += 8;
- store_unsigned_integer (valuep, 4, pc);
+ store_unsigned_integer (valuep, 4, pc + 4);
}
/* It's a computed value. */