diff --git a/winsup/w32api/ChangeLog b/winsup/w32api/ChangeLog index 5ddf67a74..d147f9eaf 100644 --- a/winsup/w32api/ChangeLog +++ b/winsup/w32api/ChangeLog @@ -1,3 +1,8 @@ +2012-08-06 Earnie Boyd + + * include/winnt.h (MemoryBarrier): Use __sync_synchronize instead of + creating a function due to multiple definition. + 2012-08-04 Earnie Boyd * include/winver.h (VerQueryValue[AW]): Correct declaration per MSDN. diff --git a/winsup/w32api/include/winnt.h b/winsup/w32api/include/winnt.h index 24ce2de35..c1c998c9b 100644 --- a/winsup/w32api/include/winnt.h +++ b/winsup/w32api/include/winnt.h @@ -4041,11 +4041,7 @@ struct _TEB * NtCurrentTeb(void); # elif defined(_IA64_) # define MemoryBarrier __mf # else - FORCEINLINE VOID MemoryBarrier (VOID) { - LONG Barrier = 0; - __asm__ __volatile__("xchgl %%eax,%0 " - :"=r" (Barrier)); - } +# define MemoryBarrier __sync_synchronize # endif #else # define MemoryBarrier