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

Bug 30345

Summary: mjpegtools build always uses '-mcpu=i686 -march=i686'
Product: Gentoo Linux Reporter: Shane Simmons <regeya>
Component: [OLD] UnspecifiedAssignee: Gentoo Media-video project <media-video>
Status: RESOLVED FIXED    
Severity: normal    
Priority: High    
Version: unspecified   
Hardware: x86   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Shane Simmons 2003-10-04 13:22:20 UTC
For whatever reason, mjpegtools on this system always uses '-mcpu=i686 
-march=i686'.  Wouldn't be that big of a deal except that this machine's processor is a 
VIA C3-1G, the bastard cousin of the K6.  For whatever reason, the configure script 
has also decided that cmov support should be enabled, which isn't in the C3-1G's 
instruction set (cmov is an optional instruction.) 
 
This causes a number of "unexplainable" mpeg2enc/etc. crashes. 

Reproducible: Always
Steps to Reproduce:
1.
2.
3.
Comment 1 Alan 2003-10-15 09:58:00 UTC
I have also just seen this in the latest stable build (1.6.1.90-r1).
Comment 2 Christian Jiresjö 2003-11-17 05:06:15 UTC
As far as i can see configure never actually checks for the precence of the instruction but rather just checks if --disable-cmov was given and then disables it. mpcu/march comes from checking if cmov is enable and if enable do uname -m and then based on it set mpcu/march else set it to i586.

It should maybe have something like what is described in this gcc-maillinglist message (http://gcc.gnu.org/ml/gcc-patches/2003-09/msg00217.html)
Comment 3 Wout Mertens (RETIRED) gentoo-dev 2004-01-16 04:17:25 UTC
In that case, it should just be a matter of

grep -q cmov /proc/cpuinfo || myconf="$myconf --disable-cmov"

But maybe the whole flag generation part of the configuration should be removed and replaced with the user CFLAGS...
Comment 4 Wout Mertens (RETIRED) gentoo-dev 2004-01-16 09:20:01 UTC
Applied this and version bumped. Please test, and reopen if not working.