On Mon, May 16, 2016 at 11:24:53PM +0900, Namhyung Kim wrote: > > -GLOBAL(ftrace_stub) > > +/* This is weak to keep gas from relaxing the jumps */ > > +WEAK(ftrace_stub) > > retq > > END(ftrace_caller)
You could also force the 5-byte jump. I guess you could also write simply ".long 0" in there but this way it is more robust if someone decides to add other stuff between the JMP and the ftrace_stub label. --- diff --git a/arch/x86/kernel/mcount_64.S b/arch/x86/kernel/mcount_64.S index ed48a9f465f8..b1db8a584c06 100644 --- a/arch/x86/kernel/mcount_64.S +++ b/arch/x86/kernel/mcount_64.S @@ -179,7 +179,9 @@ GLOBAL(ftrace_epilogue) #ifdef CONFIG_FUNCTION_GRAPH_TRACER GLOBAL(ftrace_graph_call) - jmp ftrace_stub + .byte 0xe9 + .long ftrace_stub - 1f +1: #endif GLOBAL(ftrace_stub) -- Regards/Gruss, Boris. SUSE Linux GmbH, GF: Felix Imendörffer, Jane Smithard, Graham Norton, HRB 21284 (AG Nürnberg) --