From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lukasz Majewski Date: Wed, 19 Mar 2014 08:04:35 +0100 Subject: [U-Boot] [PATCH] build:arm: Remove setting of CROSS_COMPILE environment variable In-Reply-To: <20140319115535.7A59.AA925319@jp.panasonic.com> References: <20140318162248.GC16360@bill-the-cat> <20140318230939.62536707@jawa> <20140319115535.7A59.AA925319@jp.panasonic.com> Message-ID: <20140319080435.62d3a78c@amdc2363> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hi Masahiro, > 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= > > 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 > Thanks for review. > > > > 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. Ok, lets stick to this solution. > > > Best Regards > Masahiro Yamada > -- Best regards, Lukasz Majewski Samsung R&D Institute Poland (SRPOL) | Linux Platform Group