Re: [RFC PATCH kernel] trace: Make FTRACE_MCOUNT_USE_RECORDMCOUNT configurable

From: Naveen N. Rao
Date: Wed Feb 16 2022 - 04:52:22 EST


Alexey Kardashevskiy wrote:


On 2/15/22 03:10, Sami Tolvanen wrote:
On Fri, Feb 11, 2022 at 4:11 PM Nick Desaulniers
<ndesaulniers@xxxxxxxxxx> wrote:

+ Sami, Kees

Do you guys remember why we don't support
FTRACE_MCOUNT_USE_RECORDMCOUNT with LTO?

It's because recordmcount cannot distinguish between calls and other
references to mcount/fentry, which is a problem with LTO where we have
to process the entire vmlinux.o and cannot ignore individual
translation units. Instead of resorting to workarounds, Peter was kind
enough to implement a smarter mcount pass in objtool, which we now use
on x86_64 with LTO.

I had responded on a different thread about this:
http://lkml.kernel.org/r/1644579444.bal9kji6uc.naveen@xxxxxxxxxxxxx

We are working on enabling 'objtool check --mcount' on powerpc.



So can x86_64 have both FTRACE_MCOUNT_USE_RECORDMCOUNT and LTO?

No. x86_64 now supports HAVE_OBJTOOL_MCOUNT, which enables FTRACE_MCOUNT_USE_OBJTOOL. That allows LTO to be used.


- Naveen