From: Frederic Weisbecker <fweisbec@gmail.com>
To: Ingo Molnar <mingo@elte.hu>
Cc: "Tim Bird" <tim.bird@am.sony.com>,
linux-arm-kernel <linux-arm-kernel@lists.arm.linux.org.uk>,
"linux kernel" <linux-kernel@vger.kernel.org>,
"Steven Rostedt" <rostedt@goodmis.org>,
"Ingo Molnar" <mingo@redhat.com>,
"Abhishek Sagar" <sagar.abhishek@gmail.com>,
"Russell King" <rmk@arm.linux.org.uk>,
"Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>
Subject: Re: Anyone working on ftrace function graph support on ARM?
Date: Tue, 24 Mar 2009 23:54:58 +0100 [thread overview]
Message-ID: <20090324225458.GF5975@nowhere> (raw)
In-Reply-To: <20090324221439.GE29509@elte.hu>
On Tue, Mar 24, 2009 at 11:14:39PM +0100, Ingo Molnar wrote:
>
> * Frederic Weisbecker <fweisbec@gmail.com> wrote:
>
> > On Tue, Mar 24, 2009 at 10:48:46PM +0100, Ingo Molnar wrote:
> > >
> > > * Frederic Weisbecker <fweisbec@gmail.com> wrote:
> > >
> > > > Well it's a very naive listing, there are sometimes some problems.
> > > > For example on x86-64, I had to save even some non-scratch
> > > > registers before calling the return hook, I still don't know why.
> > >
> > > btw., which are those registers?
> > >
> > > Ingo
> >
> >
> > I would expect to only save rax,rdi,rsi,rdx,rcx,r8,r9 which are
> > used for parameters.
>
> > And I had some crashes until I append r10 and r11 which actually
> > are scratch if I'm not wrong, but since they are scratch and are
> > not used for arguments, I thought they didn't need to be saved.
> >
> > Well, I think there were some code flow cases I was missing.
>
> Correct, r10 and r11 are clobbered registers too - and you need to
> save them too in mcount methods.
>
> The reason is that mcount has a special calling convention - it's
> not just about not destroying arguments - GCC can keep data in r10
> or r11 scratch registers across function calls as well - for example
> for relatively static functions that are in its local optimization
> scope.
>
> If GCC can prove that the local scope function itself does not
> clobber r10/r11, it does not have to clobber them across the
> function call. But the mcount() callback still gets inserted.
>
> So the rule is: mcount must not destroy _any_ register state.
> (beyond flags)
>
> ngo
Aah, ok, understood!
Thanks.
next prev parent reply other threads:[~2009-03-24 22:55 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-03-24 19:38 Anyone working on ftrace function graph support on ARM? Tim Bird
2009-03-24 20:25 ` Ingo Molnar
2009-03-24 20:48 ` Tim Bird
2009-03-24 20:38 ` Uwe Kleine-König
2009-03-24 21:36 ` Frederic Weisbecker
2009-03-24 21:40 ` Tim Bird
2009-03-24 21:48 ` Ingo Molnar
2009-03-24 21:57 ` Frederic Weisbecker
2009-03-24 22:14 ` Ingo Molnar
2009-03-24 22:54 ` Frederic Weisbecker [this message]
2009-03-25 8:36 ` Russell King - ARM Linux
2009-03-25 16:00 ` Steven Rostedt
2009-03-25 17:13 ` Frederic Weisbecker
2009-03-25 20:27 ` [PATCH][GIT PULL] x86, function-graph: only save return values on x86_64 Steven Rostedt
2009-03-25 20:45 ` Jaswinder Singh Rajput
2009-03-25 21:26 ` Steven Rostedt
2009-04-08 16:09 ` Ingo Molnar
2009-04-08 16:37 ` Steven Rostedt
2009-04-08 16:41 ` Ingo Molnar
2009-04-08 17:40 ` Frederic Weisbecker
2009-03-24 22:29 ` Anyone working on ftrace function graph support on ARM? Abhishek Sagar
2009-03-24 22:48 ` Frederic Weisbecker
2009-03-25 8:42 ` Russell King - ARM Linux
2009-03-25 8:54 ` Ingo Molnar
2009-03-25 9:57 ` Russell King - ARM Linux
2009-03-25 10:45 ` Uwe Kleine-König
2009-03-25 11:21 ` Russell King - ARM Linux
2009-03-25 12:09 ` Uwe Kleine-König
2009-03-25 16:41 ` Tim Bird
2009-03-25 11:41 ` Frederic Weisbecker
2009-03-25 16:34 ` Tim Bird
2009-03-25 17:05 ` Uwe Kleine-König
2009-03-25 17:17 ` Russell King - ARM Linux
2009-03-25 18:37 ` Tim Bird
2009-03-25 18:41 ` Steven Rostedt
2009-03-27 12:58 ` Catalin Marinas
2009-04-09 15:29 ` Daniel Jacobowitz
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20090324225458.GF5975@nowhere \
--to=fweisbec@gmail.com \
--cc=linux-arm-kernel@lists.arm.linux.org.uk \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=mingo@redhat.com \
--cc=rmk@arm.linux.org.uk \
--cc=rostedt@goodmis.org \
--cc=sagar.abhishek@gmail.com \
--cc=tim.bird@am.sony.com \
--cc=u.kleine-koenig@pengutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.