This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Memory corruption due to word sharing


On 02/01/2012 11:09 AM, David Miller wrote:
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.
Torvald Riegel & I were told that was kernel policy when we brought up the upcoming bitfield semantic changes with some of the linux kernel folks last year.

Regardless of the kernel team's policy WRT bitfields, I believe fixing the semantics to avoid creation of data races in bitfields is going to be important. I'm hoping Aldy can return to that task soon and he and Richi can come to some agreement on the implementation with gcc-4.8 as a target.

jeff


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]