Prev: [PATCH 02/10] ARM: ftrace: document mcount formats
Next: [PATCH 07/10] ftrace: pass KBUILD_CFLAGS to record_mcount.pl
From: Rabin Vincent on 13 Mar 2010 02:00 With current gcc, compiling with both -pg and -fomit-frame-pointer is not allowed. However, -pg can be used to build without actually specying -fno-omit-frame-pointer, upon which the defaut behaviour for the target will be used. On ARM, it is not possible to build a Thumb-2 kernel with -fno-omit-frame-pointer (FRAME_POINTERS depends on !THUMB2_KERNEL). In order to support ftrace for Thumb-2, we need to be able to allow a combination of FUNCTION_TRACER and !FRAME_POINTER. We do this by omitting -fomit-frame-pointer if ftrace is enabled. Acked-by: Frederic Weisbecker <fweisbec(a)gmail.com> Signed-off-by: Rabin Vincent <rabin(a)rab.in> --- v2: Better comment. Makefile | 7 +++++++ 1 files changed, 7 insertions(+), 0 deletions(-) diff --git a/Makefile b/Makefile index 08ff02d..61404e0 100644 --- a/Makefile +++ b/Makefile @@ -546,8 +546,15 @@ endif ifdef CONFIG_FRAME_POINTER KBUILD_CFLAGS += -fno-omit-frame-pointer -fno-optimize-sibling-calls else +# Some targets (ARM with Thumb2, for example), can't be built with frame +# pointers. For those, we don't have FUNCTION_TRACER automatically +# select FRAME_POINTER. However, FUNCTION_TRACER adds -pg, and this is +# incompatible with -fomit-frame-pointer with current GCC, so we don't use +# -fomit-frame-pointer with FUNCTION_TRACER. +ifndef CONFIG_FUNCTION_TRACER KBUILD_CFLAGS += -fomit-frame-pointer endif +endif ifdef CONFIG_DEBUG_INFO KBUILD_CFLAGS += -g -- 1.7.0 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ |