summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAaron Durbin <adurbin@chromium.org>2015-04-07 15:44:52 -0500
committerAaron Durbin <adurbin@google.com>2015-04-07 23:01:40 +0200
commit04de97113ac6ea6ddbb014906b30d03499974841 (patch)
tree4932b29aa90652e7a1fe35db9856557e41c7df2f
parent8e44261b0801e88f12f052490b47013636fbd866 (diff)
downloadcoreboot-04de97113ac6ea6ddbb014906b30d03499974841.tar.xz
rmodules: fix linking
In commit ec5e5e0d the rmodules linking flags were dropped. This resulted in relocations being removed from the ELF file. The relocation information is quite valuable when needing to perform relocations at runtime. Change-Id: I699477eb023fc6132e03699992dcf81a311d2d48 Signed-off-by: Aaron Durbin <adurbin@chromium.org> Reviewed-on: http://review.coreboot.org/9374 Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org> Tested-by: build bot (Jenkins)
-rw-r--r--src/lib/Makefile.inc5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/lib/Makefile.inc b/src/lib/Makefile.inc
index f5b2afa5d7..e01d3473f6 100644
--- a/src/lib/Makefile.inc
+++ b/src/lib/Makefile.inc
@@ -135,8 +135,7 @@ ifeq ($(CONFIG_RELOCATABLE_MODULES),y)
ramstage-y += rmodule.c
romstage-$(CONFIG_RELOCATABLE_RAMSTAGE) += rmodule.c
-RMODULE_LDSCRIPT := $(src)/lib/rmodule.ld
-RMODULE_LDFLAGS := -nostartfiles --gc-sections --emit-relocs -z defs -Bsymbolic -T $(RMODULE_LDSCRIPT)
+RMODULE_LDFLAGS := -nostartfiles --gc-sections --emit-relocs -z defs -Bsymbolic
# rmodule_link_rules is a function that should be called with:
# (1) the object name to link
@@ -147,7 +146,7 @@ RMODULE_LDFLAGS := -nostartfiles --gc-sections --emit-relocs -z defs -Bsymbolic
# rmdoule is named $(1).rmod
define rmodule_link
$(strip $(1)): $(strip $(2)) $$(COMPILER_RT_rmodules_$(4)) $(obj)/lib/rmodule.rmodules_$(4).ld | $$(RMODTOOL)
- $$(LD_rmodules_$(4)) --gc-sections -static -T $(obj)/lib/rmodule.rmodules_$(4).ld --defsym=__heap_size=$(strip $(3)) -o $$@ --start-group $(filter-out %.ld,$(2)) --end-group
+ $$(LD_rmodules_$(4)) $(RMODULE_LDFLAGS) -T $(obj)/lib/rmodule.rmodules_$(4).ld --defsym=__heap_size=$(strip $(3)) -o $$@ --start-group $(filter-out %.ld,$(2)) --end-group
$$(NM_rmodules_$(4)) -n $$@ > $$(basename $$@).map
$(strip $(1)).rmod: $(strip $(1))