aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjamesbowman <jamesb@excamera.com>2015-09-25 12:33:30 -0700
committerjamesbowman <jamesb@excamera.com>2015-09-25 12:33:30 -0700
commit9a09557a93b9f11371e4213589878437e567f897 (patch)
tree33277a92458ebae8351d90ca19bfc94e8a79d82c
parent19ba03f49581e407097a3e4821a957c422551ae5 (diff)
downloadgdb-9a09557a93b9f11371e4213589878437e567f897.zip
gdb-9a09557a93b9f11371e4213589878437e567f897.tar.gz
gdb-9a09557a93b9f11371e4213589878437e567f897.tar.bz2
The FT32's disassembly of 10-bit literals has the incorrect mask.
[opcodes] * ft32-dis.c (print_insn_ft32): Fix incorrect data field mask.
-rw-r--r--binutils/ChangeLog4
-rw-r--r--opcodes/ft32-dis.c2
2 files changed, 5 insertions, 1 deletions
diff --git a/binutils/ChangeLog b/binutils/ChangeLog
index be987ec..8dd6216 100644
--- a/binutils/ChangeLog
+++ b/binutils/ChangeLog
@@ -1,3 +1,7 @@
+2015-09-25 James Bowman <james.bowman@ftdichip.com>
+
+ * ft32-dis.c (print_insn_ft32): Fix incorrect data field mask.
+
2015-09-23 Nick Clifton <nickc@redhat.com>
PR binutils/15835
diff --git a/opcodes/ft32-dis.c b/opcodes/ft32-dis.c
index 877a7ee..1e01da2 100644
--- a/opcodes/ft32-dis.c
+++ b/opcodes/ft32-dis.c
@@ -118,7 +118,7 @@ print_insn_ft32 (bfd_vma addr, struct disassemble_info *info)
case FT32_FLD_RIMM:
imm = (iword >> FT32_FLD_RIMM_BIT) & ((1 << FT32_FLD_RIMM_SIZ) - 1);
if (imm & 0x400)
- info->print_address_func ((bfd_vma) imm & 0x1ff, info);
+ info->print_address_func ((bfd_vma) imm & 0x3ff, info);
else
fpr(stream, "$r%d", imm & 0x1f);
break;