Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 391675 - media-plugins/swh-plugins - make x86 extensions optional at compile time
Summary: media-plugins/swh-plugins - make x86 extensions optional at compile time
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Professional Audio Applications Maintainers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-11-23 09:54 UTC by cJ
Modified: 2013-05-08 12:19 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
Patch containing cJ's fixes (swh-plugins-0.4.15-x86-asm-optional.patch,1.42 KB, patch)
2012-07-04 13:45 UTC, Risto A. Paju
Details | Diff
Ebuild with cJ's fixes (swh-plugins-0.4.15-r2.ebuild,1.82 KB, text/plain)
2012-07-04 13:46 UTC, Risto A. Paju
Details

Note You need to log in before you can comment on or make changes to this bug.
Description cJ 2011-11-23 09:54:28 UTC
A vicious bug is affecting the current 0.4.15 (and probably before that, didn't check) build code.
The USE flags are always treated as enabled by the configure script, which is buggy.
Upstream has been notified, the new version should fix that.
I suggested:
-AC_ARG_ENABLE(3dnow, [  --enable-3dnow Enables 3DNow! acceleration], AC_DEFINE_UNQUOTED(ACCEL_3DNOW, ""))
-AC_ARG_ENABLE(sse, [  --enable-sse Uses SSE instructions where possible, requires gcc3 and a processor with SSE support], USE_SSE="-msse -mfpmath=sse -malign-double")
-AC_ARG_ENABLE(darwin, [  --enable-darwin Builds plugins that will be shared object in the Darwin OS], DARWIN_CFLAGS="-fno-common -flat_namespace -bundle -undefined suppress -lbundle1.o")
+AC_ARG_ENABLE(3dnow, [  --enable-3dnow Enables 3DNow! acceleration], AS_IF($enableval = yes, AC_DEFINE_UNQUOTED(ACCEL_3DNOW, "")))
+AC_ARG_ENABLE(sse, [  --enable-sse Uses SSE instructions where possible, requires gcc3 and a processor with SSE support], AS_IF($enableval = yes, USE_SSE="-msse -mfpmath=sse -malign-double"))
+AC_ARG_ENABLE(darwin, [  --enable-darwin Builds plugins that will be shared object in the Darwin OS], AS_IF($enableval = yes, DARWIN_CFLAGS="-fno-common -flat_namespace -bundle -undefined suppress -lbundle1.o"))

For the new ebuild version, would it be possible to use EAPI=4 and do unpack/prepare and configure/compile separation ?

Thanks !

Reproducible: Always

Steps to Reproduce:
1. don't USE 3dnow
2. compile
3. test pitch scaler (eg. in audacity)
Actual Results:  
Crash in /usr/lib64/ladspa/pitch_scale_1193.so :

   0x00007f8cf282964e <+942>:   vmovss %xmm1,0x81ac(%rsp)
=> 0x00007f8cf2829657 <+951>:   femms  
   0x00007f8cf2829659 <+953>:   movq   (%eax),%mm0

What ? femms is a 3dnow instruction !
The util/pitchscale.c hand-crafted 3dnow assembly is guarded by ifdefs which are.. defined... from the configure file.

Expected Results:  
No crash
Comment 1 Risto A. Paju 2012-07-04 13:45:26 UTC
Created attachment 317131 [details, diff]
Patch containing cJ's fixes
Comment 2 Risto A. Paju 2012-07-04 13:46:31 UTC
Created attachment 317133 [details]
Ebuild with cJ's fixes
Comment 3 Risto A. Paju 2012-07-04 13:47:31 UTC
Compiles and runs fine on a PPC with these fixes.
Comment 4 Alexis Ballier gentoo-dev 2013-05-08 12:19:07 UTC
applied in -r2, I had to fix the patch though, thanks!