Skip to content

Commit

Permalink
ftrace: do not profile lib/string.o
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Steven Rostedt authored and Thomas Gleixner committed May 23, 2008
1 parent caf8cde commit 3594136
Showing 1 changed file with 8 additions and 0 deletions.
8 changes: 8 additions & 0 deletions lib/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down

0 comments on commit 3594136

Please sign in to comment.