Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 391675

Summary: media-plugins/swh-plugins - make x86 extensions optional at compile time
Product: Gentoo Linux Reporter: cJ <cJ-gentoo>
Component: New packagesAssignee: Professional Audio Applications Maintainers <proaudio>
Status: RESOLVED FIXED    
Severity: normal    
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: Patch containing cJ's fixes
Ebuild with cJ's fixes

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!