summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhil Blundell <philb@gnu.org>2000-09-08 21:02:54 +0000
committerPhil Blundell <philb@gnu.org>2000-09-08 21:02:54 +0000
commite3f370c3e79521d4ffe0dfeb6c0ad0616e093ea3 (patch)
tree07f946310279d461453edb569b2120c30ea28b24
parentdb96ec58e6c458ccbd6ca186b7006f25fd7195cf (diff)
downloadbinutils-gdb-e3f370c3e79521d4ffe0dfeb6c0ad0616e093ea3.tar.gz
2000-09-08 Philip Blundell <philb@gnu.org>
* config/tc-arm.c (md_apply_fix3): Correct handling of ADRL when offset is negative.
-rw-r--r--gas/ChangeLog5
-rw-r--r--gas/config/tc-arm.c2
2 files changed, 6 insertions, 1 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 9c9b1948f1d..590abef5171 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,8 @@
+2000-09-08 Philip Blundell <philb@gnu.org>
+
+ * config/tc-arm.c (md_apply_fix3): Correct handling of ADRL when
+ offset is negative.
+
2000-08-30 Matthew Jacob <mjacob@feral.com>
* config/tc-alpha.c (md_undefined_symbol): Properly understand that
diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c
index c6a19796693..51c0a7602b5 100644
--- a/gas/config/tc-arm.c
+++ b/gas/config/tc-arm.c
@@ -5450,7 +5450,7 @@ md_apply_fix3 (fixP, val, seg)
if (newimm != (unsigned int) FAIL)
newinsn = temp;
/* Still No ? Try using a negated value. */
- else if (validate_immediate_twopart (- value, & highpart) != (unsigned int) FAIL)
+ else if ((newimm = validate_immediate_twopart (- value, & highpart)) != (unsigned int) FAIL)
temp = newinsn = (temp & OPCODE_MASK) | OPCODE_SUB << DATA_OP_SHIFT;
/* Otherwise - give up. */
else