diff options
-rw-r--r-- | gas/ChangeLog | 5 | ||||
-rw-r--r-- | gas/config/tc-arm.c | 2 |
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 |