Description of problem: gcc crashes while compiling Wine's dlls/user32/tests/menu.c file: predeal:~/j/wine/build/wine/dlls/user32/tests$ make gcc -c -I../../../../../source/wine/dlls/user32/tests -I. -I../../../../../source/wine/include -I../../../include -D_REENTRANT -fPIC -Wall -pipe -fno-strict-aliasing -Wdeclaration-after-statement -Wwrite-strings -Wtype-limits -Wpointer-arith -g -O2 -o menu.o ../../../../../source/wine/dlls/user32/tests/menu.c {standard input}: Assembler messages: {standard input}:7400: Warning: end of file not at end of a line; newline inserted {standard input}:7732: Error: bad register name `%' gcc: Internal error: Segmentation fault (program cc1) Please submit a full bug report. See <http://bugzilla.redhat.com/bugzilla> for instructions. No /tmp/cc* files are generated. With -save-temps instead of -pipe a corrupt/unfinished menu.s gets generated. Size of the unfinished menu.s varies depending on the optimization level aka -O, -O2 and -O3. The crash can be reproduced also with the preprocessed menu.i (attached). "gcc -c -O -o menu.o menu.i" is enough to reproduce the problem. There is no crash with disabled optimization. The code compiles fine on an up2date RHEL5 as well as an up2date F8. Version-Release number of selected component (if applicable): gcc-4.3.0-5.i386 How reproducible: Always Steps to Reproduce: 1. Build Wine version 0.9.58 or any later checkout from git, or 2. "gcc -c -O -o menu.o menu.i" of the attached menu.i file. 3. Actual results: Segfault while writing out the assembler code. Expected results: Successful compilation of the file. Additional info: This is on an up2date F9/Rawhide on a 4 year old OptiPlex GX270 with a P4 2.8 GHz with HT enabled and running a SMP kernel: Linux predeal 2.6.25-0.177.rc7.git6.fc9.i686 #1 SMP Mon Mar 31 13:30:54 EDT 2008 i686 i686 i386 GNU/Linux The box has 1 GB RAM with 2GB swap.
Created attachment 299969 [details] Preprocessed C code of Wine's source file dlls/user32/tests/menu.c
Looks like bugzilla has gzip the attachment a second time. Sorry about that.
Tracking this upstream.
*** Bug 443165 has been marked as a duplicate of this bug. ***
*** Bug 443536 has been marked as a duplicate of this bug. ***
Is there any news on this? I see that there still is some discussion in upstream #35204. What would be the recommended way to go because wine still fails on >=F9 and thus effectively blocks updates for F7,F8 as well.
(In reply to comment #6) For a work-around, then compile menu.c without "-O2". I do it by hand, but it could be automated by adding an explicit target for menu.o to the Makefile, and editing CC_FLAGS to delete the "-O2" before invoking the compiler.
You can just compile menu.c with -O2 -fno-tree-fre -fno-tree-pre as workaround, see PR35204.
*** Bug 447281 has been marked as a duplicate of this bug. ***
*** Bug 447584 has been marked as a duplicate of this bug. ***
*** Bug 448868 has been marked as a duplicate of this bug. ***
*** Bug 445494 has been marked as a duplicate of this bug. ***
*** Bug 451420 has been marked as a duplicate of this bug. ***
*** Bug 455177 has been marked as a duplicate of this bug. ***
*** Bug 455549 has been marked as a duplicate of this bug. ***
*** Bug 458903 has been marked as a duplicate of this bug. ***
Upstream 35811 marked RESOLVED / DUPLICATE of bug 35204 2008-04-03 09:53 Upstream 35204 marked RESOLVED / FIXED 2008-05-20 20:58 Is it possible now to get this patch included an updated package for Fedora 9?
*** Bug 460569 has been marked as a duplicate of this bug. ***
*** Bug 459913 has been marked as a duplicate of this bug. ***
*** Bug 456790 has been marked as a duplicate of this bug. ***
*** Bug 467543 has been marked as a duplicate of this bug. ***
*** Bug 468909 has been marked as a duplicate of this bug. ***
wine-1.1.14-1.fc9 has been pushed to the Fedora 9 stable repository. If problems still persist, please make note of it in this bug report.