* config/tc-mips.c (load_address): Cast X_add_number to valueT
[deliverable/binutils-gdb.git] / gas / config / tc-mips.c
index 19b271dc4dae9db2a3aaec2780d1d4ccad3f5adb..61f38dc729ec97e50fea0d5a4cfd89edca26c165 100644 (file)
@@ -1993,7 +1993,8 @@ load_address (counter, reg, ep)
           lui          $reg,<sym>              (BFD_RELOC_HI16_S)
           addiu        $reg,$reg,<sym>         (BFD_RELOC_LO16)
         If we have an addend, we always use the latter form.  */
-      if (ep->X_add_number != 0 || nopic_need_relax (ep->X_add_symbol))
+      if ((valueT) ep->X_add_number >= MAX_GPREL_OFFSET
+          || nopic_need_relax (ep->X_add_symbol))
        p = NULL;
       else
        {
@@ -2860,7 +2861,7 @@ macro (ip)
               addiu    $tempreg,$tempreg,<sym> (BFD_RELOC_LO16)
             If we have a constant, we need two instructions anyhow,
             so we may as well always use the latter form.  */
-         if (offset_expr.X_add_number != 0
+         if ((valueT) offset_expr.X_add_number >= MAX_GPREL_OFFSET
              || nopic_need_relax (offset_expr.X_add_symbol))
            p = NULL;
          else
@@ -3571,7 +3572,7 @@ macro (ip)
             With a constant we always use the latter case.  */
          if (breg == 0)
            {
-             if (offset_expr.X_add_number != 0
+             if ((valueT) offset_expr.X_add_number >= MAX_GPREL_OFFSET
                  || nopic_need_relax (offset_expr.X_add_symbol))
                p = NULL;
              else
@@ -3595,7 +3596,7 @@ macro (ip)
            }
          else
            {
-             if (offset_expr.X_add_number != 0
+             if ((valueT) offset_expr.X_add_number >= MAX_GPREL_OFFSET
                  || nopic_need_relax (offset_expr.X_add_symbol))
                p = NULL;
              else
@@ -4000,7 +4001,7 @@ macro (ip)
             If there is a base register, we add it to $at after the
             lui instruction.  If there is a constant, we always use
             the last case.  */
-         if (offset_expr.X_add_number != 0
+         if ((valueT) offset_expr.X_add_number >= MAX_GPREL_OFFSET
              || nopic_need_relax (offset_expr.X_add_symbol))
            {
              p = NULL;
This page took 0.025115 seconds and 4 git commands to generate.