undefined reference to `__sync_fetch_and_add_4' with OpenMP
Janne Blomqvist
blomqvist.janne@gmail.com
Thu Feb 7 16:48:00 GMT 2008
Richard Guenther wrote:
> On Feb 7, 2008 2:12 PM, FX <fxcoudert@gmail.com> wrote:
>>> You need a CPU that supports __sync_fetch_and_add_4 - I suppose
>>> you add -march=i486 (at least). (You run on 32bit ia32, right?)
>> Thanks Richard, I never realized that. As a matter of fact, the
>> binaries I build and distribute for Linux, MacOS and Windows, are
>> configure with --build=i386-*. I did it because I thought it might be
>> best not to exclude any particular processor type, but if good OpenMP
>> support requires more that i386, I will probably change it to i586 (so
>> that people have a good first experience with gfortran, without having
>> to add -march). Does anyone see a reason why i686 would be still
>> better than i586? Is there anyone around here who still uses a bare
>> i{3,4}86 are would like to complain about that change?
>
> I think configuring for i586 is what most distributions do nowadays (apart
> from debian, which uses i486 I think). Already i486 adds most of the
> stuff, i586 only adds cmov if I remember correctly.
Yeah, it seems debian switched to 486 from 386 due to similar issues
with the MP stuff:
http://www.debian.org/releases/stable/i386/ch02s01.html.en
http://lists.debian.org/debian-devel/2003/04/msg02112.html
I find it hard to believe people want to run gfortran on a 486, so I
suppose 586 is safe as well. Though there are issues with 686 since that
generates cmov (apparently cmov was introduced with the Pentium Pro, not
the Pentium) which is not supported on some versions of the Via C3.
--
Janne Blomqvist
More information about the Fortran
mailing list