summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--SDKs/darwin/usr/include/string.h2
-rw-r--r--SDKs/linux/usr/include/string.h2
-rw-r--r--lib/atomic.c6
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) {\