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