diff --git a/src/include/storage/s_lock.h b/src/include/storage/s_lock.h index c461fda251b6d593a3a3b088dd8b0d907d3580de..ef66644908bd3c7f91e84e4c896263c92dd3992d 100644 --- a/src/include/storage/s_lock.h +++ b/src/include/storage/s_lock.h @@ -384,12 +384,12 @@ tas(volatile slock_t *lock) : "=r"(_res), "+m"(*lock) : "r"(lock) : "memory"); -#if defined(__sparcv7) +#if defined(__sparcv7) || defined(__sparc_v7__) /* * No stbar or membar available, luckily no actually produced hardware * requires a barrier. */ -#elif defined(__sparcv8) +#elif defined(__sparcv8) || defined(__sparc_v8__) /* stbar is available (and required for both PSO, RMO), membar isn't */ __asm__ __volatile__ ("stbar \n":::"memory"); #else @@ -402,13 +402,13 @@ tas(volatile slock_t *lock) return (int) _res; } -#if defined(__sparcv7) +#if defined(__sparcv7) || defined(__sparc_v7__) /* * No stbar or membar available, luckily no actually produced hardware * requires a barrier. We fall through to the default gcc definition of * S_UNLOCK in this case. */ -#elif defined(__sparcv8) +#elif defined(__sparcv8) || defined(__sparc_v8__) /* stbar is available (and required for both PSO, RMO), membar isn't */ #define S_UNLOCK(lock) \ do \