* ld-cris/expdyn1.d, ld-cris/expdyn5.d, ld-cris/expdyn6.d,
[deliverable/binutils-gdb.git] / gdb / m88k-tdep.c
index 42a702d064f4bd7804c64be8d092ab4d63f667cf..7037808020829ca129aacdd1f6015ac568bc428c 100644 (file)
@@ -344,7 +344,7 @@ m88k_store_arguments (struct regcache *regcache, int nargs,
 }
 
 static CORE_ADDR
-m88k_push_dummy_call (struct gdbarch *gdbarch, CORE_ADDR func_addr,
+m88k_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
                      struct regcache *regcache, CORE_ADDR bp_addr, int nargs,
                      struct value **args, CORE_ADDR sp, int struct_return,
                      CORE_ADDR struct_addr)
@@ -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;
 
@@ -731,16 +731,14 @@ m88k_frame_prev_register (struct frame_info *next_frame, void **this_cache,
        {
          CORE_ADDR pc;
 
-         trad_frame_prev_register (next_frame, cache->saved_regs,
-                                   M88K_SXIP_REGNUM, optimizedp,
-                                   lvalp, addrp, realnump, valuep);
+         trad_frame_get_prev_register (next_frame, cache->saved_regs,
+                                       M88K_SXIP_REGNUM, optimizedp,
+                                       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.  */
@@ -751,8 +749,8 @@ m88k_frame_prev_register (struct frame_info *next_frame, void **this_cache,
       return;
     }
 
-  trad_frame_prev_register (next_frame, cache->saved_regs, regnum,
-                           optimizedp, lvalp, addrp, realnump, valuep);
+  trad_frame_get_prev_register (next_frame, cache->saved_regs, regnum,
+                               optimizedp, lvalp, addrp, realnump, valuep);
 }
 
 static const struct frame_unwind m88k_frame_unwind =
This page took 0.024086 seconds and 4 git commands to generate.