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

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


Andi Kleen wrote:

>> Ah, so your argument *is* "x86-64 profiling is degraded, so we might
>> as well degrade x86 as well."
> 
> It's not a totally unreasonable argument.

I agree; you can reason as follows:

* We are not going to change the 64-bit ABI.
* We really want profiling to work on the 64-bit ABI.
* Therefore, we must fix profiling for the 64-bit ABI so that it works
well without a frame pointer.
* That solution will probably work well on the 32-bit ABI too.

But, then there is a reasonable question about ordering.  If that's the
plan, then perhaps profiling should be fixed first, so that 32-bit users
don't lose that ability until someone gets around to fixing profiling
without a frame pointer.  On the other hand, maybe 32-bit users would
like their performance increase now.

HJ, I don't think your arguments are persuasive in themselves.  There is
not a completely obvious right answer here and simply tossing out the
same arguments doesn't make them more obviously right.  This is a
question about what's good for users; whether they benefit more by the
performance improvement than they lose by the change in ABI and code
breakage and associated loss of functionality.

My instinct on this issue remains that we should make the change, but I
don't claim that's obvious.  The only way I can see to get a scientific
answer (as opposed to "my instinct is" answer) is to talk to actual users.

Please either go do that, or else let's ask RTH, Uros, and Jan to vote;
we've got three x86 maintainers, so if they all vote, we can't have a tie...

-- 
Mark Mitchell
CodeSourcery
mark@codesourcery.com
(650) 331-3385 x713


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