Hi,
libgcc.a has all of the __sync_* functions defined, and the
configure (link)
tests in libgomp and libgfortran do succeed. Unsure what I'm doing
wrong with
the libstdc++ configury.
I don't think you are doing anything wrong, it's just that in libstdc+
+ we are moving away from doing link tests. In my understanding, that
would be nice also for the other libraries but of course leads yo
weaker tests. Now, in order to make progress, I think we should first
figure out if and to what extent we have now a libgcc such that the
atomic builtins can be assumed to be unconditionally available to the
user, thus either expanded inline or provided on all the supported
targets in libgcc. Besides that, we could maybe add a configure time
option to tell the library to just assume the availability of the
atomic builtins, thus not relying on weak compile-type tests. We could
also add safe special cases to the configury, like assuming all the
linux targets are now ok, one way or another.
I would appreciate some guidance from Mark and core compiler people,
here...
To end, just want to remind that this issue is essentially very old,
just less to the fore now thanks to the fact that x86_64 is so
popular: eg, it woul be so nice if people targeting i?86 could assume
the builtins to be always available.
Paolo