Stefan Reinauer (stefan.reinauer@coreboot.org) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/9374
-gerrit
commit 2389b5479bd862900d271459dbfd3bec3594ea4b Author: Aaron Durbin adurbin@chromium.org Date: Tue Apr 7 15:44:52 2015 -0500
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 --- src/lib/Makefile.inc | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/src/lib/Makefile.inc b/src/lib/Makefile.inc index f5b2afa..e01d347 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))