diff options
author | sbruno <sbruno@FreeBSD.org> | 2014-12-09 04:58:36 +0800 |
---|---|---|
committer | sbruno <sbruno@FreeBSD.org> | 2014-12-09 04:58:36 +0800 |
commit | 613b64acfc8fa85eeaa6d249ce6bf2620c65f73e (patch) | |
tree | 9be952ff0004b1608d58b061726c640553cc4046 | |
parent | 464c114a7b24356f411936db077f756095efa0c1 (diff) | |
download | freebsd-ports-gnome-613b64acfc8fa85eeaa6d249ce6bf2620c65f73e.tar.gz freebsd-ports-gnome-613b64acfc8fa85eeaa6d249ce6bf2620c65f73e.tar.zst freebsd-ports-gnome-613b64acfc8fa85eeaa6d249ce6bf2620c65f73e.zip |
#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)
-rw-r--r-- | x11-fonts/fontconfig/files/patch-src_fcatomic.h | 20 |
1 files changed, 20 insertions, 0 deletions
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 <sys/types.h> ++#include <machine/atomic.h> ++#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 <sys/types.h> ++#include <machine/atomic.h> ++#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) |