From: Andi Kleen <andi@firstfloor.org> To: linux-kernel@vger.kernel.org Cc: x86@kernel.org, samitolvanen@google.com, alxmtvv@gmail.com, linux-kbuild@vger.kernel.org, yamada.masahiro@socionext.com, akpm@linux-foundation.org, Andi Kleen <ak@linux.intel.com>, rostedt@goodmis.org Subject: [PATCH 11/21] trace: Use -mcount-record for dynamic ftrace Date: Mon, 27 Nov 2017 13:34:13 -0800 Message-ID: <20171127213423.27218-12-andi@firstfloor.org> (raw) In-Reply-To: <20171127213423.27218-1-andi@firstfloor.org> From: Andi Kleen <ak@linux.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@goodmis.org Signed-off-by: Andi Kleen <ak@linux.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
next prev parent reply index Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top 2017-11-27 21:34 Link time optimization for LTO/x86 Andi Kleen 2017-11-27 21:34 ` [PATCH 01/21] x86/xen: Mark pv stub assembler symbol visible Andi Kleen 2017-11-27 21:34 ` [PATCH 02/21] afs: Fix const confusion in AFS Andi Kleen 2017-11-27 21:34 ` [PATCH 03/21] x86/timer: Don't inline __const_udelay Andi Kleen 2017-11-27 21:34 ` [PATCH 04/21] locking/spinlocks: Mark spinlocks noinline when inline spinlocks are disabled Andi Kleen 2017-11-27 21:34 ` [PATCH 05/21] x86/kvm: Make steal_time visible Andi Kleen 2017-11-27 21:34 ` [PATCH 06/21] x86/syscalls: Make x86 syscalls use real prototypes Andi Kleen 2017-11-27 21:34 ` [PATCH 07/21] x86: Make exception handler functions visible Andi Kleen 2017-11-27 21:34 ` [PATCH 08/21] x86/idt: Make const __initconst Andi Kleen 2017-11-27 21:34 ` [PATCH 09/21] lto: Use C version for SYSCALL_ALIAS Andi Kleen 2017-11-27 21:34 ` [PATCH 10/21] Fix read buffer overflow in delta-ipc Andi Kleen 2017-11-27 21:34 ` Andi Kleen [this message] 2017-12-01 0:22 ` [PATCH 11/21] trace: Use -mcount-record for dynamic ftrace Steven Rostedt 2018-05-01 18:42 ` Steven Rostedt 2017-11-27 21:34 ` [PATCH 12/21] ftrace: Mark function tracer test functions noinline/noclone Andi Kleen 2017-11-27 21:34 ` [PATCH 13/21] ftrace: Disable LTO for ftrace self tests Andi Kleen 2017-11-27 21:34 ` [PATCH 14/21] lto, fs: Avoid static variable in linux/fs.h Andi Kleen 2017-11-27 21:34 ` [PATCH 15/21] lto, x86, mm: Disable vmalloc BUILD_BUG_ON for LTO Andi Kleen 2017-11-27 21:34 ` [PATCH 16/21] lto: Add __noreorder and mark initcalls __noreorder Andi Kleen 2017-11-27 21:34 ` [PATCH 17/21] lto, workaround: Disable LTO for BPF Andi Kleen 2017-11-27 21:34 ` [PATCH 18/21] lto, crypto: Disable LTO for camelia glue Andi Kleen 2017-11-27 21:34 ` [PATCH 19/21] lto, x86: Disable LTO for realmode / vDSO / head64 Andi Kleen 2017-11-27 21:34 ` [PATCH 20/21] Kbuild, lto: Add Link Time Optimization support Andi Kleen 2018-01-27 0:15 ` Arnd Bergmann 2018-01-27 0:55 ` Andi Kleen 2018-01-27 14:26 ` Arnd Bergmann 2018-01-28 18:33 ` Andi Kleen 2017-11-27 21:34 ` [PATCH 21/21] x86: Enable Link Time Optimization Andi Kleen 2017-11-28 16:04 ` [PATCH 02/21] afs: Fix const confusion in AFS David Howells 2017-11-28 16:50 ` Andi Kleen 2017-11-29 23:09 ` Link time optimization for LTO/x86 Sami Tolvanen
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20171127213423.27218-12-andi@firstfloor.org \ --to=andi@firstfloor.org \ --cc=ak@linux.intel.com \ --cc=akpm@linux-foundation.org \ --cc=alxmtvv@gmail.com \ --cc=linux-kbuild@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=rostedt@goodmis.org \ --cc=samitolvanen@google.com \ --cc=x86@kernel.org \ --cc=yamada.masahiro@socionext.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
Linux-KBuild Archive on lore.kernel.org Archives are clonable: git clone --mirror https://lore.kernel.org/linux-kbuild/0 linux-kbuild/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 linux-kbuild linux-kbuild/ https://lore.kernel.org/linux-kbuild \ linux-kbuild@vger.kernel.org public-inbox-index linux-kbuild Example config snippet for mirrors Newsgroup available over NNTP: nntp://nntp.lore.kernel.org/org.kernel.vger.linux-kbuild AGPL code for this site: git clone https://public-inbox.org/public-inbox.git