Re: [tip:x86/build] x86/build: Don't pass in -D__KERNEL__ multiple times

From: Ingo Molnar
Date: Sat Mar 31 2018 - 04:38:30 EST



* tip-bot for Cao jin <tipbot@xxxxxxxxx> wrote:

> Commit-ID: d6289f36aa7d5893d091a7a0c67eee7798719f03
> Gitweb: https://git.kernel.org/tip/d6289f36aa7d5893d091a7a0c67eee7798719f03
> Author: Cao jin <caoj.fnst@xxxxxxxxxxxxxx>
> AuthorDate: Fri, 16 Mar 2018 16:49:44 +0800
> Committer: Ingo Molnar <mingo@xxxxxxxxxx>
> CommitDate: Sat, 31 Mar 2018 08:02:07 +0200
>
> x86/build: Don't pass in -D__KERNEL__ multiple times
>
> Some .<target>.cmd files under arch/x86 are showing two instances of
> -D__KERNEL__, like arch/x86/boot/ and arch/x86/realmode/rm/.
>
> __KERNEL__ is already defined in KBUILD_CPPFLAGS in the top Makefile,
> so it can be dropped safely.
>
> Signed-off-by: Cao jin <caoj.fnst@xxxxxxxxxxxxxx>
> Cc: H. Peter Anvin <hpa@xxxxxxxxx>
> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
> Cc: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx>
> Cc: Michal Marek <michal.lkml@xxxxxxxxxxx>
> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> Cc: linux-kbuild@xxxxxxxxxxxxxxx
> Link: http://lkml.kernel.org/r/20180316084944.3997-1-caoj.fnst@xxxxxxxxxxxxxx
> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
> ---
> arch/x86/Makefile | 3 +--
> arch/x86/boot/compressed/Makefile | 2 +-
> 2 files changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/arch/x86/Makefile b/arch/x86/Makefile
> index d798e36d103c..a517852dad55 100644
> --- a/arch/x86/Makefile
> +++ b/arch/x86/Makefile
> @@ -31,8 +31,7 @@ endif
> CODE16GCC_CFLAGS := -m32 -Wa,$(srctree)/arch/x86/boot/code16gcc.h
> M16_CFLAGS := $(call cc-option, -m16, $(CODE16GCC_CFLAGS))
>
> -REALMODE_CFLAGS := $(M16_CFLAGS) -g -Os -D__KERNEL__ \
> - -DDISABLE_BRANCH_PROFILING \
> +REALMODE_CFLAGS := $(M16_CFLAGS) -g -Os -DDISABLE_BRANCH_PROFILING \
> -Wall -Wstrict-prototypes -march=i386 -mregparm=3 \
> -fno-strict-aliasing -fomit-frame-pointer -fno-pic \
> -mno-mmx -mno-sse
> diff --git a/arch/x86/boot/compressed/Makefile b/arch/x86/boot/compressed/Makefile
> index f25e1530e064..f484ae0ece93 100644
> --- a/arch/x86/boot/compressed/Makefile
> +++ b/arch/x86/boot/compressed/Makefile
> @@ -26,7 +26,7 @@ KCOV_INSTRUMENT := n
> targets := vmlinux vmlinux.bin vmlinux.bin.gz vmlinux.bin.bz2 vmlinux.bin.lzma \
> vmlinux.bin.xz vmlinux.bin.lzo vmlinux.bin.lz4
>
> -KBUILD_CFLAGS := -m$(BITS) -D__KERNEL__ -O2
> +KBUILD_CFLAGS := -m$(BITS) -O2
> KBUILD_CFLAGS += -fno-strict-aliasing $(call cc-option, -fPIE, -fPIC)
> KBUILD_CFLAGS += -DDISABLE_BRANCH_PROFILING
> cflags-$(CONFIG_X86_32) := -march=i386

Dropped this patch, it's totally untested, the build fails on x86-64 defconfig
already.

Thanks,

Ingo