On 03/03/16 15:26, Michael Ellerman wrote: > From: Torsten Duwe <duwe@xxxxxxx> > > The gcc switch -mprofile-kernel defines a new ABI for calling _mcount() > very early in the function with minimal overhead. > > Although mprofile-kernel has been available since GCC 3.4, there were > bugs which were only fixed recently. Currently it is known to work in > GCC 4.9, 5 and 6. > > Additionally there are two possible code sequences generated by the > flag, the first uses mflr/std/bl and the second is optimised to omit the > std. Currently only gcc 6 has the optimised sequence. This patch > supports both sequences. > > Initial work started by Vojtech Pavlik, used with permission. > > Key changes: > - rework _mcount() to work for both the old and new ABIs. > - implement new versions of ftrace_caller() and ftrace_graph_caller() > which deal with the new ABI. > - updates to __ftrace_make_nop() to recognise the new mcount calling > sequence. > - updates to __ftrace_make_call() to recognise the nop'ed sequence. > - implement ftrace_modify_call(). > - updates to the module loader to surpress the toc save in the module > stub when calling mcount with the new ABI. > > Signed-off-by: Torsten Duwe <duwe@xxxxxxx> > Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> > --- > Reviewed-by: Balbir Singh <bsingharora@xxxxxxxxx> -- 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