diff options
| author | Colin Walters <walters@verbum.org> | 2013-02-08 07:48:52 -0500 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2013-02-11 14:46:09 +0000 |
| commit | 42f221f297b5baeb59119222aac52ae1ac160721 (patch) | |
| tree | bbe16ec1f59e39b12309d95881e5e87114b4d09b /meta/recipes-devtools/make/make-3.82 | |
| parent | cf8d4f7cc82cadb2137c02e8d74460dbd3d8fe98 (diff) | |
| download | poky-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>
Diffstat (limited to 'meta/recipes-devtools/make/make-3.82')
| -rw-r--r-- | meta/recipes-devtools/make/make-3.82/intermediate-target-bugfix.patch | 23 |
1 files changed, 23 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 @@ | |||
| 1 | Upstream-Status: Backport [The fix is already in upstream git repo, but not in the stable release] | ||
| 2 | |||
| 3 | From fbe5b2c9cd612b962836b9391fa2b58c8baed6fc Mon Sep 17 00:00:00 2001 | ||
| 4 | From: Paul Smith <psmith@gnu.org> | ||
| 5 | Date: Mon, 10 Sep 2012 02:36:05 +0000 | ||
| 6 | Subject: Force intermediate targets to be considered if their non-intermediate | ||
| 7 | |||
| 8 | parent needs to be remade. Fixes Savannah bug #30653. | ||
| 9 | --- | ||
| 10 | diff --git a/remake.c b/remake.c | ||
| 11 | index 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); | ||
