aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@airs.com>1994-03-11 23:00:17 +0000
committerIan Lance Taylor <ian@airs.com>1994-03-11 23:00:17 +0000
commitbe22008b2c2b17c0a704800f387f444c360053a8 (patch)
treeba2c81d6b03fb5e23258651ddac202becfc2999b /gas
parente9e5a8dcb9e5aa254086f306391e0e89d76f422a (diff)
downloadgdb-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')
-rw-r--r--gas/ChangeLog6
-rw-r--r--gas/config/tc-mips.c6
2 files changed, 11 insertions, 1 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 7ecc649..2ad77a7 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,9 @@
+Fri Mar 11 17:56:23 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
+
+ * 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.
+
Thu Mar 10 13:36:29 1994 Doug Evans (dje@canuck.cygnus.com)
* config/tc-sparc.h (LOCAL_LABEL): Local labels are .Lfoo.
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))