* config/tc-mips.c (append_insn): Fix jump overflow check.
authorThiemo Seufer <ths@networkno.de>
Thu, 26 Sep 2002 09:00:08 +0000 (09:00 +0000)
committerThiemo Seufer <ths@networkno.de>
Thu, 26 Sep 2002 09:00:08 +0000 (09:00 +0000)
* gas/mips/jal-range.s: Fix jump overflow check.
* gas/mips/jal-range.l: Likewise.

gas/ChangeLog
gas/config/tc-mips.c
gas/testsuite/ChangeLog
gas/testsuite/gas/mips/jal-range.l
gas/testsuite/gas/mips/jal-range.s

index eaef139..eda63ad 100644 (file)
@@ -1,3 +1,7 @@
+2002-09-26  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+       * config/tc-mips.c (append_insn): Fix jump overflow check.
+
 2002-09-24  Alan Modra  <amodra@bigpond.net.au>
 
        * config/tc-i386.c (process_operands): Warn about "lea" segment
index ba803d2..bd797c4 100644 (file)
@@ -1858,8 +1858,7 @@ append_insn (place, ip, address_expr, reloc_type, unmatched_hi)
              if ((address_expr->X_add_number & 3) != 0)
                as_bad (_("jump to misaligned address (0x%lx)"),
                        (unsigned long) address_expr->X_add_number);
-             if (address_expr->X_add_number & ~0xfffffff
-                 || address_expr->X_add_number > 0x7fffffc)
+             if (address_expr->X_add_number & ~0xfffffff)
                as_bad (_("jump address range overflow (0x%lx)"),
                        (unsigned long) address_expr->X_add_number);
              ip->insn_opcode |= (address_expr->X_add_number >> 2) & 0x3ffffff;
@@ -1869,8 +1868,7 @@ append_insn (place, ip, address_expr, reloc_type, unmatched_hi)
              if ((address_expr->X_add_number & 3) != 0)
                as_bad (_("jump to misaligned address (0x%lx)"),
                        (unsigned long) address_expr->X_add_number);
-             if (address_expr->X_add_number & ~0xfffffff
-                 || address_expr->X_add_number > 0x7fffffc)
+             if (address_expr->X_add_number & ~0xfffffff)
                as_bad (_("jump address range overflow (0x%lx)"),
                        (unsigned long) address_expr->X_add_number);
              ip->insn_opcode |=
index 9523d48..159a617 100644 (file)
@@ -1,3 +1,8 @@
+2002-09-26  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+       * gas/mips/jal-range.s: Fix jump overflow check.
+       * gas/mips/jal-range.l: Likewise.
+
 2002-09-23  Nick Clifton  <nickc@redhat.com>
 
        * gas/arm/armv1-bad.s: Add LDM and STM instructions which are
index 79a2509..3887e18 100644 (file)
@@ -1,4 +1,4 @@
 .*: Assembler messages:
-.*:5: Error: jump to misaligned address \(0x7fffffd\)
-.*:5: Error: jump address range overflow \(0x7fffffd\)
-.*:6: Error: jump address range overflow \(0x8000000\)
+.*:4: Error: jump to misaligned address \(0x1\)
+.*:6: Error: jump to misaligned address \(0xfffffff\)
+.*:7: Error: jump address range overflow \(0x10000000\)
index 4d843b1..e52f560 100644 (file)
@@ -1,6 +1,7 @@
 # Source file use to test border cases of jumps
 
        jal     0x0
-       jal     0x7fffffc
-       jal     0x7fffffd
-       jal     0x8000000
+       jal     0x1
+       jal     0xffffffc
+       jal     0xfffffff
+       jal     0x10000000