diff options
author | Benjamin Kramer <benny.kra@googlemail.com> | 2012-03-30 21:37:08 +0000 |
---|---|---|
committer | Benjamin Kramer <benny.kra@googlemail.com> | 2012-03-30 21:37:08 +0000 |
commit | 185f2edd70a34d28b305df0cd8ce519ecbca2cfd (patch) | |
tree | d55904eee7b3b44f5c19ee8cc16afe58f1c05b46 | |
parent | f9582a705a128ad6cd62ac9a5da94399f0ea6050 (diff) | |
download | bcm5719-llvm-185f2edd70a34d28b305df0cd8ce519ecbca2cfd.tar.gz bcm5719-llvm-185f2edd70a34d28b305df0cd8ce519ecbca2cfd.zip |
Fix the build on 32 bit hosts.
- Add memcpy and memcmp to the stub headers.
- __uint128_t is not available on 32 bit platforms. It's also unused so just
comment it out for now.
llvm-svn: 153779
-rw-r--r-- | compiler-rt/SDKs/darwin/usr/include/string.h | 2 | ||||
-rw-r--r-- | compiler-rt/SDKs/linux/usr/include/string.h | 2 | ||||
-rw-r--r-- | compiler-rt/lib/atomic.c | 6 |
3 files changed, 8 insertions, 2 deletions
diff --git a/compiler-rt/SDKs/darwin/usr/include/string.h b/compiler-rt/SDKs/darwin/usr/include/string.h index 5e91109378e..bee9d46cddc 100644 --- a/compiler-rt/SDKs/darwin/usr/include/string.h +++ b/compiler-rt/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/compiler-rt/SDKs/linux/usr/include/string.h b/compiler-rt/SDKs/linux/usr/include/string.h index 5e91109378e..bee9d46cddc 100644 --- a/compiler-rt/SDKs/linux/usr/include/string.h +++ b/compiler-rt/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/compiler-rt/lib/atomic.c b/compiler-rt/lib/atomic.c index c5841e4c43b..13dfff466c1 100644 --- a/compiler-rt/lib/atomic.c +++ b/compiler-rt/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) {\ |