Fun with GCC 4.8

Austin English austinenglish at gmail.com
Thu Apr 18 15:25:15 CDT 2013


On Thu, Apr 18, 2013 at 1:32 AM, James Eder <jimportal at gmail.com> wrote:

>
>
>
> On Mon, Apr 15, 2013 at 3:58 PM, Marcus Meissner <marcus at jet.franken.de>wrote:
>
>> On Mon, Apr 15, 2013 at 02:37:27PM -0600, James Eder wrote:
>> > As many of you no doubt know,  GCC recently released 4.8.0.  This new
>> > version introduces a new optimization level enabled by -Og with the
>> > following description (from the man page):
>> >
>> > "Optimize debugging experience. -Og enables optimizations that do not
>> > interfere with debugging. It should be the optimization level of choice
>> for
>> > the standard edit-compile-debug cycle, offering a reasonable level of
>> > optimization while maintaining fast compilation and a good debugging
>> > experience."
>> >
>> > Of course I had to try it out.  I found that building Wine lead to GCC
>> > dieing with
>> >
>> >   ... dlls/kernel32/console.c:1691:1: internal compiler error:
>> Segmentation
>> > fault
>> >
>> > I also found
>> >
>> >   ... dlls/kernel32/computername.c:701:1: internal compiler error:
>> > Segmentation fault
>> >
>> > I eventually stumbled my way into the enclosed patch which lets GCC
>> build
>> > Wine with -Og.
>> >
>> > I'm not sure if this change (or something similar) makes sense for Wine.
>> > I'm fairly certain some changes make sense for GCC (I suspect that GCC
>> > should not segfault).
>> >
>> > I haven't submitted a bug for GCC because I suspect they'll want me to
>> > provide something simpler to compile than the Wine source tree.  I
>> > certainly won't be upset if someone beats me too it.  I'm not sure how
>> much
>> > time in the near future I'll spend on it.  "Eventually" is probably the
>> > word that fits.
>> >
>> > At any rate, I wanted to at least share my experiences in case anyone is
>> > interested in heading down the same path.
>>
>> You copy and paste the failing commandline and add --save-temps, like
>> e.g.:
>>
>>         gcc -c -I/home/marcus/projects/wine/dlls/kernel32 -I.
>> -I/home/marcus/projects/wine/include -I../../include  -D__WINESRC__
>> -D_KERNEL32_ -D_NORMALIZE_ -D_REENTRANT -fPIC -Wall -pipe
>> -fno-strict-aliasing -Wdeclaration-after-statement -Wempty-body
>> -Wignored-qualifiers -Wstrict-prototypes -Wtype-limits
>> -Wunused-but-set-parameter -Wwrite-strings -gdwarf-2 -gstrict-dwarf
>> -Wpointer-arith -Wlogical-op -I/usr/include/freetype2    -Wall  -g
>> -fstack-protector  -o console.o
>> /home/marcus/projects/wine/dlls/kernel32/console.c -Og --save-temps
>>
>> it will generate a console.i file in the currenct directory.
>>
>> The console.i file and above commandline are a start for the gcc bug.
>>
>> Ciao, Marcus
>>
>
> Looks like the bug is fixed and should be in for GCC 4.8.1.
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56992
>
> --
> Jim
>
> FWIW, this is separate from http://bugs.winehq.org/show_bug.cgi?id=33307,
which is still present in gcc trunk (both master and the gcc_48 branch.

-- 
-Austin
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.winehq.org/pipermail/wine-devel/attachments/20130418/937c4f23/attachment.html>


More information about the wine-devel mailing list