This is the mail archive of the 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]

Re: PATCH: Turn on -fomit-frame-pointer by default for 32bit Linux/x86

On 08/03/2010 10:12 AM, Mark Mitchell wrote:
> Ultimately, however, I don't think this is an RM question.  I think it
> should be determined by the x86 back-end maintainers.  I'm happy to give
> my input, and to help moderate a discussion if appropriate, but this
> change does not affect any other architecture, so I think it's properly
> a question for the x86 back-end maintainers.

For the last week or so I've been trying to help ktietz with preparing
the x86_64 backend for Structured Exception Handling and the unwind
tables that win64 uses.

In the process of reading over the MS documentation, it appears that 
the MS compiler is no longer producing the traditional frame pointer.
Indeed, even when they *do* generate a frame pointer, its position in
the frame is lower than usual.  The advantage being that more of the 
local stack frame is addressable via RBP + 8-bit-offset, leading to
smaller code.  I think it would be very nice to be able to make this
change in GCC as well.

In order to do this, I would very much like to wean users off using
the traditional frame pointer and instead rely on the various unwind
libraries.  That MS programmers will now be forced to think in that
direction helps, I think.

Given that if a user files a bug we can always point them to a switch
to re-enable the traditional frame pointer, count me as in favor of the patch.


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