From owner-freebsd-multimedia@FreeBSD.ORG Fri Jan 12 03:33:25 2007 Return-Path: X-Original-To: multimedia@FreeBSD.org Delivered-To: freebsd-multimedia@FreeBSD.ORG Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 13CCA16A40F; Fri, 12 Jan 2007 03:33:25 +0000 (UTC) (envelope-from tmclaugh@FreeBSD.org) Received: from straycat.dhs.org (c-24-63-86-11.hsd1.ma.comcast.net [24.63.86.11]) by mx1.freebsd.org (Postfix) with ESMTP id C0E1F13C458; Fri, 12 Jan 2007 03:33:24 +0000 (UTC) (envelope-from tmclaugh@FreeBSD.org) Received: from bofh.straycat.dhs.org (bofh.straycat.dhs.org [192.168.1.127]) by straycat.dhs.org (8.13.8/8.13.8) with ESMTP id l0C2uvJQ003877; Thu, 11 Jan 2007 21:56:58 -0500 (EST) MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 7bit X-send-pr-version: gtk-send-pr 0.4.8 X-GNATS-Notify: Date: Thu, 11 Jan 2007 21:56:58 -0500 From: "Tom McLaughlin" Message-Id: <1168570618.19661@bofh.straycat.dhs.org> To: "FreeBSD gnats submit" Cc: multimedia@FreeBSD.org Subject: devel/liboil: symbol conflict when SSE2 support enabled. X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 12 Jan 2007 03:33:25 -0000 >Submitter-Id: current-users >Originator: Tom McLaughlin >Organization: >Confidential: no >Synopsis: devel/liboil: symbol conflict when SSE2 support enabled. >Severity: non-critical >Priority: low >Category: ports >Class: sw-bug >Release: FreeBSD 6.2-PRERELEASE i386 >Environment: System: FreeBSD 6.2-PRERELEASE #0: Wed Dec 27 14:23:22 EST 2006 tom@bofh.straycat.dhs.org:/usr/obj/usr/src/sys/GENERIC_ULE >Description: While working on the latest audio/muine port and switching from Gstreamer 0.8 to 0.10 I started receiving the crash below. I got marcus to look at this and the symbol conflict goes away when disabling SSE2 support in liboil which the attached patch does. This is just a temporary fix until SSE2 support can be fixed. Backtrace: 0x2affe743 in composite_in_argb_const_mask_sse_2pix (dest=0x899ad00, src=0x931c900, mask=0x931cd00 "¿", '¿' ..., n=100) at emmintrin.h:1012 1012 return (__m128i)__builtin_ia32_punpcklbw128 ((__v16qi)__A, (__v16qi)__B); (gdb) bt full #0 0x2affe743 in composite_in_argb_const_mask_sse_2pix (dest=0x899ad00, src=0x931c900, mask=0x931cd00 "¿", '¿' ..., n=100) at emmintrin.h:1012 No locals. #1 0x2aff0dad in _oil_test_marshal_function (func=0x2affe71c, args=0xbfbfc938, n_args=4, pointer_mask=255, prof=0x922c7ec) at liboilmarshal.c:63 __PRETTY_FUNCTION__ = "_oil_test_marshal_function" #2 0x2aff2b30 in oil_test_check_function (priv=0x922c000) at liboiltest.c:270 k = 4 i = 0 j = 154258688 args = {144289024, 154257664, 154258688, 100, 0, 3217017196, 674939172, 1, 0, 721646012} pointer_mask = 30 __PRETTY_FUNCTION__ = "oil_test_check_function" #3 0x2afefe65 in oil_cpu_fault_check_try ( func=0x2aff294c , priv=0x922c000) at liboilcpu.c:201 ret = 0 #4 0x2aff2d14 in oil_test_check_impl (test=0x922c000, impl=0xff) at liboiltest.c:357 x = 1.1629876210894074e-264 i = -1077949796 n = 721516586 fail = 0 ret = 255 __PRETTY_FUNCTION__ = "oil_test_check_impl" #5 0x2aff0863 in oil_class_optimize (klass=0x2b02af00) at liboilfunction.c:362 impl = (OilFunctionImpl *) 0x2b028d60 min_impl = (OilFunctionImpl *) 0x0 test = (OilTest *) 0x922c000 ret = 255 __PRETTY_FUNCTION__ = "oil_class_optimize" #6 0x2aff0a6e in oil_optimize_all () at liboilfunction.c:181 klass = (OilFunctionClass *) 0xff i = 86 __PRETTY_FUNCTION__ = "oil_optimize_all" #7 0x2aff0b0d in oil_init () at liboilfunction.c:140 __PRETTY_FUNCTION__ = "oil_init" #8 0x2afc4efd in resample_init () at resample.c:46 inited = 0 #9 0x2afc4858 in plugin_init (plugin=0x89a8638) at gstaudioresample.c:685 No locals. #10 0x29ca87fe in gst_plugin_register_func (plugin=0x89a8638, module=0x931cd00, desc=0x2afc9200) at gstplugin.c:259 __PRETTY_FUNCTION__ = "gst_plugin_register_func" How-To-Repeat: change USE_USEGSTREAMER80 to USE_GSTREAMER in audio/muine, build, and play an mp3. >Fix: --- liboil.diff begins here --- diff -ruN liboil.orig/Makefile liboil/Makefile --- liboil.orig/Makefile Tue Jan 9 02:49:52 2007 +++ liboil/Makefile Tue Jan 9 02:49:46 2007 @@ -7,6 +7,7 @@ PORTNAME= liboil PORTVERSION= 0.3.10 +PORTREVISION= 1 CATEGORIES= devel MASTER_SITES= http://liboil.freedesktop.org/download/ \ ${MASTER_SITE_LOCAL} @@ -15,7 +16,7 @@ MAINTAINER= multimedia@FreeBSD.org COMMENT= Library of optimized inner loops -USE_GNOME= pkgconfig gnomehack +USE_GNOME= pkgconfig gnomehack gnometarget GNU_CONFIGURE= yes USE_LDCONFIG= yes CONFIGURE_ARGS= --disable-gtk-doc \ diff -ruN liboil.orig/files/patch-liboil_Makefile.in liboil/files/patch-liboil_Makefile.in --- liboil.orig/files/patch-liboil_Makefile.in Wed Dec 31 19:00:00 1969 +++ liboil/files/patch-liboil_Makefile.in Tue Jan 9 02:47:42 2007 @@ -0,0 +1,20 @@ +--- liboil/Makefile.in.orig Tue Jan 9 02:46:56 2007 ++++ liboil/Makefile.in Tue Jan 9 02:47:13 2007 +@@ -41,8 +41,6 @@ host_triplet = @host@ + @HAVE_GCC_ASM_TRUE@@HAVE_I386_TRUE@am__append_2 = i386/libi386.la i386_amd64/libi386_amd64.la + @HAVE_MMX_INTRINSICS_TRUE@am__append_3 = mmx + @HAVE_MMX_INTRINSICS_TRUE@am__append_4 = mmx/libmmx.la +-@HAVE_SSE2_INTRINSICS_TRUE@am__append_5 = fb sse +-@HAVE_SSE2_INTRINSICS_TRUE@am__append_6 = fb/libfb.la sse/libsse.la + #subdir_i386 += 3dnow + #libs_i386 += 3dnow/lib3dnow.la + @HAVE_AMD64_TRUE@@HAVE_GCC_ASM_TRUE@am__append_7 = amd64 i386_amd64 +@@ -126,8 +124,6 @@ liboil_@LIBOIL_OLD_MAJORMINOR@_la_OBJECT + @HAVE_GCC_ASM_TRUE@@HAVE_I386_TRUE@ i386/libi386.la \ + @HAVE_GCC_ASM_TRUE@@HAVE_I386_TRUE@ i386_amd64/libi386_amd64.la + @HAVE_MMX_INTRINSICS_TRUE@am__DEPENDENCIES_3 = mmx/libmmx.la +-@HAVE_SSE2_INTRINSICS_TRUE@am__DEPENDENCIES_4 = fb/libfb.la \ +-@HAVE_SSE2_INTRINSICS_TRUE@ sse/libsse.la + @HAVE_AMD64_TRUE@@HAVE_GCC_ASM_TRUE@am__DEPENDENCIES_5 = \ + @HAVE_AMD64_TRUE@@HAVE_GCC_ASM_TRUE@ amd64/libamd64.la \ + @HAVE_AMD64_TRUE@@HAVE_GCC_ASM_TRUE@ i386_amd64/libi386_amd64.la --- liboil.diff ends here ---