Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.debian.kernel > #62852 > unrolled thread
| Started by | Ben Hutchings <ben@decadent.org.uk> |
|---|---|
| First post | 2018-12-26 15:20 +0100 |
| Last post | 2018-12-29 16:40 +0100 |
| Articles | 4 — 2 participants |
Back to article view | Back to linux.debian.kernel
[PATCH] powerpc: Fix -mcpu= options for SPE-only compiler Ben Hutchings <ben@decadent.org.uk> - 2018-12-26 15:20 +0100
Re: [PATCH] powerpc: Fix -mcpu= options for SPE-only compiler Segher Boessenkool <segher@kernel.crashing.org> - 2018-12-27 02:20 +0100
Re: [PATCH] powerpc: Fix -mcpu= options for SPE-only compiler Ben Hutchings <ben@decadent.org.uk> - 2018-12-27 03:40 +0100
Re: [PATCH] powerpc: Fix -mcpu= options for SPE-only compiler Segher Boessenkool <segher@kernel.crashing.org> - 2018-12-29 16:40 +0100
| From | Ben Hutchings <ben@decadent.org.uk> |
|---|---|
| Date | 2018-12-26 15:20 +0100 |
| Subject | [PATCH] powerpc: Fix -mcpu= options for SPE-only compiler |
| Message-ID | <x9icp-3CE-1@gated-at.bofh.it> |
[Multipart message — attachments visible in raw view] — view raw
GCC for Debian's "powerpcspe" architecture only supports 32-bit SPE targets, and using -mcpu=powerpc or -mcpu=powerpc64 is a fatal error. * Change the test for a biarch compiler to pass both the -m32 and -m64 options, so that it doesn't catch 32-bit-only compilers * Add an ifdef CONFIG_PPC64 around the 64-bit CPU option definitions Signed-off-by: Ben Hutchings <ben@decadent.org.uk> --- arch/powerpc/Makefile | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile index 488c9edffa58..c2e815863500 100644 --- a/arch/powerpc/Makefile +++ b/arch/powerpc/Makefile @@ -12,7 +12,7 @@ # Rewritten by Cort Dougan and Paul Mackerras # -HAS_BIARCH := $(call cc-option-yn, -m32) +HAS_BIARCH := $(call cc-option-yn, -m32 -m64) # Set default 32 bits cross compilers for vdso and boot wrapper CROSS32_COMPILE ?= @@ -166,6 +166,7 @@ CFLAGS-$(CONFIG_PPC32) += $(call cc-option, $(MULTIPLEWORD)) CFLAGS-$(CONFIG_PPC32) += $(call cc-option,-mno-readonly-in-sdata) +ifdef CONFIG_PPC64 ifdef CONFIG_PPC_BOOK3S_64 ifdef CONFIG_CPU_LITTLE_ENDIAN CFLAGS-$(CONFIG_GENERIC_CPU) += -mcpu=power8 @@ -177,6 +178,7 @@ endif else CFLAGS-$(CONFIG_GENERIC_CPU) += -mcpu=powerpc64 endif +endif ifdef CONFIG_FUNCTION_TRACER CC_FLAGS_FTRACE := -pg
[toc] | [next] | [standalone]
| From | Segher Boessenkool <segher@kernel.crashing.org> |
|---|---|
| Date | 2018-12-27 02:20 +0100 |
| Message-ID | <x9sv7-1jv-1@gated-at.bofh.it> |
| In reply to | #62852 |
Hi! On Wed, Dec 26, 2018 at 02:15:11PM +0000, Ben Hutchings wrote: > GCC for Debian's "powerpcspe" architecture only supports 32-bit > SPE targets, and using -mcpu=powerpc or -mcpu=powerpc64 is a fatal > error. I don't see where your patch touches -mcpu=powerpc, and I don't see how it would make a difference either? > +ifdef CONFIG_PPC64 > ifdef CONFIG_PPC_BOOK3S_64 > ifdef CONFIG_CPU_LITTLE_ENDIAN > CFLAGS-$(CONFIG_GENERIC_CPU) += -mcpu=power8 > @@ -177,6 +178,7 @@ endif > else > CFLAGS-$(CONFIG_GENERIC_CPU) += -mcpu=powerpc64 > endif > +endif How can CONFIG_PPC_BOOK3S_64 be true while CONFIG_PPC64 is fals? That does not make a lot of sense. Segher
[toc] | [prev] | [next] | [standalone]
| From | Ben Hutchings <ben@decadent.org.uk> |
|---|---|
| Date | 2018-12-27 03:40 +0100 |
| Message-ID | <x9tKx-1WB-5@gated-at.bofh.it> |
| In reply to | #62853 |
[Multipart message — attachments visible in raw view] — view raw
On Wed, 2018-12-26 at 17:45 -0600, Segher Boessenkool wrote:
> Hi!
>
> On Wed, Dec 26, 2018 at 02:15:11PM +0000, Ben Hutchings wrote:
> > GCC for Debian's "powerpcspe" architecture only supports 32-bit
> > SPE targets, and using -mcpu=powerpc or -mcpu=powerpc64 is a fatal
> > error.
>
> I don't see where your patch touches -mcpu=powerpc, and I don't see how
> it would make a difference either?
Look at the assignments that are conditional on HAS_BIARCH.
> > +ifdef CONFIG_PPC64
> > ifdef CONFIG_PPC_BOOK3S_64
> > ifdef CONFIG_CPU_LITTLE_ENDIAN
> > CFLAGS-$(CONFIG_GENERIC_CPU) += -mcpu=power8
> > @@ -177,6 +178,7 @@ endif
> > else
> > CFLAGS-$(CONFIG_GENERIC_CPU) += -mcpu=powerpc64
> > endif
> > +endif
>
> How can CONFIG_PPC_BOOK3S_64 be true while CONFIG_PPC64 is fals? That
> does not make a lot of sense.
But there is an "else" part here.
Ben.
--
Ben Hutchings
Life is what happens to you while you're busy making other plans.
- John Lennon
[toc] | [prev] | [next] | [standalone]
| From | Segher Boessenkool <segher@kernel.crashing.org> |
|---|---|
| Date | 2018-12-29 16:40 +0100 |
| Message-ID | <xaoSu-2T0-13@gated-at.bofh.it> |
| In reply to | #62854 |
On Thu, Dec 27, 2018 at 02:32:07AM +0000, Ben Hutchings wrote: > On Wed, 2018-12-26 at 17:45 -0600, Segher Boessenkool wrote: > > Hi! > > > > On Wed, Dec 26, 2018 at 02:15:11PM +0000, Ben Hutchings wrote: > > > GCC for Debian's "powerpcspe" architecture only supports 32-bit > > > SPE targets, and using -mcpu=powerpc or -mcpu=powerpc64 is a fatal > > > error. > > > > I don't see where your patch touches -mcpu=powerpc, and I don't see how > > it would make a difference either? [ I now see that error fwiw. Yuck. ] > Look at the assignments that are conditional on HAS_BIARCH. Sure, you change how HAS_BIARCH is set. That has more effects than just not using -mcpu=powerpc (which is fine, but the message is confusing). > > > +ifdef CONFIG_PPC64 > > > ifdef CONFIG_PPC_BOOK3S_64 > > > ifdef CONFIG_CPU_LITTLE_ENDIAN > > > CFLAGS-$(CONFIG_GENERIC_CPU) += -mcpu=power8 > > > @@ -177,6 +178,7 @@ endif > > > else > > > CFLAGS-$(CONFIG_GENERIC_CPU) += -mcpu=powerpc64 > > > endif > > > +endif > > > > How can CONFIG_PPC_BOOK3S_64 be true while CONFIG_PPC64 is fals? That > > does not make a lot of sense. > > But there is an "else" part here. Yeah I see. It would be better to have fewer nested conditionals here instead of more... Segher
[toc] | [prev] | [standalone]
Back to top | Article view | linux.debian.kernel
csiph-web