configure problem on Solaris/Intel
Torbjorn Granlund
tg at swox.com
Mon Dec 22 21:35:17 CET 2008
"Steven Dirkse" <sdirkse at gams.com> writes:
I am building GMP on a Solaris/Intel machine:
-bash-3.2# uname -a
SunOS sigvm 5.11 snv_95 i86pc i386 i86pc
I could build GMP 4.2.1 very simply, using
./configure ABI=32
where the output of config.guess was:
bash-3.2# cd gmp-4.2.1
-bash-3.2# ./config.guess
pentium3-pc-solaris2.11
But moving to 4.2.[2,3,4] I get different output from config.guess and
the build fails with an assembler problem. I can fix it by manually
putting in the --build.
-bash-3.2# cd ../gmp-4.2.4
-bash-3.2# ./config.guess
core2-pc-solaris2.11
-bash-3.2# cd mpz/
-bash-3.2# gcc -DHAVE_CONFIG_H -I. -I. -I.. -D__GMP_WITHIN_GMP -I..
-m32 -O2 -fomit-frame-pointer -mtune=k8 -march=k8 -c cmp_d.c -fPIC
-DPIC -o .libs/cmp_d.o
Assembler: cmp_d.c
"/var/tmp//ccH2vmCb.s", line 59 : Illegal mnemonic
Near line: " ffreep %st(0)"
"/var/tmp//ccH2vmCb.s", line 59 : Syntax error
Near line: " ffreep %st(0)"
"/var/tmp//ccH2vmCb.s", line 61 : Illegal mnemonic
Near line: " ffreep %st(0)"
"/var/tmp//ccH2vmCb.s", line 61 : Syntax error
Near line: " ffreep %st(0)"
"/var/tmp//ccH2vmCb.s", line 125 : Illegal mnemonic
Near line: " ffreep %st(0)"
"/var/tmp//ccH2vmCb.s", line 125 : Syntax error
Near line: " ffreep %st(0)"
-bash-3.2# gcc -DHAVE_CONFIG_H -I. -I. -I.. -D__GMP_WITHIN_GMP -I..
-m32 -O2 -fomit-frame-pointer -mtune=k6 -march=k6 -c cmp_d.c -fPIC
-DPIC -o .libs/cmp_d.o
-bash-3.2#
./configure ABI=32 --build=k6-pc-solaris2.11 works, for example.
This is not a GMP problem, but a compiler/assembler problem.
When valid C code makes the compiler generate assembly that the assember
cannot handle, then things are quite broken.
See also http://gmplib.org/list-archives/gmp-bugs/2007-August/000816.html.
--
Torbjörn
More information about the gmp-bugs
mailing list