[vlc-devel] [PATCH] contrib/harfbuzz: fix OSAtomic calls for AArch64

Felix Paul Kühne fkuehne at videolan.org
Wed Jan 22 15:02:59 CET 2014


---
 contrib/src/harfbuzz/harfbuzz-aarch64.patch | 27 +++++++++++++++++++++++++++
 contrib/src/harfbuzz/rules.mak              |  3 +++
 2 files changed, 30 insertions(+)
 create mode 100644 contrib/src/harfbuzz/harfbuzz-aarch64.patch

diff --git a/contrib/src/harfbuzz/harfbuzz-aarch64.patch b/contrib/src/harfbuzz/harfbuzz-aarch64.patch
new file mode 100644
index 0000000..39c7dde
--- /dev/null
+++ b/contrib/src/harfbuzz/harfbuzz-aarch64.patch
@@ -0,0 +1,27 @@
+diff -ru harfbuzz/src/hb-atomic-private.hh harfbuzz-fied/src/hb-atomic-private.hh
+--- harfbuzz/src/hb-atomic-private.hh	2013-04-04 21:01:42.000000000 +0200
++++ harfbuzz-fied/src/hb-atomic-private.hh	2014-01-22 14:57:21.000000000 +0100
+@@ -65,10 +65,8 @@
+ #elif !defined(HB_NO_MT) && defined(__APPLE__)
+ 
+ #include <libkern/OSAtomic.h>
+-#ifdef __MAC_OS_X_MIN_REQUIRED
++#ifdef __APPLE__
+ #include <AvailabilityMacros.h>
+-#elif defined(__IPHONE_OS_MIN_REQUIRED)
+-#include <Availability.h>
+ #endif
+ 
+ typedef int32_t hb_atomic_int_t;
+@@ -76,7 +74,11 @@
+ 
+ #define hb_atomic_ptr_get(P)		(OSMemoryBarrier (), (void *) *(P))
+ #if (MAC_OS_X_VERSION_MIN_REQUIRED > MAC_OS_X_VERSION_10_4 || __IPHONE_VERSION_MIN_REQUIRED >= 20100)
++#if __aarch64__
++#define hb_atomic_ptr_cmpexch(P,O,N)    OSAtomicCompareAndSwap64Barrier ((int64_t) (O), (int64_t) (N), (int64_t*) (P))
++#else
+ #define hb_atomic_ptr_cmpexch(P,O,N)	OSAtomicCompareAndSwapPtrBarrier ((void *) (O), (void *) (N), (void **) (P))
++#endif
+ #else
+ #if __ppc64__ || __x86_64__
+ #define hb_atomic_ptr_cmpexch(P,O,N)    OSAtomicCompareAndSwap64Barrier ((int64_t) (O), (int64_t) (N), (int64_t*) (P))
diff --git a/contrib/src/harfbuzz/rules.mak b/contrib/src/harfbuzz/rules.mak
index 1c76764..6c6dd3e 100644
--- a/contrib/src/harfbuzz/rules.mak
+++ b/contrib/src/harfbuzz/rules.mak
@@ -15,6 +15,9 @@ $(TARBALLS)/harfbuzz-$(HARFBUZZ_VERSION).tar.bz2:
 harfbuzz: harfbuzz-$(HARFBUZZ_VERSION).tar.bz2 .sum-harfbuzz
 	$(UNPACK)
 	$(UPDATE_AUTOCONFIG)
+ifdef HAVE_IOS
+	$(APPLY) $(SRC)/harfbuzz/harfbuzz-aarch64.patch
+endif
 	$(MOVE)
 
 DEPS_harfbuzz = freetype2 $(DEPS_freetype2)
-- 
1.8.3.4 (Apple Git-47)




More information about the vlc-devel mailing list