diff options
-rw-r--r-- | gdb/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/mips-tdep.c | 4 |
2 files changed, 8 insertions, 1 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 8fe1381..cfe889d 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2016-01-18 Maciej W. Rozycki <macro@imgtec.com> + + * mips-tdep.c (micromips_insn_at_pc_has_delay_slot): Pass + unshifted 16-bit microMIPS instruction word to `mips_insn_size'. + 2016-01-18 Pedro Alves <palves@redhat.com> * NEWS: Mention that GDB now displays the ID and name of the diff --git a/gdb/mips-tdep.c b/gdb/mips-tdep.c index ca17864..f787a6d 100644 --- a/gdb/mips-tdep.c +++ b/gdb/mips-tdep.c @@ -7376,12 +7376,14 @@ micromips_insn_at_pc_has_delay_slot (struct gdbarch *gdbarch, { ULONGEST insn; int status; + int size; insn = mips_fetch_instruction (gdbarch, ISA_MICROMIPS, addr, &status); if (status) return 0; + size = mips_insn_size (ISA_MICROMIPS, insn); insn <<= 16; - if (mips_insn_size (ISA_MICROMIPS, insn) == 2 * MIPS_INSN16_SIZE) + if (size == 2 * MIPS_INSN16_SIZE) { insn |= mips_fetch_instruction (gdbarch, ISA_MICROMIPS, addr, &status); if (status) |