Re: [PATCH 10/12] powerpc/ftrace: FTRACE_WITH_REGS configuration variables
From: Torsten Duwe
Date: Thu Feb 25 2016 - 09:34:15 EST
On Thu, Feb 25, 2016 at 12:11:33PM +1100, Balbir Singh wrote:
> On 25/02/16 01:28, Michael Ellerman wrote:
> >
> > diff --git a/arch/powerpc/gcc-mprofile-kernel-notrace.sh b/arch/powerpc/gcc-mprofile-kernel-notrace.sh
> > new file mode 100755
> > index 000000000000..68d6482d56ab
> > --- /dev/null
> > +++ b/arch/powerpc/gcc-mprofile-kernel-notrace.sh
> > @@ -0,0 +1,33 @@
> > +#!/bin/sh
> > +# Test whether the compile option -mprofile-kernel
> > +# generates profiling code ( = a call to mcount), and
> > +# whether a function without any global references sets
> > +# the TOC pointer properly at the beginning, and
Remove the above two lines, for completeness,
> > +# whether the "notrace" function attribute successfully
> > +# suppresses the _mcount call.
> > +
> > +echo "int func() { return 0; }" | \
> > + $* -S -x c -O2 -p -mprofile-kernel - -o - 2> /dev/null | \
> > + grep -q "mcount"
> > +
> > +trace_result=$?
> > +
> > +echo "int func() { return 0; }" | \
> > + $* -S -x c -O2 -p -mprofile-kernel - -o - 2> /dev/null | \
> > + sed -n -e '/func:/,/bl _mcount/p' | grep -q TOC
> > +
> > +leaf_toc_result=$?
> > +
> We should remove this bit, we don't need a TOC for leaf procedures anymore
Exactly. I thought it was a bug when I wrote this test, Michael insisted
it was a feature :-)
> > +/bin/echo -e "#include <linux/compiler.h>\nnotrace int func() { return 0; }" | \
> > + $* -S -x c -O2 -p -mprofile-kernel - -o - 2> /dev/null | \
> > + grep -q "mcount"
> > +
> > +notrace_result=$?
> > +
> > +if [ "$trace_result" -eq "0" -a \
> > + "$leaf_toc_result" -eq "0" -a \
In particular, remove this ^ line.
> > + "$notrace_result" -eq "1" ]; then
> > + echo y
> > +else
> > + echo n
> > +fi
That version would have made it into my v9.
Signed-off-by: Torsten Duwe <duwe@xxxxxxx>
Torsten