cc: assembler failed for tmp-divrem_2.s

Dennis Clarke dclarke at
Mon Mar 29 13:05:53 CEST 2010

> Dennis Clarke <dclarke at> writes:
>   I know that I can build gmp 5.0.1 neatly with GCC but I had to try with
>   Studio 11 again.
> Is "Studio 11" a recent or an old version of Sun's compiler?
> At KTH, we're a Slowaris shop.  On one of the few x86 machines I get
> this:
>   $ cc -V
>   cc: Sun C 5.8 2005/10/13
>   usage: cc [ options] files.  Use 'cc -flags' for details

wow .. that's really old and out of date.

I have this :

$ cc -V
cc: Sun C 5.8 Patch 121016-08 2009/04/20

I also have multiple other revs on other architectures also.

> This compiler has no problems with byte "or" instructions.

The problem is probably with as, the assembler. But I'm guessing.

> This problem has been reported several times before, and my hope is that
> Sun would fix it at some point.  If "Studio 11" is indeed new, then
> perhaps they have decided to keep this bug.

Well, I have the very latest patches for all compilers.

> Can their tools cope with "xor %dl,%al" and "and %dl,%al"?
> How about "orb %dl,%al"  "xorb %dl,%al" and "andb %dl,%al"?
> I don't know what configuration you used, since you don't seem to
> specify that.  But it seems you forced ABI=32 or perhaps run solaris on
> a 32-bit x86.

Yes, this is ABI=32 on a 32-bit system.

> The file mpn/x86/divrem_2.asm will then be chosen, and it indeed
> contains some "or" instructions with byte registers.

Is there a way for force the usage of the more portable "generic" C sources?


More information about the gmp-bugs mailing list