* Balbir Singh <bsingharora@xxxxxxxxx> [2016-02-11 18:48:17]: > On Wed, 2016-02-10 at 17:25 +0100, Torsten Duwe wrote: > > snip > > > diff --git a/arch/powerpc/gcc-mprofile-kernel-notrace.sh b/arch/powerpc/gcc-mprofile-kernel-notrace.sh > > new file mode 100755 > > index 0000000..68d6482 > > --- /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 > > +# 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=$? > > + > > leaf_toc_result failed for me with gcc 5. I'll try and grab gcc-6 > and give the patches a spin > It fails for me to on ppc64le but pass over ppc64 # gcc -v Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/libexec/gcc/ppc64-redhat-linux/5.1.1/lto-wrapper Target: ppc64-redhat-linux [...] gcc version 5.1.1 20150422 (Red Hat 5.1.1-1) (GCC) # echo "int func() { return 0; }" | gcc -S -x c -O2 -p -mprofile-kernel - -o - 2> /dev/null | sed -n -e '/func:/,/bl _mcount/p' func: .quad .L.func,.TOC.@tocbase .previous .type func, @function .L.func: mflr 0 std 0,16(1) bl _mcount # gcc -v Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/lib/gcc/powerpc64le-linux-gnu/5/lto-wrapper Target: powerpc64le-linux-gnu [...] gcc version 5.3.1 20160205 (Ubuntu/IBM 5.3.1-8ubuntu2) # echo "int func() { return 0; }" | gcc -S -x c -O2 -p -mprofile-kernel - -o - 2> /dev/null | sed -n -e '/func:/,/bl _mcount/p' func: mflr 0 std 0,16(1) bl _mcount I will try it over gcc-6. Thanks, Kamalesh -- To unsubscribe from this list: send the line "unsubscribe live-patching" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html