Re: [PATCH v4 4/9] ppc64 ftrace_with_regs configuration variables

From: Petr Mladek
Date: Thu Dec 03 2015 - 11:20:19 EST


On Wed 2015-11-25 17:37:33, Torsten Duwe wrote:
> * Makefile:
> - globally use -mprofile-kernel in case it's configured.
> * arch/powerpc/Kconfig / kernel/trace/Kconfig:
> - declare that ppc64le HAVE_MPROFILE_KERNEL and
> HAVE_DYNAMIC_FTRACE_WITH_REGS, and use it.
>
> --- a/arch/powerpc/Makefile
> +++ b/arch/powerpc/Makefile
> @@ -133,6 +133,13 @@ else
> CFLAGS-$(CONFIG_GENERIC_CPU) += -mcpu=powerpc64
> endif
>
> +ifeq ($(CONFIG_PPC64),y)
> +ifdef CONFIG_HAVE_MPROFILE_KERNEL
> +CC_FLAGS_FTRACE := -pg $(call cc-option,-mprofile-kernel)

Do we want to define -pg even when -mprofile-kernel is not supported
by the used gcc, please?

> +KBUILD_CPPFLAGS += -DCC_USING_MPROFILE_KERNEL

IMHO, we should not define CC_USING_MPROFILE_KERNEL if it is not
supported by the compiler.

I took inspiration from the CC_USING_FENTRY handling in
linux/Makefile. The following code worked for me:

CC_USING_MPROFILE_KERNEL := $(call cc-option, -pg -mprofile-kernel -DCC_USING_MPROFILE_KERNEL)
CC_FLAGS_FTRACE := $(CC_USING_MPROFILE_KERNEL)
KBUILD_CPPFLAGS += $(CC_USING_MPROFILE_KERNEL)

I just do not understand why we need to add the flags also
to KBUILD_CPPFLAGS. It seems that they are duplicated
when compiling kernel/livepatch/core.o. But livepatching
did not work without it. I wonder if you found the culprit.

Best Regards,
Petr

> +endif
> +endif
> +
> CFLAGS-$(CONFIG_CELL_CPU) += $(call cc-option,-mcpu=cell)
> CFLAGS-$(CONFIG_POWER4_CPU) += $(call cc-option,-mcpu=power4)
> CFLAGS-$(CONFIG_POWER5_CPU) += $(call cc-option,-mcpu=power5)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/