build: add option to enable LTO
authorAndrzej Ostruszka <aostruszka@marvell.com>
Thu, 7 Nov 2019 15:03:09 +0000 (16:03 +0100)
committerThomas Monjalon <thomas@monjalon.net>
Fri, 8 Nov 2019 14:17:05 +0000 (15:17 +0100)
commit098cc0fea3be3094a5f0691d1ae501c83fe0d687
tree4471e2bdd514b6e15aed3f23f209f0ee89ad6eb1
parent909dd291f07713998c77681aa653e41b13d06121
build: add option to enable LTO

This patch adds an option to enable link time optimization.  In addition
to LTO option itself (-flto) fat-lto-objects are being used.  This is
because during the build pmdinfogen scans the generated ELF objects to
find this_pmd_name* symbol in symbol table.  Without fat-lto-objects gcc
produces ELF only with extra symbols for internal use during linking.

Signed-off-by: Andrzej Ostruszka <aostruszka@marvell.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
.travis.yml
config/common_base
config/meson.build
doc/guides/prog_guide/index.rst
doc/guides/prog_guide/lto.rst [new file with mode: 0644]
doc/guides/rel_notes/release_19_11.rst
mk/toolchain/gcc/rte.toolchain-compat.mk
mk/toolchain/gcc/rte.vars.mk
mk/toolchain/icc/rte.vars.mk