Commit 96f60dfa authored by Andi Kleen's avatar Andi Kleen Committed by Steven Rostedt (VMware)

trace: Use -mcount-record for dynamic ftrace

gcc 5 supports a new -mcount-record option to generate ftrace
tables directly. This avoids the need to run record_mcount
manually.

Use this option when available.

So far doesn't use -mcount-nop, which also exists now.

This is needed to make ftrace work with LTO because the
normal record-mcount script doesn't run over the link
time output.

It should also improve build times slightly in the general
case.
Link: http://lkml.kernel.org/r/20171127213423.27218-12-andi@firstfloor.orgSigned-off-by: default avatarAndi Kleen <ak@linux.intel.com>
Signed-off-by: default avatarSteven Rostedt (VMware) <rostedt@goodmis.org>
parent 2824f503
...@@ -207,6 +207,11 @@ cmd_modversions_c = \ ...@@ -207,6 +207,11 @@ cmd_modversions_c = \
endif endif
ifdef CONFIG_FTRACE_MCOUNT_RECORD ifdef CONFIG_FTRACE_MCOUNT_RECORD
# gcc 5 supports generating the mcount tables directly
ifneq ($(call cc-option,-mrecord-mcount,y),y)
KBUILD_CFLAGS += -mrecord-mcount
else
# else do it all manually
ifdef BUILD_C_RECORDMCOUNT ifdef BUILD_C_RECORDMCOUNT
ifeq ("$(origin RECORDMCOUNT_WARN)", "command line") ifeq ("$(origin RECORDMCOUNT_WARN)", "command line")
RECORDMCOUNT_FLAGS = -w RECORDMCOUNT_FLAGS = -w
...@@ -259,6 +264,7 @@ ifneq ($(RETPOLINE_CFLAGS),) ...@@ -259,6 +264,7 @@ ifneq ($(RETPOLINE_CFLAGS),)
objtool_args += --retpoline objtool_args += --retpoline
endif endif
endif endif
endif
ifdef CONFIG_MODVERSIONS ifdef CONFIG_MODVERSIONS
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment