aboutsummaryrefslogtreecommitdiffstats
path: root/multimedia
diff options
context:
space:
mode:
authornox <nox@FreeBSD.org>2012-08-28 06:18:55 +0800
committernox <nox@FreeBSD.org>2012-08-28 06:18:55 +0800
commit39d7742479ea91ec984ccf3daa6aff2571a10fb0 (patch)
tree2eed204e134445f3f436c4f0eaad3630978f48fd /multimedia
parentab37f456d60abd4e3a05293cb1270e5e7f194852 (diff)
downloadfreebsd-ports-gnome-39d7742479ea91ec984ccf3daa6aff2571a10fb0.tar.gz
freebsd-ports-gnome-39d7742479ea91ec984ccf3daa6aff2571a10fb0.tar.zst
freebsd-ports-gnome-39d7742479ea91ec984ccf3daa6aff2571a10fb0.zip
(Attempt to) fix build with clang by assuming clang doesn't need a
clobber list with __asm__ __volatile__ ("emms"). PR: ports/171119 Submitted by: Dan McGregor <dan.mcgregor@usask.ca>
Diffstat (limited to 'multimedia')
-rw-r--r--multimedia/libxine/files/patch-src-post-goom-mmx.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/multimedia/libxine/files/patch-src-post-goom-mmx.h b/multimedia/libxine/files/patch-src-post-goom-mmx.h
new file mode 100644
index 000000000000..091d41caeeae
--- /dev/null
+++ b/multimedia/libxine/files/patch-src-post-goom-mmx.h
@@ -0,0 +1,32 @@
+--- src/post/goom/mmx.h.orig
++++ src/post/goom/mmx.h
+@@ -721,17 +721,29 @@ void zoom_filter_xmmx (int prevX, int pr
+ */
+ #ifdef MMX_TRACE
+
++#ifdef __clang__
++#define emms() \
++ { \
++ printf("emms()\n"); \
++ __asm__ __volatile__ ("emms"); \
++ }
++#else
+ #define emms() \
+ { \
+ printf("emms()\n"); \
+ __asm__ __volatile__ ("emms" \
+ "st(1)","st(2)","st(3)","st(4)","st(5)","st(6)","st(7)"); \
+ }
++#endif
+
+ #else
+
++#ifdef __clang__
++#define emms() __asm__ __volatile__ ("emms")
++#else
+ #define emms() __asm__ __volatile__ ("emms"::: \
+ "st(1)","st(2)","st(3)","st(4)","st(5)","st(6)","st(7)")
++#endif
+
+ #endif
+