powerpc: boot: fix build with parallel make
authorJo-Philipp Wich <jo@mein.io>
Wed, 4 Jan 2017 09:42:28 +0000 (10:42 +0100)
committerJo-Philipp Wich <jo@mein.io>
Wed, 4 Jan 2017 09:49:40 +0000 (10:49 +0100)
The powerpc boot wrapper Makefile is not parallel build safe, causing fixdep
to fail reading dependency files of the addnote, hack-coff and mktree
utilities when concurrently building different image targets.

A typical failure looks like:

      Building modules, stage 2.
      HOSTCC  arch/powerpc/boot/addnote
      HOSTCC  arch/powerpc/boot/hack-coff
      DTC     arch/powerpc/boot/taishan.dtb
      HOSTCC  arch/powerpc/boot/addnote
      HOSTCC  arch/powerpc/boot/hack-coff
      MODPOST 800 modules
    fixdep: error opening depfile: arch/powerpc/boot/.hack-coff.d: No such file or directory
    scripts/Makefile.host:91: recipe for target 'arch/powerpc/boot/hack-coff' failed
    make[5]: *** [arch/powerpc/boot/hack-coff] Error 2
    make[5]: *** Waiting for unfinished jobs....
    fixdep: error opening depfile: arch/powerpc/boot/.addnote.d: No such file or directory
    scripts/Makefile.host:91: recipe for target 'arch/powerpc/boot/addnote' failed
    make[5]: *** [arch/powerpc/boot/addnote] Error 2
    rm arch/powerpc/boot/taishan.dtb
    arch/powerpc/Makefile:263: recipe for target 'cuImage.taishan' failed
    make[4]: *** [cuImage.taishan] Error 2
    make[4]: *** Waiting for unfinished jobs....

Add a GNU make specific .NOTPARALLEL pseudo rule to enforce sequential building
of the addnote, hack-coff and mktree executables.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
target/linux/ppc44x/patches-3.18/900-bootwrapper-parallel-make-fix.patch [new file with mode: 0644]

diff --git a/target/linux/ppc44x/patches-3.18/900-bootwrapper-parallel-make-fix.patch b/target/linux/ppc44x/patches-3.18/900-bootwrapper-parallel-make-fix.patch
new file mode 100644 (file)
index 0000000..313347c
--- /dev/null
@@ -0,0 +1,45 @@
+From: Jo-Philipp Wich <jo@mein.io>
+Date: Wed, 4 Jan 2017 10:35:00 +0100
+Subject: [PATCH] powerpc: boot: fix build with parallel make
+
+The powerpc boot wrapper Makefile is not parallel build safe, causing fixdep
+to fail reading dependency files of the addnote, hack-coff and mktree
+utilities when concurrently building different image targets.
+
+A typical failure looks like:
+
+      Building modules, stage 2.
+      HOSTCC  arch/powerpc/boot/addnote
+      HOSTCC  arch/powerpc/boot/hack-coff
+      DTC     arch/powerpc/boot/taishan.dtb
+      HOSTCC  arch/powerpc/boot/addnote
+      HOSTCC  arch/powerpc/boot/hack-coff
+      MODPOST 800 modules
+    fixdep: error opening depfile: arch/powerpc/boot/.hack-coff.d: No such file or directory
+    scripts/Makefile.host:91: recipe for target 'arch/powerpc/boot/hack-coff' failed
+    make[5]: *** [arch/powerpc/boot/hack-coff] Error 2
+    make[5]: *** Waiting for unfinished jobs....
+    fixdep: error opening depfile: arch/powerpc/boot/.addnote.d: No such file or directory
+    scripts/Makefile.host:91: recipe for target 'arch/powerpc/boot/addnote' failed
+    make[5]: *** [arch/powerpc/boot/addnote] Error 2
+    rm arch/powerpc/boot/taishan.dtb
+    arch/powerpc/Makefile:263: recipe for target 'cuImage.taishan' failed
+    make[4]: *** [cuImage.taishan] Error 2
+    make[4]: *** Waiting for unfinished jobs....
+
+Add a GNU make specific .NOTPARALLEL pseudo rule to enforce sequential building
+of the addnote, hack-coff and mktree executables.
+
+Signed-off-by: Jo-Philipp Wich <jo@mein.io>
+
+--- a/arch/powerpc/boot/Makefile
++++ b/arch/powerpc/boot/Makefile
+@@ -194,6 +194,8 @@ wrapper            :=$(srctree)/$(src)/wrapper
+ wrapperbits   := $(extra-y) $(addprefix $(obj)/,addnote hack-coff mktree) \
+                       $(wrapper) FORCE
++.NOTPARALLEL: $(addprefix $(obj)/,addnote hack-coff mktree) $(wrapper)
++
+ #############
+ # Bits for building various flavours of zImage