diff --git a/br-ext/configs/toolchain-aarch32-legacy b/br-ext/configs/toolchain-aarch32-legacy new file mode 100644 index 0000000000000000000000000000000000000000..fdc1496568f3e907e287f6b504ed0dbc5933e2ae --- /dev/null +++ b/br-ext/configs/toolchain-aarch32-legacy @@ -0,0 +1,9 @@ +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y +BR2_TOOLCHAIN_EXTERNAL_PATH="%TOP_DIR%/toolchains/aarch32-legacy" +BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="arm-linux-gnueabihf" +BR2_TOOLCHAIN_EXTERNAL_GCC_4_9=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_17=y +BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y +BR2_TOOLCHAIN_EXTERNAL_CXX=y + diff --git a/common.mk b/common.mk index 812bbe7389ed901816ea07fb37a0fc2222845525..3e5dc54b9f3e97e33a81ec52b26d0756183521f5 100644 --- a/common.mk +++ b/common.mk @@ -109,10 +109,19 @@ endif ################################################################################ # set the compiler when COMPILE_xxx are defined ################################################################################ + + +ifeq ($(COMPILE_LEGACY),) CROSS_COMPILE_NS_USER ?= "$(CCACHE)$(AARCH$(COMPILE_NS_USER)_CROSS_COMPILE)" CROSS_COMPILE_NS_KERNEL ?= "$(CCACHE)$(AARCH$(COMPILE_NS_KERNEL)_CROSS_COMPILE)" CROSS_COMPILE_S_USER ?= "$(CCACHE)$(AARCH$(COMPILE_S_USER)_CROSS_COMPILE)" CROSS_COMPILE_S_KERNEL ?= "$(CCACHE)$(AARCH$(COMPILE_S_KERNEL)_CROSS_COMPILE)" +else +CROSS_COMPILE_NS_USER ?= "$(CCACHE)$(LEGACY_AARCH$(COMPILE_NS_USER)_CROSS_COMPILE)" +CROSS_COMPILE_NS_KERNEL ?= "$(CCACHE)$(LEGACY_AARCH$(COMPILE_NS_KERNEL)_CROSS_COMPILE)" +CROSS_COMPILE_S_USER ?= "$(CCACHE)$(LEGACY_AARCH$(COMPILE_S_USER)_CROSS_COMPILE)" +CROSS_COMPILE_S_KERNEL ?= "$(CCACHE)$(LEGACY_AARCH$(COMPILE_S_KERNEL)_CROSS_COMPILE)" +endif ifeq ($(COMPILE_S_USER),32) OPTEE_OS_TA_DEV_KIT_DIR ?= $(OPTEE_OS_PATH)/out/arm/export-ta_arm32 @@ -176,6 +185,11 @@ busybox-cleaner-common: # Build root ################################################################################ BUILDROOT_ARCH=aarch$(COMPILE_NS_USER) +ifeq ($(COMPILE_LEGACY),) +BUILDROOT_TOOLCHAIN=toolchain-aarch$(COMPILE_NS_USER) +else +BUILDROOT_TOOLCHAIN=toolchain-aarch$(COMPILE_NS_USER)-legacy +endif BUILDROOT_GETTY_PORT ?= \ $(if $(CFG_NW_CONSOLE_UART),ttyAMA$(CFG_NW_CONSOLE_UART),ttyAMA0) .PHONY: buildroot @@ -213,7 +227,7 @@ endif --top-dir "$(ROOT)" \ --br-defconfig build/br-ext/configs/optee_$(BUILDROOT_ARCH) \ --br-defconfig build/br-ext/configs/optee_generic \ - --br-defconfig build/br-ext/configs/toolchain-$(BUILDROOT_ARCH)\ + --br-defconfig build/br-ext/configs/$(BUILDROOT_TOOLCHAIN) \ --br-defconfig out-br/extra.conf \ --make-cmd $(MAKE)) @$(MAKE) -C ../out-br all diff --git a/toolchain.mk b/toolchain.mk index 331b8b210cf03668cb76865d64c96ef25c9671d2..bd7abcf7496d9f058bfad3307b02675c2a0d93aa 100644 --- a/toolchain.mk +++ b/toolchain.mk @@ -21,6 +21,12 @@ LEGACY_AARCH64_CROSS_COMPILE ?= $(LEGACY_AARCH64_PATH)/bin/aarch64-linux-gnu- LEGACY_AARCH64_GCC_VERSION ?= gcc-linaro-aarch64-linux-gnu-4.9-2014.08_linux LEGACY_SRC_AARCH64_GCC ?= https://releases.linaro.org/archive/14.08/components/toolchain/binaries/${LEGACY_AARCH64_GCC_VERSION}.tar.xz +LEGACY_AARCH32_PATH ?= $(TOOLCHAIN_ROOT)/aarch32-legacy +LEGACY_AARCH32_CROSS_COMPILE ?= $(LEGACY_AARCH32_PATH)/bin/arm-linux-gnueabihf- +LEGACY_AARCH32_GCC_VERSION ?= gcc-linaro-4.9-2015.02-3-x86_64_arm-linux-gnueabihf +LEGACY_SRC_AARCH32_GCC ?= https://releases.linaro.org/archive/15.02/components/toolchain/binaries/arm-linux-gnueabihf/${LEGACY_AARCH32_GCC_VERSION}.tar.xz + + # Download toolchain macro for saving some repetition # $(1) is $AARCH.._PATH : i.e., path to the destination # $(2) is $SRC_AARCH.._GCC : is the downloaded tar.gz file @@ -35,7 +41,7 @@ define dltc endef .PHONY: toolchains -toolchains: aarch32 aarch64 aarch64-legacy +toolchains: aarch32 aarch64 aarch64-legacy aarch32-legacy .PHONY: aarch32 aarch32: @@ -49,3 +55,7 @@ aarch64: aarch64-legacy: $(call dltc,$(LEGACY_AARCH64_PATH),$(LEGACY_SRC_AARCH64_GCC),$(LEGACY_AARCH64_GCC_VERSION)) +.PHONY: aarch32-legacy +aarch32-legacy: + $(call dltc,$(LEGACY_AARCH32_PATH),$(LEGACY_SRC_AARCH32_GCC),$(LEGACY_AARCH32_GCC_VERSION)) +