GMP build issues on Solaris 10 UltraSPARC

Torbjörn Granlund tg at gmplib.org
Fri Nov 10 16:49:05 UTC 2017


Sad Clouds <cryintothebluesky at gmail.com> writes:

  https://gmplib.org/list-archives/gmp-commit/2013-May/001723.html
  
  +      [ultrasparct[12]])
  +			gcc_cflags_cpu="-mcpu=niagara -mcpu=v9"
  +			gcc_32_cflags_asm="-Wa,-Av8plusc -Wa,-xarch=v8plusc"
  +			gcc_64_cflags_asm="-Wa,-Av9c -Wa,-xarch=v9c";;
  
  Using -xarch=v8plusc is wrong for UltraSPARC T1 and T2 processors, since they don't support VIS3 instructions set. This results in the following ld.so errors when using Sun assembler
  
  hardware capability (CA_SUNW_HW_1) unsupported: 0x400
  
  
  GNU assembler states that:
  
  ?-Av8plusc? and ?-Av9c? enable the UltraSPARC Niagara instructions, as well as the instructions enabled by ?-Av8plusb? and ?-Av9b?. 
  
  However this is wrong, since with Sun/Oracle compilers this option is used for SPARC64 VI processor.

Clearly, the GNU compiler/assembler and the Solaris compiler/assembler
do not agree about the meaning of what v8plusc means.  I suppose it is a
mistake in the GNU camp.

What do you suggest that we do for GMP?

Perhaps just pass v8plusb for T1/T2?  I mean, these CPUs are so
horrendously slow anyway that nobody in his right mind would perform any
computation on them anyway.
  

-- 
Torbjörn
Please encrypt, key id 0xC8601622


More information about the gmp-bugs mailing list