http://bugs.winehq.org/show_bug.cgi?id=22475
Summary: Compiline WINE with '-mfpmath=sse' in CFLAGS/CXXFLAGS on x86 causes segfaults Product: Wine Version: 1.1.43 Platform: x86 OS/Version: Linux Status: UNCONFIRMED Severity: trivial Priority: P2 Component: -unknown AssignedTo: wine-bugs@winehq.org ReportedBy: sandalle@sourcemage.org
If you compile wine with '-mfpmath=sse' in CFLAGS and CXXFLAGS, games such as Dungeons and Dragons Online (free-to-play, but not open source, so somewhat easy to test with), Lord of the Rings Online, and EVE Online all segfault when trying to load.
Running a basic command such as `wine iexplore` does not segfault.
I did not get any debugging information when I tried this, sorry. Removing '-mfpmath=sse' and recompiling WINE (used WINE 1.1.43, GCC 4.4.3, GNU LibC 2.11.1) removes the segfaults. Note that '-mfpmath=sse' is enabled by default on x86_64 (see http://gcc.gnu.org/onlinedocs/gcc-4.3.4/gcc/i386-and-x86_002d64-Options.html).
CFLAGS/CXXFLAGS used: -march=native -mtune=native -m32 -pipe -DPIC -fPIC -O2 -mmmx -msse -msse2 -mssse3 -msse4.1
Processor: $ cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 23 model name : Intel(R) Core(TM)2 Duo CPU P9500 @ 2.53GHz stepping : 6 cpu MHz : 800.000 cache size : 6144 KB physical id : 0 siblings : 2 core id : 0 cpu cores : 2 apicid : 0 initial apicid : 0 fdiv_bug : no hlt_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 10 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc arch_perfmon pebs bts aperfmperf pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 lahf_lm tpr_shadow vnmi flexpriority bogomips : 5053.30 clflush size : 64 cache_alignment : 64 address sizes : 36 bits physical, 48 bits virtual power management:
http://bugs.winehq.org/show_bug.cgi?id=22475
--- Comment #1 from Vitaliy Margolen vitaliy@kievinfo.com 2010-04-23 23:22:10 --- You missed the most important part - gcc version. Post output of 'gcc -v'.
http://bugs.winehq.org/show_bug.cgi?id=22475
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |austinenglish@gmail.com
--- Comment #2 from Austin English austinenglish@gmail.com 2010-04-24 00:16:16 --- Finding a small download (with source available) or better yet a builtin wine program that exhibits this would help greatly.
http://bugs.winehq.org/show_bug.cgi?id=22475
--- Comment #3 from Eric Sandall sandalle@sourcemage.org 2010-04-24 00:35:59 --- (In reply to comment #1)
You missed the most important part - gcc version. Post output of 'gcc -v'.
I said, "(used WINE 1.1.43, GCC 4.4.3, GNU LibC 2.11.1)" in the middle of a paragraph, not making it easy to find, sorry. :(
$ gcc -v Reading specs from /usr/lib/gcc/i686-pc-linux-gnu/4.4.3/specs Target: i686-pc-linux-gnu Configured with: /usr/src/gcc-4.4.3/configure --prefix=/usr --infodir=/usr/share/info --mandir=/usr/share/man --enable-threads=posix --with-system-zlib --build=i686-pc-linux-gnu Thread model: posix gcc version 4.4.3 (GCC)
$ uname -a Linux pangomer 2.6.33.2 #5 SMP Fri Apr 23 02:39:44 PDT 2010 i686 GNU/Linux
(In reply to comment #2) I'll try and find a more testable app to reproduce this bug and, hopefully, the actual place it segfaults and the error, but that may not be gotten to immediately.
http://bugs.winehq.org/show_bug.cgi?id=22475
--- Comment #4 from Henri Verbeet hverbeet@gmail.com 2010-04-24 06:49:36 --- Does Wine itself segfault, or throw an exception? If it throws an exception, is that an access violation or a floating point exception? Does this also happen with current git?
http://bugs.winehq.org/show_bug.cgi?id=22475
Dmitry Timoshkov dmitry@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution| |DUPLICATE
--- Comment #5 from Dmitry Timoshkov dmitry@codeweavers.com 2010-04-26 00:51:43 --- That's a gcc bug.
*** This bug has been marked as a duplicate of bug 22316 ***
http://bugs.winehq.org/show_bug.cgi?id=22475
Dmitry Timoshkov dmitry@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #6 from Dmitry Timoshkov dmitry@codeweavers.com 2010-04-26 00:51:56 --- Closing duplicate.