Date: Sun, 02 Aug 2009 23:40:05 +0400 From: Anonymous <swell.k@gmail.com> To: FreeBSD-gnats-submit@FreeBSD.org Subject: ports/137363: [patch] graphics/devil: add SIMD knob Message-ID: <86ocqygg2y.fsf@gmail.com> Resent-Message-ID: <200908021950.n72Jo0bX097292@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 137363 >Category: ports >Synopsis: [patch] graphics/devil: add SIMD knob >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Sun Aug 02 19:50:00 UTC 2009 >Closed-Date: >Last-Modified: >Originator: Anonymous >Release: FreeBSD 8.0-CURRENT amd64 >Organization: >Environment: System: FreeBSD 8.0-BETA2 #0 r196037M: Sun Aug 2 15:30:58 UTC 2009 roo= t@luffy:/usr/obj/usr/src/sys/PHOENIX amd64 >Description: Hide machine extensions behind SIMD knob. Perhaps, better to use --disable-asm rather than disabling each one separetely. Besides, it fixes love(6) compiled by gcc45 `bus error' crash for me. --- crash.log begins here --- (gdb) r Starting program: /usr/local/bin/love During symbol reading...location expression too complex... During symbol reading...location expression too complex... [New LWP 100315] During symbol reading...location expression too complex... During symbol reading...location expression too complex... [New Thread 8066021c0 (LWP 100315)] This is LOVE 0.5.0 (Salted Nuts). INIT love.filesystem [PhysFS] INIT love.graphics [OpenGL/DevIL/FreeType] Program received signal SIGBUS, Bus error. [Switching to Thread 8066021c0 (LWP 100315)] free (ptr=3D0x31003200320032) at /usr/src/lib/libc/stdlib/malloc.c:3889 3889 arena_dalloc(chunk->arena, chunk, ptr); Current language: auto; currently c (gdb) bt f #0 free (ptr=3D0x31003200320032) at /usr/src/lib/libc/stdlib/malloc.c:3889 No locals. During symbol reading, Incomplete CFI data; unspecified registers at 0x0000= 0008055684a5. #1 0x0000000802e3ab5a in _mm_free (aligned_ptr=3D0x806615134) at mm_malloc= .h:71 No locals. #2 0x0000000802e3ac4a in DefaultFreeFunc (ptr=3D0x806615134) at ./../src-IL/src/il_alloc.c:127 No locals. #3 0x0000000802e3abb6 in ifree (Ptr=3D0x806615134) at ./../src-IL/src/il_alloc.c:99 No locals. #4 0x0000000802e72146 in ilTexImage_ (Image=3D0x8066516c0, Width=3D64, Height=3D64, Depth=3D1, Bpp=3D3 '\003', Format=3D32992, Type=3D5121, Da= ta=3D0x0) at ./../src-IL/src/il_devil.c:156 No locals. #5 0x0000000802e7200e in ilTexImage (Width=3D64, Height=3D64, Depth=3D1, Bpp=3D3 '\003', Format=3D32992, Type=3D5121, Data=3D0x0) at ./../src-IL/src/il_devil.c:129 No locals. #6 0x0000000802e5e036 in ilDefaultImage () at ./../src-IL/src/il_manip.c:6= 17 TempData =3D (ILubyte *) 0x800792600 "z=EF=BF=BDP=EF=BF=BD" Yellow =3D "\022=EF=BF=BD=EF=BF=BD" Black =3D "\000\000" ColorPtr =3D (ILubyte *) 0x7fffffffe0f0 "\022=EF=BF=BD=EF=BF=BD" Color =3D 1 '\001' v =3D 514 w =3D 8 x =3D 51030952 y =3D 8 #7 0x0000000802e3c8b6 in iSetImage0 () at ./../src-IL/src/il_stack.c:648 No locals. #8 0x0000000802e3c6e1 in ilInit () at ./../src-IL/src/il_stack.c:590 No locals. #9 0x000000000047eb5c in love_opengl::module_init (argc=3D1, argv=3D0x7fffffffe378, core=3D0x80660d180) at opengl/love_opengl.cpp:107 No locals. #10 0x00000000004699a9 in love::Core::insmod (this=3D0x80660d180, m=3D@0x7fffffffe230) at liblove/Core.cpp:55 No locals. #11 0x0000000000469be1 in love::Core::insmod (this=3D0x80660d180, init=3D0x47ea46 <love_opengl::module_init(int, char**, love::Core*)>, quit=3D0x47e2b2 <love_opengl::module_quit()>, open=3D0x47ea0c <love_opengl::module_open(void*)>) at liblove/Core.cpp:= 65 m =3D { px =3D 0x80660c280, pn =3D { pi_ =3D 0x80660c2a0 } } #12 0x0000000000409392 in main (argc=3D1, argv=3D0x7fffffffe378) at love.cp= p:81 core =3D { px =3D 0x80660d180, pn =3D { pi_ =3D 0x80660c1c0 } } timer =3D (struct love::Timer *) 0x40920b graphics =3D (struct love::Graphics *) 0x7fffffffe310 system =3D (struct love::System *) 0x4fe46a e =3D { type =3D 120 'x', active =3D { type =3D 120 'x', gain =3D 227 '=EF=BF=BD', state =3D 255 '=EF=BF=BD' }, key =3D { type =3D 120 'x', which =3D 227 '=EF=BF=BD', state =3D 255 '=EF=BF=BD', keysym =3D { scancode =3D 255 '=EF=BF=BD', sym =3D SDLK_UNKNOWN, mod =3D KMOD_NONE, unicode =3D 0 } }, motion =3D { type =3D 120 'x', which =3D 227 '=EF=BF=BD', state =3D 255 '=EF=BF=BD', x =3D 32767, y =3D 0, xrel =3D 0, yrel =3D 0 }, button =3D { type =3D 120 'x', which =3D 227 '=EF=BF=BD', button =3D 255 '=EF=BF=BD', state =3D 255 '=EF=BF=BD', x =3D 32767, y =3D 0 }, jaxis =3D { type =3D 120 'x', which =3D 227 '=EF=BF=BD', axis =3D 255 '=EF=BF=BD', value =3D 32767 }, jball =3D { type =3D 120 'x', which =3D 227 '=EF=BF=BD', ball =3D 255 '=EF=BF=BD', xrel =3D 32767, yrel =3D 0 }, jhat =3D { type =3D 120 'x', which =3D 227 '=EF=BF=BD', hat =3D 255 '=EF=BF=BD', value =3D 255 '=EF=BF=BD' }, jbutton =3D { type =3D 120 'x', which =3D 227 '=EF=BF=BD', button =3D 255 '=EF=BF=BD', state =3D 255 '=EF=BF=BD' }, resize =3D { type =3D 120 'x', w =3D 32767, h =3D 0 }, expose =3D { type =3D 120 'x' }, quit =3D { type =3D 120 'x' }, user =3D { type =3D 120 'x', code =3D 32767, data1 =3D 0x0, data2 =3D 0x0 }, syswm =3D { type =3D 120 'x', msg =3D 0x0 } } running =3D false --- crash.log ends here --- >How-To-Repeat: >Fix: --- devil.diff begins here --- Index: graphics/devil/Makefile =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /home/csup/ports/graphics/devil/Makefile,v retrieving revision 1.26 diff -u -p -r1.26 Makefile --- graphics/devil/Makefile 18 Jul 2009 11:10:46 -0000 1.26 +++ graphics/devil/Makefile 2 Aug 2009 16:02:13 -0000 @@ -24,7 +24,8 @@ OPTIONS=3D JPEG "Enable JPEG support" on=20 TIFF "Enable TIFF support" on \ X11 "Enable X11 support" on \ SDL "Enable SDL support" off \ - NVTT "Enable NVidia texture tools support" off + NVTT "Enable NVidia texture tools support" off \ + SIMD "Enable SIMD autodetection (AltiVec, SSE3,...)" off =20 WRKSRC=3D ${WRKDIR}/${DISTNAME:L} =20 @@ -34,8 +35,7 @@ ACLOCAL_ARGS=3D -I m4 -I ${LOCALBASE}/shar AUTOMAKE_ARGS=3D --add-missing --copy --force-missing CONFIGURE_ENV=3D CPPFLAGS=3D"${CPPFLAGS}" LDFLAGS=3D"${LDFLAGS}" CONFIGURE_ARGS=3D --enable-ILU \ - --disable-allegro --disable-directx8 --disable-directx9 \ - --disable-altivec --disable-sse --disable-sse2 --disable-sse3 + --disable-allegro --disable-directx8 --disable-directx9 USE_LDCONFIG=3D yes MAKE_JOBS_SAFE=3D yes =20 @@ -109,6 +109,10 @@ LDFLAGS+=3D ${PTHREAD_LIBS} CONFIGURE_ARGS+=3D--without-nvtt .endif =20 +.if defined(WITHOUT_SIMD) +CONFIGURE_ARGS+=3D--disable-altivec --disable-sse --disable-sse2 --disable= -sse3 +.endif + post-patch: @${REINPLACE_CMD} -e '/^SUBDIRS/s|docs||g' ${WRKSRC}/Makefile.am @${REINPLACE_CMD} -e '/^pkgdir=3D/s|$$(libdir)/|$$(prefix)/libdata/|g' \ --- devil.diff ends here --- >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?86ocqygg2y.fsf>