summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorSteven Rostedt <srostedt@redhat.com>2008-05-12 21:20:50 +0200
committerThomas Gleixner <tglx@linutronix.de>2008-05-23 20:56:43 +0200
commit3594136ad67a54d77bcb2547e70011754a2f91d5 (patch)
tree6e0cd72b5679254f4e9ab4959987f8cd96c07b0f /lib
parentcaf8cdebfb6c1cff50ea8077f1a07c2333d6d1fd (diff)
downloadlinux-stable-3594136ad67a54d77bcb2547e70011754a2f91d5.tar.gz
linux-stable-3594136ad67a54d77bcb2547e70011754a2f91d5.tar.bz2
linux-stable-3594136ad67a54d77bcb2547e70011754a2f91d5.zip
ftrace: do not profile lib/string.o
Most archs define the string and memory compare functions in assembly. Some do not. But these functions may be used in some archs at early boot up. Since most archs define this code in assembly and they are not usually traced, there's no need to trace them when they are not defined in assembly. This patch removes the -pg from the CFLAGS for lib/string.o. This prevents the string functions use in either vdso or early bootup from crashing the system. Signed-off-by: Steven Rostedt <srostedt@redhat.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'lib')
-rw-r--r--lib/Makefile8
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/Makefile b/lib/Makefile
index 74b0cfb1fcc3..6ca9e6ee1e33 100644
--- a/lib/Makefile
+++ b/lib/Makefile
@@ -8,6 +8,14 @@ lib-y := ctype.o string.o vsprintf.o cmdline.o \
sha1.o irq_regs.o reciprocal_div.o argv_split.o \
proportions.o prio_heap.o ratelimit.o
+ifdef CONFIG_FTRACE
+# Do not profile string.o, since it may be used in early boot or vdso
+ORIG_CFLAGS := $(KBUILD_CFLAGS)
+KBUILD_CFLAGS = $(if $(subst string,,$(basename $(notdir $@))), \
+ $(ORIG_CFLAGS), \
+ $(subst -pg,,$(ORIG_CFLAGS)))
+endif
+
lib-$(CONFIG_MMU) += ioremap.o
lib-$(CONFIG_SMP) += cpumask.o