[coreboot-gerrit] New patch to review for coreboot: 0e1c5d1 build system: use archives, not linker action to shorten command lines

Patrick Georgi (pgeorgi@google.com) gerrit at coreboot.org
Thu May 7 22:43:28 CEST 2015


Patrick Georgi (pgeorgi at google.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/10139

-gerrit

commit 0e1c5d1d0d2da09e0bec21843b412fa4f3f7c4e1
Author: Patrick Georgi <pgeorgi at chromium.org>
Date:   Thu May 7 22:24:41 2015 +0200

    build system: use archives, not linker action to shorten command lines
    
    Intermediate linking may distort linker behavior (in particular related to
    weak symbols). The idea is that archives are closer to 'just a list of
    object files', and ideally makes the linker more predictable.
    
    Change-Id: Ie226c198a93bcdca2d82c02431c72108a1c6ea60
    Signed-off-by: Patrick Georgi <pgeorgi at chromium.org>
---
 Makefile.inc | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/Makefile.inc b/Makefile.inc
index 06c3302..f34aaac 100644
--- a/Makefile.inc
+++ b/Makefile.inc
@@ -115,8 +115,8 @@ files-in-dir=$(filter-out $(call dir-wildcards,$(call filter-out-dirs,$(1),$(sor
 # directory into an intermediate file
 ramstage-postprocess=$$(eval DEPENDENCIES+=$$(addsuffix .d,$$(basename $(1)))) \
 	$(foreach d,$(sort $(dir $(filter-out %.ld,$(1)))), \
-	$(eval $(d)ramstage.o: $(call files-in-dir,$(d),$(filter-out %.ld,$(1))); $$(LD_ramstage) -o $$@ -r $$^ ) \
-	$(eval ramstage-objs:=$(d)ramstage.o $(filter-out $(filter-out %.ld, $(call files-in-dir,$(d),$(1))),$(ramstage-objs))))
+	$(eval $(d)ramstage.a: $(call files-in-dir,$(d),$(filter-out %.ld,$(1))); rm -f $$@ && $(AR_ramstage) rcsT $$@ $$^ ) \
+	$(eval ramstage-objs:=$(d)ramstage.a $(filter-out $(filter-out %.ld, $(call files-in-dir,$(d),$(1))),$(ramstage-objs))))
 
 bootblock-generic-ccopts += -D__PRE_RAM__ -D__BOOTBLOCK__
 romstage-generic-ccopts += -D__PRE_RAM__ -D__ROMSTAGE__



More information about the coreboot-gerrit mailing list