This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c/46468] New: enabling -fomit-frame-pointer by default breaks Wine


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46468

           Summary: enabling -fomit-frame-pointer by default breaks Wine
           Product: gcc
           Version: 4.6.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: austinenglish@gmail.com


I've noticed lately that 'winetricks -q fm20' fails on my machine. I finally
got around to running an svn bisect:

=============================================
Regression found!
Last good revision: r163193
First bad revision:
------------------------------------------------------------------------
r163196 | hjl | 2010-08-12 09:39:37 -0700 (Thu, 12 Aug 2010) | 16 lines

Turn on -fomit-frame-pointer by default for 32bit Linux/x86.

2010-08-12  H.J. Lu  <hongjiu.lu@intel.com>
        Uros Bizjak  <ubizjak@gmail.com>

    * config.gcc: Handle --enable-frame-pointer.

    * configure.ac: Add --enable-frame-pointer.
    * configure: Regenerated.

    * config/i386/i386.c (USE_IX86_FRAME_POINTER): Default to 0.
    (override_options): If not configured with --enable-frame-pointer,
    enable -fomit-frame-pointer (but not for TARGET_MACHO or when
    optimizing for size), -fasynchronous-unwind-tables and
    -maccumulate-outgoing-args by default.

=============================================

so, I tried compiling wine with -fno-omit-frame-pointer, still fails. The only
way to get a working wine was to compile gcc with --enable-frame-pointer.

The wine failure isn't too helpful:
$ wine /home/austin/.wine/dosdevices/c:/winetrickstmp/setup /qt
wine client error:3b: write: Bad file descriptor
err:seh:raise_exception Unhandled exception code c0000005 flags 0 addr
0x7dd247be
wine client error:3b: write: Bad file descriptor

however, the bug seems to be gcc producing bad code unless
--enable-frame-pointer is used.

-- 
-Austin


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]