aboutsummaryrefslogtreecommitdiff
path: root/opcodes
diff options
context:
space:
mode:
authorMaciej W. Rozycki <macro@codesourcery.com>2014-08-22 16:42:12 +0100
committerMaciej W. Rozycki <macro@codesourcery.com>2014-08-22 16:42:12 +0100
commit84919466a87f5ce10cc1af8ef51d7ab9ea66ff5e (patch)
tree28d6b6c7d4aa019e1deae4046b560796a0d7c9c3 /opcodes
parente56c722b60c67fe915c22970a5e669a723fa1ce9 (diff)
downloadbinutils-84919466a87f5ce10cc1af8ef51d7ab9ea66ff5e.zip
binutils-84919466a87f5ce10cc1af8ef51d7ab9ea66ff5e.tar.gz
binutils-84919466a87f5ce10cc1af8ef51d7ab9ea66ff5e.tar.bz2
ARM/opcodes: Fix negative hexadecimal offset disassembly
2014-08-21 Nathan Sidwell <nathan@codesourcery.com> Maciej W. Rozycki <macro@codesourcery.com> opcodes/ * arm-dis.c (print_arm_address): Negate the GPR-relative offset returned if the U bit is set. 2014-08-21 Paul Brook <paul@codesourcery.com> gas/testsuite/ * gas/arm/arch7a-mp.d: Adjust according to `print_arm_address' offset fix. * gas/arm/arch7r-mp.d: Likewise.
Diffstat (limited to 'opcodes')
-rw-r--r--opcodes/ChangeLog6
-rw-r--r--opcodes/arm-dis.c2
2 files changed, 8 insertions, 0 deletions
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
index dfea7d3..a9581ae 100644
--- a/opcodes/ChangeLog
+++ b/opcodes/ChangeLog
@@ -1,3 +1,9 @@
+2014-08-21 Nathan Sidwell <nathan@codesourcery.com>
+ Maciej W. Rozycki <macro@codesourcery.com>
+
+ * arm-dis.c (print_arm_address): Negate the GPR-relative offset
+ returned if the U bit is set.
+
2014-08-21 Maciej W. Rozycki <macro@codesourcery.com>
* micromips-opc.c (micromips_opcodes): Remove #ifdef-ed out
diff --git a/opcodes/arm-dis.c b/opcodes/arm-dis.c
index f43ce0d..8f399fb 100644
--- a/opcodes/arm-dis.c
+++ b/opcodes/arm-dis.c
@@ -2583,6 +2583,8 @@ print_arm_address (bfd_vma pc, struct disassemble_info *info, long given)
arm_decode_shift (given, func, stream, TRUE);
}
}
+ if (NEGATIVE_BIT_SET)
+ offset = -offset;
}
return (signed long) offset;