From 313094d7874a4dd8638a83be7952dda490eaa1bc Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Mon, 4 Feb 2013 22:37:29 +0000 Subject: toolchain-external: add new Microblaze toolchains The existing Microblaze toolchains that we have have the annoying property of being based on a very old glibc version: 2.3.6. Xilinx provides newer toolchains with glibc 2.14, generated by Crosstool-NG, but they are only available as part of a huge Git repository that contains the gcc, Linux, binutils, glibc sources unpacked (4.4 GB total), which makes is very unpractical. I contacted the Xilinx person who did those toolchains, but they apparently didn't intend to change that anytime soon. So, we have created a tarball for those toolchains, adding a README.txt file in the tarball that points back to the original location that contains the source code for them. Those tarballs are hosted on sources.buildroot.net. This commit then adds support for those two new external toolchains, one for little endian Microblaze, another one for big endian Microblaze. Signed-off-by: Thomas Petazzoni Signed-off-by: Peter Korsgaard --- toolchain/toolchain-external/Config.in | 26 ++++++++++++++++++++++++++ toolchain/toolchain-external/ext-tool.mk | 6 ++++++ 2 files changed, 32 insertions(+) diff --git a/toolchain/toolchain-external/Config.in b/toolchain/toolchain-external/Config.in index 5b26aa9b8..d2f39264b 100644 --- a/toolchain/toolchain-external/Config.in +++ b/toolchain/toolchain-external/Config.in @@ -631,6 +631,18 @@ config BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2011R1 Toolchain for the Blackfin architecture, from http://blackfin.uclinux.org. +config BR2_TOOLCHAIN_EXTERNAL_XILINX_MICROBLAZEEL_14_3 + bool "Xilinx Little Endian Microblaze GNU Tools" + depends on BR2_microblazeel + depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" + select BR2_TOOLCHAIN_EXTERNAL_GLIBC + select BR2_TOOLCHAIN_HAS_NATIVE_RPC + select BR2_HOSTARCH_NEEDS_IA32_LIBS + help + Toolchain for the Microblaze architecture, from + http://git.xilinx.com/?p=microblaze-gnu.git;a=tree;f=binaries. It + uses gcc 4.6.2, binutils 2.21.53, glibc 2.14 and gdb 7.4.50. + config BR2_TOOLCHAIN_EXTERNAL_XILINX_MICROBLAZEEL_V2 bool "Xilinx Little Endian Microblaze GNU Tools" depends on BR2_microblazeel @@ -641,6 +653,18 @@ config BR2_TOOLCHAIN_EXTERNAL_XILINX_MICROBLAZEEL_V2 Toolchain for the Microblaze architecture, from http://wiki.xilinx.com/mb-gnu-tools +config BR2_TOOLCHAIN_EXTERNAL_XILINX_MICROBLAZEBE_14_3 + bool "Xilinx Big Endian Microblaze GNU Tools" + depends on BR2_microblaze + depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" + select BR2_TOOLCHAIN_EXTERNAL_GLIBC + select BR2_TOOLCHAIN_HAS_NATIVE_RPC + select BR2_HOSTARCH_NEEDS_IA32_LIBS + help + Toolchain for the Microblaze architecture, from + http://git.xilinx.com/?p=microblaze-gnu.git;a=tree;f=binaries. It + uses gcc 4.6.2, binutils 2.21.53, glibc 2.14 and gdb 7.4.50. + config BR2_TOOLCHAIN_EXTERNAL_XILINX_MICROBLAZEBE_V2 bool "Xilinx Big Endian Microblaze GNU Tools" depends on BR2_microblazebe @@ -743,7 +767,9 @@ config BR2_TOOLCHAIN_EXTERNAL_PREFIX default "aarch64-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64_12_11 default "aarch64-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64_12_12 default "aarch64-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64_13_01 + default "microblazeel-unknown-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_XILINX_MICROBLAZEEL_14_3 default "microblazeel-unknown-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_XILINX_MICROBLAZEEL_V2 + default "microblaze-unknown-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_XILINX_MICROBLAZEBE_14_3 default "microblaze-unknown-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_XILINX_MICROBLAZEBE_V2 default "mips-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS201109 default "mips-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS201203 diff --git a/toolchain/toolchain-external/ext-tool.mk b/toolchain/toolchain-external/ext-tool.mk index b477bc045..5f467b750 100644 --- a/toolchain/toolchain-external/ext-tool.mk +++ b/toolchain/toolchain-external/ext-tool.mk @@ -258,9 +258,15 @@ TOOLCHAIN_EXTERNAL_SOURCE_1 = blackfin-toolchain-2012R2-RC2.i386.tar.bz2 TOOLCHAIN_EXTERNAL_SITE_2 = http://blackfin.uclinux.org/gf/download/frsrelease/588/10147/ TOOLCHAIN_EXTERNAL_SOURCE_2 = blackfin-toolchain-uclibc-full-2012R2-RC2.i386.tar.bz2 TOOLCHAIN_EXTERNAL_SOURCE = $(TOOLCHAIN_EXTERNAL_SOURCE_1) $(TOOLCHAIN_EXTERNAL_SOURCE_2) +else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_XILINX_MICROBLAZEEL_14_3),y) +TOOLCHAIN_EXTERNAL_SITE=http://sources.buildroot.net/ +TOOLCHAIN_EXTERNAL_SOURCE=lin32-microblazeel-unknown-linux-gnu_14.3_early.tar.xz else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_XILINX_MICROBLAZEEL_V2),y) TOOLCHAIN_EXTERNAL_SITE=http://git.xilinx.com/?p=xldk/microblaze_v2.0_le.git;a=blob;h=d7b493c5dbcc24ba9cc3be2e4c14d6d9701e6805;hb=00163583b771bb4e937632765dd0c5516b3e31c4;f= TOOLCHAIN_EXTERNAL_SOURCE=microblazeel-unknown-linux-gnu.tgz +else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_XILINX_MICROBLAZEBE_14_3),y) +TOOLCHAIN_EXTERNAL_SITE=http://sources.buildroot.net/ +TOOLCHAIN_EXTERNAL_SOURCE=lin32-microblaze-unknown-linux-gnu_14.3_early.tar.xz else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_XILINX_MICROBLAZEBE_V2),y) TOOLCHAIN_EXTERNAL_SITE=http://git.xilinx.com/?p=xldk/microblaze_v2.0.git;a=blob;h=71e031ae990e063a5718f90d30cf97ad85e2f565;hb=569081301f0f1d8d3b24335a364e8ff1774190d4;f= TOOLCHAIN_EXTERNAL_SOURCE=microblaze-unknown-linux-gnu.tgz -- cgit v1.2.3