notes on current atomics config and usage

Paolo Carlini pcarlini@suse.de
Thu Jul 13 21:18:00 GMT 2006


Paolo Carlini wrote:
>>  I agree ;) The main problem is:
> 1- We don't want to build two times the packages of our distributions.
> 2 (secondary) - We have an ABI and compulsory exports.
>
> Otherwise, AFAICT, we could inline smartly (we almost did that, 
> without the builtins, back in 3.2 times or so...)
>
> Thus, I think we have to live with exported atomics, no inlines for 
> i386/1686. However, when we build the library I think it's ok to 
> exploit the underlying builtins, if available: that means query the 
> target, the triple, or, as Mark pointed out, the actual -march=, 
> passed in CXXFLAGS.
To complete my reasoning, for the latter point a different default 
-march would help. Because i486 as default would imply that a library 
built without passing any special option would export efficient atomics, 
exploiting the builtins internally. Otherwise, if we are going to trust 
-march only (not the triple as I was suggesting ealrier today) we end up 
with atomics using internally *mutexes* and this is an unacceptable 
(silly, I'm thinking) default these days. At minimum we would be forced 
to add a flashing disclaimer to the release notes ;) ;)

Paolo.



More information about the Libstdc++ mailing list