summaryrefslogtreecommitdiffstats
path: root/arch/microblaze/kernel/Makefile
diff options
context:
space:
mode:
authorMichal Simek2009-11-16 09:40:14 +0100
committerMichal Simek2009-12-14 08:40:09 +0100
commit2fd7c761a24c28e83d7194b4b4a099451126a503 (patch)
treec8647ae1bc4519649e35e46b231f3f2af77f9a76 /arch/microblaze/kernel/Makefile
parentmicroblaze: Add TRACE_IRQFLAGS_SUPPORT (diff)
downloadkernel-qcow2-linux-2fd7c761a24c28e83d7194b4b4a099451126a503.tar.gz
kernel-qcow2-linux-2fd7c761a24c28e83d7194b4b4a099451126a503.tar.xz
kernel-qcow2-linux-2fd7c761a24c28e83d7194b4b4a099451126a503.zip
microblaze: ftrace: add static function tracer
If -pg of gcc is enabled with CONFIG_FUNCTION_TRACER=y. a calling to _mcount will be inserted into each kernel function. so, there is a possibility to trace the kernel functions in _mcount. This patch add the specific _mcount support for static function tracing. by default, ftrace_trace_function is initialized as ftrace_stub(an empty function), so, the default _mcount will introduce very little overhead. after enabling ftrace in user-space, it will jump to a real tracing function and do static function tracing for us. Commit message from Wu Zhangjin <wuzhangjin@gmail.com> Signed-off-by: Michal Simek <monstr@monstr.eu>
Diffstat (limited to 'arch/microblaze/kernel/Makefile')
-rw-r--r--arch/microblaze/kernel/Makefile11
1 files changed, 11 insertions, 0 deletions
diff --git a/arch/microblaze/kernel/Makefile b/arch/microblaze/kernel/Makefile
index c465a5c4669c..d5ee3264cd7d 100644
--- a/arch/microblaze/kernel/Makefile
+++ b/arch/microblaze/kernel/Makefile
@@ -2,6 +2,16 @@
# Makefile
#
+ifdef CONFIG_FUNCTION_TRACER
+# Do not trace early boot code and low level code
+CFLAGS_REMOVE_timer.o = -pg
+CFLAGS_REMOVE_intc.o = -pg
+CFLAGS_REMOVE_early_printk.o = -pg
+CFLAGS_REMOVE_selfmod.o = -pg
+CFLAGS_REMOVE_heartbeat.o = -pg
+CFLAGS_REMOVE_ftrace.o = -pg
+endif
+
extra-y := head.o vmlinux.lds
obj-y += exceptions.o \
@@ -17,5 +27,6 @@ obj-$(CONFIG_HEART_BEAT) += heartbeat.o
obj-$(CONFIG_MODULES) += microblaze_ksyms.o module.o
obj-$(CONFIG_MMU) += misc.o
obj-$(CONFIG_STACKTRACE) += stacktrace.o
+obj-$(CONFIG_FUNCTION_TRACER) += mcount.o
obj-y += entry$(MMU).o