Accept alternate spellings of __sparcv7 and __sparcv8.
authorTom Lane <tgl@sss.pgh.pa.us>
Mon, 10 Aug 2015 21:34:51 +0000 (17:34 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Mon, 10 Aug 2015 21:34:51 +0000 (17:34 -0400)
Apparently some versions of gcc prefer __sparc_v7__ and __sparc_v8__.
Per report from Waldemar Brodkorb.

src/include/storage/s_lock.h

index f0322dad7ffdc1cef8b8c7c7f91b1fae0e5c09af..d3fe68c0b229ce7f054bb9687288f1643d83c27c 100644 (file)
@@ -411,12 +411,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
@@ -429,13 +429,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.
  */
 #define S_UNLOCK(lock)     (*((volatile slock_t *) (lock)) = 0)
-#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 \