b0ac2c461f
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.
39 lines
1.4 KiB
Diff
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)
|