diff options
author | Ian Lance Taylor <ian@airs.com> | 1994-03-11 23:00:17 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@airs.com> | 1994-03-11 23:00:17 +0000 |
commit | be22008b2c2b17c0a704800f387f444c360053a8 (patch) | |
tree | ba2c81d6b03fb5e23258651ddac202becfc2999b /gas/config | |
parent | e9e5a8dcb9e5aa254086f306391e0e89d76f422a (diff) | |
download | gdb-be22008b2c2b17c0a704800f387f444c360053a8.zip gdb-be22008b2c2b17c0a704800f387f444c360053a8.tar.gz gdb-be22008b2c2b17c0a704800f387f444c360053a8.tar.bz2 |
* config/tc-mips.c (mips_ip): Accept numbers between 0x8000 and
0xffff for 'j' to be compatible with MIPS assembler. These
numbers are actually treated as negative.
Diffstat (limited to 'gas/config')
-rw-r--r-- | gas/config/tc-mips.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c index b60266e..77a72c0 100644 --- a/gas/config/tc-mips.c +++ b/gas/config/tc-mips.c @@ -4359,8 +4359,12 @@ mips_ip (str, ip) } else { + /* The upper bound should be 0x8000, but + unfortunately the MIPS assembler accepts numbers + from 0x8000 to 0xffff and sign extends them, and + we want to be compatible. */ if (imm_expr.X_add_number < -0x8000 || - imm_expr.X_add_number >= 0x8000) + imm_expr.X_add_number >= 0x10000) { if (insn + 1 < &mips_opcodes[NUMOPCODES] && !strcmp (insn->name, insn[1].name)) |