GCC: Upgrade to version 9.2-2019.12 of toolchain
This toolchain provides multiple cross compilers and are publicly
available on www.developer.arm.com
We thoroughly test TF-A in CI using:
AArch32 bare-metal target (arm-none-eabi)
AArch64 ELF bare-metal target (aarch64-none-elf)
Change-Id: I2360a3ac6705c68dca781b85e9894867df255b3e
Signed-off-by: Madhukar Pappireddy <madhukar.pappireddy@arm.com>
diff --git a/docs/getting_started/initial-build.rst b/docs/getting_started/initial-build.rst
index 41cd4d1..893aba2 100644
--- a/docs/getting_started/initial-build.rst
+++ b/docs/getting_started/initial-build.rst
@@ -8,13 +8,13 @@
.. code:: shell
- export CROSS_COMPILE=<path-to-aarch64-gcc>/bin/aarch64-linux-gnu-
+ export CROSS_COMPILE=<path-to-aarch64-gcc>/bin/aarch64-none-elf-
For AArch32:
.. code:: shell
- export CROSS_COMPILE=<path-to-aarch32-gcc>/bin/arm-eabi-
+ export CROSS_COMPILE=<path-to-aarch32-gcc>/bin/arm-none-eabi-
It is possible to build TF-A using Clang or Arm Compiler 6. To do so
``CC`` needs to point to the clang or armclang binary, which will
@@ -32,7 +32,7 @@
.. code:: shell
- export CROSS_COMPILE=<path-to-aarch64-gcc>/bin/aarch64-linux-gnu-
+ export CROSS_COMPILE=<path-to-aarch64-gcc>/bin/aarch64-none-elf-
make CC=<path-to-armclang>/bin/armclang PLAT=<platform> all
Clang will be selected when the base name of the path assigned to ``CC``
@@ -43,7 +43,7 @@
.. code:: shell
- export CROSS_COMPILE=<path-to-aarch64-gcc>/bin/aarch64-linux-gnu-
+ export CROSS_COMPILE=<path-to-aarch64-gcc>/bin/aarch64-none-elf-
make CC=<path-to-clang>/bin/clang PLAT=<platform> all
- Change to the root directory of the TF-A source tree and build.
diff --git a/docs/getting_started/prerequisites.rst b/docs/getting_started/prerequisites.rst
index 27ad0ed..3e0c8ff 100644
--- a/docs/getting_started/prerequisites.rst
+++ b/docs/getting_started/prerequisites.rst
@@ -26,7 +26,7 @@
|TF-A| can be built with any of the following *cross-compiler* toolchains that
target the Armv7-A or Armv8-A architectures:
-- GCC >= 8.3-2019.03 (from the `Arm Developer website`_)
+- GCC >= 9.2-2019.12 (from the `Arm Developer website`_)
- Clang >= 4.0
- Arm Compiler >= 6.0
diff --git a/docs/plat/allwinner.rst b/docs/plat/allwinner.rst
index a1e0659..5c905d8 100644
--- a/docs/plat/allwinner.rst
+++ b/docs/plat/allwinner.rst
@@ -26,13 +26,13 @@
.. code:: shell
- make CROSS_COMPILE=aarch64-linux-gnu- PLAT=sun50i_a64 DEBUG=1 bl31
+ make CROSS_COMPILE=aarch64-none-elf- PLAT=sun50i_a64 DEBUG=1 bl31
To build for machines with an H6 SoC:
.. code:: shell
- make CROSS_COMPILE=aarch64-linux-gnu- PLAT=sun50i_h6 DEBUG=1 bl31
+ make CROSS_COMPILE=aarch64-none-elf- PLAT=sun50i_h6 DEBUG=1 bl31
.. _U-Boot documentation: http://git.denx.de/?p=u-boot.git;f=board/sunxi/README.sunxi64;hb=HEAD
diff --git a/docs/plat/arm/fvp/index.rst b/docs/plat/arm/fvp/index.rst
index b6396b9..37010e1 100644
--- a/docs/plat/arm/fvp/index.rst
+++ b/docs/plat/arm/fvp/index.rst
@@ -223,7 +223,7 @@
.. code:: shell
- CROSS_COMPILE=aarch64-linux-gnu- \
+ CROSS_COMPILE=aarch64-none-elf- \
make PLAT=fvp DEBUG=1 \
RESET_TO_BL31=1 \
ARM_LINUX_KERNEL_AS_BL33=1 \
diff --git a/docs/plat/arm/juno/index.rst b/docs/plat/arm/juno/index.rst
index 6429ede..cf328fa 100644
--- a/docs/plat/arm/juno/index.rst
+++ b/docs/plat/arm/juno/index.rst
@@ -136,7 +136,7 @@
.. code:: shell
- export CROSS_COMPILE=<path-to-aarch64-gcc>/bin/aarch64-linux-gnu-
+ export CROSS_COMPILE=<path-to-aarch64-gcc>/bin/aarch64-none-elf-
- The following parameters should be used to build BL1 and BL2 in AArch64
and point to the BL32 file.
diff --git a/docs/plat/hikey.rst b/docs/plat/hikey.rst
index 372d388..d7a01a8 100644
--- a/docs/plat/hikey.rst
+++ b/docs/plat/hikey.rst
@@ -78,7 +78,7 @@
EDK2_OUTPUT_DIR=${EDK2_DIR}/Build/HiKey/${BUILD_OPTION}_${AARCH64_TOOLCHAIN}
# Build fastboot for Trusted Firmware-A. It's used for recovery mode.
cd ${BUILD_PATH}/atf-fastboot
- CROSS_COMPILE=aarch64-linux-gnu- make PLAT=hikey DEBUG=1
+ CROSS_COMPILE=aarch64-none-elf- make PLAT=hikey DEBUG=1
# Convert DEBUG/RELEASE to debug/release
FASTBOOT_BUILD_OPTION=$(echo ${BUILD_OPTION} | tr '[A-Z]' '[a-z]')
cd ${EDK2_DIR}
diff --git a/docs/plat/imx8.rst b/docs/plat/imx8.rst
index 49ba374..cec1a39 100644
--- a/docs/plat/imx8.rst
+++ b/docs/plat/imx8.rst
@@ -40,7 +40,7 @@
.. code:: shell
- CROSS_COMPILE=aarch64-linux-gnu- make PLAT=<Target_SoC> bl31
+ CROSS_COMPILE=aarch64-none-elf- make PLAT=<Target_SoC> bl31
Target_SoC should be "imx8qm" for i.MX8QM SoC.
Target_SoC should be "imx8qx" for i.MX8QX SoC.
diff --git a/docs/plat/imx8m.rst b/docs/plat/imx8m.rst
index 8acd13c..0116b34 100644
--- a/docs/plat/imx8m.rst
+++ b/docs/plat/imx8m.rst
@@ -28,7 +28,7 @@
.. code:: shell
- CROSS_COMPILE=aarch64-linux-gnu- make PLAT=<Target_SoC> bl31
+ CROSS_COMPILE=aarch64-none-elf- make PLAT=<Target_SoC> bl31
Target_SoC should be "imx8mq" for i.MX8MQ SoC.
Target_SoC should be "imx8mm" for i.MX8MM SoC.
diff --git a/docs/plat/intel-agilex.rst b/docs/plat/intel-agilex.rst
index ff27b6b..f60bf14 100644
--- a/docs/plat/intel-agilex.rst
+++ b/docs/plat/intel-agilex.rst
@@ -41,7 +41,7 @@
.. code:: bash
- make CROSS_COMPILE=aarch64-linux-gnu- bl2 fip PLAT=agilex
+ make CROSS_COMPILE=aarch64-none-elf- bl2 fip PLAT=agilex
BL33=PEI.ROM
Install Procedure
diff --git a/docs/plat/intel-stratix10.rst b/docs/plat/intel-stratix10.rst
index 7f8d18e..5f33d12 100644
--- a/docs/plat/intel-stratix10.rst
+++ b/docs/plat/intel-stratix10.rst
@@ -41,7 +41,7 @@
.. code:: bash
- make CROSS_COMPILE=aarch64-linux-gnu- bl2 fip PLAT=stratix10
+ make CROSS_COMPILE=aarch64-none-elf- bl2 fip PLAT=stratix10
BL33=PEI.ROM
Install Procedure
diff --git a/docs/plat/ls1043a.rst b/docs/plat/ls1043a.rst
index 72a51f3..5a8f755 100644
--- a/docs/plat/ls1043a.rst
+++ b/docs/plat/ls1043a.rst
@@ -59,13 +59,13 @@
.. code:: shell
- CROSS_COMPILE=aarch64-linux-gnu- make PLAT=ls1043 bl1
+ CROSS_COMPILE=aarch64-none-elf- make PLAT=ls1043 bl1
Build fip:
.. code:: shell
- CROSS_COMPILE=aarch64-linux-gnu- make PLAT=ls1043 fip \
+ CROSS_COMPILE=aarch64-none-elf- make PLAT=ls1043 fip \
BL33=u-boot.bin NEED_BL32=yes BL32=tee.bin SPD=opteed
Deploy TF-A Images
diff --git a/docs/plat/marvell/build.rst b/docs/plat/marvell/build.rst
index c10bcff..d0e37c6 100644
--- a/docs/plat/marvell/build.rst
+++ b/docs/plat/marvell/build.rst
@@ -9,7 +9,7 @@
.. code:: shell
- > export CROSS_COMPILE=/path/to/toolchain/aarch64-linux-gnu-
+ > export CROSS_COMPILE=/path/to/toolchain/aarch64-none-elf-
(2) Set path for FIP images:
diff --git a/docs/plat/meson-g12a.rst b/docs/plat/meson-g12a.rst
index 7cd1bf7..8b06cc2 100644
--- a/docs/plat/meson-g12a.rst
+++ b/docs/plat/meson-g12a.rst
@@ -17,7 +17,7 @@
.. code:: shell
- CROSS_COMPILE=aarch64-linux-gnu- make DEBUG=1 PLAT=g12a
+ CROSS_COMPILE=aarch64-none-elf- make DEBUG=1 PLAT=g12a
This port has been tested on a SEI510 board. After building it, follow the
instructions in the `gxlimg repository` or `U-Boot repository`_, replacing the
diff --git a/docs/plat/meson-gxbb.rst b/docs/plat/meson-gxbb.rst
index 2cd8342..f891ecd 100644
--- a/docs/plat/meson-gxbb.rst
+++ b/docs/plat/meson-gxbb.rst
@@ -17,7 +17,7 @@
.. code:: shell
- CROSS_COMPILE=aarch64-linux-gnu- make DEBUG=1 PLAT=gxbb bl31
+ CROSS_COMPILE=aarch64-none-elf- make DEBUG=1 PLAT=gxbb bl31
This port has been tested in a ODROID-C2. After building it, follow the
instructions in the `U-Boot repository`_, replacing the mentioned **bl31.bin**
diff --git a/docs/plat/meson-gxl.rst b/docs/plat/meson-gxl.rst
index c6d8504..170d7c7 100644
--- a/docs/plat/meson-gxl.rst
+++ b/docs/plat/meson-gxl.rst
@@ -17,7 +17,7 @@
.. code:: shell
- CROSS_COMPILE=aarch64-linux-gnu- make DEBUG=1 PLAT=gxl
+ CROSS_COMPILE=aarch64-none-elf- make DEBUG=1 PLAT=gxl
This port has been tested on a Lepotato. After building it, follow the
instructions in the `gxlimg repository` or `U-Boot repository`_, replacing the
diff --git a/docs/plat/mt8183.rst b/docs/plat/mt8183.rst
index c639be1..7a0830f 100644
--- a/docs/plat/mt8183.rst
+++ b/docs/plat/mt8183.rst
@@ -17,4 +17,4 @@
.. code:: shell
- make CROSS_COMPILE=aarch64-linux-gnu- PLAT=mt8183 DEBUG=1
+ make CROSS_COMPILE=aarch64-none-elf- PLAT=mt8183 DEBUG=1
diff --git a/docs/plat/poplar.rst b/docs/plat/poplar.rst
index 215f551..040b593 100644
--- a/docs/plat/poplar.rst
+++ b/docs/plat/poplar.rst
@@ -68,7 +68,7 @@
.. code:: bash
- make CROSS_COMPILE=aarch64-linux-gnu- all fip SPD=none PLAT=poplar
+ make CROSS_COMPILE=aarch64-none-elf- all fip SPD=none PLAT=poplar
BL33=u-boot.bin
- Build l-loader (generated the final fastboot.bin)
diff --git a/docs/plat/qemu-sbsa.rst b/docs/plat/qemu-sbsa.rst
index 51fe414..5e8535c 100644
--- a/docs/plat/qemu-sbsa.rst
+++ b/docs/plat/qemu-sbsa.rst
@@ -27,7 +27,7 @@
git clone https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git tfa
cd tfa
- export CROSS_COMPILE=aarch64-linux-gnu-
+ export CROSS_COMPILE=aarch64-none-elf-
make PLAT=qemu_sbsa all fip
Images will be placed at build/qemu_sbsa/release (bl1.bin and fip.bin).
diff --git a/docs/plat/rockchip.rst b/docs/plat/rockchip.rst
index b7c43fb..2c3c38f 100644
--- a/docs/plat/rockchip.rst
+++ b/docs/plat/rockchip.rst
@@ -35,7 +35,7 @@
For AARCH64 architectures the build command looks like
- make CROSS_COMPILE=aarch64-linux-gnu- PLAT=rk3399 bl32
+ make CROSS_COMPILE=aarch64-none-elf- PLAT=rk3399 bl32
while AARCH32 needs a slightly different command
diff --git a/docs/plat/rpi3.rst b/docs/plat/rpi3.rst
index 38c3dfa..5c7b6d5 100644
--- a/docs/plat/rpi3.rst
+++ b/docs/plat/rpi3.rst
@@ -315,7 +315,7 @@
.. code:: shell
- CROSS_COMPILE=aarch64-linux-gnu- make PLAT=rpi3 \
+ CROSS_COMPILE=aarch64-none-elf- make PLAT=rpi3 \
RPI3_BL33_IN_AARCH32=1 \
BL33=../rpi3-arm-tf-bootstrap/aarch32/el2-bootstrap.bin
@@ -323,7 +323,7 @@
.. code:: shell
- CROSS_COMPILE=aarch64-linux-gnu- make PLAT=rpi3 \
+ CROSS_COMPILE=aarch64-none-elf- make PLAT=rpi3 \
BL33=../rpi3-arm-tf-bootstrap/aarch64/el2-bootstrap.bin
However, enabling PSCI support in a 64-bit kernel is really easy. In the
@@ -340,7 +340,7 @@
.. code:: shell
- CROSS_COMPILE=aarch64-linux-gnu- make PLAT=rpi3 \
+ CROSS_COMPILE=aarch64-none-elf- make PLAT=rpi3 \
PRELOADED_BL33_BASE=0x02000000 \
RPI3_PRELOADED_DTB_BASE=0x01000000 \
RPI3_DIRECT_LINUX_BOOT=1
@@ -349,7 +349,7 @@
.. code:: shell
- CROSS_COMPILE=aarch64-linux-gnu- make PLAT=rpi3 \
+ CROSS_COMPILE=aarch64-none-elf- make PLAT=rpi3 \
PRELOADED_BL33_BASE=0x02000000 \
RPI3_PRELOADED_DTB_BASE=0x01000000 \
RPI3_DIRECT_LINUX_BOOT=1 \
diff --git a/docs/plat/rpi4.rst b/docs/plat/rpi4.rst
index 0f529c1..e87aef7 100644
--- a/docs/plat/rpi4.rst
+++ b/docs/plat/rpi4.rst
@@ -22,7 +22,7 @@
.. code:: shell
- CROSS_COMPILE=aarch64-linux-gnu- make PLAT=rpi4 DEBUG=1
+ CROSS_COMPILE=aarch64-none-elf- make PLAT=rpi4 DEBUG=1
Copy the generated build/rpi4/debug/bl31.bin to the SD card, either
renaming it to ``armstub8.bin`` or adding an entry starting with ``armstub=``,
diff --git a/docs/plat/ti-k3.rst b/docs/plat/ti-k3.rst
index 4843227..2626e67 100644
--- a/docs/plat/ti-k3.rst
+++ b/docs/plat/ti-k3.rst
@@ -27,7 +27,7 @@
.. code:: shell
- make CROSS_COMPILE=aarch64-linux-gnu- PLAT=k3 SPD=opteed all
+ make CROSS_COMPILE=aarch64-none-elf- PLAT=k3 SPD=opteed all
OP-TEE: