This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] gcc mcount-nofp was Re: BUG: GCC-4.4.x changes the function frame on some functions
- From: Steven Rostedt <rostedt at goodmis dot org>
- To: Andi Kleen <andi at firstfloor dot org>
- Cc: Ingo Molnar <mingo at elte dot hu>, Linus Torvalds <torvalds at linux-foundation dot org>, Richard Guenther <richard dot guenther at gmail dot com>, Thomas Gleixner <tglx at linutronix dot de>, "H. Peter Anvin" <hpa at zytor dot com>, LKML <linux-kernel at vger dot kernel dot org>, Andrew Morton <akpm at linux-foundation dot org>, Heiko Carstens <heiko dot carstens at de dot ibm dot com>, feng dot tang at intel dot com, Fr??d??ric Weisbecker <fweisbec at gmail dot com>, Peter Zijlstra <peterz at infradead dot org>, jakub at redhat dot com, gcc at gcc dot gnu dot org
- Date: Fri, 20 Nov 2009 07:34:19 -0500
- Subject: Re: [PATCH] gcc mcount-nofp was Re: BUG: GCC-4.4.x changes the function frame on some functions
- References: <alpine.LFD.2.00.0911181933540.24119@localhost.localdomain> <tip-887a29f59b93cf54e21814869a4ab6e80b6fa623@git.kernel.org> <20091119072040.GA23579@elte.hu> <alpine.LFD.2.00.0911191053390.24119@localhost.localdomain> <alpine.LFD.2.00.0911191423190.24119@localhost.localdomain> <alpine.LFD.2.00.0911191607440.24119@localhost.localdomain> <alpine.LFD.2.00.0911190934070.2793@localhost.localdomain> <1258653562.22249.682.camel@gandalf.stny.rr.com> <84fc9c000911191003t244eb864o3d5b355ab5485f@mail.gmail.com> <alpine.LFD.2.00.0911191026420.2793@localhost.localdomain> <20091119184716.GA25458@elte.hu> <1258657614.22249.824.camel@gandalf.stny.rr.com> <87iqd54iz5.fsf_-_@basil.nowhere.org>
- Reply-to: rostedt at goodmis dot org
On Fri, 2009-11-20 at 10:57 +0100, Andi Kleen wrote:
> Steven Rostedt <rostedt@goodmis.org> writes:
> >
> > And frame pointers do add a little overhead as well. Too bad the mcount
> > ABI wasn't something like this:
> >
> >
> > <function>:
> > call mcount
> > [...]
> >
> > This way, the function address for mcount would have been (%esp) and the
> > parent address would be 4(%esp). Mcount would work without frame
> > pointers and this whole mess would also become moot.
>
> I did a patch to do this in x86 gcc some time ago. The motivation
> was indeed the frame pointer overhead on Atom with tracing.
>
Yes, I remember you talking about this but I don't remember how far it
went.
> Unfortunately it also requires glibc changes (I did those too). For
> compatibility and catching mistakes the new function was called
> __mcount_nofp.
Actually, could you change the name? I really hate the "mcount" name, it
is legacy and with a new feature, it should be abandoned. Something like
"__fentry__" would be nicer.
>
> I haven't tried it with current gcc and last time I missed the
> gcc feature merge window with this.
>
> But perhaps you find it useful. Of course it would need more
> kernel changes to probe for the new option and handle it.
>
> Here's the old patch. I haven't retested it with a current
> gcc version, but I think it still applies at least.
>
> If there's interest I can polish it up and submit formally.
I would definitely be interested, and I would also be willing to test
it.
Thanks!
-- Steve