On Wed, Mar 28, 2018 at 09:58:13AM +0200, Florian Weimer wrote:
On 03/28/2018 06:10 AM, Kevin Fenzi wrote:
> So, is this hardware limitation something that is likely to affect other
> packages? Is there something we could look for in how they consume
> atomic types to tell? I would hate for us to ship something else that is
> subject to this problem.
There is lots of fingerpointing, but no clear technical cause.
We know that the (updated) i386 ABI is buggy in the sense that it does not
provide 8-byte alignment for 64-bit values (even if you use C11 _Atomic),
and the Intel manual says that the CMPXCHG8B instructions provides atomicity
for 8-byte-aligned memory locations only. But it's not clear if this is the
cause of the observed problems.
Note that while GCC produces broken code, this is actually an ABI bug, and
we cannot change struct layout rules for long long retroactively. Maybe we
could for _Atomic long long, but that would need a lengthy investigation,
and I strongly believe that everyone is better off if the time is spent on
improving 64-bit architectures.
Does it mean that the bug was here for the last 23 years? And now this
became a problem?
--
Tomasz Torcz RIP is irrevelant. Spoofing is futile.
xmpp: zdzichubg(a)chrome.pl Your routes will be aggreggated. -- Alex Yuriev