toolchain: update to GCC 9.2
Updates the toolchain to Arm's GCC 9.2 [1]. Note the following
difference compared to the previous release (8.3), which is documented
in the release notes:
"Changed toolchain naming convention to match standard target triplet
naming convention, with vendor name being none."
For example, arm-linux-gnueabihf-gcc is now arm-none-linux-gnueabihf-gcc
and aarch64-linux-gnu-gcc is now aarch64-none-linux-gnu-gcc.
This renaming seems pretty much specific to the Arm build of GCC, and
the latest Debian and Ubuntu distributions provide GCC 9.x or 10.x
cross-compilers with the usual naming convention.
Therefore, and to limit the impact of the name change, let's simply
create symbolic links after the toolchain packages are extracted.
Link: [1] https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-a/downloads
Signed-off-by: Jerome Forissier <jerome@forissier.org>
Tested-by: Jerome Forissier <jerome@forissier.org> (QEMU, QEMUv8, HiKey, HiKey960)
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
Tested-by: Etienne Carriere <etienne.carriere@linaro.org> (stm32mp1)
diff --git a/toolchain.mk b/toolchain.mk
index 9a835e3..df85216 100644
--- a/toolchain.mk
+++ b/toolchain.mk
@@ -6,13 +6,13 @@
AARCH32_PATH ?= $(TOOLCHAIN_ROOT)/aarch32
AARCH32_CROSS_COMPILE ?= $(AARCH32_PATH)/bin/arm-linux-gnueabihf-
-AARCH32_GCC_VERSION ?= gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf
-SRC_AARCH32_GCC ?= https://developer.arm.com/-/media/Files/downloads/gnu-a/8.3-2019.03/binrel/${AARCH32_GCC_VERSION}.tar.xz
+AARCH32_GCC_VERSION ?= gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf
+SRC_AARCH32_GCC ?= https://developer.arm.com/-/media/Files/downloads/gnu-a/9.2-2019.12/binrel/$(AARCH32_GCC_VERSION).tar.xz
AARCH64_PATH ?= $(TOOLCHAIN_ROOT)/aarch64
AARCH64_CROSS_COMPILE ?= $(AARCH64_PATH)/bin/aarch64-linux-gnu-
-AARCH64_GCC_VERSION ?= gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu
-SRC_AARCH64_GCC ?= https://developer.arm.com/-/media/Files/downloads/gnu-a/8.3-2019.03/binrel/${AARCH64_GCC_VERSION}.tar.xz
+AARCH64_GCC_VERSION ?= gcc-arm-9.2-2019.12-x86_64-aarch64-none-linux-gnu
+SRC_AARCH64_GCC ?= https://developer.arm.com/-/media/Files/downloads/gnu-a/9.2-2019.12/binrel/$(AARCH64_GCC_VERSION).tar.xz
# Download toolchain macro for saving some repetition
# $(1) is $AARCH.._PATH : i.e., path to the destination
@@ -24,6 +24,7 @@
echo "Downloading $(3) ..."; \
curl -s -L $(2) -o $(TOOLCHAIN_ROOT)/$(3).tar.xz; \
tar xf $(TOOLCHAIN_ROOT)/$(3).tar.xz -C $(1) --strip-components=1; \
+ (cd $(1)/bin && for f in *-none-linux*; do ln -s $$f $${f//-none} ; done;) \
fi
endef