"illegal instruction" is a compiler bug, right?

Quentin Spencer qspencer at ieee.org
Sat Mar 11 23:22:29 UTC 2006


Rex Dieter wrote:

>Quentin Spencer wrote:
>  
>
>>I just got a report from a user of the Octave RPM on FC4 that he got a
>>crash due to an illegal instruction on an old AMD K6-3. I was able to
>>duplicate this on a Pentium 233 (yes, I still have one), but not on my
>>Centrino laptop. This shouldn't happen, right? The configure command
>>from the spec file is:
>>
>>CXXFLAGS="$RPM_OPT_FLAGS -D_GNU_SOURCE" ./configure \
>>       --enable-shared=yes --enable-lite-kernel --enable-static=no \
>>       --prefix=%{_prefix} --infodir=%{_infodir} --libdir=%{_libdir}
>>
>>This should produce something that runs on an i386, right?
>>    
>>
>
>Not right.
>
>By not using %configure, and manually using ./configure, you've built a
>binary that possibly optimizes for the build-host, though $RPM_OPT_FLAGS
>*should* avoid that problem.  NOTE: You only set CXXFLAGS, but not
>CFLAGS or FFLAGS (like what %configure does).
>  
>

OK, but if the application is written in C++, isn't setting CXXFLAGS 
enough? Whenever I build locally, it always looks like -march=i386 is 
set in all of the compile commands. (Granted, there are some fortran 
modules, but don't think the particular crash involves any of them).

>Is there a reason you didn't use the %configure macro?
>  
>

I think there was, but I can't remember what it is right now.

-Quentin




More information about the fedora-extras-list mailing list