From f201fcc561ac7eab4ed7997403288e40b18a75a4 Mon Sep 17 00:00:00 2001 From: ed Date: Sat, 27 Apr 2013 04:56:02 +0000 Subject: Unbreak on ARM + Clang. Clang only supports atomic operations for ARMv6. For non-ARMv6, we still need to emit these functions. Clang's prototype for these functions slightly differs, as it is truly based on GCC's documentation. It requires the use of signed types, but also requires varargs. Still, we are not allowed to simply implement this function directly. Cleverly work around this by implementing it under a different name and using __strong_reference(). --- lib/libcompiler_rt/__sync_fetch_and_add_4.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'lib/libcompiler_rt/__sync_fetch_and_add_4.c') diff --git a/lib/libcompiler_rt/__sync_fetch_and_add_4.c b/lib/libcompiler_rt/__sync_fetch_and_add_4.c index 3c11a3b..6126cfa 100644 --- a/lib/libcompiler_rt/__sync_fetch_and_add_4.c +++ b/lib/libcompiler_rt/__sync_fetch_and_add_4.c @@ -1,6 +1,6 @@ /* $FreeBSD$ */ #define NAME __sync_fetch_and_add_4 -#define TYPE uint32_t +#define TYPE int32_t #define FETCHADD(x, y) atomic_fetchadd_32(x, y) #include "__sync_fetch_and_op_n.h" -- cgit v1.1