[U-Boot] [PATCH] build:arm: Remove setting of CROSS_COMPILE environment variable
Lukasz Majewski
l.majewski at samsung.com
Tue Mar 25 09:55:45 CET 2014
Hi Albert,
> Hi Lukasz, Tom,
>
>
> > Hi Tom,
> >
> > > On Tue, Mar 18, 2014 at 04:46:48PM +0100, Lukasz Majewski wrote:
> > >
> > > > After Kbuild introduction, the CROSS_COMPILE environment
> > > > variable has been set to some default value (prefix arm-linux-).
> > >
> > > Note that this is quite a long-standing thing. Perhaps we're now
> > > not detecting a native build when we used to?
> >
> > My point is that we are relying on assigning default prefix (i.e.
> > arm-linux-)
> >
> > For example OSELAS toolchains can have an arbitrary prefix
> > (e.g. arm-linux-gnueabi-).
> >
> > When I cross compile I set explicitly "CROSS_COMPILE=<toolchain>
> > make" and it works as it should (with or without this patch). Such
> > approach seems natural for me.
> >
> > However, I don't know what is the exact rationale for seting this
> > arm-linux- prefix to CROSS_COMPILE.
> > I can only guess, that it is connected with situation when one just
> > type "make" on x86_64 host and expect u-boot to be CROSS_COMPILE'd
> > out of the box.
>
> Agree.
> It is useful only for people using "arm-linux-gcc" on x86 host.
> I usually use "arm-linux-gnueabi-gcc". Someone else may be using other
> prefixes.
>
> I think there is no rationale more sophisticated than that it just has
> been there since long time before.
>
> So, I agree with this patch except a little misleading
> commit description I commented below.
>
> Acked-by: Masahiro Yamada <yamada.m at jp.panasonic.com>
>
Albert, could you take this patch for your arm repository?
>
>
> > Unfortunately this doesn't work with ARM host emulated with qemu
> > (like OBS). Here when I type "make" I expect that "native" gcc for
> > arm will run without even touching CROSS_COMPILE environment
> > variable.
>
> I believe it is the same as prior to Kbuild.
>
> So, I am not convined with this part of your commit description:
> > After Kbuild introduction, the CROSS_COMPILE environment variable
> > has been set to some default value (prefix arm-linux-).
>
>
> > Any idea how to fix this is more than welcome.
>
> If you are searching some other choices,
>
>
> [1]
> ifneq ("$(origin CROSS_COMPILE)", "command line")
> ifeq ($(CROSS_COMPILE),)
> CROSS_COMPILE := arm-linux-
> endif
> endif
>
> For native build on ARM, you can explicitely set CROSS_COMPILE as
> empty: "make CROSS_COMPILE="
> In this case, CROSS_COMPILE will not be overwritten in
> arch/arm/config.mk.
>
>
> [2]
> ifneq ($(HOSTARCH),$(ARCH))
> ifeq ($(CROSS_COMPILE),)
> CROSS_COMPILE := arm-linux-
> endif
> endif
>
> For native build on ARM, both $(HOSTARCH) and $(ARCH)
> are "arm", so CROSS_COMPILE will not be set.
>
>
>
> But, I think deleting CROSS_COMPILE setting is the simplest and the
> best.
>
>
> Best Regards
> Masahiro Yamada
>
--
Best regards,
Lukasz Majewski
Samsung R&D Institute Poland (SRPOL) | Linux Platform Group
More information about the U-Boot
mailing list