Index: src/ports/SkAtomics_sync.h |
diff --git a/src/ports/SkAtomics_sync.h b/src/ports/SkAtomics_sync.h |
index 635508257fa31ac7d8d1d6b43e4153d3f37f5966..9389c00103a0e513b3471fed5952f4d3f0693f1c 100644 |
--- a/src/ports/SkAtomics_sync.h |
+++ b/src/ports/SkAtomics_sync.h |
@@ -17,10 +17,10 @@ static inline __attribute__((always_inline)) int32_t sk_atomic_inc(int32_t* addr |
} |
static inline __attribute__((always_inline)) int64_t sk_atomic_inc(int64_t* addr) { |
-#if defined(SK_BUILD_FOR_ANDROID_FRAMEWORK) && defined(__mips__) && !defined(__LP64__) |
- /** The 32-bit MIPS toolchain for the android framework is missing support |
- * for __sync* functions that operate on 64-bit values. The workaround is |
- * to use __atomic* functions until we can move everything to <stdatomic.h>. |
+#if defined(__mips__) && !defined(__LP64__) && !defined(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8) |
+ /** Some versions of the GCC 32-bit MIPS toolchains (e.g. 4.8) for android are missing |
+ * support for the __sync* functions that operate on 64-bit values. The workaround |
+ * is to use __atomic* functions until we can move everything to <stdatomic.h>. |
*/ |
return __atomic_fetch_add(addr, 1, __ATOMIC_SEQ_CST); |
#else |