diff options
author | Mark Kettenis <kettenis@gnu.org> | 2004-05-30 18:16:31 +0000 |
---|---|---|
committer | Mark Kettenis <kettenis@gnu.org> | 2004-05-30 18:16:31 +0000 |
commit | 5ca8ca7c883865ddfb50a05bd35fd99221ef87c0 (patch) | |
tree | 4703a0ebbb21a675b7322c026829e327567227ed /gdb/m88k-tdep.c | |
parent | 593adc23491c6e80fb4a54c6ee3489e5dac5c55c (diff) | |
download | gdb-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/m88k-tdep.c')
-rw-r--r-- | gdb/m88k-tdep.c | 8 |
1 files changed, 3 insertions, 5 deletions
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. */ |