gcc4: -ffast-math causes segfaults
Dave Korn
dave.korn.cygwin@googlemail.com
Mon Jul 13 13:03:00 GMT 2009
Yaakov (Cygwin/X) wrote:
> Just today I have encountered two cases, one C and one C++, where
> compiling with gcc-4.3 and -ffast-math (which was added by the packages
> in question) caused segfaults in the resulting executables.
>
> Are there any known issues with -ffast-math that I should be aware of?
Yes. -ffaast-math allows the compiler to generate SSE instructions. This
is a problem if used with plain uninitialised C common variable declarations,
because the PE file format doesn't have a way to specify the alignment of
common section allocations. Fixing this required adding support to both
binutils and GCC; the new release of binutils includes this support, and both
GCC HEAD and the coming-real-soon-now gcc-4.3.3-1 contain code to make use of
the new ability.
To verify if that's what you're running into, try your exe under the
debugger, and take a look at the instruction that's faulting; for example if
you see it's loading or storing an xmm or one of the other sse/etc registers,
and the address is only 8-aligned, you'll know you've run into this problem.
cheers,
DaveK
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
More information about the Cygwin
mailing list