"Error: constant too large" on mips gas

Atsushi Nemoto anemo@mba.ocn.ne.jp
Tue Apr 5 02:38:00 GMT 2005


>>>>> On Mon, 4 Apr 2005 14:36:36 +0100 (BST), "Maciej W. Rozycki" <macro@linux-mips.org> said:
macro>  And here is the result of the above assumptions, together with
macro> test suite updates this time. :-) Tested with no regressions
macro> for mips64el-linux-gnu.

Thank you.  It works for the case I reported.  And here is an another
case:

$ cat foo.s
        and     $2, ~0x80000000
$ mips-linux-as foo.s
foo.s: Assembler messages:
foo.s:1: Error: Number (0xffffffff7fffffff) larger than 32 bits

How about this case?  This error is generated on tc-mips.c:3555:

  /* The value is larger than 32 bits.  */

  if (HAVE_32BIT_GPRS)
    {
      as_bad (_("Number (0x%lx%08lx) larger than 32 bits"),
	      (unsigned long) (ep->X_add_number >> 32),
	      (unsigned long) (ep->X_add_number & 0xffffffff));
      macro_build (ep, "addiu", "t,r,j", reg, 0, BFD_RELOC_LO16);
      return;
    }

---
Atsushi Nemoto



More information about the Binutils mailing list