5.1.2 assembler error on Solaris 10 with CC='cc -xtarget=opteron -xarch=amd64'
Daniel Richard G.
skunk at iSKUNK.ORG
Tue Oct 8 09:10:07 CEST 2013
On Tue, 2013 Oct 8 8:19+0200, Marc Glisse wrote:
>
> You must be using an ancient version of that compiler, since AFAIK it
> understands -m64 now. Could you use a more recent version?
Getting updates for Sun products is not easy now that Oracle runs
the show :(
> You missed some of the required information in your email:
> http://gmplib.org/manual/Reporting-Bugs.html
Certainly:
* Building stock GMP 5.1.2
* Configured with --disable-dependency-tracking
--disable-maintainer-mode --disable-shared --with-pic
--without-readline CC='cc -xtarget=opteron -xarch=amd64'
* Configure summary:
Version: GNU MP 5.1.2
Host type: x86_64-pc-solaris2.10
ABI: 64
Install prefix: /tg/freeport/arch/sunos_x86_64
Compiler: cc -xtarget=opteron -xarch=amd64 -D_STDC_C99=
Static libraries: yes
Shared libraries: no
* Compiler info:
$ which cc
/opt/SUNWspro/bin/cc
$ cc -V
cc: Sun C 5.7 Patch 117837-08 2006/04/19
usage: cc [ options] files. Use 'cc -flags' for details
* uname info:
$ uname -a
SunOS darkstar 5.10 Generic_147441-01 i86pc i386 i86pc
* config.m4 file: see attached.
> mpn/add_n.asm is a symlink for what file?
$ ls -l mpn/add_n.asm
lrwxrwxrwx 1 cport 100 53 2013-10-08 01:22 mpn/add_n.asm -> /tmp/gmp-5.1.2/mpn/x86_64/aors_n.asm
> > cc -xtarget=opteron -xarch=amd64 -D_STDC_C99= -c -DHAVE_CONFIG_H -I. -I/tmp/gmp-5.1.2/mpn -I.. -D__GMP_WITHIN_GMP -I/tmp/gmp-5.1.2 -DOPERATION_add_n -xO3 -m64 tmp-add_n.s -KPIC -DPIC -o add_n.o
> > cc: Warning: illegal option -m64
> > Assembler:
> > "tmp-add_n.s", line 86 : Syntax error
> > "tmp-add_n.s", line 88 : Illegal mnemonic
> > "tmp-add_n.s", line 88 : Syntax error
>
> Could you show some of those lines?
> (you many need to remove the last line of mpn/m4-ccas so the file
> doesn't disappear)
Of course:
.text
.align 16
.globl __gmpn_add_nc
.type __gmpn_add_nc, at function
__gmpn_add_nc:
mov %ecx, %eax
shr $2, %rcx <---- line 86
and $3, %eax
bt $0, %r8 <---- line 88
jrcxz .Llt4
> > Dropping the -m64 option does not help.
>
> How about dropping the xtarget/xarch options, or using -
> xarch=native64 maybe?
If I drop xtarget/xarch, the build triplet is detected as coreisbr-pc-
solaris2.10 (I want x86_64 for the CPU) and the configure script
errors out with
configure: error: Oops, mp_limb_t is 32 bits, but the assembler code
in this configuration expects 64 bits.
If I use -xarch=native64, I get the same assembler error as before.
--Daniel
--
Daniel Richard G. || skunk at iSKUNK.ORG
My ASCII-art .sig got a bad case of Times New Roman.
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: config.m4.txt
URL: <http://gmplib.org/list-archives/gmp-bugs/attachments/20131008/e036e286/attachment.txt>
More information about the gmp-bugs
mailing list