From 411ee01b7f145a4f6f4b340c507bbaf99eb5e639 Mon Sep 17 00:00:00 2001 From: Sean Bruno Date: Mon, 8 Dec 2014 20:58:36 +0000 Subject: #define fc_atomic_ptr_cmpexch() for mips/mips64 to supported functions. Fixes build on these arch's PR: 195794 Submitted by: sson Reviewed by: kwm Approved by: mentor (implicit) --- x11-fonts/fontconfig/files/patch-src_fcatomic.h | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 x11-fonts/fontconfig/files/patch-src_fcatomic.h (limited to 'x11-fonts/fontconfig/files') diff --git a/x11-fonts/fontconfig/files/patch-src_fcatomic.h b/x11-fonts/fontconfig/files/patch-src_fcatomic.h new file mode 100644 index 000000000000..6eb2bc42fde1 --- /dev/null +++ b/x11-fonts/fontconfig/files/patch-src_fcatomic.h @@ -0,0 +1,20 @@ +--- ./src/fcatomic.h.orig 2013-10-11 03:10:18.000000000 +0000 ++++ ./src/fcatomic.h 2014-12-06 21:48:12.136252912 +0000 +@@ -96,7 +96,17 @@ + #define fc_atomic_int_add(AI, V) __sync_fetch_and_add (&(AI), (V)) + + #define fc_atomic_ptr_get(P) (void *) (__sync_synchronize (), *(P)) ++#if defined(__FreeBSD__) && defined(__mips_n64) ++#include ++#include ++#define fc_atomic_ptr_cmpexch(P,O,N) atomic_cmpset_rel_64 ((uint64_t *)(P), (uint64_t)(O), (uint64_t)(N)) ++#elif defined(__FreeBSD__) && defined(__mips) ++#include ++#include ++#define fc_atomic_ptr_cmpexch(P,O,N) atomic_cmpset_rel_32 ((uint32_t *)(P), (uint32_t)(O), (uint32_t)(N)) ++#else + #define fc_atomic_ptr_cmpexch(P,O,N) __sync_bool_compare_and_swap ((P), (O), (N)) ++#endif /* defined(__FreeBSD__) && defined(__mips__) */ + + + #elif !defined(FC_NO_MT) && defined(HAVE_SOLARIS_ATOMIC_OPS) -- cgit v1.2.3