Browse Source

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>
pull/1937/head
Madhukar Pappireddy 5 years ago
parent
commit
de9bf1d8a2
  1. 8
      docs/getting_started/initial-build.rst
  2. 2
      docs/getting_started/prerequisites.rst
  3. 4
      docs/plat/allwinner.rst
  4. 2
      docs/plat/arm/fvp/index.rst
  5. 2
      docs/plat/arm/juno/index.rst
  6. 2
      docs/plat/hikey.rst
  7. 2
      docs/plat/imx8.rst
  8. 2
      docs/plat/imx8m.rst
  9. 2
      docs/plat/intel-agilex.rst
  10. 2
      docs/plat/intel-stratix10.rst
  11. 4
      docs/plat/ls1043a.rst
  12. 2
      docs/plat/marvell/build.rst
  13. 2
      docs/plat/meson-g12a.rst
  14. 2
      docs/plat/meson-gxbb.rst
  15. 2
      docs/plat/meson-gxl.rst
  16. 2
      docs/plat/mt8183.rst
  17. 2
      docs/plat/poplar.rst
  18. 2
      docs/plat/qemu-sbsa.rst
  19. 2
      docs/plat/rockchip.rst
  20. 8
      docs/plat/rpi3.rst
  21. 2
      docs/plat/rpi4.rst
  22. 2
      docs/plat/ti-k3.rst

8
docs/getting_started/initial-build.rst

@ -8,13 +8,13 @@ Performing an Initial Build
.. 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 @@ Performing an Initial Build
.. 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 @@ Performing an Initial Build
.. 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.

2
docs/getting_started/prerequisites.rst

@ -26,7 +26,7 @@ Toolchain
|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

4
docs/plat/allwinner.rst

@ -26,13 +26,13 @@ To build for machines with an A64 or H5 SoC:
.. 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

2
docs/plat/arm/fvp/index.rst

@ -223,7 +223,7 @@ address ``0x82000000``, the firmware can be built like this:
.. 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 \

2
docs/plat/arm/juno/index.rst

@ -136,7 +136,7 @@ a single FIP binary. It assumes that a Linaro release has been installed.
.. 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.

2
docs/plat/hikey.rst

@ -78,7 +78,7 @@ Build Procedure
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}

2
docs/plat/imx8.rst

@ -40,7 +40,7 @@ Build Procedure
.. 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.

2
docs/plat/imx8m.rst

@ -28,7 +28,7 @@ Build Procedure
.. 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.

2
docs/plat/intel-agilex.rst

@ -41,7 +41,7 @@ Build Procedure
.. 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

2
docs/plat/intel-stratix10.rst

@ -41,7 +41,7 @@ Build Procedure
.. 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

4
docs/plat/ls1043a.rst

@ -59,13 +59,13 @@ Build Procedure
.. 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

2
docs/plat/marvell/build.rst

@ -9,7 +9,7 @@ Build Instructions
.. 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:

2
docs/plat/meson-g12a.rst

@ -17,7 +17,7 @@ In order to build it:
.. 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

2
docs/plat/meson-gxbb.rst

@ -17,7 +17,7 @@ In order to build it:
.. 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**

2
docs/plat/meson-gxl.rst

@ -17,7 +17,7 @@ In order to build it:
.. 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

2
docs/plat/mt8183.rst

@ -17,4 +17,4 @@ How to Build
.. code:: shell
make CROSS_COMPILE=aarch64-linux-gnu- PLAT=mt8183 DEBUG=1
make CROSS_COMPILE=aarch64-none-elf- PLAT=mt8183 DEBUG=1

2
docs/plat/poplar.rst

@ -68,7 +68,7 @@ Build Procedure
.. 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)

2
docs/plat/qemu-sbsa.rst

@ -27,7 +27,7 @@ To build TF-A:
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).

2
docs/plat/rockchip.rst

@ -35,7 +35,7 @@ these images need to get build from the TF-A repository.
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

8
docs/plat/rpi3.rst

@ -315,7 +315,7 @@ Then compile TF-A. For a 32-bit kernel, use the following command line:
.. 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 @@ For a 64-bit kernel, use this other command line:
.. 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 @@ For a 64-bit kernel:
.. 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 @@ For a 32-bit kernel:
.. 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 \

2
docs/plat/rpi4.rst

@ -22,7 +22,7 @@ one universal binary (bl31.bin), which can be built with:
.. 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=``,

2
docs/plat/ti-k3.rst

@ -27,7 +27,7 @@ TF-A:
.. 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:

Loading…
Cancel
Save