ports/107836: devel/liboil: symbol conflict when SSE2 support enabled.
Tom McLaughlin
tmclaugh at FreeBSD.org
Fri Jan 12 03:40:15 UTC 2007
>Number: 107836
>Category: ports
>Synopsis: devel/liboil: symbol conflict when SSE2 support enabled.
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Fri Jan 12 03:40:14 GMT 2007
>Closed-Date:
>Last-Modified:
>Originator: Tom McLaughlin
>Release: FreeBSD 6.2-PRERELEASE i386
>Organization:
>Environment:
System: FreeBSD 6.2-PRERELEASE #0: Wed Dec 27 14:23:22 EST 2006
tom at 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 "¿", '¿' <repeats 199 times>..., 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 "¿", '¿' <repeats 199 times>..., 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 <oil_test_check_function>, 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"
<s
>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 at 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 at am__append_2 = i386/libi386.la i386_amd64/libi386_amd64.la
+ @HAVE_MMX_INTRINSICS_TRUE at am__append_3 = mmx
+ @HAVE_MMX_INTRINSICS_TRUE at am__append_4 = mmx/libmmx.la
+- at HAVE_SSE2_INTRINSICS_TRUE@am__append_5 = fb sse
+- at 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 at am__append_7 = amd64 i386_amd64
+@@ -126,8 +124,6 @@ liboil_ at 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 at am__DEPENDENCIES_3 = mmx/libmmx.la
+- at HAVE_SSE2_INTRINSICS_TRUE@am__DEPENDENCIES_4 = fb/libfb.la \
+- at HAVE_SSE2_INTRINSICS_TRUE@ sse/libsse.la
+ @HAVE_AMD64_TRUE@@HAVE_GCC_ASM_TRUE at 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 ---
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list