This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: notes on current atomics config and usage


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]