diff options
author | Ian Lance Taylor <ian@airs.com> | 1998-01-27 17:33:35 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@airs.com> | 1998-01-27 17:33:35 +0000 |
commit | 29b2b5da9614ff9f7103e85913e8ba94a932bfba (patch) | |
tree | 3394a31ed5bd1244b7ed5485dec0a21be9ceb6f6 /gas/config/tc-arm.c | |
parent | 8ecadea45b833bff6edc9c46f87b7fb91211b797 (diff) | |
download | gdb-29b2b5da9614ff9f7103e85913e8ba94a932bfba.zip gdb-29b2b5da9614ff9f7103e85913e8ba94a932bfba.tar.gz gdb-29b2b5da9614ff9f7103e85913e8ba94a932bfba.tar.bz2 |
tweak last patch
Diffstat (limited to 'gas/config/tc-arm.c')
-rw-r--r-- | gas/config/tc-arm.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c index 93ac1ba..8beb8ac 100644 --- a/gas/config/tc-arm.c +++ b/gas/config/tc-arm.c @@ -5036,6 +5036,7 @@ md_apply_fix3 (fixP, val, seg) { offsetT value = *val; offsetT newval; + unsigned int newimm; unsigned long temp; int sign; char *buf = fixP->fx_where + fixP->fx_frag->fr_literal; @@ -5072,21 +5073,21 @@ md_apply_fix3 (fixP, val, seg) switch (fixP->fx_r_type) { case BFD_RELOC_ARM_IMMEDIATE: - newval = (offsetT) validate_immediate (value); + newimm = (offsetT) validate_immediate (value); temp = md_chars_to_number (buf, INSN_SIZE); /* If the instruction will fail, see if we can fix things up by changing the opcode. */ - if (newval == (offsetT) FAIL - && (newval = negate_data_op (&temp, value)) == (offsetT) FAIL) + if (newimm == (unsigned int) FAIL + && (newimm = negate_data_op (&temp, value)) == (unsigned int) FAIL) { as_bad_where (fixP->fx_file, fixP->fx_line, "invalid constant after fixup\n"); break; } - newval |= (temp & 0xfffff000); - md_number_to_chars (buf, newval, INSN_SIZE); + newimm |= (temp & 0xfffff000); + md_number_to_chars (buf, (valueT) newimm, INSN_SIZE); break; case BFD_RELOC_ARM_OFFSET_IMM: |