[U-Boot] [PATCH] Makefile: Correct SPL/TPL/DTB build race condition

Simon Glass sjg at chromium.org
Mon Nov 20 15:39:24 UTC 2017


On 11 November 2017 at 20:48, M. Vefa Bicakci <m.v.b at runbox.com> wrote:
> When building on a multi-core machine for an SPL-enabled board that
> also uses CONFIG_OF_EMBED, the following error can be encountered
> due to a race condition:
>
>   make[3]: *** No rule to make target 'spl/dts/dt.dtb.o', needed by
>     'spl/dts/built-in.o'.  Stop.
>   ../scripts/Makefile.spl:364: recipe for target 'spl/dts' failed
>   make[2]: *** [spl/dts] Error 2
>   make[2]: *** Waiting for unfinished jobs....
>
> A reliable way to trigger this race condition is to add "sleep 60" to
> the end of the "arch-dtbs" rule's recipe in "dts/Makefile" and to build
> U-Boot against a board which uses the CONFIG_OF_EMBED and CONFIG_SPL
> options using "make -j8" or a similar command.
>
> This commit corrects this race condition via the use of CONFIG_OF_EMBED
> in the same way that commit 3c00a2c8b5e2 ("Makefile: Correct dependency
> race condition with TPL") and commit 054b3a1e80fc ("dm: Makefile: Build
> of-platdata before SPL") use CONFIG_OF_SEPARATE.
>
> Signed-off-by: M. Vefa Bicakci <m.v.b at runbox.com>
> ---
>
>  Makefile | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)

Reviewed-by: Simon Glass <sjg at chromium.org>


More information about the U-Boot mailing list