From 3b35cd045fa64576748bec13214631de1a9d8e07 Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Thu, 31 Jan 2013 08:57:09 -0800 Subject: re PR sanitizer/55561 (TSAN: provide a TSAN instrumented libgomp) PR libgomp/55561 * config/linux/wait.h (do_spin): Use atomic load for addr. * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic for intptr and ptrlock. * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load for ptrlock. Co-Authored-By: Joost VandeVondele From-SVN: r195618 --- libgomp/config/linux/ptrlock.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'libgomp/config/linux/ptrlock.c') diff --git a/libgomp/config/linux/ptrlock.c b/libgomp/config/linux/ptrlock.c index 6a9ac47..fa51111 100644 --- a/libgomp/config/linux/ptrlock.c +++ b/libgomp/config/linux/ptrlock.c @@ -50,9 +50,9 @@ gomp_ptrlock_get_slow (gomp_ptrlock_t *ptrlock) #endif do do_wait (intptr, 2); - while (*intptr == 2); + while (__atomic_load_n (intptr, MEMMODEL_RELAXED) == 2); __asm volatile ("" : : : "memory"); - return *ptrlock; + return (void *) __atomic_load_n (ptrlock, MEMMODEL_ACQUIRE); } void -- cgit v1.1