diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index 634ad27248a..fe268382a4c 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,3 +1,7 @@ +2016-11-03 Graham Markall + + * arc-dis.c (print_insn_arc): Swap highbyte and lowbyte. + 2016-11-03 Graham Markall * arc-dis.c (find_format_from_table): Replace use of ARC_SHORT diff --git a/opcodes/arc-dis.c b/opcodes/arc-dis.c index a1aaf34c9ca..64bfecd3b99 100644 --- a/opcodes/arc-dis.c +++ b/opcodes/arc-dis.c @@ -921,8 +921,8 @@ print_insn_arc (bfd_vma memaddr, } memset (&iter, 0, sizeof (iter)); - lowbyte = ((info->endian == BFD_ENDIAN_LITTLE) ? 1 : 0); - highbyte = ((info->endian == BFD_ENDIAN_LITTLE) ? 0 : 1); + highbyte = ((info->endian == BFD_ENDIAN_LITTLE) ? 1 : 0); + lowbyte = ((info->endian == BFD_ENDIAN_LITTLE) ? 0 : 1); if (info->section && info->section->owner) header = elf_elfheader (info->section->owner); @@ -1025,13 +1025,13 @@ print_insn_arc (bfd_vma memaddr, return size; } - insn_len = arc_insn_length (buffer[lowbyte], buffer[highbyte], info); + insn_len = arc_insn_length (buffer[highbyte], buffer[lowbyte], info); pr_debug ("instruction length = %d bytes\n", insn_len); switch (insn_len) { case 2: - insn[0] = (buffer[lowbyte] << 8) | buffer[highbyte]; + insn[0] = (buffer[highbyte] << 8) | buffer[lowbyte]; break; default: