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

             Bug #: 51019
           Summary: unclear documentation on -fomit-frame-pointer default
                    for -Os and different platforms
    Classification: Unclassified
           Product: gcc
           Version: 4.6.2
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: web
        AssignedTo: unassig...@gcc.gnu.org
        ReportedBy: solar-...@openwall.com


The texinfo documentation for GCC 4.6.2 says:

     Starting with GCC version 4.6, the default setting (when not
     optimizing for size) for 32-bit Linux x86 and 32-bit Darwin x86
     targets has been changed to `-fomit-frame-pointer'.  The default
     can be reverted to `-fno-omit-frame-pointer' by configuring GCC
     with the `--enable-frame-pointer' configure option.

     Enabled at levels `-O', `-O2', `-O3', `-Os'.

The "when not optimizing for size" comment feels contradictory to having "-Os"
listed on the "Enabled at levels" line.  Also, it is not clear what the default
is on other than "32-bit Linux x86 and 32-bit Darwin x86".  In practice, I
observe the following behavior with GCC 4.6.2: on Linux/x86_64,
-fomit-frame-pointer is the default at both -O2 and -Os (I did not test
others); on Linux/i386, it is the default at -O2, but not at -Os.  This needs
to be documented more clearly.

Reply via email to