toolchain-external: add support for Arago 2011.09 ARMv7A
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Sat, 8 Jun 2013 09:14:17 +0000 (11:14 +0200)
committerPeter Korsgaard <jacmet@sunsite.dk>
Mon, 10 Jun 2013 22:03:49 +0000 (00:03 +0200)
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
toolchain/toolchain-external/Config.in
toolchain/toolchain-external/ext-tool.mk

index f87b6ac5d86ba7d915acbfe8408904eea9dd7eaa..3ce58ac681852b586d1188fcf631a6ee22e8629e 100644 (file)
@@ -136,6 +136,23 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM201109
              Select BR2_SOFT_FLOAT
              Set BR2_TARGET_OPTIMIZATION to -mthumb
 
+config BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV7A_201109
+       bool "Arago ARMv7 2011.09"
+       depends on BR2_arm
+       depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
+       depends on BR2_cortex_a5 || BR2_cortex_a8 || BR2_cortex_a9 || BR2_cortex_a15
+       select BR2_TOOLCHAIN_EXTERNAL_GLIBC
+       select BR2_TOOLCHAIN_HAS_NATIVE_RPC
+       select BR2_INSTALL_LIBSTDCPP
+       select BR2_HOSTARCH_NEEDS_IA32_LIBS
+       help
+         Texas Instruments Arago 2011.09 toolchain, with gcc 4.5.3,
+         binutils 2.20.1, glibc 2.12, gdb 7.2.
+
+         This toolchain uses -mfloat-abi=softfp (i.e use FPU
+         instructions, but pass floating point function arguments in
+         non-floating point registers).
+
 config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS201305
        bool "Sourcery CodeBench MIPS 2013.05"
        depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el
@@ -749,6 +766,7 @@ config BR2_TOOLCHAIN_EXTERNAL_PREFIX
        default "arm-none-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM201109
        default "arm-none-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM201203
        default "arm-none-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM201305
+       default "arm-arago-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV7A_201109
        default "aarch64-linux-gnu"      if BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64_13_05
        default "aarch64-linux-gnu"      if BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64_13_04
        default "aarch64-linux-gnu"      if BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64_13_03
index 0f8ede08551809a8871d99b1b536245d21cd0d25..0d29d36c89f794e654c0e6972779048ea3b5b7f5 100644 (file)
@@ -200,6 +200,13 @@ TOOLCHAIN_EXTERNAL_SOURCE=arm-2012.03-57-arm-none-linux-gnueabi-i686-pc-linux-gn
 else 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
+else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV7A_201109),y)
+TOOLCHAIN_EXTERNAL_SITE=http://software-dl.ti.com/sdoemb/sdoemb_public_sw/arago_toolchain/2011_09/exports/
+TOOLCHAIN_EXTERNAL_SOURCE=arago-2011.09-armv7a-linux-gnueabi-sdk.tar.bz2
+define TOOLCHAIN_EXTERNAL_FIXUP_CMDS
+       mv $(@D)/arago-2011.09/armv7a/* $(@D)/
+       rm -rf $(@D)/arago-2011.09/
+endef
 else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_LINARO_2013_03),y)
 TOOLCHAIN_EXTERNAL_SITE=https://releases.linaro.org/13.03/components/toolchain/binaries/
 TOOLCHAIN_EXTERNAL_SOURCE=gcc-linaro-arm-linux-gnueabihf-4.7-2013.03-20130313_linux.tar.bz2
@@ -333,6 +340,7 @@ $(TOOLCHAIN_EXTERNAL_DIR)/.extracted: $(DL_DIR)/$(TOOLCHAIN_EXTERNAL_SOURCE)
        mkdir -p $(@D)
        $(INFLATE$(suffix $(TOOLCHAIN_EXTERNAL_SOURCE))) $^ | \
                $(TAR) $(TAR_STRIP_COMPONENTS)=1 --exclude='usr/lib/locale/*' -C $(@D) $(TAR_OPTIONS) -
+       $(TOOLCHAIN_EXTERNAL_FIXUP_CMDS)
        $(Q)touch $@
 endif