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.