summaryrefslogtreecommitdiff
path: root/gnu/usr.bin/binutils/gdb
diff options
context:
space:
mode:
authorMark Kettenis <kettenis@cvs.openbsd.org>2004-05-30 19:07:01 +0000
committerMark Kettenis <kettenis@cvs.openbsd.org>2004-05-30 19:07:01 +0000
commit4b9d07280cfad7b4ee1d5b9ab9400395d01f00b2 (patch)
tree8804ed6900410c27b78e0fe5c57493b4054369e4 /gnu/usr.bin/binutils/gdb
parentad7f38a69118718a1d6c04d541a92ce7f7b2423c (diff)
Sync with upstream sources; fixes m88k backtrace bug.
ok miod@
Diffstat (limited to 'gnu/usr.bin/binutils/gdb')
-rw-r--r--gnu/usr.bin/binutils/gdb/m88k-tdep.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/gnu/usr.bin/binutils/gdb/m88k-tdep.c b/gnu/usr.bin/binutils/gdb/m88k-tdep.c
index 42a702d064f..215f1db825b 100644
--- a/gnu/usr.bin/binutils/gdb/m88k-tdep.c
+++ b/gnu/usr.bin/binutils/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. */