summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorAndi Kleen <ak@linux.intel.com>2017-11-28 00:34:13 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2021-02-23 16:00:33 +0300
commit0788a22d85fea3b23b0a979f35d0a0a1a734ecc3 (patch)
treeb4e74b57c0cb652640fe394a11bd7368919471a7 /scripts
parent0d38200da5d9c26508fb5435e36ccd1345825ef3 (diff)
downloadlinux-0788a22d85fea3b23b0a979f35d0a0a1a734ecc3.tar.xz
trace: Use -mcount-record for dynamic ftrace
commit 96f60dfa5819a065bfdd2f2ba0df7d9cbce7f4dd upstream. 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.org Signed-off-by: Andi Kleen <ak@linux.intel.com> Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'scripts')
-rw-r--r--scripts/Makefile.build6
1 files changed, 6 insertions, 0 deletions
diff --git a/scripts/Makefile.build b/scripts/Makefile.build
index 3edc9c04cb46..b13aaf280183 100644
--- a/scripts/Makefile.build
+++ b/scripts/Makefile.build
@@ -224,6 +224,11 @@ cmd_modversions_c = \
endif
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
ifeq ("$(origin RECORDMCOUNT_WARN)", "command line")
RECORDMCOUNT_FLAGS = -w
@@ -274,6 +279,7 @@ endif
ifdef CONFIG_RETPOLINE
objtool_args += --retpoline
endif
+endif
ifdef CONFIG_MODVERSIONS