Thread (212 messages) 212 messages, 19 authors, 2020-09-10

Re: [RFC][PATCH] objtool,x86_64: Replace recordmcount with objtool

From: Peter Zijlstra <peterz@infradead.org>
Date: 2020-07-22 18:42:08
Also in: linux-arch, linux-pci, lkml

On Wed, Jul 22, 2020 at 01:55:42PM -0400, Steven Rostedt wrote:
quoted
Ha! it is trying to convert the "CALL __fentry__" into a NOP and not
finding the CALL -- because objtool already made it a NOP...

Weird, I thought recordmcount would also write NOPs, it certainly has
code for that. I suppose we can use CC_USING_NOP_MCOUNT to avoid those,
but I'd rather Steve explain this before I wreck things further.
The reason for not having recordmcount insert all the nops, is because
x86 has more than one optimal nop which is determined by the machine it
runs on, and not at compile time. So we figured just updated it then.

We can change it to be a nop on boot, and just modify it if it's not
the optimal nop already. 
Right, I throught that's what we'd be doing already, anyway:
That said, Andi Kleen added an option to gcc called -mnop-mcount which
will have gcc do both create the mcount section and convert the calls
into nops. When doing so, it defines CC_USING_NOP_MCOUNT which will
tell ftrace to expect the calls to already be converted.
That seems like the much easier solution, then we can forget about
recordmcount / objtool entirely for this.

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help