Thu Sep 22 15:18:40 2011 UTC ()
Fix build with gcc-4.2. Problem reported and fix tested by joerg.


(wiz)
diff -r1.12 -r1.13 pkgsrc/audio/openal/distinfo
diff -r1.1 -r1.2 pkgsrc/audio/openal/patches/patch-src_arch_i386_x86__floatmul.c

cvs diff -r1.12 -r1.13 pkgsrc/audio/openal/Attic/distinfo (expand / switch to unified diff)

--- pkgsrc/audio/openal/Attic/distinfo 2011/08/22 13:36:31 1.12
+++ pkgsrc/audio/openal/Attic/distinfo 2011/09/22 15:18:39 1.13
@@ -1,12 +1,12 @@ @@ -1,12 +1,12 @@
1$NetBSD: distinfo,v 1.12 2011/08/22 13:36:31 wiz Exp $ 1$NetBSD: distinfo,v 1.13 2011/09/22 15:18:39 wiz Exp $
2 2
3SHA1 (openal-0.0.8.tar.gz) = 31aaedc18bd26759bd51f4fa495bc4ccb08acb3e 3SHA1 (openal-0.0.8.tar.gz) = 31aaedc18bd26759bd51f4fa495bc4ccb08acb3e
4RMD160 (openal-0.0.8.tar.gz) = 29368dbceea7cfd8b5c520b9e0f0cfdc7324e265 4RMD160 (openal-0.0.8.tar.gz) = 29368dbceea7cfd8b5c520b9e0f0cfdc7324e265
5Size (openal-0.0.8.tar.gz) = 870671 bytes 5Size (openal-0.0.8.tar.gz) = 870671 bytes
6SHA1 (patch-aa) = a56bdb2f66d5899628ed6aa452d816f439778ccc 6SHA1 (patch-aa) = a56bdb2f66d5899628ed6aa452d816f439778ccc
7SHA1 (patch-ab) = df734f669866c728ede17d1bfc809ec6a31c43d2 7SHA1 (patch-ab) = df734f669866c728ede17d1bfc809ec6a31c43d2
8SHA1 (patch-ac) = a8911a1c8f421c9043df3ed5d7054a30f92eb635 8SHA1 (patch-ac) = a8911a1c8f421c9043df3ed5d7054a30f92eb635
9SHA1 (patch-ad) = c740552ebcb4f846faa7ac17140753a6aac4393c 9SHA1 (patch-ad) = c740552ebcb4f846faa7ac17140753a6aac4393c
10SHA1 (patch-ae) = 590a40890ccfe488248ef9d58c8991c07f0422d7 10SHA1 (patch-ae) = 590a40890ccfe488248ef9d58c8991c07f0422d7
11SHA1 (patch-common_include_AL_alc.h) = 22ee2edf133c5691487fc8628d3ef25d871dcb0d 11SHA1 (patch-common_include_AL_alc.h) = 22ee2edf133c5691487fc8628d3ef25d871dcb0d
12SHA1 (patch-src_arch_i386_x86__floatmul.c) = c0e0f7468d5171c3c941187ed0764c89d0262035 12SHA1 (patch-src_arch_i386_x86__floatmul.c) = ccd1a1a8780ba4f551df132cc22cc00be8580589

cvs diff -r1.1 -r1.2 pkgsrc/audio/openal/patches/Attic/patch-src_arch_i386_x86__floatmul.c (expand / switch to unified diff)

--- pkgsrc/audio/openal/patches/Attic/patch-src_arch_i386_x86__floatmul.c 2011/08/22 13:36:31 1.1
+++ pkgsrc/audio/openal/patches/Attic/patch-src_arch_i386_x86__floatmul.c 2011/09/22 15:18:39 1.2
@@ -1,28 +1,34 @@ @@ -1,28 +1,34 @@
1$NetBSD: patch-src_arch_i386_x86__floatmul.c,v 1.1 2011/08/22 13:36:31 wiz Exp $ 1$NetBSD: patch-src_arch_i386_x86__floatmul.c,v 1.2 2011/09/22 15:18:39 wiz Exp $
2 2
3Fix build with gcc-4.5. 3Fix build with gcc-4.5.
4 4
5--- src/arch/i386/x86_floatmul.c.orig 2005-12-21 19:06:35.000000000 +0000 5--- src/arch/i386/x86_floatmul.c.orig 2005-12-21 19:06:35.000000000 +0000
6+++ src/arch/i386/x86_floatmul.c 6+++ src/arch/i386/x86_floatmul.c
7@@ -82,11 +82,19 @@ void _alFloatMul(ALshort *bpt, ALfloat s 7@@ -82,11 +82,27 @@ void _alFloatMul(ALshort *bpt, ALfloat s
8 v_sa.s[3] = v_sa.s[0]; 8 v_sa.s[3] = v_sa.s[0];
9  9
10 while (samples_main--) { 10 while (samples_main--) {
11+ union { 11+ union {
12+ short s[4]; 12+ short s[4];
13+ v4hi v; 13+ v4hi v;
14+ } ALIGN16(v_one); 14+ } ALIGN16(v_one);
15+ v_one.s[0] = 1; 15+ v_one.s[0] = 1;
16+ v_one.s[1] = 0; 16+ v_one.s[1] = 0;
17+ v_one.s[2] = 0; 17+ v_one.s[2] = 0;
18+ v_one.s[3] = 0; 18+ v_one.s[3] = 0;
19 temp = __builtin_ia32_pmulhw(*(v4hi*)bpt, v_sa.v); 19 temp = __builtin_ia32_pmulhw(*(v4hi*)bpt, v_sa.v);
20- *(v4hi*)bpt = __builtin_ia32_psllw(temp, 1LL); 20+#if defined(__GNUC__) && defined(__GNUC_MINOR__) && (__GNUC__ <= 3 || (__GNUC__ == 4 && __GNUC_MINOR__ <= 2))
 21 *(v4hi*)bpt = __builtin_ia32_psllw(temp, 1LL);
 22+#else
21+ *(v4hi*)bpt = __builtin_ia32_psllw(temp, v_one.v); 23+ *(v4hi*)bpt = __builtin_ia32_psllw(temp, v_one.v);
 24+#endif
22 bpt += 4; 25 bpt += 4;
23 temp = __builtin_ia32_pmulhw(*(v4hi*)bpt, v_sa.v); 26 temp = __builtin_ia32_pmulhw(*(v4hi*)bpt, v_sa.v);
24- *(v4hi*)bpt = __builtin_ia32_psllw(temp, 1LL); 27+#if defined(__GNUC__) && defined(__GNUC_MINOR__) && (__GNUC__ <= 3 || (__GNUC__ == 4 && __GNUC_MINOR__ <= 2))
 28 *(v4hi*)bpt = __builtin_ia32_psllw(temp, 1LL);
 29+#else
25+ *(v4hi*)bpt = __builtin_ia32_psllw(temp, v_one.v); 30+ *(v4hi*)bpt = __builtin_ia32_psllw(temp, v_one.v);
 31+#endif
26 bpt += 4; 32 bpt += 4;
27 } 33 }
28 } 34 }