This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: mipsisa32-unknown-elf-as: Error: too large constant specified
cgd@broadcom.com writes:
> At Tue, 14 Oct 2003 23:12:40 +0000 (UTC), "Ian Lance Taylor" wrote:
> > Whether this is a bug or not is difficult to say. What is the
> > precision of the ~ operator? What's happening is that ~0xe0000000 is
> > being turned into 0xffffffff1fffffff. That constant is indeed too
> > large. Naturally you want ~0xe0000000 to be 0x1fffffff. But,
> > currently, for any MIPS target, the assembler will do 64-bit
> > arithmetic.
>
> (err, when using a 64-bit BFD, right? I think it still forces 32-bit
> math, for better or worse, if using a 32-bit BFD... or maybe that
> doesn't compile anymore.)
Specifically, when bfd_vma is 64 bits, which will happen if any 64-bit
BFD is supported. It does not check whether the actual target being
used is 32-bit or 64-bit. All that matters is what was configured.
Ian