toolchain/external: bump the Linaro toolchains (branch yem/toolchain-linaro-2015.02-2)
cover toolchain/external: bump the Linaro toolchains (branch yem/toolchain-linaro-2015.02-2)
Hello All!
This series bumps the Linaro toolchains up to the latest stable version, 2015.02, as noticed by Arnout.
Those toolchains are only available for x86_64 hosts, so we keep the previous version for those stuck in 32-bit land.
Regards,
Yann E. MORIN.
The following changes since commit dab6765150e0eb5016869f3c0c0e0047745560e9:
elf2flt: fix build when LTO is enabled (2015-09-20 15:33:58 +0200)
are available in the git repository at:
git://git.busybox.net/~ymorin/git/buildroot yem/toolchain-linaro-2015.02-2
for you to fetch changes up to f534ca154bca1af779660c7cf411203eaeb01eb8:
toolchain/external: bump Linaro to 2015.12 for AArch64 (LE) (2015-09-20 23:30:05 +0200)
----------------------------------------------------------------
Yann E. MORIN (5):
toolchain/external: commonalise comments about Linaro toolchains toolchain/external: rename Linaro arm and AArch64 options toolchain/external: bump Linaro to 2015.12 for ARM (LE) toolchain/external: bump Linaro to 2015.12 for ARM (BE) toolchain/external: bump Linaro to 2015.12 for AArch64 (LE)
Config.in.legacy | 30 ++++++++ toolchain/toolchain-external/Config.in | 87 ++++++++++++++++++---- .../toolchain-external/toolchain-external.hash | 3 + toolchain/toolchain-external/toolchain-external.mk | 18 ++++- 4 files changed, 121 insertions(+), 17 deletions(-)
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'
PATCH 1/5 toolchain/external: commonalise comments about Linaro toolchains
Those two comments:
- are exactly the same
- have the same dependencies (except for arm/armeb)
So, make it a common comment. It will be useful to have that comment when we introduce new Linaro toolchain versions.
--- toolchain/toolchain-external/Config.in | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-)
toolchain/toolchain-external/Config.in +5 -10
@@ -6,6 +6,11 @@ choice comment "(e)glibc toolchains only available with shared lib support" depends on BR2_STATIC_LIBS +comment "Linaro toolchains available for Cortex-A + EABIhf" + depends on BR2_arm || BR2_armeb + depends on !BR2_ARM_CPU_ARMV7A || !BR2_ARM_EABIHF + depends on !BR2_STATIC_LIBS + config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM bool "Linaro ARM 2014.09" depends on BR2_arm
@@ -28,11 +33,6 @@ config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM with the hard floating point calling convention, and uses the VFPv3-D16 FPU instructions. -comment "Linaro toolchains available for Cortex-A + EABIhf" - depends on BR2_arm - depends on !BR2_ARM_CPU_ARMV7A || !BR2_ARM_EABIHF - depends on !BR2_STATIC_LIBS - config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARMEB bool "Linaro armeb 2014.09" depends on BR2_armeb
@@ -55,11 +55,6 @@ config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARMEB generated is Thumb 2, with the hard floating point calling convention, and uses the VFPv3-D16 FPU instructions. -comment "Linaro toolchains available for Cortex-A + EABIhf" - depends on BR2_armeb - depends on !BR2_ARM_CPU_ARMV7A || !BR2_ARM_EABIHF - depends on !BR2_STATIC_LIBS - config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM201405 bool "Sourcery CodeBench ARM 2014.05" depends on BR2_arm
Signature · 1 line
1.9.1
Thomas Petazzoni
AppliedPATCH 1/5 toolchain/external: commonalise comments about Linaro toolchains
Dear Yann E. MORIN,
Quoted 11 lines · Yann E. MORIN
Those two comments:
- are exactly the same
- have the same dependencies (except for arm/armeb)So, make it a common comment. It will be useful to have that comment when we introduce new Linaro toolchain versions.
Signed-off-by "Yann E. MORIN" <[email protected]>--- toolchain/toolchain-external/Config.in | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-)
Applied, thanks.
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH 2/5 toolchain/external: rename Linaro arm and AArch64 options
In reply to Yann E. MORINWe're going to add a new Linaro version (2015.02) for those toolchains, so we want to differentiate them.
Even though we could simply keep the current options as-is and just introduce the new ones suffixed with the version, it is better to rename the existing options for consistency with the new ones and wiith other multi-versions toolchains (like the CS CodeBench).
--- Config.in.legacy | 30 ++++++++++++++++++++++ toolchain/toolchain-external/Config.in | 12 ++++----- toolchain/toolchain-external/toolchain-external.mk | 6 ++--- 3 files changed, 39 insertions(+), 9 deletions(-)
Config.in.legacy +30 -0
@@ -107,6 +107,36 @@ endif ############################################################################### comment "Legacy options removed in 2015.11" +config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM + bool "External Linaro arm 2014.09 toolchain option renamed" + select BR2_LEGACY + help + The external Linaro ARM 2014.09 toolchain option has been + renamed to BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM_2014_09. + + Please review the toolchain version used in the toolchain + choice, located in the Toolchain sub-menu. + +config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARMEB + bool "External Linaro armeb 2014.09 toolchain option renamed" + select BR2_LEGACY + help + The external Linaro ARM 2014.09 toolchain option has been + renamed to BR2_TOOLCHAIN_EXTERNAL_LINARO_ARMEB_2014_09. + + Please review the toolchain version used in the toolchain + choice, located in the Toolchain sub-menu. + +config BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64 + bool "External Linaro AArch64 14.09 toolchain option renamed" + select BR2_LEGACY + help + The external Linaro AArch64 14.09 toolchain option has been + renamed to BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64_2014_09. + + Please review the toolchain version used in the toolchain + choice, located in the Toolchain sub-menu. + config BR2_PACKAGE_BLACKBOX bool "blackbox package has been removed" select BR2_LEGACY
toolchain/toolchain-external/Config.in +6 -6
@@ -11,7 +11,7 @@ comment "Linaro toolchains available for Cortex-A + EABIhf" depends on !BR2_ARM_CPU_ARMV7A || !BR2_ARM_EABIHF depends on !BR2_STATIC_LIBS -config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM +config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM_2014_09 bool "Linaro ARM 2014.09" depends on BR2_arm depends on BR2_ARM_CPU_ARMV7A
@@ -33,7 +33,7 @@ config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM with the hard floating point calling convention, and uses the VFPv3-D16 FPU instructions. -config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARMEB +config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARMEB_2014_09 bool "Linaro armeb 2014.09" depends on BR2_armeb depends on BR2_ARM_CPU_ARMV7A
@@ -804,7 +804,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2012R2 Toolchain for the Blackfin architecture, from http://blackfin.uclinux.org. -config BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64 +config BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64_2014_09 bool "Linaro AArch64 14.09" depends on BR2_aarch64 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
@@ -929,14 +929,14 @@ config BR2_TOOLCHAIN_EXTERNAL_PREFIX string default "arc-linux" if BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC_2014_12 && BR2_arcle default "arceb-linux" if BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC_2014_12 && BR2_arceb - default "arm-linux-gnueabihf" if BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM - default "armeb-linux-gnueabihf" if BR2_TOOLCHAIN_EXTERNAL_LINARO_ARMEB + default "arm-linux-gnueabihf" if BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM_2014_09 + default "armeb-linux-gnueabihf" if BR2_TOOLCHAIN_EXTERNAL_LINARO_ARMEB_2014_09 default "arm-none-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM201305 default "arm-none-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM201311 default "arm-none-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM201405 default "arm-arago-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV7A_201109 default "arm-arago-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV5TE_201109 - default "aarch64-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64 + default "aarch64-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64_2014_09 default "aarch64-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64 default "mips-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS201405 default "mips-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS201411
toolchain/toolchain-external/toolchain-external.mk +3 -3
@@ -307,11 +307,11 @@ define TOOLCHAIN_EXTERNAL_FIXUP_CMDS mv $(TOOLCHAIN_EXTERNAL_INSTALL_DIR)/arago-2011.09/armv5te/* $(TOOLCHAIN_EXTERNAL_INSTALL_DIR)/ rm -rf $(TOOLCHAIN_EXTERNAL_INSTALL_DIR)/arago-2011.09/ endef -else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM),y) +else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM_2014_09),y) TOOLCHAIN_EXTERNAL_SITE = http://releases.linaro.org/14.09/components/toolchain/binaries TOOLCHAIN_EXTERNAL_SOURCE = gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux.tar.xz TOOLCHAIN_EXTERNAL_POST_INSTALL_STAGING_HOOKS += TOOLCHAIN_EXTERNAL_LINARO_ARMHF_SYMLINK -else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_LINARO_ARMEB),y) +else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_LINARO_ARMEB_2014_09),y) TOOLCHAIN_EXTERNAL_SITE = http://releases.linaro.org/14.09/components/toolchain/binaries TOOLCHAIN_EXTERNAL_SOURCE = gcc-linaro-armeb-linux-gnueabihf-4.9-2014.09_linux.tar.xz TOOLCHAIN_EXTERNAL_POST_INSTALL_STAGING_HOOKS += TOOLCHAIN_EXTERNAL_LINARO_ARMEBHF_SYMLINK
@@ -374,7 +374,7 @@ else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2014R1),y) TOOLCHAIN_EXTERNAL_SITE = http://downloads.sourceforge.net/project/adi-toolchain/2014R1/2014R1-RC2/i386 TOOLCHAIN_EXTERNAL_SOURCE = blackfin-toolchain-2014R1-RC2.i386.tar.bz2 TOOLCHAIN_EXTERNAL_EXTRA_DOWNLOADS = blackfin-toolchain-uclibc-full-2014R1-RC2.i386.tar.bz2 -else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64),y) +else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64_2014_09),y) TOOLCHAIN_EXTERNAL_SITE = http://releases.linaro.org/14.09/components/toolchain/binaries TOOLCHAIN_EXTERNAL_SOURCE = gcc-linaro-aarch64-linux-gnu-4.9-2014.09_linux.tar.xz TOOLCHAIN_EXTERNAL_POST_INSTALL_STAGING_HOOKS += TOOLCHAIN_EXTERNAL_LINARO_AARCH64_SYMLINK
Signature · 1 line
1.9.1
PATCH 2/5 toolchain/external: rename Linaro arm and AArch64 options
Quoted 7 lines · Yann E. MORIN
We're going to add a new Linaro version (2015.02) for those toolchains, so we want to differentiate them.
Even though we could simply keep the current options as-is and just introduce the new ones suffixed with the version, it is better to rename the existing options for consistency with the new ones and wiith other multi-versions toolchains (like the CS CodeBench).
Sorry to revisit the discussion on IRC, but in be2abf23 Thomas Petazzoni wrote:
Linaro toolchains are released so frequently (every month) that it doesn't make much sense to support 3 consecutive versions. So, like we do for ARM big-endian, let's support only one version at a time.
Are we in agreement that this has changed because it seems they now have stable
releases? Or let me put this differently: are we sure now that the 2015.02 version is really considered more stable than 2015.08, or is it just that they're too lazy to update their website?
Regards,
Arnout
[snip]
Signature · 6 lines
Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286500 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
PATCH 2/5 toolchain/external: rename Linaro arm and AArch64 options
Arnout, All,
On 2015-09-21 19:17 +0200, Arnout Vandecappelle spake thusly:
Quoted 11 lines · Yann E. MORIN
Quoted 7 lines
We're going to add a new Linaro version (2015.02) for those toolchains, so we want to differentiate them.
Even though we could simply keep the current options as-is and just introduce the new ones suffixed with the version, it is better to rename the existing options for consistency with the new ones and wiith other multi-versions toolchains (like the CS CodeBench).
Sorry to revisit the discussion on IRC, but in
be2abf23Thomas Petazzoni wrote:
Quoted 8 lines
Linaro toolchains are released so frequently (every month) that it doesn't make much sense to support 3 consecutive versions. So, like we do for ARM big-endian, let's support only one version at a time.
Are we in agreement that this has changed because it seems they now have stable
releases? Or let me put this differently: are we sure now that the 2015.02 version is really considered more stable than 2015.08, or is it just that they're too lazy to update their website?
Well, I would not put the "stableness" as the main reason, but rather that the new toolchains are only for x86_64, hence people stuck with a 32-bit host would be left out. So, we keep the 2014.09 for those in 32-bit land, and add 2015.02 for those in 64-bit land.
Also, I had a look at the latest toolchain, and it seems they've switched it to a gcc-4.8.:
http://releases.linaro.org/15.06/components/toolchain/binaries/
which gives:
$ ./gcc-linaro-4.8-2015.06-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc --version
arm-linux-gnueabihf-gcc (Linaro GCC 4.8-2015.06) 4.8.5
[...]while the previous is still using a gcc-4.9:
http://releases.linaro.org/15.05/components/toolchain/binaries/
which gives:
$ ./gcc-linaro-4.9-2015.05-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc --version
arm-linux-gnueabihf-gcc (Linaro GCC 4.9-2015.05) 4.9.3 20150413 (prerelease)
[...]So, it seems that they are not completely "stable" with their latest toolchain releases anyway... :-/
However, I'm open to discussion. Hence adding the topic on the list for the DevDays. If we agree on keeping the old version, the series is ready. If not, it's easy to chop it down and just do the replacement with the new version.
Regards,
Yann E. MORIN.
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'
PATCH 3/5 toolchain/external: bump Linaro to 2015.12 for ARM (LE)
In reply to Yann E. MORINThat toolchain is only available for x86_64 hosts, so hide it when the host is not an x86_64.
Add a comment explaining the above.
--- toolchain/toolchain-external/Config.in | 27 ++++++++++++++++++++++ .../toolchain-external/toolchain-external.hash | 1 + toolchain/toolchain-external/toolchain-external.mk | 4 ++++ 3 files changed, 32 insertions(+)
toolchain/toolchain-external/Config.in +27 -0
@@ -6,11 +6,38 @@ choice comment "(e)glibc toolchains only available with shared lib support" depends on BR2_STATIC_LIBS +comment "Linaro 2015.02 toolchains need an x86_64 build machine" + depends on BR2_arm + depends on (!BR2_ARM_CPU_ARMV7A || !BR2_ARM_EABIHF) \ + || !BR2_HOSTARCH = "x86_64" + depends on !BR2_STATIC_LIBS + comment "Linaro toolchains available for Cortex-A + EABIhf" depends on BR2_arm || BR2_armeb depends on !BR2_ARM_CPU_ARMV7A || !BR2_ARM_EABIHF depends on !BR2_STATIC_LIBS +config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM_2015_02 + bool "Linaro ARM 2015.02" + depends on BR2_arm + depends on BR2_ARM_CPU_ARMV7A + depends on BR2_HOSTARCH = "x86_64" + depends on BR2_ARM_EABIHF + depends on !BR2_STATIC_LIBS + select BR2_TOOLCHAIN_EXTERNAL_GLIBC + select BR2_TOOLCHAIN_HAS_NATIVE_RPC + select BR2_INSTALL_LIBSTDCPP + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17 + select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 + help + Linaro toolchain for the ARM architecture. It uses Linaro + GCC 2015.01 (based on gcc 4.9), Linaro GDB 2015.02 (based on + GDB 7.8), eglibc 2.19, Binutils 2014.11 (based on 2.24) and + kernel headers 3.17. It generates code that runs on all + Cortex-A profile devices, but tuned for the Cortex-A9. The + code generated is Thumb 2, with the hard floating point + calling convention, and uses the VFPv3-D16 FPU instructions. + config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM_2014_09 bool "Linaro ARM 2014.09" depends on BR2_arm
toolchain/toolchain-external/toolchain-external.hash +1 -0
@@ -50,6 +50,7 @@ sha256 254af7d02eb3bcc8345c78e131700bc995d65b68232caaed21150a5fd1456070 arago-2 # ARM and Aarch64 toolchains from Linaro sha256 0cffac0caea0eb3c8bdddfa14be011ce366680f40aeddbefc7cf23cb6d4f1891 gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux.tar.xz +sha256 94fca98cb436228a40e8c9b77eec91beee87be170055aea99a6cb1be3d83ee50 gcc-linaro-4.9-2015.02-3-x86_64_arm-linux-gnueabihf.tar.xz sha256 4bc9d86390f8fa67a693ba4768ba5b12faaf7dd37c706c05ccd9321e765226e4 gcc-linaro-armeb-linux-gnueabihf-4.9-2014.09_linux.tar.xz sha256 3954f496ab01de67241109e82abfaa9b7625fdab4f05e79e7902e9814a07b832 gcc-linaro-aarch64-linux-gnu-4.9-2014.09_linux.tar.xz
toolchain/toolchain-external/toolchain-external.mk +4 -0
@@ -307,6 +307,10 @@ define TOOLCHAIN_EXTERNAL_FIXUP_CMDS mv $(TOOLCHAIN_EXTERNAL_INSTALL_DIR)/arago-2011.09/armv5te/* $(TOOLCHAIN_EXTERNAL_INSTALL_DIR)/ rm -rf $(TOOLCHAIN_EXTERNAL_INSTALL_DIR)/arago-2011.09/ endef +else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM_2015_02),y) +TOOLCHAIN_EXTERNAL_SITE = http://releases.linaro.org/15.02/components/toolchain/binaries/arm-linux-gnueabihf +TOOLCHAIN_EXTERNAL_SOURCE = gcc-linaro-4.9-2015.02-3-x86_64_arm-linux-gnueabihf.tar.xz +TOOLCHAIN_EXTERNAL_POST_INSTALL_STAGING_HOOKS += TOOLCHAIN_EXTERNAL_LINARO_ARMHF_SYMLINK else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM_2014_09),y) TOOLCHAIN_EXTERNAL_SITE = http://releases.linaro.org/14.09/components/toolchain/binaries TOOLCHAIN_EXTERNAL_SOURCE = gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux.tar.xz
Signature · 1 line
1.9.1
PATCH 4/5 toolchain/external: bump Linaro to 2015.12 for ARM (BE)
In reply to Yann E. MORINThat toolchain is only available for x86_64 hosts, so hide it when the host is not an x86_64.
Re-use the comment previously added for the ARM toolchain.
--- toolchain/toolchain-external/Config.in | 24 +++++++++++++++++++++- .../toolchain-external/toolchain-external.hash | 1 + toolchain/toolchain-external/toolchain-external.mk | 4 ++++ 3 files changed, 28 insertions(+), 1 deletion(-)
toolchain/toolchain-external/Config.in +23 -1
@@ -7,7 +7,7 @@ comment "(e)glibc toolchains only available with shared lib support" depends on BR2_STATIC_LIBS comment "Linaro 2015.02 toolchains need an x86_64 build machine" - depends on BR2_arm + depends on BR2_arm || BR2_armeb depends on (!BR2_ARM_CPU_ARMV7A || !BR2_ARM_EABIHF) \ || !BR2_HOSTARCH = "x86_64" depends on !BR2_STATIC_LIBS
@@ -60,6 +60,28 @@ config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM_2014_09 with the hard floating point calling convention, and uses the VFPv3-D16 FPU instructions. +config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARMEB_2015_02 + bool "Linaro armeb 2015.02" + depends on BR2_armeb + depends on BR2_ARM_CPU_ARMV7A + depends on BR2_HOSTARCH = "x86_64" + depends on BR2_ARM_EABIHF + depends on !BR2_STATIC_LIBS + select BR2_TOOLCHAIN_EXTERNAL_GLIBC + select BR2_TOOLCHAIN_HAS_NATIVE_RPC + select BR2_INSTALL_LIBSTDCPP + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17 + select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 + help + Linaro toolchain for the ARM big endian architecture. It + uses Linaro GCC 2015.01 (based on gcc 4.9), Linaro GDB + 2015.02 (based on GDB 7.8), eglibc 2.19, Binutils 2014.11 + (based on 2.24) and kernel headers 3.17. It generates code + that runs on all Cortex-A profile devices, but tuned for + the Cortex-A9. The code generated is Thumb 2, with the hard + floating point calling convention, and uses the VFPv3-D16 + FPU instructions. + config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARMEB_2014_09 bool "Linaro armeb 2014.09" depends on BR2_armeb
toolchain/toolchain-external/toolchain-external.hash +1 -0
@@ -52,6 +52,7 @@ sha256 254af7d02eb3bcc8345c78e131700bc995d65b68232caaed21150a5fd1456070 arago-2 sha256 0cffac0caea0eb3c8bdddfa14be011ce366680f40aeddbefc7cf23cb6d4f1891 gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux.tar.xz sha256 94fca98cb436228a40e8c9b77eec91beee87be170055aea99a6cb1be3d83ee50 gcc-linaro-4.9-2015.02-3-x86_64_arm-linux-gnueabihf.tar.xz sha256 4bc9d86390f8fa67a693ba4768ba5b12faaf7dd37c706c05ccd9321e765226e4 gcc-linaro-armeb-linux-gnueabihf-4.9-2014.09_linux.tar.xz +sha256 3f4b80a3eec1c28f92b17417b123d7f24ec9ed6d82be4929fa6cd4a8c17a1e74 gcc-linaro-4.9-2015.02-3-x86_64_armeb-linux-gnueabihf.tar.xz sha256 3954f496ab01de67241109e82abfaa9b7625fdab4f05e79e7902e9814a07b832 gcc-linaro-aarch64-linux-gnu-4.9-2014.09_linux.tar.xz # Synopsys DesignWare ARC toolchains
toolchain/toolchain-external/toolchain-external.mk +4 -0
@@ -315,6 +315,10 @@ else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM_2014_09),y) TOOLCHAIN_EXTERNAL_SITE = http://releases.linaro.org/14.09/components/toolchain/binaries TOOLCHAIN_EXTERNAL_SOURCE = gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux.tar.xz TOOLCHAIN_EXTERNAL_POST_INSTALL_STAGING_HOOKS += TOOLCHAIN_EXTERNAL_LINARO_ARMHF_SYMLINK +else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_LINARO_ARMEB_2015_02),y) +TOOLCHAIN_EXTERNAL_SITE = http://releases.linaro.org/15.02/components/toolchain/binaries/armeb-linux-gnueabihf +TOOLCHAIN_EXTERNAL_SOURCE = gcc-linaro-4.9-2015.02-3-x86_64_armeb-linux-gnueabihf.tar.xz +TOOLCHAIN_EXTERNAL_POST_INSTALL_STAGING_HOOKS += TOOLCHAIN_EXTERNAL_LINARO_ARMEBHF_SYMLINK else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_LINARO_ARMEB_2014_09),y) TOOLCHAIN_EXTERNAL_SITE = http://releases.linaro.org/14.09/components/toolchain/binaries TOOLCHAIN_EXTERNAL_SOURCE = gcc-linaro-armeb-linux-gnueabihf-4.9-2014.09_linux.tar.xz
Signature · 1 line
1.9.1
PATCH 4/5 toolchain/external: bump Linaro to 2015.12 for ARM (BE)
Hi Yann, All,
Le 20/09/2015 23:45, Yann E. MORIN a ?crit :
Quoted 44 lines
That toolchain is only available for
x86_64hosts, so hide it when the host is not anx86_64.Re-use the comment previously added for the ARM toolchain.
Signed-off-by "Yann E. MORIN" <[email protected]>--- toolchain/toolchain-external/Config.in | 24 +++++++++++++++++++++- .../toolchain-external/toolchain-external.hash | 1 + toolchain/toolchain-external/toolchain-external.mk | 4 ++++ 3 files changed, 28 insertions(+), 1 deletion(-)toolchain/toolchain-external/Config.in +16
-1@@ -7,7 +7,7 @@ comment "(e)glibc toolchains only available with shared lib support" depends on BR2_STATIC_LIBS comment "Linaro 2015.02 toolchains need an x86_64 build machine" - depends on BR2_arm + depends on BR2_arm || BR2_armeb depends on (!BR2_ARM_CPU_ARMV7A || !BR2_ARM_EABIHF) \ || !BR2_HOSTARCH = "x86_64" depends on !BR2_STATIC_LIBS@@ -60,6 +60,28 @@ config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM_2014_09 with the hard floating point calling convention, and uses the VFPv3-D16 FPU instructions. +config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARMEB_2015_02 + bool "Linaro armeb 2015.02" + depends on BR2_armeb + depends on BR2_ARM_CPU_ARMV7A + depends on BR2_HOSTARCH = "x86_64" + depends on BR2_ARM_EABIHF + depends on !BR2_STATIC_LIBS + select BR2_TOOLCHAIN_EXTERNAL_GLIBC + select BR2_TOOLCHAIN_HAS_NATIVE_RPC + select BR2_INSTALL_LIBSTDCPP + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17 + select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 + help + Linaro toolchain for the ARM big endian architecture. It + uses Linaro GCC 2015.01 (based on gcc 4.9), Linaro GDB
toolchain/toolchain-external/Config.in config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM_2014_09 · line 87
Quoted 10 lines
toolchain/toolchain-external/Config.in +7
-0+ 2015.02 (based on GDB 7.8), eglibc 2.19, Binutils 2014.11 + (based on 2.24) and kernel headers 3.17. It generates code + that runs on all Cortex-A profile devices, but tuned for + the Cortex-A9. The code generated is Thumb 2, with the hard + floating point calling convention, and uses the VFPv3-D16 + FPU instructions. + config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARMEB_2014_09 bool "Linaro armeb 2014.09" depends on BR2_armeb
Something is missing in this file ;-)
You forgot to define default value for the toolchain prefix when this toolchain is used.
config BR2_TOOLCHAIN_EXTERNAL_PREFIX
[...]
+ default "arm-linux-gnueabihf" if BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM_2015_02
+ default "armeb-linux-gnueabihf" if BR2_TOOLCHAIN_EXTERNAL_LINARO_ARMEB_2015_02
I haven't reviewed entirely your patch series yet, tests are underway.
Best regards,
Romain
Quoted 28 lines
toolchain/toolchain-external/toolchain-external.hash +1
-0@@ -52,6 +52,7 @@ sha256 254af7d02eb3bcc8345c78e131700bc995d65b68232caaed21150a5fd1456070 arago-2 sha256 0cffac0caea0eb3c8bdddfa14be011ce366680f40aeddbefc7cf23cb6d4f1891 gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux.tar.xz sha256 94fca98cb436228a40e8c9b77eec91beee87be170055aea99a6cb1be3d83ee50 gcc-linaro-4.9-2015.02-3-x86_64_arm-linux-gnueabihf.tar.xz sha256 4bc9d86390f8fa67a693ba4768ba5b12faaf7dd37c706c05ccd9321e765226e4 gcc-linaro-armeb-linux-gnueabihf-4.9-2014.09_linux.tar.xz +sha256 3f4b80a3eec1c28f92b17417b123d7f24ec9ed6d82be4929fa6cd4a8c17a1e74 gcc-linaro-4.9-2015.02-3-x86_64_armeb-linux-gnueabihf.tar.xz sha256 3954f496ab01de67241109e82abfaa9b7625fdab4f05e79e7902e9814a07b832 gcc-linaro-aarch64-linux-gnu-4.9-2014.09_linux.tar.xz # Synopsys DesignWare ARC toolchainstoolchain/toolchain-external/toolchain-external.mk +4
-0@@ -315,6 +315,10 @@ else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM_2014_09),y) TOOLCHAIN_EXTERNAL_SITE = http://releases.linaro.org/14.09/components/toolchain/binaries TOOLCHAIN_EXTERNAL_SOURCE = gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux.tar.xz TOOLCHAIN_EXTERNAL_POST_INSTALL_STAGING_HOOKS += TOOLCHAIN_EXTERNAL_LINARO_ARMHF_SYMLINK +else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_LINARO_ARMEB_2015_02),y) +TOOLCHAIN_EXTERNAL_SITE = http://releases.linaro.org/15.02/components/toolchain/binaries/armeb-linux-gnueabihf +TOOLCHAIN_EXTERNAL_SOURCE = gcc-linaro-4.9-2015.02-3-x86_64_armeb-linux-gnueabihf.tar.xz +TOOLCHAIN_EXTERNAL_POST_INSTALL_STAGING_HOOKS += TOOLCHAIN_EXTERNAL_LINARO_ARMEBHF_SYMLINK else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_LINARO_ARMEB_2014_09),y) TOOLCHAIN_EXTERNAL_SITE = http://releases.linaro.org/14.09/components/toolchain/binaries TOOLCHAIN_EXTERNAL_SOURCE = gcc-linaro-armeb-linux-gnueabihf-4.9-2014.09_linux.tar.xz
PATCH 4/5 toolchain/external: bump Linaro to 2015.12 for ARM (BE)
Romain, All,
On 2015-09-21 14:28 +0200, Romain Naour spake thusly:
Quoted 63 lines
Le 20/09/2015 23:45, Yann E. MORIN a ?crit :
Quoted 44 lines
That toolchain is only available for
x86_64hosts, so hide it when the host is not anx86_64.Re-use the comment previously added for the ARM toolchain.
Signed-off-by "Yann E. MORIN" <[email protected]>--- toolchain/toolchain-external/Config.in | 24 +++++++++++++++++++++- .../toolchain-external/toolchain-external.hash | 1 + toolchain/toolchain-external/toolchain-external.mk | 4 ++++ 3 files changed, 28 insertions(+), 1 deletion(-)toolchain/toolchain-external/Config.in +16
-1@@ -7,7 +7,7 @@ comment "(e)glibc toolchains only available with shared lib support" depends on BR2_STATIC_LIBS comment "Linaro 2015.02 toolchains need an x86_64 build machine" - depends on BR2_arm + depends on BR2_arm || BR2_armeb depends on (!BR2_ARM_CPU_ARMV7A || !BR2_ARM_EABIHF) \ || !BR2_HOSTARCH = "x86_64" depends on !BR2_STATIC_LIBS@@ -60,6 +60,28 @@ config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM_2014_09 with the hard floating point calling convention, and uses the VFPv3-D16 FPU instructions. +config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARMEB_2015_02 + bool "Linaro armeb 2015.02" + depends on BR2_armeb + depends on BR2_ARM_CPU_ARMV7A + depends on BR2_HOSTARCH = "x86_64" + depends on BR2_ARM_EABIHF + depends on !BR2_STATIC_LIBS + select BR2_TOOLCHAIN_EXTERNAL_GLIBC + select BR2_TOOLCHAIN_HAS_NATIVE_RPC + select BR2_INSTALL_LIBSTDCPP + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17 + select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 + help + Linaro toolchain for the ARM big endian architecture. It + uses Linaro GCC 2015.01 (based on gcc 4.9), Linaro GDBtoolchain/toolchain-external/Config.in config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM_2014_09 · line 87
Quoted 10 lines
toolchain/toolchain-external/Config.in +7
-0+ 2015.02 (based on GDB 7.8), eglibc 2.19, Binutils 2014.11 + (based on 2.24) and kernel headers 3.17. It generates code + that runs on all Cortex-A profile devices, but tuned for + the Cortex-A9. The code generated is Thumb 2, with the hard + floating point calling convention, and uses the VFPv3-D16 + FPU instructions. + config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARMEB_2014_09 bool "Linaro armeb 2014.09" depends on BR2_armebSomething is missing in this file ;-)
You forgot to define default value for the toolchain prefix when this toolchain is used.
config
BR2_TOOLCHAIN_EXTERNAL_PREFIX
[...]
Review
Quoted 2 lines
(quoted diff) +2
-0+ default "arm-linux-gnueabihf" if BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM_2015_02 + default "armeb-linux-gnueabihf" if BR2_TOOLCHAIN_EXTERNAL_LINARO_ARMEB_2015_02
Damned.
I initially did a series that replaced the existing toolchains with the new ones. That one was working as expected.
However, since the new toolchains are only available for x86_64 hosts, I did a new series that _added_ the new toolchains and kept the old ones. So, I just copy-pasted the new options from the old series, and forgot to add the new tuples in the list (even though I did update the entries when renaming the old options). Sigh...
Good catch, I'll fix (but will wait for more reviews before I respin).
Thanks! :-)
Regards,
Yann E. MORIN.
Quoted 34 lines
I haven't reviewed entirely your patch series yet, tests are underway.
Best regards,
RomainQuoted 28 lines
toolchain/toolchain-external/toolchain-external.hash +1
-0@@ -52,6 +52,7 @@ sha256 254af7d02eb3bcc8345c78e131700bc995d65b68232caaed21150a5fd1456070 arago-2 sha256 0cffac0caea0eb3c8bdddfa14be011ce366680f40aeddbefc7cf23cb6d4f1891 gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux.tar.xz sha256 94fca98cb436228a40e8c9b77eec91beee87be170055aea99a6cb1be3d83ee50 gcc-linaro-4.9-2015.02-3-x86_64_arm-linux-gnueabihf.tar.xz sha256 4bc9d86390f8fa67a693ba4768ba5b12faaf7dd37c706c05ccd9321e765226e4 gcc-linaro-armeb-linux-gnueabihf-4.9-2014.09_linux.tar.xz +sha256 3f4b80a3eec1c28f92b17417b123d7f24ec9ed6d82be4929fa6cd4a8c17a1e74 gcc-linaro-4.9-2015.02-3-x86_64_armeb-linux-gnueabihf.tar.xz sha256 3954f496ab01de67241109e82abfaa9b7625fdab4f05e79e7902e9814a07b832 gcc-linaro-aarch64-linux-gnu-4.9-2014.09_linux.tar.xz # Synopsys DesignWare ARC toolchainstoolchain/toolchain-external/toolchain-external.mk +4
-0@@ -315,6 +315,10 @@ else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM_2014_09),y) TOOLCHAIN_EXTERNAL_SITE = http://releases.linaro.org/14.09/components/toolchain/binaries TOOLCHAIN_EXTERNAL_SOURCE = gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux.tar.xz TOOLCHAIN_EXTERNAL_POST_INSTALL_STAGING_HOOKS += TOOLCHAIN_EXTERNAL_LINARO_ARMHF_SYMLINK +else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_LINARO_ARMEB_2015_02),y) +TOOLCHAIN_EXTERNAL_SITE = http://releases.linaro.org/15.02/components/toolchain/binaries/armeb-linux-gnueabihf +TOOLCHAIN_EXTERNAL_SOURCE = gcc-linaro-4.9-2015.02-3-x86_64_armeb-linux-gnueabihf.tar.xz +TOOLCHAIN_EXTERNAL_POST_INSTALL_STAGING_HOOKS += TOOLCHAIN_EXTERNAL_LINARO_ARMEBHF_SYMLINK else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_LINARO_ARMEB_2014_09),y) TOOLCHAIN_EXTERNAL_SITE = http://releases.linaro.org/14.09/components/toolchain/binaries TOOLCHAIN_EXTERNAL_SOURCE = gcc-linaro-armeb-linux-gnueabihf-4.9-2014.09_linux.tar.xz
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'
PATCH 5/5 toolchain/external: bump Linaro to 2015.12 for AArch64 (LE)
In reply to Yann E. MORINThat toolchain is only available for x86_64 hosts, so hide it when the host is not an x86_64.
Re-use and adapt the comment for the two ARM/ARMEB toolchains about the need for an x86_64 build machine.
--- toolchain/toolchain-external/Config.in | 19 +++++++++++++++++-- toolchain/toolchain-external/toolchain-external.hash | 1 + toolchain/toolchain-external/toolchain-external.mk | 4 ++++ 3 files changed, 22 insertions(+), 2 deletions(-)
toolchain/toolchain-external/Config.in +17 -2
@@ -6,9 +6,10 @@ choice comment "(e)glibc toolchains only available with shared lib support" depends on BR2_STATIC_LIBS +# Need to replicate the BR2_aarch64 a second time comment "Linaro 2015.02 toolchains need an x86_64 build machine" - depends on BR2_arm || BR2_armeb - depends on (!BR2_ARM_CPU_ARMV7A || !BR2_ARM_EABIHF) \ + depends on BR2_arm || BR2_armeb || BR2_aarch64 + depends on (!BR2_ARM_CPU_ARMV7A || !BR2_ARM_EABIHF) || BR2_aarch64 \ || !BR2_HOSTARCH = "x86_64" depends on !BR2_STATIC_LIBS
@@ -853,6 +854,20 @@ config BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2012R2 Toolchain for the Blackfin architecture, from http://blackfin.uclinux.org. +config BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64_2015_02 + bool "Linaro AArch64 15.02" + depends on BR2_aarch64 + depends on BR2_HOSTARCH = "x86_64" + depends on !BR2_STATIC_LIBS + select BR2_TOOLCHAIN_EXTERNAL_GLIBC + select BR2_INSTALL_LIBSTDCPP + select BR2_TOOLCHAIN_HAS_NATIVE_RPC + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17 + select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 + help + Toolchain for the AArch64 architecture, from + http://www.linaro.org/engineering/armv8/ + config BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64_2014_09 bool "Linaro AArch64 14.09" depends on BR2_aarch64
toolchain/toolchain-external/toolchain-external.hash +1 -0
@@ -54,6 +54,7 @@ sha256 94fca98cb436228a40e8c9b77eec91beee87be170055aea99a6cb1be3d83ee50 gcc-lin sha256 4bc9d86390f8fa67a693ba4768ba5b12faaf7dd37c706c05ccd9321e765226e4 gcc-linaro-armeb-linux-gnueabihf-4.9-2014.09_linux.tar.xz sha256 3f4b80a3eec1c28f92b17417b123d7f24ec9ed6d82be4929fa6cd4a8c17a1e74 gcc-linaro-4.9-2015.02-3-x86_64_armeb-linux-gnueabihf.tar.xz sha256 3954f496ab01de67241109e82abfaa9b7625fdab4f05e79e7902e9814a07b832 gcc-linaro-aarch64-linux-gnu-4.9-2014.09_linux.tar.xz +sha256 010bc180b42da770bcdfdb61e3d6237d13c3cf76d7b62c11d0c25a2218ade130 gcc-linaro-4.9-2015.02-3-x86_64_aarch64-linux-gnu.tar.xz # Synopsys DesignWare ARC toolchains sha256 1fa4ea2c8616623205f1c7beca02ea31b019099528a7433e5b020b0876b93bf3 arc_gnu_2014.12_prebuilt_uclibc_le_arc700_linux_install.tar.gz
toolchain/toolchain-external/toolchain-external.mk +4 -0
@@ -382,6 +382,10 @@ else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2014R1),y) TOOLCHAIN_EXTERNAL_SITE = http://downloads.sourceforge.net/project/adi-toolchain/2014R1/2014R1-RC2/i386 TOOLCHAIN_EXTERNAL_SOURCE = blackfin-toolchain-2014R1-RC2.i386.tar.bz2 TOOLCHAIN_EXTERNAL_EXTRA_DOWNLOADS = blackfin-toolchain-uclibc-full-2014R1-RC2.i386.tar.bz2 +else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64_2015_02),y) +TOOLCHAIN_EXTERNAL_SITE = http://releases.linaro.org/15.02/components/toolchain/binaries/aarch64-linux-gnu +TOOLCHAIN_EXTERNAL_SOURCE = gcc-linaro-4.9-2015.02-3-x86_64_aarch64-linux-gnu.tar.xz +TOOLCHAIN_EXTERNAL_POST_INSTALL_STAGING_HOOKS += TOOLCHAIN_EXTERNAL_LINARO_AARCH64_SYMLINK else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64_2014_09),y) TOOLCHAIN_EXTERNAL_SITE = http://releases.linaro.org/14.09/components/toolchain/binaries TOOLCHAIN_EXTERNAL_SOURCE = gcc-linaro-aarch64-linux-gnu-4.9-2014.09_linux.tar.xz
Signature · 1 line
1.9.1