File tree Expand file tree Collapse file tree 1 file changed +9
-0
lines changed
opal/include/opal/sys/gcc_builtin Expand file tree Collapse file tree 1 file changed +9
-0
lines changed Original file line number Diff line number Diff line change 1515 * reserved.
1616 * Copyright (c) 2016 Research Organization for Information Science
1717 * and Technology (RIST). All rights reserved.
18+ * Copyright (c) 2018 Triad National Security, LLC. All rights
19+ * reserved.
1820 * $COPYRIGHT$
1921 *
2022 * Additional copyrights may follow
@@ -53,7 +55,14 @@ static inline void opal_atomic_mb(void)
5355
5456static inline void opal_atomic_rmb (void )
5557{
58+ #if OPAL_ASSEMBLY_ARCH == OPAL_X86_64
59+ /* work around a bug in older gcc versions where ACQUIRE seems to get
60+ * treated as a no-op instead of being equivalent to
61+ * __asm__ __volatile__("": : :"memory") */
62+ __atomic_thread_fence (__ATOMIC_SEQ_CST );
63+ #else
5664 __atomic_thread_fence (__ATOMIC_ACQUIRE );
65+ #endif
5766}
5867
5968static inline void opal_atomic_wmb (void )
You can’t perform that action at this time.
0 commit comments