From f8e4e0e3f3fe261317c4fd751ea4b9379ac54e94 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Mon, 10 Aug 2015 17:34:51 -0400 Subject: [PATCH] Accept alternate spellings of __sparcv7 and __sparcv8. Apparently some versions of gcc prefer __sparc_v7__ and __sparc_v8__. Per report from Waldemar Brodkorb. --- src/include/storage/s_lock.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/include/storage/s_lock.h b/src/include/storage/s_lock.h index 30f28b088ab..444dfbed1db 100644 --- a/src/include/storage/s_lock.h +++ b/src/include/storage/s_lock.h @@ -380,12 +380,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 @@ -398,13 +398,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 \ -- 2.39.5