+2010-10-19 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * arm-tdep.c (thumb_get_next_pc_raw): Handle Thumb-16 encoding
+ for "mov pc, REG" as well.
+ (thumb_instruction_changes_pc): Likewise.
+
2010-10-19 Sami Wagiaalla <swagiaal@redhat.com>
PR C++/11500:
if ((inst & 0xff00) == 0x4700) /* bx REG, blx REG */
return 1;
+ if ((inst & 0xff87) == 0x4687) /* mov pc, REG */
+ return 1;
+
if ((inst & 0xf500) == 0xb100) /* CBNZ or CBZ. */
return 1;
else
nextpc = get_frame_register_unsigned (frame, bits (inst1, 3, 6));
}
+ else if ((inst1 & 0xff87) == 0x4687) /* mov pc, REG */
+ {
+ if (bits (inst1, 3, 6) == 0x0f)
+ nextpc = pc_val;
+ else
+ nextpc = get_frame_register_unsigned (frame, bits (inst1, 3, 6));
+
+ nextpc = MAKE_THUMB_ADDR (nextpc);
+ }
else if ((inst1 & 0xf500) == 0xb100)
{
/* CBNZ or CBZ. */