Memory corruption due to word sharing
David Miller
davem@davemloft.net
Wed Feb 1 18:09:00 GMT 2012
From: Michael Matz <matz@suse.de>
Date: Wed, 1 Feb 2012 18:41:05 +0100 (CET)
> One problem is that it's not a new problem, GCC emitted similar code since
> about forever, and still they turned up only now (well, probably because
> ia64 is dead, but sparc64 should have similar problems).
Indeed, on sparc64 it does do the silly 64-bit access too:
wrong:
ldx [%o0+8], %g2
sethi %hi(2147483648), %g1
or %g2, %g1, %g1
jmp %o7+8
stx %g1, [%o0+8]
Personally I've avoided C bitfields like the plague in any code I've
written.
More information about the Gcc
mailing list