Hi Ramana, > I remember this to be the previous discussions and common understanding. > > https://gcc.gnu.org/legacy-ml/gcc/2016-06/msg00017.html > > and here > > https://gcc.gnu.org/legacy-ml/gcc-patches/2017-02/msg00168.html > > Can you point any discussion recently that shows this has changed and > point me at that discussion if any anywhere ? I can't find it in my > searches . Perhaps you've had the discussion some place to show it has > changed.
Here are some more recent discussions about atomics, eg. this has good arguments from developers wanting lock-free atomics: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80878 We also had some discussion how we could handle the read-only corner case by either giving a warning/error on const pointers to atomics or ensuring _Atomic variables are writeable: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108659 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109553 My conclusion from that is that nobody cared enough to fix this for x86 in all these years, so it's not seen as an important issue. We've had several internal design discussions to figure out how to fix the ABI issues. The conclusion was that this is the only possible solution that makes GCC and LLVM compatible without breaking backwards compatibility. It also allows use of newer atomic instructions (which people want inlined). Cheers, Wilco