diff mbox series

[u-boot,v4,18/36] sandbox: make LTO available

Message ID 20210520112425.25166-19-marek.behun@nic.cz
State Accepted
Commit 94bb891e8efdd2ffbce77e78faf8c1d707d43355
Delegated to: Tom Rini
Headers show
Series U-Boot LTO (Sandbox + Some ARM boards) | expand

Commit Message

Marek Behún May 20, 2021, 11:24 a.m. UTC
Make LTO available for sandbox architecture.

Signed-off-by: Marek Behún <marek.behun@nic.cz>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
---
 arch/Kconfig           | 1 +
 arch/sandbox/config.mk | 4 ++++
 2 files changed, 5 insertions(+)

Comments

Tom Rini May 25, 2021, 12:55 a.m. UTC | #1
On Thu, May 20, 2021 at 01:24:07PM +0200, Marek Behún wrote:

> Make LTO available for sandbox architecture.
> 
> Signed-off-by: Marek Behún <marek.behun@nic.cz>
> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>

Applied to u-boot/master, thanks!
diff mbox series

Patch

diff --git a/arch/Kconfig b/arch/Kconfig
index 6c4b81a486..c5c03d438c 100644
--- a/arch/Kconfig
+++ b/arch/Kconfig
@@ -101,6 +101,7 @@  config RISCV
 
 config SANDBOX
 	bool "Sandbox"
+	select ARCH_SUPPORTS_LTO
 	select BOARD_LATE_INIT
 	select BZIP2
 	select CMD_POWEROFF
diff --git a/arch/sandbox/config.mk b/arch/sandbox/config.mk
index 2149771324..1f8cb61c8b 100644
--- a/arch/sandbox/config.mk
+++ b/arch/sandbox/config.mk
@@ -17,16 +17,20 @@  PLATFORM_CPPFLAGS += $(shell $(SDL_CONFIG) --cflags)
 endif
 
 cmd_u-boot__ = $(CC) -o $@ -Wl,-T u-boot.lds $(u-boot-init) \
+	$(LTO_FINAL_LDFLAGS) \
 	-Wl,--whole-archive \
 		$(u-boot-main) \
+		$(u-boot-keep-syms-lto) \
 	-Wl,--no-whole-archive \
 	$(PLATFORM_LIBS) -Wl,-Map -Wl,u-boot.map
 
 cmd_u-boot-spl = (cd $(obj) && $(CC) -o $(SPL_BIN) -Wl,-T u-boot-spl.lds \
+	$(LTO_FINAL_LDFLAGS) \
 	$(patsubst $(obj)/%,%,$(u-boot-spl-init)) \
 	-Wl,--whole-archive \
 		$(patsubst $(obj)/%,%,$(u-boot-spl-main)) \
 		$(patsubst $(obj)/%,%,$(u-boot-spl-platdata)) \
+		$(patsubst $(obj)/%,%,$(u-boot-spl-keep-syms-lto)) \
 	-Wl,--no-whole-archive \
 	$(PLATFORM_LIBS) -Wl,-Map -Wl,u-boot-spl.map -Wl,--gc-sections)