http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56159
Bug #: 56159 Summary: config/linux/ptrlock.c lacks acquire barrier Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libgomp AssignedTo: unassig...@gcc.gnu.org ReportedBy: amo...@gmail.com CC: ja...@gcc.gnu.org Spotted while looking for another bug: gomp_ptrlock_get_slow lacks an acquire barrier (and do_wait doesn't always provide one). Thus it's possible to exit from gomp_ptrlock_get without proper synchronization. The (unnecessary) MEMMODEL_ACQUIRE on failing __atomic_compare_exchange_n in gomp_ptrlock_get is too early.