Message ID | 1374753254-10381-1-git-send-email-catalin.udma@freescale.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
On Jul 25, 2013, at 6:54 AM, Catalin Udma wrote: > If CONFIG_E500 is enabled, the compilation flags are updated > specifying the target core -mcpu=e5500/e500mc/8540 > Also remove -Wa,-me500, being incompatible with -mcpu=e5500/e6500 > The assembler option is redundant if the -mcpu= flag is set. > The patch fixes the kernel compilation problem for e5500/e6500 > when using gcc option -mcpu=e5500/e6500. > > Signed-off-by: Catalin Udma <catalin.udma@freescale.com> > --- > changes for v2: > - update also KBUILD_AFLAGS with -mcpu and -msoft-float flags > > arch/powerpc/Makefile | 16 +++++++++++++++- > 1 files changed, 15 insertions(+), 1 deletions(-) Is the assembler redundant for older toolchains? - k
> > The assembler option is redundant if the -mcpu= flag is set. > > The patch fixes the kernel compilation problem for e5500/e6500 > > when using gcc option -mcpu=e5500/e6500. > > > > Signed-off-by: Catalin Udma <catalin.udma@freescale.com> > > --- > > changes for v2: > > - update also KBUILD_AFLAGS with -mcpu and -msoft-float flags > > > > arch/powerpc/Makefile | 16 +++++++++++++++- > > 1 files changed, 15 insertions(+), 1 deletions(-) > > Is the assembler redundant for older toolchains? > > - k [CU] gcc defines the mapping from -mcpu to assembler options in file gcc/config/rs6000/rs6000.h, like this: %{mcpu=8540: -me500} \ %{mcpu=8548: -me500} \ %{mcpu=e300c2: -me300} \ %{mcpu=e300c3: -me300} \ %{mcpu=e500mc: -me500mc} \ %{mcpu=e500mc64: -me500mc64} \ %{mcpu=e5500: -me5500} \ %{mcpu=e6500: -me6500} \ I have checked this mapping from gcc 3.3 (where 8540 entry was added) to 3.4, 4.3, 4.4 and 4.8.1...The -Wa option is redundant for all these older toolchains. Catalin
On 07/25/2013 06:54:14 AM, Catalin Udma wrote: > If CONFIG_E500 is enabled, the compilation flags are updated > specifying the target core -mcpu=e5500/e500mc/8540 > Also remove -Wa,-me500, being incompatible with -mcpu=e5500/e6500 > The assembler option is redundant if the -mcpu= flag is set. > The patch fixes the kernel compilation problem for e5500/e6500 > when using gcc option -mcpu=e5500/e6500. > > Signed-off-by: Catalin Udma <catalin.udma@freescale.com> > --- > changes for v2: > - update also KBUILD_AFLAGS with -mcpu and -msoft-float flags > > arch/powerpc/Makefile | 16 +++++++++++++++- > 1 files changed, 15 insertions(+), 1 deletions(-) > > diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile > index 0624909..cb5cbe2 100644 > --- a/arch/powerpc/Makefile > +++ b/arch/powerpc/Makefile > @@ -140,6 +140,21 @@ ifeq ($(CONFIG_6xx),y) > KBUILD_CFLAGS += -mcpu=powerpc > endif > > +ifeq ($(CONFIG_E500),y) > +ifeq ($(CONFIG_64BIT),y) > +KBUILD_CFLAGS += -mcpu=e5500 > +KBUILD_AFLAGS += -mcpu=e5500 -msoft-float > +else > +ifeq ($(CONFIG_PPC_E500MC),y) > +KBUILD_CFLAGS += -mcpu=e500mc > +KBUILD_AFLAGS += -mcpu=e500mc -msoft-float > +else > +KBUILD_CFLAGS += -mcpu=8540 > +KBUILD_AFLAGS += -mcpu=8540 -msoft-float > +endif > +endif > +endif Instead of specifying -msoft-float here, shouldn't it go on the main KBUILD_AFLAGS in arch/powerpc/Makefile, right next to where it's added for KBUILD_CFLAGS? -Scott
diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile index 0624909..cb5cbe2 100644 --- a/arch/powerpc/Makefile +++ b/arch/powerpc/Makefile @@ -140,6 +140,21 @@ ifeq ($(CONFIG_6xx),y) KBUILD_CFLAGS += -mcpu=powerpc endif +ifeq ($(CONFIG_E500),y) +ifeq ($(CONFIG_64BIT),y) +KBUILD_CFLAGS += -mcpu=e5500 +KBUILD_AFLAGS += -mcpu=e5500 -msoft-float +else +ifeq ($(CONFIG_PPC_E500MC),y) +KBUILD_CFLAGS += -mcpu=e500mc +KBUILD_AFLAGS += -mcpu=e500mc -msoft-float +else +KBUILD_CFLAGS += -mcpu=8540 +KBUILD_AFLAGS += -mcpu=8540 -msoft-float +endif +endif +endif + # Work around a gcc code-gen bug with -fno-omit-frame-pointer. ifeq ($(CONFIG_FUNCTION_TRACER),y) KBUILD_CFLAGS += -mno-sched-epilog @@ -147,7 +162,6 @@ endif cpu-as-$(CONFIG_4xx) += -Wa,-m405 cpu-as-$(CONFIG_ALTIVEC) += -Wa,-maltivec -cpu-as-$(CONFIG_E500) += -Wa,-me500 cpu-as-$(CONFIG_E200) += -Wa,-me200 KBUILD_AFLAGS += $(cpu-as-y)
If CONFIG_E500 is enabled, the compilation flags are updated specifying the target core -mcpu=e5500/e500mc/8540 Also remove -Wa,-me500, being incompatible with -mcpu=e5500/e6500 The assembler option is redundant if the -mcpu= flag is set. The patch fixes the kernel compilation problem for e5500/e6500 when using gcc option -mcpu=e5500/e6500. Signed-off-by: Catalin Udma <catalin.udma@freescale.com> --- changes for v2: - update also KBUILD_AFLAGS with -mcpu and -msoft-float flags arch/powerpc/Makefile | 16 +++++++++++++++- 1 files changed, 15 insertions(+), 1 deletions(-)