Skip to contentSkip to conversation

powerpc/32: Move the old 6xx -mcpu logic before the TARGET_CPU logic

PATCH Superseded Mathieu Malaterre 3 participants 5 messages Dec 4, 2018 – Dec 22, 2018 PowerPC

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 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")
---
 arch/powerpc/Makefile | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
arch/powerpc/Makefile +4 -4
index 8a2ce14d68d0..544b30667ea5 100644
@@ -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
Signature · 1 line
2.19.2
#1 lore raw

Le 04/12/2018 à 21:53, Mathieu Malaterre a écrit :

Quoted 35 lines

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")
---
  arch/powerpc/Makefile | 8 ++++----
  1 file changed, 4 insertions(+), 4 deletions(-)
arch/powerpc/Makefile +0 -0
index 8a2ce14d68d0..544b30667ea5 100644

arch/powerpc/Makefile endif · line 36

Quoted 7 lines
arch/powerpc/Makefile +4 -0
@@ -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

Quoted 15 lines
arch/powerpc/Makefile +0 -4
  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 lore raw
Quoted 42 lines · Christophe LEROY
Quoted 38 lines · Mathieu Malaterre

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")
---
  arch/powerpc/Makefile | 8 ++++----
  1 file changed, 4 insertions(+), 4 deletions(-)
arch/powerpc/Makefile +0 -0
index 8a2ce14d68d0..544b30667ea5 100644
@@ -30,6 +30,10 @@ endif
  endif
  endif
 
Quoted 7 lines

arch/powerpc/Makefile endif · line 36

Quoted 4 lines
arch/powerpc/Makefile +4 -0
+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.

Quoted 20 lines

The serie is in origin/next-test

Thanks,
Christophe

Quoted 15 lines
arch/powerpc/Makefile +0 -4
  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
#3 lore raw

PATCH v2 1/1 powerpc/32: Move the old 6xx -mcpu logic before the TARGET_CPU logic

In reply to Mathieu Malaterre

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")

---
v2: As suggested by Christophe rebase onto next-test

 arch/powerpc/Makefile | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
arch/powerpc/Makefile +4 -4
index 40bbeeeb5b4a..4b16588c920f 100644
@@ -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
Signature · 1 line
2.19.2
#4 lore raw
Quoted 21 lines · Mathieu Malaterre

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
Quoted 5 lines
Cc Christophe Leroy <[email protected]>
Fixes 0e00a8c9fd92 ("powerpc: Allow CPU selection also on PPC32")

Applied to powerpc next, thanks.

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

cheers