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

Reply via email to