Jacob Garber uploaded patch set #5 to this change.

View Change

[TEST] Add support for link time optimization

- Code generation is not done until after linking, so the
compiler must be invoked at all linking stages instead of the linker. As
a consequence all linker arguments must be prefixed with -Wl.
- Partial linking is not supported. Instead, object files are collected
into thin archives that are linked instead.

Using LTO leads to a ~10% decrease in stage size for QEMU and ~18% for
the Thinkpad T500, and both targets boot successfully.

Change-Id: I48c31ea8b1b57276125cffdac44c7c16642547ac
Signed-off-by: Jacob Garber <jgarber1@ualberta.ca>
---
M Makefile.inc
M src/Kconfig
M src/arch/arm/Makefile.inc
M src/arch/arm64/Makefile.inc
M src/arch/ppc64/Makefile.inc
M src/arch/riscv/Makefile.inc
M src/arch/x86/Makefile.inc
M src/cpu/x86/smm/Makefile.inc
M src/lib/Makefile.inc
M toolchain.inc
M util/xcompile/xcompile
11 files changed, 59 insertions(+), 44 deletions(-)

git pull ssh://review.coreboot.org:29418/coreboot refs/changes/89/38989/5

To view, visit change 38989. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I48c31ea8b1b57276125cffdac44c7c16642547ac
Gerrit-Change-Number: 38989
Gerrit-PatchSet: 5
Gerrit-Owner: Jacob Garber <jgarber1@ualberta.ca>
Gerrit-Reviewer: Jacob Garber <jgarber1@ualberta.ca>
Gerrit-Reviewer: Julius Werner <jwerner@chromium.org>
Gerrit-Reviewer: Martin Roth <martinroth@google.com>
Gerrit-Reviewer: Patrick Georgi <pgeorgi@google.com>
Gerrit-Reviewer: Paul Menzel <paulepanter@users.sourceforge.net>
Gerrit-Reviewer: Philipp Hug <philipp@hug.cx>
Gerrit-Reviewer: build bot (Jenkins) <no-reply@coreboot.org>
Gerrit-Reviewer: ron minnich <rminnich@gmail.com>
Gerrit-CC: HAOUAS Elyes <ehaouas@noos.fr>
Gerrit-MessageType: newpatchset