[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20171127213423.27218-12-andi@firstfloor.org>
Date: Mon, 27 Nov 2017 13:34:13 -0800
From: Andi Kleen <andi@...stfloor.org>
To: linux-kernel@...r.kernel.org
Cc: x86@...nel.org, samitolvanen@...gle.com, alxmtvv@...il.com,
linux-kbuild@...r.kernel.org, yamada.masahiro@...ionext.com,
akpm@...ux-foundation.org, Andi Kleen <ak@...ux.intel.com>,
rostedt@...dmis.org
Subject: [PATCH 11/21] trace: Use -mcount-record for dynamic ftrace
From: Andi Kleen <ak@...ux.intel.com>
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.
Cc: rostedt@...dmis.org
Signed-off-by: Andi Kleen <ak@...ux.intel.com>
---
scripts/Makefile.build | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/scripts/Makefile.build b/scripts/Makefile.build
index cb8997ed0149..8179563bcd85 100644
--- a/scripts/Makefile.build
+++ b/scripts/Makefile.build
@@ -219,6 +219,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
@@ -264,6 +269,7 @@ objtool_args += --no-unreachable
else
objtool_args += $(call cc-ifversion, -lt, 0405, --no-unreachable)
endif
+endif
# 'OBJECT_FILES_NON_STANDARD := y': skip objtool checking for a directory
# 'OBJECT_FILES_NON_STANDARD_foo.o := 'y': skip objtool checking for a file
--
2.13.6
Powered by blists - more mailing lists