[coreboot-gerrit] Change in ...coreboot[master]: Makefile.inc: Avoid race condition when using 'make -j<N>'

Nico Huber (Code Review) gerrit at coreboot.org
Tue Dec 11 17:19:20 CET 2018


Nico Huber has submitted this change and it was merged. ( https://review.coreboot.org/c/coreboot/+/29984 )

Change subject: Makefile.inc: Avoid race condition when using 'make -j<N>'
......................................................................

Makefile.inc: Avoid race condition when using 'make -j<N>'

When building coreboot from scratch with 'make -j4', I sometimes see
this error:

    CREATE     build/mainboard/emulation/qemu-riscv/cbfs-file.wblRgZ.out (from /.../coreboot/.config)
    HOSTCC     cbfstool/cbfstool (link)
make[1]: execvp: build/util/kconfig/conf: Permission denied
make[1]: *** [/.../coreboot/util/kconfig/Makefile:92: savedefconfig] Error 127

It happens, I think, because the rule generated by
cbfs-files-processor-defconfig runs 'make savedefconfig', which builds
build/util/kconfig/conf, and something also builds it, at the same time.
Fix this case, by making this rule depend on $(objutil)/kconfig/conf.

The same fix is also precautiously applied to the rule for
$(KCONFIG_AUTOHEADER) in Makefile.

Change-Id: Ie93eda567f88ca08c97df7e70cdff5b07442747d
Signed-off-by: Jonathan Neuschäfer <j.neuschaefer at gmx.net>
Reviewed-on: https://review.coreboot.org/c/29984
Tested-by: build bot (Jenkins) <no-reply at coreboot.org>
Reviewed-by: Nico Huber <nico.h at gmx.de>
---
M Makefile
M Makefile.inc
2 files changed, 2 insertions(+), 2 deletions(-)

Approvals:
  build bot (Jenkins): Verified
  Nico Huber: Looks good to me, approved



diff --git a/Makefile b/Makefile
index 1d4a488..f12b616 100644
--- a/Makefile
+++ b/Makefile
@@ -176,7 +176,7 @@
 .SECONDEXPANSION:
 .DELETE_ON_ERROR:
 
-$(KCONFIG_AUTOHEADER): $(KCONFIG_CONFIG)
+$(KCONFIG_AUTOHEADER): $(KCONFIG_CONFIG) $(objutil)/kconfig/conf
 	+$(MAKE) oldconfig
 
 # Add a new class of source/object files to the build system
diff --git a/Makefile.inc b/Makefile.inc
index 1d6a671..f684f59 100644
--- a/Makefile.inc
+++ b/Makefile.inc
@@ -287,7 +287,7 @@
 # arg1: input
 # arg2: output
 cbfs-files-processor-defconfig= \
-	$(eval $(2): $(1) $(obj)/build.h; \
+	$(eval $(2): $(1) $(obj)/build.h $(objutil)/kconfig/conf; \
 		+printf "    CREATE     $(2) (from $(1))\n"; \
 		printf "\# This image was built using coreboot " > $(2).tmp && \
 		grep "\<COREBOOT_VERSION\>" $(obj)/build.h |cut -d\" -f2 >> $(2).tmp && \

-- 
To view, visit https://review.coreboot.org/c/coreboot/+/29984
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings

Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: Ie93eda567f88ca08c97df7e70cdff5b07442747d
Gerrit-Change-Number: 29984
Gerrit-PatchSet: 3
Gerrit-Owner: Jonathan Neuschäfer <j.neuschaefer at gmx.net>
Gerrit-Reviewer: Jonathan Neuschäfer <j.neuschaefer at gmx.net>
Gerrit-Reviewer: Martin Roth <martinroth at google.com>
Gerrit-Reviewer: Nico Huber <nico.h at gmx.de>
Gerrit-Reviewer: Patrick Georgi <pgeorgi at google.com>
Gerrit-Reviewer: build bot (Jenkins) <no-reply at coreboot.org>
Gerrit-MessageType: merged
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.coreboot.org/pipermail/coreboot-gerrit/attachments/20181211/362326e2/attachment.html>


More information about the coreboot-gerrit mailing list