cc: assembler failed for tmp-divrem_2.s
dclarke at blastwave.org
Mon Mar 29 13:05:53 CEST 2010
> Dennis Clarke <dclarke at blastwave.org> 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
> $ 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