Undefined symbol : __sync_fetch_and_add_4 in file t-assign.o

Dennis Clarke dclarke at blastwave.org
Tue Jun 21 18:44:59 CEST 2011


> Dennis Clarke <dclarke at blastwave.org> writes:
>
>   I'm not too sure where this popped up from. The latest gmp compiles and
>   tests fine on Sparc .. but not on i386 old Solaris.
>
> Is it really a 80386 processor?

Yep.

Well, no. :-)

$ psrinfo -v
Status of virtual processor 0 as of: 06/21/11 16:42:44
  on-line since 04/28/11 17:39:44.
  The i386 processor operates at 400 MHz,
        and has an i387 compatible floating point processor.
Status of virtual processor 1 as of: 06/21/11 16:42:44
  on-line since 04/28/11 17:39:48.
  The i386 processor operates at 400 MHz,
        and has an i387 compatible floating point processor.

this is a baseline lowest order system. If things compile and pass all
tests there, then they will work everywhere.

> And GMP passes these -tune and -arch opptions?

As a matter of fact, yes.

I did all this without setting CFLAGS and I let configure do its magic.
However, on a second pass I set CFLAGS thus :

CFLAGS=-march=pentiumpro -mno-mmx -mno-sse -malign-double
-mpreferred-stack-boundary=8 -m32 -fexceptions -D_TS_ERRNO -DSOLARIS2=8
-D_POSIX_PTHREAD_SEMANTICS -D_LARGEFILE64_SOURCE

Then everything builds and all tests pass fine.

Not exactly optimal however.

I will now do it all again and set -O3 and see what I get with -mmmx
-mno-sse cool ?

Dennis




More information about the gmp-bugs mailing list