Fri Feb 29 16:58:14 2008 UTC ()
Patches for upstream commit c77faaaa2fc48586902878ba33bd01286654dcb6:
- Add workaround for older versions of gas that don't have SSE3 support

Reported in PR pkg/38126.


(tnn)
diff -r1.10 -r1.11 pkgsrc/devel/liboil/distinfo
diff -r0 -r1.8 pkgsrc/devel/liboil/patches/patch-aa
diff -r0 -r1.1 pkgsrc/devel/liboil/patches/patch-af

cvs diff -r1.10 -r1.11 pkgsrc/devel/liboil/distinfo (expand / switch to unified diff)

--- pkgsrc/devel/liboil/distinfo 2008/02/28 19:28:24 1.10
+++ pkgsrc/devel/liboil/distinfo 2008/02/29 16:58:14 1.11
@@ -1,9 +1,11 @@ @@ -1,9 +1,11 @@
1$NetBSD: distinfo,v 1.10 2008/02/28 19:28:24 drochner Exp $ 1$NetBSD: distinfo,v 1.11 2008/02/29 16:58:14 tnn Exp $
2 2
3SHA1 (liboil-0.3.13.tar.gz) = 1c08d92810a76afce7a2cba2b5f969a096ecf8a0 3SHA1 (liboil-0.3.13.tar.gz) = 1c08d92810a76afce7a2cba2b5f969a096ecf8a0
4RMD160 (liboil-0.3.13.tar.gz) = aefcf9c7a100b5faff3449573bff6238db0bdb34 4RMD160 (liboil-0.3.13.tar.gz) = aefcf9c7a100b5faff3449573bff6238db0bdb34
5Size (liboil-0.3.13.tar.gz) = 813995 bytes 5Size (liboil-0.3.13.tar.gz) = 813995 bytes
 6SHA1 (patch-aa) = d0adb03ef3a1eb5daf059cbfd53bba0ce8338fb1
6SHA1 (patch-ab) = 36a06f38f34f43ab6d181f4e9028f7b9adf5332b 7SHA1 (patch-ab) = 36a06f38f34f43ab6d181f4e9028f7b9adf5332b
7SHA1 (patch-ac) = 8ccb2b0323b337902c384f4bdda856ca1cc2b023 8SHA1 (patch-ac) = 8ccb2b0323b337902c384f4bdda856ca1cc2b023
8SHA1 (patch-ad) = 9d38917949c5f7b06229587f2338de7d1745147f 9SHA1 (patch-ad) = 9d38917949c5f7b06229587f2338de7d1745147f
9SHA1 (patch-ae) = ca873368c23a5e3bd7475e9aeb64ffb74e7e2ea7 10SHA1 (patch-ae) = ca873368c23a5e3bd7475e9aeb64ffb74e7e2ea7
 11SHA1 (patch-af) = 9a6a42eb98f0c41d2a9fc5da91eb084864d3f16e

File Added: pkgsrc/devel/liboil/patches/patch-aa
$NetBSD: patch-aa,v 1.8 2008/02/29 16:58:14 tnn Exp $

--- configure.orig	2008-02-29 17:53:58.000000000 +0100
+++ configure
@@ -16369,6 +16369,79 @@ fi
 
 
 
+  { echo "$as_me:$LINENO: checking if compiler supports 'pmaddubsw %%mm0, %%mm0' asm instruction" >&5
+echo $ECHO_N "checking if compiler supports 'pmaddubsw %%mm0, %%mm0' asm instruction... $ECHO_C" >&6; }
+
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+#ifndef __GNUC__
+#error Not GCC
+#endif
+#ifdef __GNUC_MINOR__
+#if (__GNUC__ * 1000 + __GNUC_MINOR__) < 3004
+#error GCC before 3.4 has critical bugs compiling inline assembly
+#endif
+#endif
+__asm__ ("pmaddubsw %%mm0, %%mm0"::)
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  flag_ok=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	flag_ok=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+  if test "X$flag_ok" = Xyes ; then
+    HAVE_SSSE3_ASM=yes
+    true
+  else
+    HAVE_SSSE3_ASM=no
+    true
+  fi
+  { echo "$as_me:$LINENO: result: $flag_ok" >&5
+echo "${ECHO_T}$flag_ok" >&6; }
+
+if test "x$HAVE_SSSE3_ASM" = xyes ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_SSSE3_ASM 1
+_ACEOF
+
+fi
+
+
 cat >>confdefs.h <<\_ACEOF
 #define OIL_EXPORTS 1
 _ACEOF

File Added: pkgsrc/devel/liboil/patches/Attic/patch-af
$NetBSD: patch-af,v 1.1 2008/02/29 16:58:14 tnn Exp $

--- liboil/i386_amd64/mas.c.orig	2008-02-22 20:59:17.000000000 +0100
+++ liboil/i386_amd64/mas.c
@@ -735,6 +735,7 @@ mas8_u8_sym_mmx_5 (uint8_t *d, const uin
 }
 OIL_DEFINE_IMPL_FULL (mas8_u8_sym_mmx_5, mas8_u8_sym_l15, OIL_IMPL_FLAG_MMX|OIL_IMPL_FLAG_MMXEXT);
 
+#ifdef HAVE_SSSE3_ASM
 void
 mas8_u8_sym_mmx_6 (uint8_t *d, const uint8_t *s1_np7, const int16_t *s2_8,
         const int16_t *s3_2, int n)
@@ -798,6 +799,7 @@ mas8_u8_sym_mmx_6 (uint8_t *d, const uin
       : "ecx");
 }
 OIL_DEFINE_IMPL_FULL (mas8_u8_sym_mmx_6, mas8_u8_sym_l15, OIL_IMPL_FLAG_MMX|OIL_IMPL_FLAG_MMXEXT|OIL_IMPL_FLAG_SSSE3);
+#endif
 
 #ifdef ENABLE_BROKEN_IMPLS
 /* This only works for the taps array: -1, 3, -7, 21, 21, -7, 3, -1 */