diff options
-rw-r--r-- | SDKs/darwin/usr/include/string.h | 2 | ||||
-rw-r--r-- | SDKs/linux/usr/include/string.h | 2 | ||||
-rw-r--r-- | lib/atomic.c | 6 |
3 files changed, 8 insertions, 2 deletions
diff --git a/SDKs/darwin/usr/include/string.h b/SDKs/darwin/usr/include/string.h index 5e9110937..bee9d46cd 100644 --- a/SDKs/darwin/usr/include/string.h +++ b/SDKs/darwin/usr/include/string.h @@ -19,6 +19,8 @@ typedef __SIZE_TYPE__ size_t; +int memcmp(const void *, const void *, size_t); +void *memcpy(void *, const void *, size_t); char *strcat(char *, const char *); char *strcpy(char *, const char *); char *strdup(const char *); diff --git a/SDKs/linux/usr/include/string.h b/SDKs/linux/usr/include/string.h index 5e9110937..bee9d46cd 100644 --- a/SDKs/linux/usr/include/string.h +++ b/SDKs/linux/usr/include/string.h @@ -19,6 +19,8 @@ typedef __SIZE_TYPE__ size_t; +int memcmp(const void *, const void *, size_t); +void *memcpy(void *, const void *, size_t); char *strcat(char *, const char *); char *strcpy(char *, const char *); char *strdup(const char *); diff --git a/lib/atomic.c b/lib/atomic.c index c5841e4c4..13dfff466 100644 --- a/lib/atomic.c +++ b/lib/atomic.c @@ -134,7 +134,8 @@ static inline Lock *lock_for_pointer(void *ptr) { }\ case 16:\ if (IS_LOCK_FREE_16) {\ - LOCK_FREE_ACTION(__uint128_t);\ + /* FIXME: __uint128_t isn't available on 32 bit platforms. + LOCK_FREE_ACTION(__uint128_t);*/\ }\ }\ } while (0) @@ -217,7 +218,8 @@ void __atomic_exchange_n(int size, void *ptr, void *val, void *old, int model) { OPTIMISED_CASE(2, IS_LOCK_FREE_2, uint16_t)\ OPTIMISED_CASE(4, IS_LOCK_FREE_4, uint32_t)\ OPTIMISED_CASE(8, IS_LOCK_FREE_8, uint64_t)\ - OPTIMISED_CASE(16, IS_LOCK_FREE_16, __uint128_t)\ + /* FIXME: __uint128_t isn't available on 32 bit platforms. + OPTIMISED_CASE(16, IS_LOCK_FREE_16, __uint128_t)*/\ #define OPTIMISED_CASE(n, lockfree, type)\ type __atomic_load_##n(type *src, int model) {\ |