summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoshua Kinard <kumba@gentoo.org>2003-10-30 22:26:07 +0000
committerJoshua Kinard <kumba@gentoo.org>2003-10-30 22:26:07 +0000
commita076abba1824f4a915a42c32eb040e137f12389c (patch)
treeaa7a488c134b4d9cb6e1b6f875820dfddea5925e /dev-lang/squeak
parentAdded patch to fix gcc-3.3.x multi-line string issues. Closes Bug #32122. (diff)
downloadgentoo-2-a076abba1824f4a915a42c32eb040e137f12389c.tar.gz
gentoo-2-a076abba1824f4a915a42c32eb040e137f12389c.tar.bz2
gentoo-2-a076abba1824f4a915a42c32eb040e137f12389c.zip
Added patch to fix gcc-3.3.x multi-line string issues. Closes Bug #32122.
Diffstat (limited to 'dev-lang/squeak')
-rw-r--r--dev-lang/squeak/ChangeLog8
-rw-r--r--dev-lang/squeak/Manifest4
-rw-r--r--dev-lang/squeak/files/squeak-3.4.1-gcc33-string-fix.patch290
-rw-r--r--dev-lang/squeak/squeak-3.4.1-r1.ebuild9
4 files changed, 307 insertions, 4 deletions
diff --git a/dev-lang/squeak/ChangeLog b/dev-lang/squeak/ChangeLog
index c54209575ed7..96bb0b7d4d8e 100644
--- a/dev-lang/squeak/ChangeLog
+++ b/dev-lang/squeak/ChangeLog
@@ -1,9 +1,15 @@
# ChangeLog for dev-lang/squeak
# Copyright 2002-2003 Gentoo Technologies, Inc.; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-lang/squeak/ChangeLog,v 1.4 2003/10/11 09:32:56 tantive Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/squeak/ChangeLog,v 1.5 2003/10/30 22:26:04 kumba Exp $
+
*squeak-3.4.1-r1 (11 Oct 2003)
+ 30 Oct 2003; Joshua Kinard <kumba@gentoo.org> squeak-3.4.1-r1.ebuild,
+ files/squeak-3.4.1-gcc33-string-fix.patch:
+ Added patch to fix gcc-3.3.x multi-line string issues
+ Closes Bug #32122
+
11 Oct 2003; Michael Imhof <tantive@gentoo.org> :
Version bumped. Closes #27408.
Added fixes to filter optimizations.
diff --git a/dev-lang/squeak/Manifest b/dev-lang/squeak/Manifest
index edd1654302bc..f8f4c4d3f74b 100644
--- a/dev-lang/squeak/Manifest
+++ b/dev-lang/squeak/Manifest
@@ -1,6 +1,6 @@
-MD5 d19ec773d91d19e1a21df6de19bebe02 ChangeLog 894
+MD5 11b62da2a8b28a01ddfbeee42d009e52 ChangeLog 892
MD5 479f2d1c5b28ac403ce1e966caded2be squeak-3.2.5.ebuild 2903
-MD5 05464159cf42307bee72dad64b55a1d4 squeak-3.4.1-r1.ebuild 3327
+MD5 142bce812145a8b5734d5b78d4ef4378 squeak-3.4.1-r1.ebuild 3325
MD5 c5ee64830a6abb8992d522b313a0ab02 squeak-3.4.1.ebuild 2988
MD5 95975b038cad92087afe83055e6b2137 files/digest-squeak-3.2.5 69
MD5 e15651f69bf3b5c02f40bcffceefb53c files/digest-squeak-3.4.1 69
diff --git a/dev-lang/squeak/files/squeak-3.4.1-gcc33-string-fix.patch b/dev-lang/squeak/files/squeak-3.4.1-gcc33-string-fix.patch
new file mode 100644
index 000000000000..c85113004462
--- /dev/null
+++ b/dev-lang/squeak/files/squeak-3.4.1-gcc33-string-fix.patch
@@ -0,0 +1,290 @@
+--- platforms/Cross/plugins/Mpeg3Plugin/libmpeg/video/output.c.org 2003-10-29 21:38:26.000000000 +0100
++++ platforms/Cross/plugins/Mpeg3Plugin/libmpeg/video/output.c 2003-10-29 21:25:39.000000000 +0100
+@@ -261,38 +261,38 @@ inline void mpeg3_bgra32_mmx(unsigned lo
+ unsigned long v,
+ unsigned long *output)
+ {
+-asm("
+-/* Output will be 0x00rrggbb with the 00 trailing so this can also be used */
+-/* for bgr24. */
+- movd (%0), %%mm0; /* Load y 0x00000000000000yy */
+- movd (%1), %%mm1; /* Load u 0x00000000000000cr */
+- movq %%mm0, %%mm3; /* Copy y to temp */
+- psllq $16, %%mm1; /* Shift u 0x0000000000cr0000 */
+- movd (%2), %%mm2; /* Load v 0x00000000000000cb */
+- psllq $16, %%mm3; /* Shift y */
+- movq %%mm1, %%mm4; /* Copy u to temp */
+- por %%mm3, %%mm0; /* Overlay new y byte 0x0000000000yy00yy */
+- psllq $16, %%mm4; /* Shift u */
+- movq %%mm2, %%mm5; /* Copy v to temp */
+- psllq $16, %%mm3; /* Shift y */
+- por %%mm4, %%mm1; /* Overlay new u byte 0x000000cr00cr0000 */
+- psllq $16, %%mm5; /* Shift v */
+- por %%mm3, %%mm0; /* Overlay new y byte 0x000000yy00yy00yy */
+- por %%mm5, %%mm2; /* Overlay new v byte 0x0000000000cb00cb */
+-
+-/* mm0: 0x000000yy00yy00yy mm1: 0x000000uu00uu0000 mm2: 0x0000000000vv00vv */
+- psubw _mpeg3_MMX_U_80, %%mm1; /* Subtract 128 from u 0x000000uu00uu0000 */
+- pmullw _mpeg3_MMX_U_COEF, %%mm1; /* Multiply u coeffs 0x0000uuuuuuuu0000 */
+- psllw $6, %%mm0; /* Shift y coeffs 0x0000yyy0yyy0yyy0 */
+- psubw _mpeg3_MMX_V_80, %%mm2; /* Subtract 128 from v 0x0000000000cb00cb */
+- pmullw _mpeg3_MMX_V_COEF, %%mm2; /* Multiply v coeffs 0x0000crcrcrcrcrcr */
+-
+-/* mm0: 0x000000yy00yy00yy mm1: 0x0000uuuuuuuu0000 mm2: 0x00000000vvvvvvvv */
+- paddsw %%mm1, %%mm0; /* Add u to result */
+- paddsw %%mm2, %%mm0; /* Add v to result 0x0000rrrrggggbbbb */
+- psraw $6, %%mm0; /* Demote precision */
+- packuswb %%mm0, %%mm0; /* Pack into ARGB 0x0000000000rrggbb */
+- movd %%mm0, (%3); /* Store output */
++asm("\n\
++/* Output will be 0x00rrggbb with the 00 trailing so this can also be used */\n\
++/* for bgr24. */\n\
++ movd (%0), %%mm0; /* Load y 0x00000000000000yy */\n\
++ movd (%1), %%mm1; /* Load u 0x00000000000000cr */\n\
++ movq %%mm0, %%mm3; /* Copy y to temp */\n\
++ psllq $16, %%mm1; /* Shift u 0x0000000000cr0000 */\n\
++ movd (%2), %%mm2; /* Load v 0x00000000000000cb */\n\
++ psllq $16, %%mm3; /* Shift y */\n\
++ movq %%mm1, %%mm4; /* Copy u to temp */\n\
++ por %%mm3, %%mm0; /* Overlay new y byte 0x0000000000yy00yy */\n\
++ psllq $16, %%mm4; /* Shift u */\n\
++ movq %%mm2, %%mm5; /* Copy v to temp */\n\
++ psllq $16, %%mm3; /* Shift y */\n\
++ por %%mm4, %%mm1; /* Overlay new u byte 0x000000cr00cr0000 */\n\
++ psllq $16, %%mm5; /* Shift v */\n\
++ por %%mm3, %%mm0; /* Overlay new y byte 0x000000yy00yy00yy */\n\
++ por %%mm5, %%mm2; /* Overlay new v byte 0x0000000000cb00cb */\n\
++\n\
++/* mm0: 0x000000yy00yy00yy mm1: 0x000000uu00uu0000 mm2: 0x0000000000vv00vv */\n\
++ psubw _mpeg3_MMX_U_80, %%mm1; /* Subtract 128 from u 0x000000uu00uu0000 */\n\
++ pmullw _mpeg3_MMX_U_COEF, %%mm1; /* Multiply u coeffs 0x0000uuuuuuuu0000 */\n\
++ psllw $6, %%mm0; /* Shift y coeffs 0x0000yyy0yyy0yyy0 */\n\
++ psubw _mpeg3_MMX_V_80, %%mm2; /* Subtract 128 from v 0x0000000000cb00cb */\n\
++ pmullw _mpeg3_MMX_V_COEF, %%mm2; /* Multiply v coeffs 0x0000crcrcrcrcrcr */\n\
++\n\
++/* mm0: 0x000000yy00yy00yy mm1: 0x0000uuuuuuuu0000 mm2: 0x00000000vvvvvvvv */\n\
++ paddsw %%mm1, %%mm0; /* Add u to result */\n\
++ paddsw %%mm2, %%mm0; /* Add v to result 0x0000rrrrggggbbbb */\n\
++ psraw $6, %%mm0; /* Demote precision */\n\
++ packuswb %%mm0, %%mm0; /* Pack into ARGB 0x0000000000rrggbb */\n\
++ movd %%mm0, (%3); /* Store output */\n\
+ "
+ :
+ : "r" (&y), "r" (&u), "r" (&v), "r" (output));
+@@ -303,39 +303,39 @@ inline void mpeg3_601_bgra32_mmx(unsigne
+ unsigned long v,
+ unsigned long *output)
+ {
+-asm("
+-/* Output will be 0x00rrggbb with the 00 trailing so this can also be used */
+-/* for bgr24. */
+- movd (%0), %%mm0; /* Load y 0x00000000000000yy */
+- psubsw _mpeg3_MMX_601_Y_DIFF, %%mm0; /* Subtract 16 from y */
+- movd (%1), %%mm1; /* Load u 0x00000000000000cr */
+- movq %%mm0, %%mm3; /* Copy y to temp */
+- psllq $16, %%mm1; /* Shift u 0x0000000000cr0000 */
+- movd (%2), %%mm2; /* Load v 0x00000000000000cb */
+- psllq $16, %%mm3; /* Shift y */
+- movq %%mm1, %%mm4; /* Copy u to temp */
+- por %%mm3, %%mm0; /* Overlay new y byte 0x0000000000yy00yy */
+- psllq $16, %%mm4; /* Shift u */
+- movq %%mm2, %%mm5; /* Copy v to temp */
+- psllq $16, %%mm3; /* Shift y */
+- por %%mm4, %%mm1; /* Overlay new u byte 0x000000cr00cr0000 */
+- psllq $16, %%mm5; /* Shift v */
+- por %%mm3, %%mm0; /* Overlay new y byte 0x000000yy00yy00yy */
+- por %%mm5, %%mm2; /* Overlay new v byte 0x0000000000cb00cb */
+-
+-/* mm0: 0x000000yy00yy00yy mm1: 0x000000uu00uu0000 mm2: 0x0000000000vv00vv */
+- pmullw _mpeg3_MMX_601_Y_COEF, %%mm0; /* Scale and shift y coeffs */
+- psubw _mpeg3_MMX_U_80, %%mm1; /* Subtract 128 from u 0x000000uu00uu0000 */
+- pmullw _mpeg3_MMX_U_COEF, %%mm1; /* Multiply u coeffs 0x0000uuuuuuuu0000 */
+- psubw _mpeg3_MMX_V_80, %%mm2; /* Subtract 128 from v 0x0000000000cb00cb */
+- pmullw _mpeg3_MMX_V_COEF, %%mm2; /* Multiply v coeffs 0x0000crcrcrcrcrcr */
+-
+-/* mm0: 0x000000yy00yy00yy mm1: 0x0000uuuuuuuu0000 mm2: 0x00000000vvvvvvvv */
+- paddsw %%mm1, %%mm0; /* Add u to result */
+- paddsw %%mm2, %%mm0; /* Add v to result 0x0000rrrrggggbbbb */
+- psraw $6, %%mm0; /* Demote precision */
+- packuswb %%mm0, %%mm0; /* Pack into ARGB 0x0000000000rrggbb */
+- movd %%mm0, (%3); /* Store output */
++asm("\n\
++/* Output will be 0x00rrggbb with the 00 trailing so this can also be used */\n\
++/* for bgr24. */\n\
++ movd (%0), %%mm0; /* Load y 0x00000000000000yy */\n\
++ psubsw _mpeg3_MMX_601_Y_DIFF, %%mm0; /* Subtract 16 from y */\n\
++ movd (%1), %%mm1; /* Load u 0x00000000000000cr */\n\
++ movq %%mm0, %%mm3; /* Copy y to temp */\n\
++ psllq $16, %%mm1; /* Shift u 0x0000000000cr0000 */\n\
++ movd (%2), %%mm2; /* Load v 0x00000000000000cb */\n\
++ psllq $16, %%mm3; /* Shift y */\n\
++ movq %%mm1, %%mm4; /* Copy u to temp */\n\
++ por %%mm3, %%mm0; /* Overlay new y byte 0x0000000000yy00yy */\n\
++ psllq $16, %%mm4; /* Shift u */\n\
++ movq %%mm2, %%mm5; /* Copy v to temp */\n\
++ psllq $16, %%mm3; /* Shift y */\n\
++ por %%mm4, %%mm1; /* Overlay new u byte 0x000000cr00cr0000 */\n\
++ psllq $16, %%mm5; /* Shift v */\n\
++ por %%mm3, %%mm0; /* Overlay new y byte 0x000000yy00yy00yy */\n\
++ por %%mm5, %%mm2; /* Overlay new v byte 0x0000000000cb00cb */\n\
++\n\
++/* mm0: 0x000000yy00yy00yy mm1: 0x000000uu00uu0000 mm2: 0x0000000000vv00vv */\n\
++ pmullw _mpeg3_MMX_601_Y_COEF, %%mm0; /* Scale and shift y coeffs */\n\
++ psubw _mpeg3_MMX_U_80, %%mm1; /* Subtract 128 from u 0x000000uu00uu0000 */\n\
++ pmullw _mpeg3_MMX_U_COEF, %%mm1; /* Multiply u coeffs 0x0000uuuuuuuu0000 */\n\
++ psubw _mpeg3_MMX_V_80, %%mm2; /* Subtract 128 from v 0x0000000000cb00cb */\n\
++ pmullw _mpeg3_MMX_V_COEF, %%mm2; /* Multiply v coeffs 0x0000crcrcrcrcrcr */\n\
++\n\
++/* mm0: 0x000000yy00yy00yy mm1: 0x0000uuuuuuuu0000 mm2: 0x00000000vvvvvvvv */\n\
++ paddsw %%mm1, %%mm0; /* Add u to result */\n\
++ paddsw %%mm2, %%mm0; /* Add v to result 0x0000rrrrggggbbbb */\n\
++ psraw $6, %%mm0; /* Demote precision */\n\
++ packuswb %%mm0, %%mm0; /* Pack into ARGB 0x0000000000rrggbb */\n\
++ movd %%mm0, (%3); /* Store output */\n\
+ "
+ :
+ : "r" (&y), "r" (&u), "r" (&v), "r" (output));
+@@ -351,38 +351,38 @@ inline void mpeg3_rgba32_mmx(unsigned lo
+ unsigned long v,
+ unsigned long *output)
+ {
+-asm("
+-/* Output will be 0x00bbggrr with the 00 trailing so this can also be used */
+-/* for rgb24. */
+- movd (%0), %%mm0; /* Load y 0x00000000000000yy */
+- movd (%1), %%mm1; /* Load v 0x00000000000000vv */
+- movq %%mm0, %%mm3; /* Copy y to temp */
+- psllq $16, %%mm1; /* Shift v 0x0000000000vv0000 */
+- movd (%2), %%mm2; /* Load u 0x00000000000000uu */
+- psllq $16, %%mm3; /* Shift y */
+- movq %%mm1, %%mm4; /* Copy v to temp */
+- por %%mm3, %%mm0; /* Overlay new y byte 0x0000000000yy00yy */
+- psllq $16, %%mm4; /* Shift v */
+- movq %%mm2, %%mm5; /* Copy u to temp */
+- psllq $16, %%mm3; /* Shift y */
+- por %%mm4, %%mm1; /* Overlay new v byte 0x000000vv00vv0000 */
+- psllq $16, %%mm5; /* Shift u */
+- por %%mm3, %%mm0; /* Overlay new y byte 0x000000yy00yy00yy */
+- por %%mm5, %%mm2; /* Overlay new u byte 0x0000000000uu00uu */
+-
+-/* mm0: 0x000000yy00yy00yy mm1: 0x000000vv00vv0000 mm2: 0x0000000000uu00uu */
+- psubw _mpeg3_MMX_V_80_RGB, %%mm1; /* Subtract 128 from v 0x000000vv00vv0000 */
+- pmullw _mpeg3_MMX_V_COEF_RGB, %%mm1; /* Multiply v coeffs 0x0000vvvvvvvv0000 */
+- psllw $6, %%mm0; /* Shift y coeffs 0x0000yyy0yyy0yyy0 */
+- psubw _mpeg3_MMX_U_80_RGB, %%mm2; /* Subtract 128 from u 0x0000000000uu00uu */
+- pmullw _mpeg3_MMX_U_COEF_RGB, %%mm2; /* Multiply u coeffs 0x0000uuuuuuuuuuuu */
+-
+-/* mm0: 0x000000yy00yy00yy mm1: 0x0000vvvvvvvv0000 mm2: 0x00000000uuuuuuuu */
+- paddsw %%mm1, %%mm0; /* Add v to result */
+- paddsw %%mm2, %%mm0; /* Add u to result 0x0000bbbbggggrrrr */
+- psraw $6, %%mm0; /* Demote precision */
+- packuswb %%mm0, %%mm0; /* Pack into RGBA 0x0000000000bbggrr */
+- movd %%mm0, (%3); /* Store output */
++asm("\n\
++/* Output will be 0x00bbggrr with the 00 trailing so this can also be used */\n\
++/* for rgb24. */\n\
++ movd (%0), %%mm0; /* Load y 0x00000000000000yy */\n\
++ movd (%1), %%mm1; /* Load v 0x00000000000000vv */\n\
++ movq %%mm0, %%mm3; /* Copy y to temp */\n\
++ psllq $16, %%mm1; /* Shift v 0x0000000000vv0000 */\n\
++ movd (%2), %%mm2; /* Load u 0x00000000000000uu */\n\
++ psllq $16, %%mm3; /* Shift y */\n\
++ movq %%mm1, %%mm4; /* Copy v to temp */\n\
++ por %%mm3, %%mm0; /* Overlay new y byte 0x0000000000yy00yy */\n\
++ psllq $16, %%mm4; /* Shift v */\n\
++ movq %%mm2, %%mm5; /* Copy u to temp */\n\
++ psllq $16, %%mm3; /* Shift y */\n\
++ por %%mm4, %%mm1; /* Overlay new v byte 0x000000vv00vv0000 */\n\
++ psllq $16, %%mm5; /* Shift u */\n\
++ por %%mm3, %%mm0; /* Overlay new y byte 0x000000yy00yy00yy */\n\
++ por %%mm5, %%mm2; /* Overlay new u byte 0x0000000000uu00uu */\n\
++\n\
++/* mm0: 0x000000yy00yy00yy mm1: 0x000000vv00vv0000 mm2: 0x0000000000uu00uu */\n\
++ psubw _mpeg3_MMX_V_80_RGB, %%mm1; /* Subtract 128 from v 0x000000vv00vv0000 */\n\
++ pmullw _mpeg3_MMX_V_COEF_RGB, %%mm1; /* Multiply v coeffs 0x0000vvvvvvvv0000 */\n\
++ psllw $6, %%mm0; /* Shift y coeffs 0x0000yyy0yyy0yyy0 */\n\
++ psubw _mpeg3_MMX_U_80_RGB, %%mm2; /* Subtract 128 from u 0x0000000000uu00uu */\n\
++ pmullw _mpeg3_MMX_U_COEF_RGB, %%mm2; /* Multiply u coeffs 0x0000uuuuuuuuuuuu */\n\
++\n\
++/* mm0: 0x000000yy00yy00yy mm1: 0x0000vvvvvvvv0000 mm2: 0x00000000uuuuuuuu */\n\
++ paddsw %%mm1, %%mm0; /* Add v to result */\n\
++ paddsw %%mm2, %%mm0; /* Add u to result 0x0000bbbbggggrrrr */\n\
++ psraw $6, %%mm0; /* Demote precision */\n\
++ packuswb %%mm0, %%mm0; /* Pack into RGBA 0x0000000000bbggrr */\n\
++ movd %%mm0, (%3); /* Store output */\n\
+ "
+ :
+ : "r" (&y), "r" (&v), "r" (&u), "r" (output));
+@@ -393,39 +393,39 @@ inline void mpeg3_601_rgba32_mmx(unsigne
+ unsigned long v,
+ unsigned long *output)
+ {
+-asm("
+-/* Output will be 0x00bbggrr with the 00 trailing so this can also be used */
+-/* for rgb24. */
+- movd (%0), %%mm0; /* Load y 0x00000000000000yy */
+- psubsw _mpeg3_MMX_601_Y_DIFF, %%mm0; /* Subtract 16 from y */
+- movd (%1), %%mm1; /* Load v 0x00000000000000vv */
+- movq %%mm0, %%mm3; /* Copy y to temp */
+- psllq $16, %%mm1; /* Shift v 0x0000000000vv0000 */
+- movd (%2), %%mm2; /* Load u 0x00000000000000uu */
+- psllq $16, %%mm3; /* Shift y */
+- movq %%mm1, %%mm4; /* Copy v to temp */
+- por %%mm3, %%mm0; /* Overlay new y byte 0x0000000000yy00yy */
+- psllq $16, %%mm4; /* Shift v */
+- movq %%mm2, %%mm5; /* Copy u to temp */
+- psllq $16, %%mm3; /* Shift y */
+- por %%mm4, %%mm1; /* Overlay new v byte 0x000000vv00vv0000 */
+- psllq $16, %%mm5; /* Shift u */
+- por %%mm3, %%mm0; /* Overlay new y byte 0x000000yy00yy00yy */
+- por %%mm5, %%mm2; /* Overlay new u byte 0x0000000000uu00uu */
+-
+-/* mm0: 0x000000yy00yy00yy mm1: 0x000000vv00vv0000 mm2: 0x0000000000uu00uu */
+- pmullw _mpeg3_MMX_601_Y_COEF, %%mm0; /* Scale y coeffs */
+- psubw _mpeg3_MMX_V_80_RGB, %%mm1; /* Subtract 128 from v 0x000000vv00vv0000 */
+- pmullw _mpeg3_MMX_V_COEF_RGB, %%mm1; /* Multiply v coeffs 0x0000vvvvvvvv0000 */
+- psubw _mpeg3_MMX_U_80_RGB, %%mm2; /* Subtract 128 from u 0x0000000000uu00uu */
+- pmullw _mpeg3_MMX_U_COEF_RGB, %%mm2; /* Multiply u coeffs 0x0000uuuuuuuuuuuu */
+-
+-/* mm0: 0x000000yy00yy00yy mm1: 0x0000vvvvvvvv0000 mm2: 0x00000000uuuuuuuu */
+- paddsw %%mm1, %%mm0; /* Add v to result */
+- paddsw %%mm2, %%mm0; /* Add u to result 0x0000bbbbggggrrrr */
+- psraw $6, %%mm0; /* Demote precision */
+- packuswb %%mm0, %%mm0; /* Pack into RGBA 0x0000000000bbggrr */
+- movd %%mm0, (%3); /* Store output */
++asm("\n\
++/* Output will be 0x00bbggrr with the 00 trailing so this can also be used */\n\
++/* for rgb24. */\n\
++ movd (%0), %%mm0; /* Load y 0x00000000000000yy */\n\
++ psubsw _mpeg3_MMX_601_Y_DIFF, %%mm0; /* Subtract 16 from y */\n\
++ movd (%1), %%mm1; /* Load v 0x00000000000000vv */\n\
++ movq %%mm0, %%mm3; /* Copy y to temp */\n\
++ psllq $16, %%mm1; /* Shift v 0x0000000000vv0000 */\n\
++ movd (%2), %%mm2; /* Load u 0x00000000000000uu */\n\
++ psllq $16, %%mm3; /* Shift y */\n\
++ movq %%mm1, %%mm4; /* Copy v to temp */\n\
++ por %%mm3, %%mm0; /* Overlay new y byte 0x0000000000yy00yy */\n\
++ psllq $16, %%mm4; /* Shift v */\n\
++ movq %%mm2, %%mm5; /* Copy u to temp */\n\
++ psllq $16, %%mm3; /* Shift y */\n\
++ por %%mm4, %%mm1; /* Overlay new v byte 0x000000vv00vv0000 */\n\
++ psllq $16, %%mm5; /* Shift u */\n\
++ por %%mm3, %%mm0; /* Overlay new y byte 0x000000yy00yy00yy */\n\
++ por %%mm5, %%mm2; /* Overlay new u byte 0x0000000000uu00uu */\n\
++\n\
++/* mm0: 0x000000yy00yy00yy mm1: 0x000000vv00vv0000 mm2: 0x0000000000uu00uu */\n\
++ pmullw _mpeg3_MMX_601_Y_COEF, %%mm0; /* Scale y coeffs */\n\
++ psubw _mpeg3_MMX_V_80_RGB, %%mm1; /* Subtract 128 from v 0x000000vv00vv0000 */\n\
++ pmullw _mpeg3_MMX_V_COEF_RGB, %%mm1; /* Multiply v coeffs 0x0000vvvvvvvv0000 */\n\
++ psubw _mpeg3_MMX_U_80_RGB, %%mm2; /* Subtract 128 from u 0x0000000000uu00uu */\n\
++ pmullw _mpeg3_MMX_U_COEF_RGB, %%mm2; /* Multiply u coeffs 0x0000uuuuuuuuuuuu */\n\
++\n\
++/* mm0: 0x000000yy00yy00yy mm1: 0x0000vvvvvvvv0000 mm2: 0x00000000uuuuuuuu */\n\
++ paddsw %%mm1, %%mm0; /* Add v to result */\n\
++ paddsw %%mm2, %%mm0; /* Add u to result 0x0000bbbbggggrrrr */\n\
++ psraw $6, %%mm0; /* Demote precision */\n\
++ packuswb %%mm0, %%mm0; /* Pack into RGBA 0x0000000000bbggrr */\n\
++ movd %%mm0, (%3); /* Store output */\n\
+ "
+ :
+ : "r" (&y), "r" (&v), "r" (&u), "r" (output));
diff --git a/dev-lang/squeak/squeak-3.4.1-r1.ebuild b/dev-lang/squeak/squeak-3.4.1-r1.ebuild
index 9ed818248ae1..8533ef82d5f9 100644
--- a/dev-lang/squeak/squeak-3.4.1-r1.ebuild
+++ b/dev-lang/squeak/squeak-3.4.1-r1.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2003 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-lang/squeak/squeak-3.4.1-r1.ebuild,v 1.1 2003/10/11 09:32:56 tantive Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/squeak/squeak-3.4.1-r1.ebuild,v 1.2 2003/10/30 22:26:04 kumba Exp $
inherit libtool flag-o-matic eutils
strip-flags
@@ -29,6 +29,13 @@ RDEPEND="dev-lang/squeak-vm
S="${WORKDIR}/Squeak-${NV}"
+
+src_unpack() {
+ unpack ${A}
+ cd ${S}
+ epatch ${FILESDIR}/${P}-gcc33-string-fix.patch
+}
+
src_compile() {
local myconf=""