summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorColin Walters <walters@verbum.org>2013-02-08 07:48:52 -0500
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-02-11 14:46:09 +0000
commit42f221f297b5baeb59119222aac52ae1ac160721 (patch)
treebbe16ec1f59e39b12309d95881e5e87114b4d09b
parentcf8d4f7cc82cadb2137c02e8d74460dbd3d8fe98 (diff)
downloadpoky-42f221f297b5baeb59119222aac52ae1ac160721.tar.gz
make-3.82: Add patch from git to fix parallel make race
See: http://savannah.gnu.org/bugs/?30653 This only shows up for projects which have a number of intermediate targets. For me, systemd fails to build without this patch, and does build consistently with it. WebKitGtk+ is another known affected project. (From OE-Core rev: 1747a70f95ead49985eeaf16c28e818ed5b109cd) Signed-off-by: Colin Walters <walters@verbum.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-devtools/make/make-3.82/intermediate-target-bugfix.patch23
-rw-r--r--meta/recipes-devtools/make/make_3.82.bb1
2 files changed, 24 insertions, 0 deletions
diff --git a/meta/recipes-devtools/make/make-3.82/intermediate-target-bugfix.patch b/meta/recipes-devtools/make/make-3.82/intermediate-target-bugfix.patch
new file mode 100644
index 0000000000..b416e64730
--- /dev/null
+++ b/meta/recipes-devtools/make/make-3.82/intermediate-target-bugfix.patch
@@ -0,0 +1,23 @@
1Upstream-Status: Backport [The fix is already in upstream git repo, but not in the stable release]
2
3From fbe5b2c9cd612b962836b9391fa2b58c8baed6fc Mon Sep 17 00:00:00 2001
4From: Paul Smith <psmith@gnu.org>
5Date: Mon, 10 Sep 2012 02:36:05 +0000
6Subject: Force intermediate targets to be considered if their non-intermediate
7
8parent needs to be remade. Fixes Savannah bug #30653.
9---
10diff --git a/remake.c b/remake.c
11index c0bf709..b1ddd23 100644
12--- a/remake.c
13+++ b/remake.c
14@@ -612,6 +612,10 @@ update_file_1 (struct file *file, unsigned int depth)
15 d->file->dontcare = file->dontcare;
16 }
17
18+ /* We may have already considered this file, when we didn't know
19+ we'd need to update it. Force update_file() to consider it and
20+ not prune it. */
21+ d->file->considered = !considered;
22
23 dep_status |= update_file (d->file, depth);
diff --git a/meta/recipes-devtools/make/make_3.82.bb b/meta/recipes-devtools/make/make_3.82.bb
index 65b044b446..b4292b5d62 100644
--- a/meta/recipes-devtools/make/make_3.82.bb
+++ b/meta/recipes-devtools/make/make_3.82.bb
@@ -6,6 +6,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
6require make.inc 6require make.inc
7 7
8SRC_URI += "file://expand_MAKEFLAGS.patch \ 8SRC_URI += "file://expand_MAKEFLAGS.patch \
9 file://intermediate-target-bugfix.patch \
9 file://make-savannah-bug30612-handling_of_archives.patch;striplevel=0" 10 file://make-savannah-bug30612-handling_of_archives.patch;striplevel=0"
10 11
11SRC_URI[md5sum] = "1a11100f3c63fcf5753818e59d63088f" 12SRC_URI[md5sum] = "1a11100f3c63fcf5753818e59d63088f"