arm-trusted-firmware/docs
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
..
about Merge "Update release-information for v2.2 Release" into integration 2019-10-22 13:35:23 +00:00
components doc: Split the User Guide into multiple files 2019-11-27 10:45:54 +00:00
design Merge "Changes to support updated register usage in SMCCC v1.2" into integration 2019-11-29 10:06:37 +00:00
getting_started Enable Link Time Optimization in GCC 2019-12-02 09:23:43 -06:00
perf doc: Split the User Guide into multiple files 2019-11-27 10:45:54 +00:00
plat doc: Split the User Guide into multiple files 2019-11-27 10:45:54 +00:00
process doc: Split the User Guide into multiple files 2019-11-27 10:45:54 +00:00
resources doc: Fix syntax erros in I/O storage layer plantuml diagrams 2019-10-28 14:19:27 +01:00
security_advisories TF-A Documentation: Update Security Advisory TFV-5 (CVE-2017-15031) 2019-11-04 14:53:10 +00:00
Makefile doc: Add minimal Sphinx support 2019-05-21 12:31:25 +01:00
change-log.rst docs: Add Cortex-Hercules/HerculesAE CPU support 2019-11-13 10:54:52 -06:00
conf.py doc: Remove version and release variables from conf.py 2019-10-17 13:46:38 +00:00
global_substitutions.txt doc: Add missing terms to the glossary 2019-11-14 15:37:45 +00:00
glossary.rst doc: Add missing terms to the glossary 2019-11-14 15:37:45 +00:00
index.rst doc: Move platform list to the Platform Ports index page 2019-10-21 13:31:49 +00:00
license.rst doc: Convert internal links to RST format 2019-10-08 15:58:03 +00:00
requirements.txt doc: Generate PlantUML diagrams automatically 2019-07-12 14:15:25 +01:00