arm-trusted-firmware/docs/getting_started
zelalem-aweke edbce9aad4 Enable Link Time Optimization in GCC
This patch enables LTO for TF-A when compiled with GCC.
LTO is disabled by default and is enabled by
ENABLE_LTO=1 build option.

LTO is enabled only for aarch64 as there seem to be
a bug in the aarch32 compiler when LTO is enabled.

The changes in the makefiles include:
- Adding -flto and associated flags to enable LTO.
- Using gcc as a wrapper at link time instead of ld.
  This is recommended when using LTO as gcc internally
  takes care of invoking the necessary plugins for LTO.
- Adding switches to pass options to ld.
- Adding a flag to disable fix for erratum cortex-a53-843419
  unless explicitly enabled. This is needed because GCC
  seem to automatically add the erratum fix when used
  as a wrapper for LD.

Additionally, this patch updates the TF-A user guide with
the new build option.

Signed-off-by: zelalem-aweke <zelalem.aweke@arm.com>
Change-Id: I1188c11974da98434b7dc9344e058cd1eacf5468
2019-12-02 09:23:43 -06:00
..
build-options.rst Enable Link Time Optimization in GCC 2019-12-02 09:23:43 -06:00
docs-build.rst doc: Split the User Guide into multiple files 2019-11-27 10:45:54 +00:00
image-terminology.rst doc: Misc syntax and spelling fixes 2019-10-11 12:39:06 +00:00
index.rst doc: Split the User Guide into multiple files 2019-11-27 10:45:54 +00:00
initial-build.rst doc: Split the User Guide into multiple files 2019-11-27 10:45:54 +00:00
porting-guide.rst doc: Split the User Guide into multiple files 2019-11-27 10:45:54 +00:00
prerequisites.rst doc: Split the User Guide into multiple files 2019-11-27 10:45:54 +00:00
psci-lib-integration-guide.rst doc: Convert internal links to RST format 2019-10-08 15:58:03 +00:00
rt-svc-writers-guide.rst Changes to support updated register usage in SMCCC v1.2 2019-11-26 12:56:30 -06:00
tools-build.rst doc: Split the User Guide into multiple files 2019-11-27 10:45:54 +00:00