Re: [PATCH v9 01/16] tracing: move function tracer options to Kconfig (causing parisc build failures)
From: Sami Tolvanen
Date: Wed Feb 24 2021 - 15:55:31 EST
On Wed, Feb 24, 2021 at 12:38 PM Kees Cook <keescook@xxxxxxxxxxxx> wrote:
>
>
On Wed, Feb 24, 2021 at 12:17:23PM -0800, Guenter Roeck wrote:
>
> On Fri, Dec 11, 2020 at 10:46:18AM -0800, Sami Tolvanen wrote:
>
> > Move function tracer options to Kconfig to make it easier to add
>
> > new methods for generating __mcount_loc, and to make the options
>
> > available also when building kernel modules.
>
> >
>
> > Note that FTRACE_MCOUNT_USE_* options are updated on rebuild and
>
> > therefore, work even if the .config was generated in a different
>
> > environment.
>
> >
>
> > Signed-off-by: Sami Tolvanen <samitolvanen@xxxxxxxxxx>
>
> > Acked-by: Steven Rostedt (VMware) <rostedt@xxxxxxxxxxx>
>
>
>
> With this patch in place, parisc:allmodconfig no longer builds.
>
>
>
> Error log:
>
> Arch parisc is not supported with CONFIG_FTRACE_MCOUNT_RECORD at scripts/recordmcount.pl line 405.
>
> make[2]: *** [scripts/mod/empty.o] Error 2
>
>
>
> Due to this problem, CONFIG_FTRACE_MCOUNT_RECORD can no longer be
>
> enabled in parisc builds. Since that is auto-selected by DYNAMIC_FTRACE,
>
> DYNAMIC_FTRACE can no longer be enabled, and with it everything that
>
> depends on it.
>
>
Ew. Any idea why this didn't show up while it was in linux-next?
Does anyone build parisc allmodconfig from -next?
parisc seems to always use -fpatchable-function-entry with dynamic
ftrace, so we just need to select
FTRACE_MCOUNT_USE_PATCHABLE_FUNCTION_ENTRY to stop it from defaulting
to recordmcount:
diff --git a/arch/parisc/Kconfig b/arch/parisc/Kconfig
index ecef9aff9d72..9ee806f68123 100644
--- a/arch/parisc/Kconfig
+++ b/arch/parisc/Kconfig
@@ -60,6 +60,7 @@ config PARISC
select HAVE_KPROBES
select HAVE_KRETPROBES
select HAVE_DYNAMIC_FTRACE if
$(cc-option,-fpatchable-function-entry=1,1)
+ select FTRACE_MCOUNT_USE_PATCHABLE_FUNCTION_ENTRY if HAVE_DYNAMIC_FTRACE
select HAVE_FTRACE_MCOUNT_RECORD if HAVE_DYNAMIC_FTRACE
select HAVE_KPROBES_ON_FTRACE
select HAVE_DYNAMIC_FTRACE_WITH_REGS
I'll send a proper patch shortly.
Sami