2018-03-16 08:51:56

by Cao jin

[permalink] [raw]
Subject: [PATCH] x86/build: drop a superfluous macro

Some .<target>.cmd files under arch/x86 report -D__KERNEL__ appears two
times in the command line, like arch/x86/boot, arch/x86/realmode/rm.
It is already defined in KBUILD_CPPFLAGS from top Makefile. so it can be
dropped saftely from these Makefiles.

Signed-off-by: Cao jin <[email protected]>
---
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 a20eacd9c7e9..592489a15d94 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 4b7575b00563..78e3400c22d7 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
--
2.14.3





2018-03-29 01:44:56

by Cao jin

[permalink] [raw]
Subject: Re: [PATCH] x86/build: drop a superfluous macro

ping?

On 03/16/2018 04:49 PM, Cao jin wrote:
> Some .<target>.cmd files under arch/x86 report -D__KERNEL__ appears two
> times in the command line, like arch/x86/boot, arch/x86/realmode/rm.
> It is already defined in KBUILD_CPPFLAGS from top Makefile. so it can be
> dropped saftely from these Makefiles.
>
> Signed-off-by: Cao jin <[email protected]>
> ---
> 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 a20eacd9c7e9..592489a15d94 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 4b7575b00563..78e3400c22d7 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
>

--
Sincerely,
Cao jin



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

Commit-ID: d6289f36aa7d5893d091a7a0c67eee7798719f03
Gitweb: https://git.kernel.org/tip/d6289f36aa7d5893d091a7a0c67eee7798719f03
Author: Cao jin <[email protected]>
AuthorDate: Fri, 16 Mar 2018 16:49:44 +0800
Committer: Ingo Molnar <[email protected]>
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 <[email protected]>
Cc: H. Peter Anvin <[email protected]>
Cc: Linus Torvalds <[email protected]>
Cc: Masahiro Yamada <[email protected]>
Cc: Michal Marek <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Cc: [email protected]
Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Ingo Molnar <[email protected]>
---
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

2018-03-31 08:40:45

by Ingo Molnar

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


* tip-bot for Cao jin <[email protected]> wrote:

> Commit-ID: d6289f36aa7d5893d091a7a0c67eee7798719f03
> Gitweb: https://git.kernel.org/tip/d6289f36aa7d5893d091a7a0c67eee7798719f03
> Author: Cao jin <[email protected]>
> AuthorDate: Fri, 16 Mar 2018 16:49:44 +0800
> Committer: Ingo Molnar <[email protected]>
> 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 <[email protected]>
> Cc: H. Peter Anvin <[email protected]>
> Cc: Linus Torvalds <[email protected]>
> Cc: Masahiro Yamada <[email protected]>
> Cc: Michal Marek <[email protected]>
> Cc: Peter Zijlstra <[email protected]>
> Cc: Thomas Gleixner <[email protected]>
> Cc: [email protected]
> Link: http://lkml.kernel.org/r/[email protected]
> Signed-off-by: Ingo Molnar <[email protected]>
> ---
> 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

2018-03-31 08:46:12

by Ingo Molnar

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


* Ingo Molnar <[email protected]> wrote:

>
> * tip-bot for Cao jin <[email protected]> wrote:
>
> > Commit-ID: d6289f36aa7d5893d091a7a0c67eee7798719f03
> > Gitweb: https://git.kernel.org/tip/d6289f36aa7d5893d091a7a0c67eee7798719f03
> > Author: Cao jin <[email protected]>
> > AuthorDate: Fri, 16 Mar 2018 16:49:44 +0800
> > Committer: Ingo Molnar <[email protected]>
> > 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 <[email protected]>
> > Cc: H. Peter Anvin <[email protected]>
> > Cc: Linus Torvalds <[email protected]>
> > Cc: Masahiro Yamada <[email protected]>
> > Cc: Michal Marek <[email protected]>
> > Cc: Peter Zijlstra <[email protected]>
> > Cc: Thomas Gleixner <[email protected]>
> > Cc: [email protected]
> > Link: http://lkml.kernel.org/r/[email protected]
> > Signed-off-by: Ingo Molnar <[email protected]>
> > ---
> > 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