Commit 1f64ec6f authored by Tom Lane's avatar Tom Lane

Accept alternate spellings of __sparcv7 and __sparcv8.

Apparently some versions of gcc prefer __sparc_v7__ and __sparc_v8__.
Per report from Waldemar Brodkorb.
parent 4200a928
...@@ -384,12 +384,12 @@ tas(volatile slock_t *lock) ...@@ -384,12 +384,12 @@ tas(volatile slock_t *lock)
: "=r"(_res), "+m"(*lock) : "=r"(_res), "+m"(*lock)
: "r"(lock) : "r"(lock)
: "memory"); : "memory");
#if defined(__sparcv7) #if defined(__sparcv7) || defined(__sparc_v7__)
/* /*
* No stbar or membar available, luckily no actually produced hardware * No stbar or membar available, luckily no actually produced hardware
* requires a barrier. * requires a barrier.
*/ */
#elif defined(__sparcv8) #elif defined(__sparcv8) || defined(__sparc_v8__)
/* stbar is available (and required for both PSO, RMO), membar isn't */ /* stbar is available (and required for both PSO, RMO), membar isn't */
__asm__ __volatile__ ("stbar \n":::"memory"); __asm__ __volatile__ ("stbar \n":::"memory");
#else #else
...@@ -402,13 +402,13 @@ tas(volatile slock_t *lock) ...@@ -402,13 +402,13 @@ tas(volatile slock_t *lock)
return (int) _res; return (int) _res;
} }
#if defined(__sparcv7) #if defined(__sparcv7) || defined(__sparc_v7__)
/* /*
* No stbar or membar available, luckily no actually produced hardware * No stbar or membar available, luckily no actually produced hardware
* requires a barrier. We fall through to the default gcc definition of * requires a barrier. We fall through to the default gcc definition of
* S_UNLOCK in this case. * 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 */ /* stbar is available (and required for both PSO, RMO), membar isn't */
#define S_UNLOCK(lock) \ #define S_UNLOCK(lock) \
do \ do \
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment