5.1.2 assembler error on Solaris 10 with CC='cc -xtarget=opteron -xarch=amd64'
Torbjorn Granlund
tg at gmplib.org
Wed Oct 9 11:02:39 CEST 2013
"Daniel Richard G." <skunk at iSKUNK.ORG> writes:
* None of the generated assembly uses "bt" or any variant thereof.
* "shr" is not used, but "shrl" and "shrq" occur frequently.
* "dec" is not used; "decl" is.
* "mov" is not used, but I see all of these:
movaps
movb
movl
movlpd
movq
movsbl
movsbq
movslq
movw
movzbl
movzbq
It seems like fbe is only accepting more specific forms of various
mnemonics.
That makes no recent GMP version usable with these tools.
Alternately, is there a way to have GMP assemble these source files
using $(AS), without going through the C frontend?
Not easily. You could write a script "mycc" which DTRT.
That results in a build triplet of coreisbr-pc-solaris2.10 (I wanted
plain x86_64, for better portability), and the configure script
errors out with
checking size of unsigned... 4
checking size of unsigned long... 4
checking size of mp_limb_t... 4
configure: error: Oops, mp_limb_t is 32 bits, but the assembler code
in this configuration expects 64 bits.
likely due to the ineffectual -m64. (The configure script really should
check for defined(_LP64) or sizeof(void*)==8 when testing that option;
the absence of an error is not enough.)
Since I cannot guess what might happen at the lines you cut, I cannot
say anything useful.
--
Torbjörn
More information about the gmp-bugs
mailing list