Blame SOURCES/gc_ppc64le_force_AO_load.patch

9d08c9
Subject: gc ppc64le force AO load
9d08c9
From: Michel Normand <normand@linux.vnet.ibm.com>
9d08c9
9d08c9
Force AO_load() to map to AO_load_acquire() for powerpc.  The
9d08c9
AO_load_acquire() function includes isync instructions that
9d08c9
are critical for proper behavior on power system.
9d08c9
9d08c9
Signed-Off-By: Will Schmidt <will_schmidt at vnet.ibm.com>
9d08c9
Signed-off-by: Michel Normand <normand@linux.vnet.ibm.com>
9d08c9
9d08c9
diff -up libatomic_ops-7.4.4/src/atomic_ops/sysdeps/gcc/powerpc.h.gc_ppc64le_force_AO_load libatomic_ops-7.4.4/src/atomic_ops/sysdeps/gcc/powerpc.h
9d08c9
--- libatomic_ops-7.4.4/src/atomic_ops/sysdeps/gcc/powerpc.h.gc_ppc64le_force_AO_load	2016-05-24 15:01:55.000000000 -0500
9d08c9
+++ libatomic_ops-7.4.4/src/atomic_ops/sysdeps/gcc/powerpc.h	2016-06-17 10:27:10.503593018 -0500
9d08c9
@@ -29,6 +29,8 @@
9d08c9
 
9d08c9
 #include "../all_aligned_atomic_load_store.h"
9d08c9
 
9d08c9
+#define AO_load(addr) AO_load_acquire(addr)
9d08c9
+
9d08c9
 #include "../test_and_set_t_is_ao_t.h"
9d08c9
         /* There seems to be no byte equivalent of lwarx, so this       */
9d08c9
         /* may really be what we want, at least in the 32-bit case.     */