On Tue, 9 Aug 2016 22:43:46 +1000 Michael Ellerman <m...@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 <m...@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