[coreboot-gerrit] New patch to review for coreboot: 03599be vboot2: Build verstage archive, then use that for building the stage

Patrick Georgi (pgeorgi@google.com) gerrit at coreboot.org
Mon Apr 27 18:23:25 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/10004

-gerrit

commit 03599be7ca70e15cbb206c294d38ba8e9fd21053
Author: Patrick Georgi <pgeorgi at chromium.org>
Date:   Mon Apr 27 18:09:22 2015 +0200

    vboot2: Build verstage archive, then use that for building the stage
    
    This slightly streamlines integrating the vboot2 library and
    prepares for merging verstage and bootblock on selected devices.
    
    Change-Id: I2163d1411d0c0c6bf80bce64796e1b6a5a02b802
    Signed-off-by: Patrick Georgi <pgeorgi at chromium.org>
---
 Makefile.inc                                       | 4 ++++
 src/arch/arm/Makefile.inc                          | 4 ++--
 src/arch/arm64/Makefile.inc                        | 4 ++--
 src/vendorcode/google/chromeos/vboot2/Makefile.inc | 2 ++
 4 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/Makefile.inc b/Makefile.inc
index e9cb920..7a24c27 100644
--- a/Makefile.inc
+++ b/Makefile.inc
@@ -361,6 +361,10 @@ $(obj)/%.bootblock.o $(abspath $(obj))/%.bootblock.o: $(obj)/%.c $(obj)/config.h
 	@printf "    CC         $(subst $(obj)/,,$(@))\n"
 	$(CC_bootblock) -MMD $(CFLAGS_bootblock) $(CPPFLAGS_bootblock) $(bootblock-c-ccopts) -c -o $@ $<
 
+$(objgenerated)/libverstage.a: $$(verstage-objs)
+	rm -f $@
+	ar rcsT $@ $^
+
 #######################################################################
 # Clean up rules
 clean-abuild:
diff --git a/src/arch/arm/Makefile.inc b/src/arch/arm/Makefile.inc
index d25bc2e..c6c38d5 100644
--- a/src/arch/arm/Makefile.inc
+++ b/src/arch/arm/Makefile.inc
@@ -73,9 +73,9 @@ endif # CONFIG_ARCH_BOOTBLOCK_ARM
 # verification stage
 ###############################################################################
 
-$(objcbfs)/verstage.debug: $$(verstage-objs) $(obj)/mainboard/$(MAINBOARDDIR)/memlayout.verstage.ld $$(VB2_LIB)
+$(objcbfs)/verstage.debug: $(objgenerated)/libverstage.a $(obj)/mainboard/$(MAINBOARDDIR)/memlayout.verstage.ld
 	@printf "    LINK       $(subst $(obj)/,,$(@))\n"
-	$(LD_verstage) --gc-sections -static -o $@ -L$(obj) -T $(obj)/mainboard/$(MAINBOARDDIR)/memlayout.verstage.ld --start-group $(verstage-objs) --end-group
+	$(LD_verstage) --gc-sections -static -o $@ -L$(obj) -T $(obj)/mainboard/$(MAINBOARDDIR)/memlayout.verstage.ld --start-group $(objgenerated)/libverstage.a --end-group
 
 verstage-y += div0.c
 verstage-y += eabi_compat.c
diff --git a/src/arch/arm64/Makefile.inc b/src/arch/arm64/Makefile.inc
index 7d36bf4..adaba8e 100644
--- a/src/arch/arm64/Makefile.inc
+++ b/src/arch/arm64/Makefile.inc
@@ -84,9 +84,9 @@ endif # CONFIG_ARCH_BOOTBLOCK_ARM64
 
 ifeq ($(CONFIG_ARCH_VERSTAGE_ARM64),y)
 
-$(objcbfs)/verstage.debug: $$(verstage-objs) $$(VB2_LIB) $(obj)/mainboard/$(MAINBOARDDIR)/memlayout.verstage.ld $(obj)/config.h
+$(objcbfs)/verstage.debug: $(objgenerated)/libverstage.a $(obj)/mainboard/$(MAINBOARDDIR)/memlayout.verstage.ld $(obj)/config.h
 	@printf "    LINK       $(subst $(obj)/,,$(@))\n"
-	$(LD_verstage) --gc-sections -static -o $@ -L$(obj) --start-group $(verstage-objs) $(VBS_LIB) --end-group -T $(obj)/mainboard/$(MAINBOARDDIR)/memlayout.verstage.ld
+	$(LD_verstage) --gc-sections -static -o $@ -L$(obj) --start-group $(objgenerated)/libverstage.a --end-group -T $(obj)/mainboard/$(MAINBOARDDIR)/memlayout.verstage.ld
 
 verstage-$(CONFIG_EARLY_CONSOLE) += early_console.c
 verstage-y += div0.c
diff --git a/src/vendorcode/google/chromeos/vboot2/Makefile.inc b/src/vendorcode/google/chromeos/vboot2/Makefile.inc
index 062f12e..5e24788 100644
--- a/src/vendorcode/google/chromeos/vboot2/Makefile.inc
+++ b/src/vendorcode/google/chromeos/vboot2/Makefile.inc
@@ -56,6 +56,8 @@ $(VB2_LIB): $(obj)/config.h
 		fwlib20
 
 VERSTAGE_ELF = $(objcbfs)/verstage.elf
+verstage-srcs += $(VB2_LIB)
+
 cbfs-files-y += $(call strip_quotes,$(CONFIG_CBFS_PREFIX))/verstage
 fallback/verstage-file = $(VERSTAGE_ELF)
 fallback/verstage-type = stage



More information about the coreboot-gerrit mailing list