2018-12-04 21:08:02

by Mathieu Malaterre

[permalink] [raw]
Subject: [PATCH] powerpc/32: Move the old 6xx -mcpu logic before the TARGET_CPU logic

The code:

ifdef CONFIG_6xx
KBUILD_CFLAGS += -mcpu=powerpc
endif

was added in 2006 in commit f48b8296b315 ("[PATCH] powerpc32: Set cpu
explicitly in kernel compiles"). This change was acceptable since the
TARGET_CPU logic was 64-bit only.

Since commit 0e00a8c9fd92 ("powerpc: Allow CPU selection
also on PPC32") this logic is no longer acceptable after the TARGET_CPU
specific. It currently appends -mcpu=powerpc at the end of the command
line, after any TARGET_CPU specific:

gcc -Wp,-MD,init/.do_mounts.o.d ...
-mcpu=powerpc -mbig-endian -m32 ...
-mcpu=e300c2 ...
-mcpu=powerpc ...
../init/do_mounts.c

Cc: Christophe Leroy <[email protected]>
Fixes: 0e00a8c9fd92 ("powerpc: Allow CPU selection also on PPC32")
Suggested-by: Michael Ellerman <[email protected]>
Link: https://www.mail-archive.com/[email protected]/msg142315.html
Signed-off-by: Mathieu Malaterre <[email protected]>
---
arch/powerpc/Makefile | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile
index 8a2ce14d68d0..544b30667ea5 100644
--- a/arch/powerpc/Makefile
+++ b/arch/powerpc/Makefile
@@ -30,6 +30,10 @@ endif
endif
endif

+ifdef CONFIG_6xx
+KBUILD_CFLAGS += -mcpu=powerpc
+endif
+
ifeq ($(CROSS_COMPILE),)
KBUILD_DEFCONFIG := $(shell uname -m)_defconfig
else
@@ -241,10 +245,6 @@ KBUILD_CFLAGS += $(call cc-option,-fno-dwarf2-cfi-asm)
# often slow when they are implemented at all
KBUILD_CFLAGS += $(call cc-option,-mno-string)

-ifdef CONFIG_6xx
-KBUILD_CFLAGS += -mcpu=powerpc
-endif
-
cpu-as-$(CONFIG_4xx) += -Wa,-m405
cpu-as-$(CONFIG_ALTIVEC) += $(call as-option,-Wa$(comma)-maltivec)
cpu-as-$(CONFIG_E200) += -Wa,-me200
--
2.19.2



2018-12-04 21:29:10

by Christophe Leroy

[permalink] [raw]
Subject: Re: [PATCH] powerpc/32: Move the old 6xx -mcpu logic before the TARGET_CPU logic



Le 04/12/2018 à 21:53, Mathieu Malaterre a écrit :
> The code:
>
> ifdef CONFIG_6xx
> KBUILD_CFLAGS += -mcpu=powerpc
> endif
>
> was added in 2006 in commit f48b8296b315 ("[PATCH] powerpc32: Set cpu
> explicitly in kernel compiles"). This change was acceptable since the
> TARGET_CPU logic was 64-bit only.
>
> Since commit 0e00a8c9fd92 ("powerpc: Allow CPU selection
> also on PPC32") this logic is no longer acceptable after the TARGET_CPU
> specific. It currently appends -mcpu=powerpc at the end of the command
> line, after any TARGET_CPU specific:
>
> gcc -Wp,-MD,init/.do_mounts.o.d ...
> -mcpu=powerpc -mbig-endian -m32 ...
> -mcpu=e300c2 ...
> -mcpu=powerpc ...
> ../init/do_mounts.c
>
> Cc: Christophe Leroy <[email protected]>
> Fixes: 0e00a8c9fd92 ("powerpc: Allow CPU selection also on PPC32")
> Suggested-by: Michael Ellerman <[email protected]>
> Link: https://www.mail-archive.com/[email protected]/msg142315.html
> Signed-off-by: Mathieu Malaterre <[email protected]>
> ---
> arch/powerpc/Makefile | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile
> index 8a2ce14d68d0..544b30667ea5 100644
> --- a/arch/powerpc/Makefile
> +++ b/arch/powerpc/Makefile
> @@ -30,6 +30,10 @@ endif
> endif
> endif
>
> +ifdef CONFIG_6xx
> +KBUILD_CFLAGS += -mcpu=powerpc
> +endif
> +

Could you make the patch on top of my serie (ie after the change of
CONFIG_6xx to CONFIG_BOOK3S_32 ?

The serie is in origin/next-test

Thanks,
Christophe

> ifeq ($(CROSS_COMPILE),)
> KBUILD_DEFCONFIG := $(shell uname -m)_defconfig
> else
> @@ -241,10 +245,6 @@ KBUILD_CFLAGS += $(call cc-option,-fno-dwarf2-cfi-asm)
> # often slow when they are implemented at all
> KBUILD_CFLAGS += $(call cc-option,-mno-string)
>
> -ifdef CONFIG_6xx
> -KBUILD_CFLAGS += -mcpu=powerpc
> -endif
> -
> cpu-as-$(CONFIG_4xx) += -Wa,-m405
> cpu-as-$(CONFIG_ALTIVEC) += $(call as-option,-Wa$(comma)-maltivec)
> cpu-as-$(CONFIG_E200) += -Wa,-me200
>

2018-12-05 07:41:46

by Mathieu Malaterre

[permalink] [raw]
Subject: Re: [PATCH] powerpc/32: Move the old 6xx -mcpu logic before the TARGET_CPU logic

On Tue, Dec 4, 2018 at 10:28 PM Christophe LEROY
<[email protected]> wrote:
>
>
>
> Le 04/12/2018 à 21:53, Mathieu Malaterre a écrit :
> > The code:
> >
> > ifdef CONFIG_6xx
> > KBUILD_CFLAGS += -mcpu=powerpc
> > endif
> >
> > was added in 2006 in commit f48b8296b315 ("[PATCH] powerpc32: Set cpu
> > explicitly in kernel compiles"). This change was acceptable since the
> > TARGET_CPU logic was 64-bit only.
> >
> > Since commit 0e00a8c9fd92 ("powerpc: Allow CPU selection
> > also on PPC32") this logic is no longer acceptable after the TARGET_CPU
> > specific. It currently appends -mcpu=powerpc at the end of the command
> > line, after any TARGET_CPU specific:
> >
> > gcc -Wp,-MD,init/.do_mounts.o.d ...
> > -mcpu=powerpc -mbig-endian -m32 ...
> > -mcpu=e300c2 ...
> > -mcpu=powerpc ...
> > ../init/do_mounts.c
> >
> > Cc: Christophe Leroy <[email protected]>
> > Fixes: 0e00a8c9fd92 ("powerpc: Allow CPU selection also on PPC32")
> > Suggested-by: Michael Ellerman <[email protected]>
> > Link: https://www.mail-archive.com/[email protected]/msg142315.html
> > Signed-off-by: Mathieu Malaterre <[email protected]>
> > ---
> > arch/powerpc/Makefile | 8 ++++----
> > 1 file changed, 4 insertions(+), 4 deletions(-)
> >
> > diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile
> > index 8a2ce14d68d0..544b30667ea5 100644
> > --- a/arch/powerpc/Makefile
> > +++ b/arch/powerpc/Makefile
> > @@ -30,6 +30,10 @@ endif
> > endif
> > endif
> >
> > +ifdef CONFIG_6xx
> > +KBUILD_CFLAGS += -mcpu=powerpc
> > +endif
> > +
>
> Could you make the patch on top of my serie (ie after the change of
> CONFIG_6xx to CONFIG_BOOK3S_32 ?

Sure. That will defeat the point of the Fixes: line, but I guess who
cares anyway ? Will re-submit asap.

> The serie is in origin/next-test
>
> Thanks,
> Christophe
>
> > ifeq ($(CROSS_COMPILE),)
> > KBUILD_DEFCONFIG := $(shell uname -m)_defconfig
> > else
> > @@ -241,10 +245,6 @@ KBUILD_CFLAGS += $(call cc-option,-fno-dwarf2-cfi-asm)
> > # often slow when they are implemented at all
> > KBUILD_CFLAGS += $(call cc-option,-mno-string)
> >
> > -ifdef CONFIG_6xx
> > -KBUILD_CFLAGS += -mcpu=powerpc
> > -endif
> > -
> > cpu-as-$(CONFIG_4xx) += -Wa,-m405
> > cpu-as-$(CONFIG_ALTIVEC) += $(call as-option,-Wa$(comma)-maltivec)
> > cpu-as-$(CONFIG_E200) += -Wa,-me200
> >

2018-12-05 17:56:09

by Mathieu Malaterre

[permalink] [raw]
Subject: [PATCH v2] powerpc/32: Move the old 6xx -mcpu logic before the TARGET_CPU logic

The code:

ifdef CONFIG_6xx
KBUILD_CFLAGS += -mcpu=powerpc
endif

was added in 2006 in commit f48b8296b315 ("[PATCH] powerpc32: Set cpu
explicitly in kernel compiles"). This change was acceptable since the
TARGET_CPU logic was 64-bit only.

Since commit 0e00a8c9fd92 ("powerpc: Allow CPU selection
also on PPC32") this logic is no longer acceptable after the TARGET_CPU
specific. It currently appends -mcpu=powerpc at the end of the command
line, after any TARGET_CPU specific:

gcc -Wp,-MD,init/.do_mounts.o.d ...
-mcpu=powerpc -mbig-endian -m32 ...
-mcpu=e300c2 ...
-mcpu=powerpc ...
../init/do_mounts.c

Cc: Christophe Leroy <[email protected]>
Fixes: 0e00a8c9fd92 ("powerpc: Allow CPU selection also on PPC32")
Suggested-by: Michael Ellerman <[email protected]>
Link: https://www.mail-archive.com/[email protected]/msg142315.html
Signed-off-by: Mathieu Malaterre <[email protected]>
---
v2: As suggested by Christophe rebase onto next-test

arch/powerpc/Makefile | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile
index 40bbeeeb5b4a..4b16588c920f 100644
--- a/arch/powerpc/Makefile
+++ b/arch/powerpc/Makefile
@@ -30,6 +30,10 @@ endif
endif
endif

+ifdef CONFIG_PPC_BOOK3S_32
+KBUILD_CFLAGS += -mcpu=powerpc
+endif
+
ifeq ($(CROSS_COMPILE),)
KBUILD_DEFCONFIG := $(shell uname -m)_defconfig
else
@@ -241,10 +245,6 @@ KBUILD_CFLAGS += $(call cc-option,-fno-dwarf2-cfi-asm)
# often slow when they are implemented at all
KBUILD_CFLAGS += $(call cc-option,-mno-string)

-ifdef CONFIG_PPC_BOOK3S_32
-KBUILD_CFLAGS += -mcpu=powerpc
-endif
-
cpu-as-$(CONFIG_4xx) += -Wa,-m405
cpu-as-$(CONFIG_ALTIVEC) += $(call as-option,-Wa$(comma)-maltivec)
cpu-as-$(CONFIG_E200) += -Wa,-me200
--
2.19.2


2018-12-23 11:03:25

by Michael Ellerman

[permalink] [raw]
Subject: Re: [v2] powerpc/32: Move the old 6xx -mcpu logic before the TARGET_CPU logic

On Wed, 2018-12-05 at 17:53:55 UTC, Mathieu Malaterre wrote:
> The code:
>
> ifdef CONFIG_6xx
> KBUILD_CFLAGS += -mcpu=powerpc
> endif
>
> was added in 2006 in commit f48b8296b315 ("[PATCH] powerpc32: Set cpu
> explicitly in kernel compiles"). This change was acceptable since the
> TARGET_CPU logic was 64-bit only.
>
> Since commit 0e00a8c9fd92 ("powerpc: Allow CPU selection
> also on PPC32") this logic is no longer acceptable after the TARGET_CPU
> specific. It currently appends -mcpu=powerpc at the end of the command
> line, after any TARGET_CPU specific:
>
> gcc -Wp,-MD,init/.do_mounts.o.d ...
> -mcpu=powerpc -mbig-endian -m32 ...
> -mcpu=e300c2 ...
> -mcpu=powerpc ...
> ../init/do_mounts.c
>
> Cc: Christophe Leroy <[email protected]>
> Fixes: 0e00a8c9fd92 ("powerpc: Allow CPU selection also on PPC32")
> Suggested-by: Michael Ellerman <[email protected]>
> Link: https://www.mail-archive.com/[email protected]/msg142315.html
> Signed-off-by: Mathieu Malaterre <[email protected]>

Applied to powerpc next, thanks.

https://git.kernel.org/powerpc/c/ebd1d3b74f8542a8f3bb80b453692d

cheers