Re: [tip:x86/build] x86/build: Don't pass in -D__KERNEL__ multiple times
From: Ingo Molnar
Date: Sat Mar 31 2018 - 04:44:58 EST
* Ingo Molnar <mingo@xxxxxxxxxx> wrote:
>
> * 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.
Apologies, I messed up my testing: the patch is fine after all!
Thanks,
Ingo