From e85061b94c5883041384512df66a8d08009a24a3 Mon Sep 17 00:00:00 2001 From: Niels Kristian Bech Jensen Date: Fri, 29 Mar 2013 15:30:04 +1100 Subject: [PATCH] package harfbuzz: define MemoryBarrier --- src/harfbuzz-2-memory-barrier.patch | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 src/harfbuzz-2-memory-barrier.patch diff --git a/src/harfbuzz-2-memory-barrier.patch b/src/harfbuzz-2-memory-barrier.patch new file mode 100644 index 00000000..93f708a5 --- /dev/null +++ b/src/harfbuzz-2-memory-barrier.patch @@ -0,0 +1,22 @@ +This file is part of MXE. +See index.html for further information. + +Beware! This patch must be removed when winnt.h is updated to a version that +includes the MemoryBarrier() macro. + +diff -ur harfbuzz-0.9.14.orig/src/hb-atomic-private.hh harfbuzz-0.9.14/src/hb-atomic-private.hh +--- harfbuzz-0.9.14.orig/src/hb-atomic-private.hh 2013-03-19 12:04:53.000000000 +0100 ++++ harfbuzz-0.9.14/src/hb-atomic-private.hh 2013-03-27 05:32:38.407335037 +0100 +@@ -44,6 +44,12 @@ + + #elif !defined(HB_NO_MT) && (defined(_WIN32) || defined(__CYGWIN__)) + ++static inline void MemoryBarrier(void) ++{ ++ long Barrier = 0; ++ __asm__ __volatile__ ("xchgl %%eax,%0 " : "=r" (Barrier)); ++} ++ + #define WIN32_LEAN_AND_MEAN + #include +