* config/tc-mips.c (macro): Put back `+ 0x8000' in test for 64-bit
authorAlexandre Oliva <aoliva@redhat.com>
Wed, 9 Apr 2003 03:07:48 +0000 (03:07 +0000)
committerAlexandre Oliva <aoliva@redhat.com>
Wed, 9 Apr 2003 03:07:48 +0000 (03:07 +0000)
constant address that Alexandre took out by accident.  Reject
64-bit addresses that are not sign extensions of 32 bits only if
we don't support 64-bit address constants.

gas/ChangeLog
gas/config/tc-mips.c

index cf54e8501f323a841be74e5fca4993e2e1bb9af5..dd82150bd830408b062e01cbed30852104e5a44f 100644 (file)
@@ -1,3 +1,10 @@
+2003-04-09  Chris Demetriou  <cgd@broadcom.com>
+
+       * config/tc-mips.c (macro): Put back `+ 0x8000' in test for 64-bit
+       constant address that Alexandre took out by accident.  Reject
+       64-bit addresses that are not sign extensions of 32 bits only if
+       we don't support 64-bit address constants.
+
 2003-04-09  Alan Modra  <amodra@bigpond.net.au>
 
        * config/tc-ppc.c (md_apply_fix3): Generate ADDR16 relocs.
index e07dde39f2f807b25da19599c4a0b6c2ccf5be22..7fa025169c943d1b41cf5c858e7bbb7e4b1e716e 100644 (file)
@@ -5849,7 +5849,7 @@ macro (ip)
           */
          if ((offset_expr.X_op != O_constant && HAVE_64BIT_ADDRESSES)
              || (offset_expr.X_op == O_constant
-                 && !IS_SEXT_32BIT_NUM (offset_expr.X_add_number)
+                 && !IS_SEXT_32BIT_NUM (offset_expr.X_add_number + 0x8000)
                  && HAVE_64BIT_ADDRESS_CONSTANTS))
            {
              p = NULL;
@@ -5898,6 +5898,7 @@ macro (ip)
              return;
            }
          else if (offset_expr.X_op == O_constant
+                  && !HAVE_64BIT_ADDRESS_CONSTANTS
                   && !IS_SEXT_32BIT_NUM (offset_expr.X_add_number))
            as_bad (_("load/store address overflow (max 32 bits)"));