On 5/31/19 2:41 AM, David Laight wrote: >> While it seems reasonable form hardware pov to not implement such atomicity >> by >> default it seems there's an additional burden on application writers. They >> could >> be happily using a lockless algorithm with just a shared flag between 2 >> threads >> w/o need for any explicit synchronization. But upgrade to a new compiler >> which >> aggressively "packs" struct rendering long long 32-bit aligned (vs. 64-bit >> before) >> causing the code to suddenly stop working. Is the onus on them to declare >> such >> memory as c11 atomic or some such. > A 'new' compiler can't suddenly change the alignment rules for structure > elements. > The alignment rules will be part of the ABI. > > More likely is that the structure itself is unexpectedly allocated on > an 8n+4 boundary due to code changes elsewhere.
Indeed thats what I meant that the layout changed as is typical of a new compiler. _______________________________________________ linux-snps-arc mailing list linux-snps-arc@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-snps-arc