On Fri, 2007-10-26 at 13:23 -0700, Ian Lance Taylor wrote: > Andi Kleen <[EMAIL PROTECTED]> writes: > > > Ian Lance Taylor <[EMAIL PROTECTED]> writes: > > > > > > This code isn't going to be a problem, because spin_unlock presumably > > > includes a memory barrier. > > > > At least in the Linux kernel and also in glibc for mutexes locks are just > > plain > > function calls, which are not necessarily full memory barriers. > > True, and problematic in some cases--but a function call which gcc > can't see is a memory barrier for all addressable memory.
I would have thought it is the case iff the register aliasing the variable is caller save rather than callee save according to the ABI. -- John Skaller <skaller at users dot sf dot net> Felix, successor to C++: http://felix.sf.net