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
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