Re: [U-Boot] [PATCH] build:arm: Remove setting of CROSS_COMPILE environment variable
Hi Albert, Applied to u-boot-arm/master, thanks! BTW, you failed to rephrase the commit message. Anyway it's too late and OK for me. -- 8 -- For building u-boot on ARM the CROSS_COMPILE environment variable, when not defined, was set to default value (prefix arm-linux-). Since not all cross compilers have the arm-linux- prefix and this setting prevents from building u-boot on natively arm powered devices it would be best to remove it. As a side note: The most universal way to cross compile u-boot is to specify the CROSS_COMPILE environment variable explicitly - e.g.: CROSS_COMPILE=/ /arm-v7a-linux-gnueabi- make -- 8 -- Best Regards Masahiro Yamada ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] build:arm: Remove setting of CROSS_COMPILE environment variable
Hi Albert, Hi Albert, Hi Albert, Hi Lukasz, On Tue, 25 Mar 2014 09:55:45 +0100, Lukasz Majewski l.majew...@samsung.com wrote: 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 yamad...@jp.panasonic.com Albert, could you take this patch for your arm repository? I can. How would you like me to rephrase the commit message? Maybe something like this: -- 8 -- For building u-boot on ARM the CROSS_COMPILE environment variable, when not defined, was set to default value (prefix arm-linux-). Since not all cross compilers have the arm-linux- prefix and this setting prevents from building u-boot on natively arm powered devices it would be best to remove it. As a side note: The most universal way to cross compile u-boot is to specify the CROSS_COMPILE environment variable explicitly - e.g.: CROSS_COMPILE=/ /arm-v7a-linux-gnueabi- make -- 8 -- And also please add the Acked-by from Masahiro. Albert, do you need any more support to pull this patch to u-boot-arm branch? Are you willing to add this patch to your u-boot-arm tree? I know that you were not available on the ML for some time and hence, I'm curious if you plan to send pull request for u-boot-arm tree to Tom before the v2014.04 release? Amicalement, Thanks a lot for your support. -- Best regards, Lukasz Majewski Samsung RD Institute Poland (SRPOL) | Linux Platform Group ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] build:arm: Remove setting of CROSS_COMPILE environment variable
Hi Lukasz, On Mon, 07 Apr 2014 09:04:58 +0200, Lukasz Majewski l.majew...@samsung.com wrote: Are you willing to add this patch to your u-boot-arm tree? I know that you were not available on the ML for some time and hence, I'm curious if you plan to send pull request for u-boot-arm tree to Tom before the v2014.04 release? Yes and yes -- I am clean up my backlog and this patch will get in before I send the PR. Amicalement, -- Albert. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] build:arm: Remove setting of CROSS_COMPILE environment variable
Hi Lukasz, On Tue, 18 Mar 2014 16:46:48 +0100, Lukasz Majewski l.majew...@samsung.com wrote: After Kbuild introduction, the CROSS_COMPILE environment variable has been set to some default value (prefix arm-linux-). This shall be removed since it breaks building u-boot for native arm target (like qemu ARM). Moreover not all compilers have arm-linux- prefix. Additionally the u-boot cross compiles with CROSS_COMPILE= set explicitly- e.g.: CROSS_COMPILE=/ /arm-v7a-linux-gnueabi- make Signed-off-by: Lukasz Majewski l.majew...@samsung.com Cc: Masahiro Yamada yamad...@jp.panasonic.com --- arch/arm/config.mk |4 1 file changed, 4 deletions(-) diff --git a/arch/arm/config.mk b/arch/arm/config.mk index f4c2d81..178a59a 100644 --- a/arch/arm/config.mk +++ b/arch/arm/config.mk @@ -5,10 +5,6 @@ # SPDX-License-Identifier: GPL-2.0+ # -ifeq ($(CROSS_COMPILE),) -CROSS_COMPILE := arm-linux- -endif - ifndef CONFIG_STANDALONE_LOAD_ADDR ifneq ($(CONFIG_OMAP_COMMON),) CONFIG_STANDALONE_LOAD_ADDR = 0x8030 Applied to u-boot-arm/master, thanks! Amicalement, -- Albert. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] build:arm: Remove setting of CROSS_COMPILE environment variable
Hi Albert, Hi Albert, Hi Lukasz, On Tue, 25 Mar 2014 09:55:45 +0100, Lukasz Majewski l.majew...@samsung.com wrote: 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 yamad...@jp.panasonic.com Albert, could you take this patch for your arm repository? I can. How would you like me to rephrase the commit message? Maybe something like this: -- 8 -- For building u-boot on ARM the CROSS_COMPILE environment variable, when not defined, was set to default value (prefix arm-linux-). Since not all cross compilers have the arm-linux- prefix and this setting prevents from building u-boot on natively arm powered devices it would be best to remove it. As a side note: The most universal way to cross compile u-boot is to specify the CROSS_COMPILE environment variable explicitly - e.g.: CROSS_COMPILE=/ /arm-v7a-linux-gnueabi- make -- 8 -- And also please add the Acked-by from Masahiro. Albert, do you need any more support to pull this patch to u-boot-arm branch? Amicalement, Thanks a lot for your support. -- Best regards, Lukasz Majewski Samsung RD Institute Poland (SRPOL) | Linux Platform Group ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] build:arm: Remove setting of CROSS_COMPILE environment variable
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 yamad...@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 RD Institute Poland (SRPOL) | Linux Platform Group ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] build:arm: Remove setting of CROSS_COMPILE environment variable
Hi Lukasz, On Tue, 25 Mar 2014 09:55:45 +0100, Lukasz Majewski l.majew...@samsung.com wrote: 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 yamad...@jp.panasonic.com Albert, could you take this patch for your arm repository? I can. How would you like me to rephrase the commit message? Amicalement, -- Albert. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] build:arm: Remove setting of CROSS_COMPILE environment variable
Hi Albert, Hi Lukasz, On Tue, 25 Mar 2014 09:55:45 +0100, Lukasz Majewski l.majew...@samsung.com wrote: 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 yamad...@jp.panasonic.com Albert, could you take this patch for your arm repository? I can. How would you like me to rephrase the commit message? Maybe something like this: -- 8 -- For building u-boot on ARM the CROSS_COMPILE environment variable, when not defined, was set to default value (prefix arm-linux-). Since not all cross compilers have the arm-linux- prefix and this setting prevents from building u-boot on natively arm powered devices it would be best to remove it. As a side note: The most universal way to cross compile u-boot is to specify the CROSS_COMPILE environment variable explicitly - e.g.: CROSS_COMPILE=/ /arm-v7a-linux-gnueabi- make -- 8 -- And also please add the Acked-by from Masahiro. Amicalement, Thanks a lot for your support. -- Best regards, Lukasz Majewski Samsung RD Institute Poland (SRPOL) | Linux Platform Group ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] build:arm: Remove setting of CROSS_COMPILE environment variable
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=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 yamad...@jp.panasonic.com 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 RD Institute Poland (SRPOL) | Linux Platform Group ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH] build:arm: Remove setting of CROSS_COMPILE environment variable
After Kbuild introduction, the CROSS_COMPILE environment variable has been set to some default value (prefix arm-linux-). This shall be removed since it breaks building u-boot for native arm target (like qemu ARM). Moreover not all compilers have arm-linux- prefix. Additionally the u-boot cross compiles with CROSS_COMPILE= set explicitly- e.g.: CROSS_COMPILE=/ /arm-v7a-linux-gnueabi- make Signed-off-by: Lukasz Majewski l.majew...@samsung.com Cc: Masahiro Yamada yamad...@jp.panasonic.com --- arch/arm/config.mk |4 1 file changed, 4 deletions(-) diff --git a/arch/arm/config.mk b/arch/arm/config.mk index f4c2d81..178a59a 100644 --- a/arch/arm/config.mk +++ b/arch/arm/config.mk @@ -5,10 +5,6 @@ # SPDX-License-Identifier: GPL-2.0+ # -ifeq ($(CROSS_COMPILE),) -CROSS_COMPILE := arm-linux- -endif - ifndef CONFIG_STANDALONE_LOAD_ADDR ifneq ($(CONFIG_OMAP_COMMON),) CONFIG_STANDALONE_LOAD_ADDR = 0x8030 -- 1.7.10.4 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] build:arm: Remove setting of CROSS_COMPILE environment variable
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? -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] build:arm: Remove setting of CROSS_COMPILE environment variable
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. 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. Any idea how to fix this is more than welcome. Best regards, Lukasz Majewski signature.asc Description: PGP signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] build:arm: Remove setting of CROSS_COMPILE environment variable
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 yamad...@jp.panasonic.com 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 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot