# ChangeLog for media-libs/xine-lib
# Copyright 2002-2004 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-libs/xine-lib/ChangeLog,v 1.175 2004/12/29 20:06:45 chriswhite Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-libs/xine-lib/ChangeLog,v 1.176 2004/12/30 05:14:46 chriswhite Exp $
+
+ 30 Dec 2004; Chris White <chriswhite@gentoo.org>
+ +files/xine-lib-hardened-mmx.patch, xine-lib-1.0.ebuild:
+ Added hardened+mmx patch by Allen Ibara as per bug #73342.
30 Dec 2004; Chris White <chriswhite@gentoo.org> xine-lib-1.0.ebuild:
Added some stuff that will hopefully get this mmx/pic/hardened thing working.
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
-MD5 c672dfc420a1ca7841d8b093cd96f70f ChangeLog 29580
+MD5 b7f30849616b72b073e0710212981990 ChangeLog 29752
MD5 af08cabbae4b191018ca153392a86bea metadata.xml 304
-MD5 d081077906922a06461f52cb79c2270a xine-lib-1.0.ebuild 8354
+MD5 46252da24f39347fd51b88845b79f06c xine-lib-1.0.ebuild 8161
MD5 b25152bddc933afdf390149b07f2ff43 xine-lib-1_rc5-r3.ebuild 5473
MD5 a53b6f55661ef41e343932ceb7108cc3 xine-lib-1_rc6.ebuild 5358
MD5 d2d62f59048715eaf85d88a90842729d xine-lib-1_rc7.ebuild 5327
MD5 3cbdef8aa211184b96474addb4f7c5d6 files/xine-lib-gcc34.patch 423
MD5 5d2c3c00bf3ae9a89dfcaa8b5c5b17a2 files/xine-lib-x11.patch 703
MD5 dcb0c79c0bb106397aad42f6d936627d files/xineconfig.patch-0.9.13 601
+MD5 ddf48f1eb00a6985b6fba5fff9386ad0 files/xine-lib-hardened-mmx.patch 2558
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.6 (GNU/Linux)
-iD8DBQFB0w2oFdQwWVoAgN4RAlgIAJ0UawKqD/AxUnnn0CwiVkv5ugAWYQCg3llu
-vye/6MCwATeWrJCvFjHuiKU=
-=FgRm
+iD8DBQFB047kFdQwWVoAgN4RAkMeAKC0ouummI2LDJifqEY9gWC60uODdQCgkJlu
+MeYbvY+YNA3XcQnMFmzdzIM=
+=ZnOO
-----END PGP SIGNATURE-----
--- /dev/null
+diff -ur xine-lib-1.0.orig/src/post/goom/mmx.h xine-lib-1.0/src/post/goom/mmx.h
+--- xine-lib-1.0.orig/src/post/goom/mmx.h 2004-08-19 03:39:03.000000000 -0700
++++ xine-lib-1.0/src/post/goom/mmx.h 2004-12-29 11:49:35.857981505 -0800
+@@ -72,6 +72,9 @@
+ register int rval = 0;
+
+ __asm__ __volatile__ (
++ /* CPUID clobbers ebx, but gcc needs it for PIC so
++ * it needs to be saved */
++ "pushl %%ebx\n\t"
+ /* See if CPUID instruction is supported ... */
+ /* ... Get copies of EFLAGS into eax and ecx */
+ "pushf\n\t"
+@@ -214,9 +217,10 @@
+ "movl $0, %0\n\n\t"
+
+ "Return:\n\t"
++ "popl %%ebx\n\t"
+ : "=X" (rval)
+ : /* no input */
+- : "eax", "ebx", "ecx", "edx"
++ : "eax", "ecx", "edx"
+ );
+
+ /* Return */
+diff -ur xine-lib-1.0.orig/src/post/goom/xmmx.c xine-lib-1.0/src/post/goom/xmmx.c
+--- xine-lib-1.0.orig/src/post/goom/xmmx.c 2004-08-19 03:39:03.000000000 -0700
++++ xine-lib-1.0/src/post/goom/xmmx.c 2004-12-29 11:50:36.720037932 -0800
+@@ -112,23 +112,23 @@
+ * post : mm3 & mm4 : coefs for this position
+ * mm1 : X vector [0|X]
+ *
+- * modif : eax,ebx
++ * modif : eax,edx
+ */
+ __asm__ __volatile__ (
+- "movd %%mm0,%%ebx\n"
++ "movd %%mm0,%%edx\n"
+ "movq %%mm0,%%mm1\n"
+
+- "andl $15,%%ebx\n"
++ "andl $15,%%edx\n"
+ "psrlq $32,%%mm1\n"
+
+- "shll $6,%%ebx\n"
++ "shll $6,%%edx\n"
+ "movd %%mm1,%%eax\n"
+
+- "addl %0,%%ebx\n"
++ "addl %0,%%edx\n"
+ "andl $15,%%eax\n"
+
+- "movd (%%ebx,%%eax,4),%%mm3\n"
+- ::"g"(precalCoef):"eax","ebx");
++ "movd (%%edx,%%eax,4),%%mm3\n"
++ ::"g"(precalCoef):"eax","edx");
+
+ /*
+ * extraction des coefficients...
+@@ -158,7 +158,7 @@
+ * post : mm0 : expix1[position]
+ * mm2 : expix1[position+largeur]
+ *
+- * modif : eax,ebx
++ * modif : eax,edx
+ */
+ psrld_i2r (PERTEDEC,mm0);
+ psrld_i2r (PERTEDEC,mm1);
+@@ -167,23 +167,23 @@
+ /*^*/ "movq %%mm3,%%mm5\n" /*^*/
+
+ "mull %1\n"
+- "movd %%mm0,%%ebx\n"
++ "movd %%mm0,%%edx\n"
+ /*^*/ "punpcklbw %%mm5, %%mm3\n" /*^*/
+
+- "addl %%ebx,%%eax\n"
++ "addl %%edx,%%eax\n"
+ /*^*/ "movq %%mm3,%%mm4\n" /*^*/
+ /*^*/ "movq %%mm3,%%mm5\n" /*^*/
+
+- "movl %0,%%ebx\n"
++ "movl %0,%%edx\n"
+ /*^*/ "punpcklbw %%mm5,%%mm3\n" /*^*/
+
+- "movq (%%ebx,%%eax,4),%%mm0\n"
++ "movq (%%edx,%%eax,4),%%mm0\n"
+ /*^*/ "punpckhbw %%mm5,%%mm4\n" /*^*/
+
+ "addl %1,%%eax\n"
+- "movq (%%ebx,%%eax,4),%%mm2\n"
++ "movq (%%edx,%%eax,4),%%mm2\n"
+
+- : : "X"(expix1), "X"(prevX):"eax","ebx"
++ : : "X"(expix1), "X"(prevX):"eax","edx"
+ );
+
+ /*
# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/media-libs/xine-lib/xine-lib-1.0.ebuild,v 1.5 2004/12/29 20:06:45 chriswhite Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-libs/xine-lib/xine-lib-1.0.ebuild,v 1.6 2004/12/30 05:14:46 chriswhite Exp $
inherit eutils flag-o-matic gcc libtool
KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
IUSE="arts esd avi nls dvd aalib X directfb oggvorbis alsa gnome sdl speex
theora ipv6 altivec opengl aac fb xv xvmc nvidia i8x0 libcaca
- samba dxr3 vidix png mng pic mmx"
+ samba dxr3 vidix png mng pic"
RDEPEND="oggvorbis? ( media-libs/libvorbis )
!amd64? ( X? ( virtual/x11 ) )
#use amd64 && epatch ${FILESDIR}/configure-64bit-define.patch
use pic && epatch ${FILESDIR}/${PN}-1_rc7-pic.patch
- if use pic && use !mmx
- then
- # mmx doesn't play nice with hardened gcc
- # but only on x86 works for some.. works
- # for others, so I'm going to do this
- # with a flag to make things easier...
- epatch ${FILESDIR}/${PN}-1_rc7-mmx.patch
- fi
+ use x86 && epatch ${FILESDIR}/${PN}-hardened-mmx.patch
# Fix detection of hppa2.0 and hppa1.1 CHOST
use hppa && sed -e 's/hppa-/hppa*-linux-/' -i ${S}/configure