From: Rich Felker Date: Sat, 19 Jul 2014 22:34:10 +0000 (-0400) Subject: fix missing barriers in powerpc atomic store X-Git-Tag: v1.0.4~5 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=1b61e4cab919c39af4462ee2fbccc9e07a59aac0;p=oweals%2Fmusl.git fix missing barriers in powerpc atomic store (cherry picked from commit 522a0de2101abd12b19a4d2ba5c09abbb7c5fc79) --- diff --git a/arch/powerpc/atomic.h b/arch/powerpc/atomic.h index c4ad40cd..a082c09b 100644 --- a/arch/powerpc/atomic.h +++ b/arch/powerpc/atomic.h @@ -77,7 +77,11 @@ static inline void a_dec(volatile int *x) static inline void a_store(volatile int *p, int x) { - *p=x; + __asm__ __volatile__ ("\n" + " sync\n" + " stw %1, %0\n" + " isync\n" + : "=m"(*p) : "r"(x) : "memory" ); } static inline void a_spin()