Try switching from -O2 to -O1 with configure CFLAGS="-g -O1" and rebuild. Does that help?
Yes. That works.
Regardless of whether that gets you past the problem, please file a bug in launchpad against gcc-4.5. Ideally they'd want you to run with -save-temps and give them a copy of pen.i.
https://bugs.launchpad.net/ubuntu/+source/gcc-4.5/+bug/704633 Here's the bug. I http://www.network-theory.co.uk/docs/gccintro/gccintro_36.html
Dan, I can't work the -save-temps option. All three give me "no input files." /wine-git$ gcc -save-temps /wine-git$ gcc -save-temps=cwd (or =obj) gcc: no input files
On 19 January 2011 12:41, Susan Cragin susancragin@earthlink.net wrote:
Dan, I can't work the -save-temps option. All three give me "no input files." /wine-git$ gcc -save-temps /wine-git$ gcc -save-temps=cwd (or =obj) gcc: no input files
You need to run it with the command line given in your output in the directory where it was run. That is:
cd /home/susan/wine/dlls/winex11.drv
gcc -save-temps -m32 -c -I. -I. -I../../include -I../../include -D__WINESRC__ -D_REENTRANT -fPIC -Wall -pipe -fno-strict-aliasing -Wdeclaration-after-statement -Wstrict-prototypes -Wtype-limits -Wwrite-strings -Wpointer-arith -Wlogical-op -g -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0 -o pen.o pen.c
HTH, - Reece
On Wed, Jan 19, 2011 at 4:46 AM, Reece Dunn msclrhd@googlemail.com wrote:
You need to run it with the command line given in your output in the directory where it was run. That is:
cd /home/susan/wine/dlls/winex11.drv
gcc -save-temps -m32 -c -I. -I. -I../../include -I../../include -D__WINESRC__ -D_REENTRANT -fPIC -Wall -pipe -fno-strict-aliasing -Wdeclaration-after-statement -Wstrict-prototypes -Wtype-limits -Wwrite-strings -Wpointer-arith -Wlogical-op -g -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0 -o pen.o pen.c
Perhaps more simply, you can do cd ~/wine-git ./configure CFLAGS="-O2 -save-temps" make It should crash as usual, but this time you should see a pen.i file laying around next to pen.o. (Ignore the warnings about -pipe being ignored.)
Sadly, because of the way Wine generates its makefiles, you can't just cd to dlls/winex11 yourself and do 'make pen.o', it won't get the -save-temps option.
If you're not afraid of editing Makefiles, though, you can skip all the above and do cd ~/wine-git/dlls/winex11 vi Makefile (and change -pipe to -save-temps) rm -f pen.o make pen.o That's faster. - Dan
Nicely done! Thanks for taking the time to do the full-on gcc bug report with .i file.
If at some point in the future you want to ascend to the next level of gcc bug reporting awesomeness, read up on delta debugging, an easy technique for automatically reducing the .i file to (nearly) the smallest possible input file that causes the crash. http://en.wikipedia.org/wiki/Delta_Debugging
Or don't; it's an easy next step for the gcc professionals, given what you gave them. - Dan