From 86dadcd52aaf0db59d4f770a6ff8527ed681e86e Mon Sep 17 00:00:00 2001 From: Arthur Heymans Date: Thu, 22 Aug 2024 23:04:14 +0200 Subject: lib/rmodules: Add support for LTO Change-Id: I9cdda036f330486370e8c4120be5b6a0fd982e99 Signed-off-by: Arthur Heymans Reviewed-on: https://review.coreboot.org/c/coreboot/+/84038 Reviewed-by: Nico Huber Tested-by: build bot (Jenkins) --- src/lib/Makefile.mk | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/lib/Makefile.mk') diff --git a/src/lib/Makefile.mk b/src/lib/Makefile.mk index 89e5b65aef..40df2b8f56 100644 --- a/src/lib/Makefile.mk +++ b/src/lib/Makefile.mk @@ -314,7 +314,11 @@ RMODULE_LDFLAGS := -z defs -Bsymbolic # rmdoule is named $(1).rmod define rmodule_link $(strip $(1)): $(strip $(2)) $$(COMPILER_RT_rmodules_$(3)) $(call src-to-obj,rmodules_$(3),src/lib/rmodule.ld) | $$(RMODTOOL) +ifeq ($(CONFIG_LTO),y) + $$(CC_rmodules_$(3)) $$(CPPFLAGS_rmodules_$(3)) $$(CFLAGS_rmodules_$(3)) $$(LDFLAGS_rmodules_$(3):%=-Wl,%) $$(COMPILER_RT_FLAGS_rmodules_$(3):%=-Wl,%) $(RMODULE_LDFLAGS) $($(1)-ldflags:%=-Wl,%) -T $(call src-to-obj,rmodules_$(3),src/lib/rmodule.ld) -o $$@ -Wl,--whole-archive -Wl,--start-group $(filter-out %.ld,$(2)) -Wl,--no-whole-archive $$(COMPILER_RT_rmodules_$(3)) -Wl,--end-group +else $$(LD_rmodules_$(3)) $$(LDFLAGS_rmodules_$(3)) $(RMODULE_LDFLAGS) $($(1)-ldflags) -T $(call src-to-obj,rmodules_$(3),src/lib/rmodule.ld) -o $$@ --whole-archive --start-group $(filter-out %.ld,$(2)) --no-whole-archive $$(COMPILER_RT_rmodules_$(3)) --end-group +endif $$(NM_rmodules_$(3)) -n $$@ > $$(basename $$@).map endef -- cgit v1.2.3