Hi, and, first, thanks for the various clarifications. > Linux targets *don't* necessarily have the __sync_* functions. For > example, they are not available on ColdFire (even with Maxim's TLS patch > which I imagine will be updated and reposted in due course now we are in > Stage 1), since atomic operations there use a kernel helper in a vDSO. It > would be possible for libc to provide these functions, but that's not in > the present specification or implementation. If anyone is still using ARM > old-ABI, they aren't in libgcc there either. > > It is however safe on Linux targets to do link tests rather than just > looking at the .s output of the compiler (looking at .s output being what > gives misleading results when the functions are in libgcc or libc rather > than built in). > I'm not sure if we already discussed a bit the following: would it make sense to change those tests along the lines of GCC_TRY_COMPILE_OR_LINK? I mean, if gcc_no_link is yes, then we just do what we currently do, we look at the .s output, otherwise we do a test, completely analogous to the one used already in libgomp, for example. That would be not just for linux, but for all targets.
Thanks, Paolo.