[U-Boot] [PATCH] kbuild: fix parallel build race caused by u-boot.cfg regeneration

Simon Glass sjg at chromium.org
Thu Jan 10 12:57:01 UTC 2019


On Wed, 9 Jan 2019 at 00:32, Masahiro Yamada
<yamada.masahiro at socionext.com> wrote:
>
> Multiple people have reported intermittent build failure in parallel
> building.
>
> Kever Yang reported this issue some time ago [1], but I could not
> get enough clue at that time.
>
> This time, Richard Purdie provided a complete build log [2], which
> was very helpful for me to root-cause it.
>
> The cause of the problem is commit 0d982c585330 ("Makefile: add
> dependencies to regenerate u-boot.cfg when lost").
>
> That commit added the 'cfg' as the prerequisite of the 'all' target,
> so the parallel build tries to run it simultaneously, then regenerates
> a symlink while building objects.
>
> When u-boot.cfg is accidentally lost, lets' rebuild it before
> descending into any subdirectories.
>
> Also, what is annoying is u-boot.cfg is currently regenerated every
> time since it depends on FORCE. We can get rid of all the prerequisites
> of u-boot.cfg because u-boot.cfg is rebuilt anyway as the byproduct of
> auto.conf when a user updates the .config file.
>
> [1] https://lists.denx.de/pipermail/u-boot/2018-June/330341.html
> [2] https://autobuilder.yoctoproject.org/typhoon/#/builders/65/builds/160/steps/7/logs/step1b
>
> Fixes: 0d982c585330 ("Makefile: add dependencies to regenerate u-boot.cfg when lost")
> Reported-by: Kever Yang <kever.yang at rock-chips.com>
> Reported-by: Richard Purdie <richard.purdie at linuxfoundation.org>
> Signed-off-by: Masahiro Yamada <yamada.masahiro at socionext.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