toolchain/external: add Linaro 2014.11 (branch yem/toolchain-linaro-2014.11)
v2 cover toolchain/external: add Linaro 2014.11 (branch yem/toolchain-linaro-2014.11)
Hello All!
This series introduces the Linaro 2014.11 toolchains, for ARM (LE and BE) and AArch64.
See the commit log of patch 1 for the gory details... :-/
ARM (LE) toolchain was tested with a minimalist setup, based on qemu_arm_vexpress_defconfig, with just a switch to use EABIhf and this toolchain (rather than the default EABI and internal toolchain), while the AArch64 toolchain was tested in a similar way, based on qemu_aarch64_virt_defconfig.
Changes v1 -> v2:
- remove stray backup file
Regards,
Yann E. MORIN.
The following changes since commit 9c820091d1a1813e6de4016ea510a047847f9648:
package/dovecot: fix hash typo (2015-03-27 18:47:38 +0100)
are available in the git repository at:
git://git.busybox.net/~ymorin/git/buildroot yem/toolchain-linaro-2014.11
for you to fetch changes up to f236047e897f67361e28b321b0e9e326c012b802:
toolchain/external: add Linaro AArch64 2014.11 (2015-03-28 16:12:13 +0100)
----------------------------------------------------------------
Yann E. MORIN (3):
toolchain/external: add Linaro ARM 2014.11 ARMv7 EABIhf toolchain/external: add Linaro ARM BE 2014.11 ARMv7 EABIhf toolchain/external: add Linaro AArch64 2014.11
toolchain/toolchain-external/Config.in | 73 ++++++++++++++++++++++ .../toolchain-external/toolchain-external.hash | 6 ++ toolchain/toolchain-external/toolchain-external.mk | 47 ++++++++++++++ 3 files changed, 126 insertions(+)
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 v2 1/3 toolchain/external: add Linaro ARM 2014.11 ARMv7 EABIhf
This toolchain has a kind of hstory of its own... ;-(
First released in November 2014, it was completely broken, and Thomas opened a bug report. Here's the story (for reference):
https://plus.google.com/+ThomasPetazzoni/posts/SjFkrX3ow5M https://bugs.linaro.org/show_bug.cgi?id=862
since then, the release has been re-done, and the issue reported above has been fixed. This makes that toolchain almost usable by Buildroot, with just a few little nits:
- it is available only for x86_64 hosts
- the toolchain is split in three parts:
- the main archive, with the tools and a minimalist sysroot with just the strictly required stuff (e.g. just the C library and most libs as static libs, i.e. no shared libs but libc.so)
- a secondary archive, with the complete sysroot , duplicationg most previously existing files in the minimal sysroot, above
- a tertiary archive, with the 'runtime' content (whatever that could mean...); that one seems completely unnecessary for Buildroot.
- the sys/types.h headers from the main sysroot is correct, while the one from the secondary archive (thus overwriting the main one) is broken, as it removes the definition of caddr_t (why? WHY?).
- there's a stray backup file for libstdc++
So, add this new toolchain with three post-extract hooks, one to extract the secondary, sysroot archive, the second to restore sys/types.h to a useable state, and the third to remove the backup file.
(Note: we're doing it in three hooks, because the cleanup hook is different for the AArch64 toolchain, coming soon...)
--- toolchain/toolchain-external/Config.in | 27 +++++++++++++++++++++ .../toolchain-external/toolchain-external.hash | 2 ++ toolchain/toolchain-external/toolchain-external.mk | 28 ++++++++++++++++++++++ 3 files changed, 57 insertions(+)
toolchain/toolchain-external/Config.in +27 -0
@@ -6,6 +6,32 @@ choice comment "(e)glibc toolchains only available with shared lib support" depends on BR2_STATIC_LIBS +config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM_2014_11 + bool "Linaro arm 2014.11" + 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 + help + Linaro toolchain for the ARM architecture. It uses Linaro + GCC 2014.11 (based on gcc 4.9), Linaro GDB 2014.11 (based on + GDB 7.8), Linaro glibc 2014.11 (based on glibc2.20), Linaro + Binutils 2014.09 (based on 2.24). 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. + +comment "Linaro toolchain 2014.11 available only on x86_64 hosts" + depends on BR2_arm + depends on !BR2_ARM_CPU_ARMV7A || !BR2_ARM_EABIHF + depends on !BR2_STATIC_LIBS + depends on BR2_HOSTARCH != "x86_64" + config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM bool "Linaro ARM 2014.09" depends on BR2_arm
@@ -948,6 +974,7 @@ 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_2014_11 default "arm-linux-gnueabihf" if BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM default "armeb-linux-gnueabihf" if BR2_TOOLCHAIN_EXTERNAL_LINARO_ARMEB default "arm-none-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM201305
toolchain/toolchain-external/toolchain-external.hash +2 -0
@@ -51,6 +51,8 @@ sha256 f2febf3b3c565536461ad4405f1bcb835d75a6afb2a8bec958a1248cb4b81fc7 arago-2 sha256 254af7d02eb3bcc8345c78e131700bc995d65b68232caaed21150a5fd1456070 arago-2011.09-armv5te-linux-gnueabi-sdk.tar.bz2 # ARM and Aarch64 toolchains from Linaro +sha256 bc4ca2ced084d2dc12424815a4442e19cb1422db87068830305d90075feb1a3b gcc-linaro-4.9-2014.11-x86_64_arm-linux-gnueabihf.tar.xz +sha256 c85cda17fcf6e83cfb35bab646ebce7061edd15ae0b796f2f616cb61e92b4e61 sysroot-linaro-eglibc-gcc4.9-2014.11-arm-linux-gnueabihf.tar.xz sha256 0cffac0caea0eb3c8bdddfa14be011ce366680f40aeddbefc7cf23cb6d4f1891 gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux.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 +28 -0
@@ -253,6 +253,26 @@ define TOOLCHAIN_EXTERNAL_LINARO_AARCH64_SYMLINK ln -sf . $(TARGET_DIR)/usr/lib/aarch64-linux-gnu endef +# The Linaro 2014.11 toolchains are split in two parts: +# - the main archive, contains compiler and other tools, plus a minimal +# sysroot without a lot of share dlibs (e.g. libstdc++.so) +# - a secondrary archive with another part of the sysroot (in that both +# the intersection and exclusion are non-empty) +# The standard package infra handles the main archive, and we use a +# post-extract hook to extract the secondary, sysroot archive +define TOOLCHAIN_EXTERNAL_LINARO_2014_11_EXTRACT_SYSROOT + $(call suitable-extractor,$(TOOLCHAIN_EXTERNAL_EXTRA_DOWNLOADS)) $(DL_DIR)/$(TOOLCHAIN_EXTERNAL_EXTRA_DOWNLOADS) | \ + $(TAR) $(TAR_STRIP_COMPONENTS)=1 --hard-dereference -C $(TOOLCHAIN_EXTERNAL_INSTALL_DIR)/libc $(TAR_OPTIONS) - +endef +# The sysroot archive is kinda broken, keep the pieces together... +define TOOLCHAIN_EXTERNAL_LINARO_2014_11_FIX_TYPES_H + $(SED) 's/\(typedef __daddr_t daddr_t;\)/\1\ntypedef __caddr_t caddr_t;/' \ + $(TOOLCHAIN_EXTERNAL_INSTALL_DIR)/libc/usr/include/sys/types.h +endef +define TOOLCHAIN_EXTERNAL_LINARO_2014_11_CLEAN_UP_32 + rm -f $(TOOLCHAIN_EXTERNAL_INSTALL_DIR)/libc/usr/lib/libgcc_s.so.1.backup +endef + ifeq ($(BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM201305),y) TOOLCHAIN_EXTERNAL_SITE = http://sourcery.mentor.com/public/gnu_toolchain/arm-none-linux-gnueabi TOOLCHAIN_EXTERNAL_SOURCE = arm-2013.05-24-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
@@ -276,6 +296,14 @@ 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_2014_11),y) +TOOLCHAIN_EXTERNAL_SITE = http://releases.linaro.org/14.11/components/toolchain/binaries/arm-linux-gnueabihf/ +TOOLCHAIN_EXTERNAL_SOURCE = gcc-linaro-4.9-2014.11-x86_64_arm-linux-gnueabihf.tar.xz +TOOLCHAIN_EXTERNAL_EXTRA_DOWNLOADS = sysroot-linaro-eglibc-gcc4.9-2014.11-arm-linux-gnueabihf.tar.xz +TOOLCHAIN_EXTERNAL_POST_EXTRACT_HOOKS += \ + TOOLCHAIN_EXTERNAL_LINARO_2014_11_EXTRACT_SYSROOT \ + TOOLCHAIN_EXTERNAL_LINARO_2014_11_FIX_TYPES_H \ + TOOLCHAIN_EXTERNAL_LINARO_2014_11_CLEAN_UP_32 else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM),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 v2 1/3 toolchain/external: add Linaro ARM 2014.11 ARMv7 EABIhf
Dear Yann E. MORIN,
Quoted 12 lines · Yann E. MORIN
- it is available only for
x86_64hosts- the toolchain is split in three parts:
- the main archive, with the tools and a minimalist sysroot with just the strictly required stuff (e.g. just the C library and most libs as static libs, i.e. no shared libs but libc.so)
- a secondary archive, with the complete sysroot , duplicationg most previously existing files in the minimal sysroot, above
- a tertiary archive, with the 'runtime' content (whatever that could mean...); that one seems completely unnecessary for Buildroot.
Quoted 3 lines
- the
sys/types.hheaders from the main sysroot is correct, while the one from the secondary archive (thus overwriting the main one) is broken, as it removes the definition ofcaddr_t(why? WHY?).
Can you report this bug to the Linaro folks?
Quoted 2 lines
- there's a stray backup file for libstdc++
I already reported the stray backup file issue, but as part of my original bug report. Maybe we should report it as a separate bug.
toolchain/toolchain-external/Config.in choice · line 10
Quoted 2 lines
toolchain/toolchain-external/Config.in +2
-0+config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM_2014_11 + bool "Linaro arm 2014.11"
For Linaro toolchains, we've stopped adding version-specific Config.in options. At any given time, we support only one Linaro toolchain, under the option BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM.
toolchain/toolchain-external/toolchain-external.mk define TOOLCHAIN_EXTERNAL_LINARO_AARCH64_SYMLINK · line 257
Quoted 2 lines
toolchain/toolchain-external/toolchain-external.mk +2
-0+# The Linaro 2014.11 toolchains are split in two parts: +# - the main archive, contains compiler and other tools, plus a minimal
No comma between 'archive' and 'contains'.
toolchain/toolchain-external/toolchain-external.mk define TOOLCHAIN_EXTERNAL_LINARO_AARCH64_SYMLINK · line 259
Quoted 2 lines
toolchain/toolchain-external/toolchain-external.mk +2
-0+# sysroot without a lot of share dlibs (e.g. libstdc++.so) +# - a secondrary archive with another part of the sysroot (in that both
secondary
Quoted 1 line
+# the intersection and exclusion are non-empty)
"in that both the intersection and exclusion are non-empty" ?!?
toolchain/toolchain-external/toolchain-external.mk define TOOLCHAIN_EXTERNAL_LINARO_AARCH64_SYMLINK · line 267
Quoted 7 lines
toolchain/toolchain-external/toolchain-external.mk +7
-0+# The standard package infra handles the main archive, and we use a +# post-extract hook to extract the secondary, sysroot archive +define TOOLCHAIN_EXTERNAL_LINARO_2014_11_EXTRACT_SYSROOT + $(call suitable-extractor,$(TOOLCHAIN_EXTERNAL_EXTRA_DOWNLOADS)) $(DL_DIR)/$(TOOLCHAIN_EXTERNAL_EXTRA_DOWNLOADS) | \ + $(TAR) $(TAR_STRIP_COMPONENTS)=1 --hard-dereference -C $(TOOLCHAIN_EXTERNAL_INSTALL_DIR)/libc $(TAR_OPTIONS) - +endef +# The sysroot archive is kinda broken, keep the pieces together...
Maybe be more specific here about what is being done rather than just "let's fix the breakage".
toolchain/toolchain-external/toolchain-external.mk define TOOLCHAIN_EXTERNAL_LINARO_AARCH64_SYMLINK · line 274
Quoted 7 lines
toolchain/toolchain-external/toolchain-external.mk +7
-0+define TOOLCHAIN_EXTERNAL_LINARO_2014_11_FIX_TYPES_H + $(SED) 's/\(typedef __daddr_t daddr_t;\)/\1\ntypedef __caddr_t caddr_t;/' \ + $(TOOLCHAIN_EXTERNAL_INSTALL_DIR)/libc/usr/include/sys/types.h +endef +define TOOLCHAIN_EXTERNAL_LINARO_2014_11_CLEAN_UP_32 + rm -f $(TOOLCHAIN_EXTERNAL_INSTALL_DIR)/libc/usr/lib/libgcc_s.so.1.backup +endef
Thanks,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH v2 1/3 toolchain/external: add Linaro ARM 2014.11 ARMv7 EABIhf
Thomas, All,
On 2015-03-29 13:11 +0200, Thomas Petazzoni spake thusly:
Quoted 14 lines · Yann E. MORIN
Quoted 13 lines
- it is available only for
x86_64hosts- the toolchain is split in three parts:
- the main archive, with the tools and a minimalist sysroot with just the strictly required stuff (e.g. just the C library and most libs as static libs, i.e. no shared libs but libc.so)
- a secondary archive, with the complete sysroot , duplicationg most previously existing files in the minimal sysroot, above
- a tertiary archive, with the 'runtime' content (whatever that could mean...); that one seems completely unnecessary for Buildroot.
Quoted 5 lines
Quoted 3 lines
- the
sys/types.hheaders from the main sysroot is correct, while the one from the secondary archive (thus overwriting the main one) is broken, as it removes the definition ofcaddr_t(why? WHY?).Can you report this bug to the Linaro folks?
ACK, will do.
Quoted 3 lines
Quoted 1 line
- there's a stray backup file for libstdc++
I already reported the stray backup file issue, but as part of my original bug report. Maybe we should report it as a separate bug.
ACK, will do.
Quoted 6 lines
toolchain/toolchain-external/Config.in choice · line 10
Quoted 2 lines
toolchain/toolchain-external/Config.in +2
-0+config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM_2014_11 + bool "Linaro arm 2014.11"For Linaro toolchains, we've stopped adding version-specific Config.in options. At any given time, we support only one Linaro toolchain, under the option
BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM.
Well, because the 2014.11 is kinda new and a bit broken so far, I wanted to keep the 2014.09 as a backup, in case I missed issues with 2014.11.
I was able to build quite a lot of stuff with it, like the full Kodi suite and the whole of Qt5, but QtWebKit, which should exercise the compiler pretty well, but there might still be issues lurking around. Hence adding it instead of replacing.
But if you really want we replace the existing one, I'm OK.
Quoted 4 lines
toolchain/toolchain-external/toolchain-external.mk define TOOLCHAIN_EXTERNAL_LINARO_AARCH64_SYMLINK · line 260
Quoted 3 lines
toolchain/toolchain-external/toolchain-external.mk +3
-0+# sysroot without a lot of share dlibs (e.g. libstdc++.so) +# - a secondrary archive with another part of the sysroot (in that both +# the intersection and exclusion are non-empty)"in that both the intersection and exclusion are non-empty" ?!?
Well, it means the set of files in the sysroot archive is not a superset of the sysroot files of the main archive:
- main archive's sysroot: [----------------]
- secondary archive's sysroot: [-----------------------]
- intersection: [-----------]
- exclusion: [----] [-----------]
Quoted 10 lines
toolchain/toolchain-external/toolchain-external.mk define TOOLCHAIN_EXTERNAL_LINARO_AARCH64_SYMLINK · line 267
Quoted 7 lines
toolchain/toolchain-external/toolchain-external.mk +7
-0+# The standard package infra handles the main archive, and we use a +# post-extract hook to extract the secondary, sysroot archive +define TOOLCHAIN_EXTERNAL_LINARO_2014_11_EXTRACT_SYSROOT + $(call suitable-extractor,$(TOOLCHAIN_EXTERNAL_EXTRA_DOWNLOADS)) $(DL_DIR)/$(TOOLCHAIN_EXTERNAL_EXTRA_DOWNLOADS) | \ + $(TAR) $(TAR_STRIP_COMPONENTS)=1 --hard-dereference -C $(TOOLCHAIN_EXTERNAL_INSTALL_DIR)/libc $(TAR_OPTIONS) - +endef +# The sysroot archive is kinda broken, keep the pieces together...Maybe be more specific here about what is being done rather than just "let's fix the breakage".
ACK, will do.
Thanks! :-)
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 v2 2/3 toolchain/external: add Linaro ARM BE 2014.11 ARMv7 EABIhf
In reply to Yann E. MORINSuffers from the same deficiencies as the just-introduced LE variant.
--- toolchain/toolchain-external/Config.in | 27 ++++++++++++++++++++++ .../toolchain-external/toolchain-external.hash | 2 ++ toolchain/toolchain-external/toolchain-external.mk | 8 +++++++ 3 files changed, 37 insertions(+)
toolchain/toolchain-external/Config.in +27 -0
@@ -58,6 +58,32 @@ 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_ARMEB_2014_11 + bool "Linaro armeb 2014.11" + 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 + help + Linaro toolchain for the ARM big endian architecture. It + uses Linaro GCC 2014.11 (based on gcc 4.9), Linaro GDB 2014.11 + (based on GDB 7.8), Linaro glibc 2014.11 (based on glibc2.20), + Linaro Binutils 2014.09 (based on 2.24). 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. + +comment "Linaro toolchain 2014.11 available only on x86_64 hosts" + depends on BR2_armeb + depends on !BR2_ARM_CPU_ARMV7A || !BR2_ARM_EABIHF + depends on !BR2_STATIC_LIBS + depends on BR2_HOSTARCH != "x86_64" + config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARMEB bool "Linaro armeb 2014.09" depends on BR2_armeb
@@ -975,6 +1001,7 @@ config BR2_TOOLCHAIN_EXTERNAL_PREFIX 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_2014_11 + default "armeb-linux-gnueabihf" if BR2_TOOLCHAIN_EXTERNAL_LINARO_ARMEB_2014_11 default "arm-linux-gnueabihf" if BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM default "armeb-linux-gnueabihf" if BR2_TOOLCHAIN_EXTERNAL_LINARO_ARMEB default "arm-none-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM201305
toolchain/toolchain-external/toolchain-external.hash +2 -0
@@ -53,6 +53,8 @@ sha256 254af7d02eb3bcc8345c78e131700bc995d65b68232caaed21150a5fd1456070 arago-2 # ARM and Aarch64 toolchains from Linaro sha256 bc4ca2ced084d2dc12424815a4442e19cb1422db87068830305d90075feb1a3b gcc-linaro-4.9-2014.11-x86_64_arm-linux-gnueabihf.tar.xz sha256 c85cda17fcf6e83cfb35bab646ebce7061edd15ae0b796f2f616cb61e92b4e61 sysroot-linaro-eglibc-gcc4.9-2014.11-arm-linux-gnueabihf.tar.xz +sha256 f1b8cc025864d0213e88f0821b50d663d2428d31ea78eb38446d2042c8a49a74 gcc-linaro-4.9-2014.11-x86_64_armeb-linux-gnueabihf.tar.xz +sha256 56a75abfb229d2d2f05a884212669a543a873c76aab4c0c8d1ebe71b8074803d sysroot-linaro-eglibc-gcc4.9-2014.11-armeb-linux-gnueabihf.tar.xz sha256 0cffac0caea0eb3c8bdddfa14be011ce366680f40aeddbefc7cf23cb6d4f1891 gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux.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 +8 -0
@@ -304,6 +304,14 @@ TOOLCHAIN_EXTERNAL_POST_EXTRACT_HOOKS += \ TOOLCHAIN_EXTERNAL_LINARO_2014_11_EXTRACT_SYSROOT \ TOOLCHAIN_EXTERNAL_LINARO_2014_11_FIX_TYPES_H \ TOOLCHAIN_EXTERNAL_LINARO_2014_11_CLEAN_UP_32 +else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_LINARO_ARMEB_2014_11),y) +TOOLCHAIN_EXTERNAL_SITE = http://releases.linaro.org/14.11/components/toolchain/binaries/armeb-linux-gnueabihf +TOOLCHAIN_EXTERNAL_SOURCE = gcc-linaro-4.9-2014.11-x86_64_armeb-linux-gnueabihf.tar.xz +TOOLCHAIN_EXTERNAL_EXTRA_DOWNLOADS = sysroot-linaro-eglibc-gcc4.9-2014.11-armeb-linux-gnueabihf.tar.xz +TOOLCHAIN_EXTERNAL_POST_EXTRACT_HOOKS += \ + TOOLCHAIN_EXTERNAL_LINARO_2014_11_EXTRACT_SYSROOT \ + TOOLCHAIN_EXTERNAL_LINARO_2014_11_FIX_TYPES_H \ + TOOLCHAIN_EXTERNAL_LINARO_2014_11_CLEAN_UP_32 else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM),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 v2 3/3 toolchain/external: add Linaro AArch64 2014.11
In reply to Yann E. MORINSuffers from the same deficiencies as the just-introduced ARMv7 variants.
--- toolchain/toolchain-external/Config.in | 19 +++++++++++++++++++ toolchain/toolchain-external/toolchain-external.hash | 2 ++ toolchain/toolchain-external/toolchain-external.mk | 11 +++++++++++ 3 files changed, 32 insertions(+)
toolchain/toolchain-external/Config.in +19 -0
@@ -882,6 +882,24 @@ config BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2012R2 Toolchain for the Blackfin architecture, from http://blackfin.uclinux.org. +config BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64_2014_11 + bool "Linaro AArch64 14.11" + 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 + help + Toolchain for the AArch64 architecture, from + http://www.linaro.org/engineering/armv8/ + +comment "Linaro toolchain 2014.11 available only on x86_64 hosts" + depends on BR2_aarch64 + depends on BR2_HOSTARCH != "x86_64" + depends on !BR2_STATIC_LIBS + config BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64 bool "Linaro AArch64 14.09" depends on BR2_aarch64
@@ -1009,6 +1027,7 @@ config BR2_TOOLCHAIN_EXTERNAL_PREFIX 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_2014_11 default "aarch64-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64 default "aarch64-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64 default "mips-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS201311
toolchain/toolchain-external/toolchain-external.hash +2 -0
@@ -57,6 +57,8 @@ sha256 f1b8cc025864d0213e88f0821b50d663d2428d31ea78eb38446d2042c8a49a74 gcc-lin sha256 56a75abfb229d2d2f05a884212669a543a873c76aab4c0c8d1ebe71b8074803d sysroot-linaro-eglibc-gcc4.9-2014.11-armeb-linux-gnueabihf.tar.xz sha256 0cffac0caea0eb3c8bdddfa14be011ce366680f40aeddbefc7cf23cb6d4f1891 gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux.tar.xz sha256 4bc9d86390f8fa67a693ba4768ba5b12faaf7dd37c706c05ccd9321e765226e4 gcc-linaro-armeb-linux-gnueabihf-4.9-2014.09_linux.tar.xz +sha256 56d9f810fe48826d1247a0c44f4f5847ff9a092c45b9a0678253f04c17329596 gcc-linaro-4.9-2014.11-x86_64_aarch64-linux-gnu.tar.xz +sha256 4c8022e271ba1d75eb722623a94f6e63ab0a08048a2a6c2fce32ed13aece58eb sysroot-linaro-eglibc-gcc4.9-2014.11-aarch64-linux-gnu.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 +11 -0
@@ -272,6 +272,9 @@ endef define TOOLCHAIN_EXTERNAL_LINARO_2014_11_CLEAN_UP_32 rm -f $(TOOLCHAIN_EXTERNAL_INSTALL_DIR)/libc/usr/lib/libgcc_s.so.1.backup endef +define TOOLCHAIN_EXTERNAL_LINARO_2014_11_CLEAN_UP_64 + rm -f $(TOOLCHAIN_EXTERNAL_INSTALL_DIR)/libc/usr/lib64/libgcc_s.so.1.backup +endef ifeq ($(BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM201305),y) TOOLCHAIN_EXTERNAL_SITE = http://sourcery.mentor.com/public/gnu_toolchain/arm-none-linux-gnueabi
@@ -384,6 +387,14 @@ 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_2014_11),y) +TOOLCHAIN_EXTERNAL_SITE = http://releases.linaro.org/14.11/components/toolchain/binaries/aarch64-linux-gnu +TOOLCHAIN_EXTERNAL_SOURCE = gcc-linaro-4.9-2014.11-x86_64_aarch64-linux-gnu.tar.xz +TOOLCHAIN_EXTERNAL_EXTRA_DOWNLOADS = sysroot-linaro-eglibc-gcc4.9-2014.11-aarch64-linux-gnu.tar.xz +TOOLCHAIN_EXTERNAL_POST_EXTRACT_HOOKS += \ + TOOLCHAIN_EXTERNAL_LINARO_2014_11_EXTRACT_SYSROOT \ + TOOLCHAIN_EXTERNAL_LINARO_2014_11_FIX_TYPES_H \ + TOOLCHAIN_EXTERNAL_LINARO_2014_11_CLEAN_UP_64 else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64),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