2000-09-08 Philip Blundell <philb@gnu.org>
authorPhil Blundell <philb@gnu.org>
Fri, 8 Sep 2000 21:05:33 +0000 (21:05 +0000)
committerPhil Blundell <philb@gnu.org>
Fri, 8 Sep 2000 21:05:33 +0000 (21:05 +0000)
* config/tc-arm.c (md_apply_fix3): Correct handling of ADRL when
offset is negative.

gas/ChangeLog
gas/config/tc-arm.c

index f906e7dd1d2a891cdfc4ade96adf45a9be5715e1..ca278e6f2b42150f3665959affe0a29f8db6e7e4 100644 (file)
@@ -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-09-07  H.J. Lu  <hjl@gnu.org>
 
        * configure.in (AC_ISC_POSIX): Put after AC_CANONICAL_SYSTEM.
index faded9626bcf4ac1291a054f6dc6a3eacc9fcd9a..0cc8cab6e7833857540978bd4df5baffb0d44efe 100644 (file)
@@ -5676,7 +5676,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