[tip:x86/mm] x86/ftrace: Exclude functions in head64.c from function-tracing

From: tip-bot for Kirill A. Shutemov
Date: Thu Jun 29 2017 - 16:38:22 EST


Commit-ID: bb43dbc5e09d52c6085dfee65f4f923b3fbcd1d4
Gitweb: http://git.kernel.org/tip/bb43dbc5e09d52c6085dfee65f4f923b3fbcd1d4
Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
AuthorDate: Tue, 27 Jun 2017 14:59:48 +0300
Committer: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
CommitDate: Thu, 29 Jun 2017 22:33:27 +0200

x86/ftrace: Exclude functions in head64.c from function-tracing

A recent commit moved most logic of early boot up from startup_64() written
in assembly to __startup_64() written in C.

Fengguang reported breakage due to the change. It was tracked down to
CONFIG_FUNCTION_TRACER being enabled.

Tracing this function is not possible because it's invoked from the
earliest boot stage before the relocation fixups have been done. It is the
function doing the relocation.

Exclude it from being built with tracer stubs.

Fixes: c88d71508e36 ("x86/boot/64: Rewrite startup_64() in C")
Reported-by: Fengguang Wu <fengguang.wu@xxxxxxxxx>
Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Acked-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: lkp@xxxxxx
Link: http://lkml.kernel.org/r/20170627115948.17938-1-kirill.shutemov@xxxxxxxxxxxxxxx

---
arch/x86/kernel/Makefile | 1 +
1 file changed, 1 insertion(+)

diff --git a/arch/x86/kernel/Makefile b/arch/x86/kernel/Makefile
index 4b99423..0db5120 100644
--- a/arch/x86/kernel/Makefile
+++ b/arch/x86/kernel/Makefile
@@ -18,6 +18,7 @@ CFLAGS_REMOVE_pvclock.o = -pg
CFLAGS_REMOVE_kvmclock.o = -pg
CFLAGS_REMOVE_ftrace.o = -pg
CFLAGS_REMOVE_early_printk.o = -pg
+CFLAGS_REMOVE_head64.o = -pg
endif

KASAN_SANITIZE_head$(BITS).o := n