gmp build fails on UltraSPARC T1 for 64 bits (32 works)

Torbjorn Granlund tege at swox.com
Tue Apr 25 20:45:12 CEST 2006


David Chernoff <chernoff at astro.cornell.edu> writes:

  1. prtconf:
  
Ouch.  Sun in their infinite wisdom no longer output the CPU types from
a plain prtconf.  That's the root of the problem.
  
  2. prtconf -vp is attached (filename "junk")

OK, there we have the names.

Unfortunately, I cannot just unconditionally insert -vp, since
I don't know what will happen for older Slowlaris systems.
  
  3. configure --host=ultrasparc-sun-solaris2.10
  Same error message as for --build=ultrasparc-sun-solaris2.10
  
   /opt/gcc/bin/gcc -DHAVE_CONFIG_H -I. -I. -I.. -D__GMP_WITHIN_GMP -I.. -
  DOPERATION_divrem_1 -O2 -m64 -mptr64 -mcpu=ultrasparc -c divrem_1.c  -
  fPIC -DPIC -o .libs/divrem_1.o
  cg error (as) : "__gnu_asm_inline_fake_test.c (template for
  __gnu_asm_inline_temp_func_006)", line 2 : unknown opcode "addccc"
  
  Apparently, several opcodes are not recognized -- I found the following:
  
  -----------------------------------------------------------------------
  the inline template assembler mechanism (part of cg) does not recognise
  the SPARC-V9 instructions addc, subc, addccc and subccc. e.g., this
  fragment of code:
  addc %o0, %o1, %o0
  is the source of this error:
  cg error (as) : "intops-asm.il (template for intop_eval_ADDC)", line
  358 : unknown opcode "addc"
  
  workaround: it does recognise their synonyms (names from SPARC-V8):
  addx, subx, addxcc and subxcc.
  ----------------------------------------------------------------------
  This is from the Sun developer's forum:
  
  http://forum.sun.com/jive/thread.jspa?threadID=69710&messageID=256801
  
Great.

So the opcodes Sun declares as obsolete and replaced by newer opcodes,
are now the recommended ones and the new opcodes are not only declared
as obsolete, but plainly rejected.

I wonder what sort of tap dancing Sun expect us to perform.  I'll just
declare these systems as UNSUPPORTED until this is explained.

You don't want to run GMP on sparc systems anyway, since every other
system out there will outperform them by a large factor.

That compiler, /opt/gcc/bin/gcc, seems strange.  Is it a non-free
compiler in gcc disguise, like Intel's infamous icc?  What does
"/opt/gcc/bin/gcc -v" output?

-- 
Torbjörn


More information about the gmp-bugs mailing list