dogecoin/depends/patches/bdb-5.1.29-clang-osx/atomic.h.patch
Michi Lumin b0ac2c461f Required patches to compile bdb 5.1.29 via clang on OSX
These patches must be applied to the bdb-5.1.29 source from Oracle, and then compiled, for the Mac client to build.
 Using an existing 5.1.29 binary will not work; as it was likely compiled with gcc; which OSX no longer natively supports.
2019-03-25 05:36:12 +00:00

39 lines
1.4 KiB
Diff

--- old-bdb/src/dbinc/atomic.h 2011-10-25 14:39:34.000000000 -0600
+++ new-bdb/src/dbinc/atomic.h 2018-06-01 19:59:37.000000000 -0600
@@ -70,7 +70,7 @@
* These have no memory barriers; the caller must include them when necessary.
*/
#define atomic_read(p) ((p)->value)
-#define atomic_init(p, val) ((p)->value = (val))
+#define atomic_init_db(p, val) ((p)->value = (val))
#ifdef HAVE_ATOMIC_SUPPORT
@@ -144,7 +144,7 @@
#define atomic_inc(env, p) __atomic_inc(p)
#define atomic_dec(env, p) __atomic_dec(p)
#define atomic_compare_exchange(env, p, o, n) \
- __atomic_compare_exchange((p), (o), (n))
+ __atomic_compare_exchange_db((p), (o), (n))
static inline int __atomic_inc(db_atomic_t *p)
{
int temp;
@@ -176,7 +176,7 @@
* http://gcc.gnu.org/onlinedocs/gcc-4.1.0/gcc/Atomic-Builtins.html
* which configure could be changed to use.
*/
-static inline int __atomic_compare_exchange(
+static inline int __atomic_compare_exchange_db(
db_atomic_t *p, atomic_value_t oldval, atomic_value_t newval)
{
atomic_value_t was;
@@ -206,7 +206,7 @@
#define atomic_dec(env, p) (--(p)->value)
#define atomic_compare_exchange(env, p, oldval, newval) \
(DB_ASSERT(env, atomic_read(p) == (oldval)), \
- atomic_init(p, (newval)), 1)
+ atomic_init_db(p, (newval)), 1)
#else
#define atomic_inc(env, p) __atomic_inc(env, p)
#define atomic_dec(env, p) __atomic_dec(env, p)