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@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/linux-snps-arc