[PATCH] powerpc/Makefile: Use cflags-y/aflags-y for setting endian options
Nicholas Piggin
npiggin at gmail.com
Wed Aug 10 00:36:58 AEST 2016
On Tue, 9 Aug 2016 22:43:46 +1000
Michael Ellerman <mpe at ellerman.id.au> wrote:
> When we introduced the little endian support, we added the endian flags
> to CC directly using override. I don't know the history of why we did
> that, I suspect no one does.
>
> Although this mostly works, it has one bug, which is that CROSS32CC
> doesn't get -mbig-endian. That means when the compiler is little endian
> by default and the user is building big endian, vdso32 is incorrectly
> compiled as little endian and the kernel fails to build.
>
> Instead we can add the endian flags to cflags-y/aflags-y, and then
> append those to KBUILD_CFLAGS/KBUILD_AFLAGS.
>
> This has the advantage of being 1) less ugly, 2) the documented way of
> adding flags in the arch Makefile and 3) it fixes building vdso32 with a
> LE toolchain.
This seems okay to me.
>
> Signed-off-by: Michael Ellerman <mpe at ellerman.id.au>
> ---
> arch/powerpc/Makefile | 22 ++++++++++++----------
> 1 file changed, 12 insertions(+), 10 deletions(-)
>
> diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile
> index ca254546cd05..1934707bf321 100644
> --- a/arch/powerpc/Makefile
> +++ b/arch/powerpc/Makefile
> @@ -66,29 +66,28 @@ endif
> UTS_MACHINE := $(OLDARCH)
>
> ifeq ($(CONFIG_CPU_LITTLE_ENDIAN),y)
> -override CC += -mlittle-endian
> -ifneq ($(cc-name),clang)
> -override CC += -mno-strict-align
> -endif
> -override AS += -mlittle-endian
> override LD += -EL
> -override CROSS32CC += -mlittle-endian
> override CROSS32AS += -mlittle-endian
Can't we get rid of CROSS32AS? If not, then should it get the
-mbig-endian override?
Thanks,
Nick
More information about the Linuxppc-dev
mailing list