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:33:34 +0000 | 
| commit | 1747a70f95ead49985eeaf16c28e818ed5b109cd (patch) | |
| tree | d63888ad4392c8e07b1b50e9fae70f8b30534e00 | |
| parent | 25e01e11586f422f3659318796cb847cb701b03e (diff) | |
| download | openembedded-core-1747a70f95ead49985eeaf16c28e818ed5b109cd.tar.gz openembedded-core-1747a70f95ead49985eeaf16c28e818ed5b109cd.tar.bz2 openembedded-core-1747a70f95ead49985eeaf16c28e818ed5b109cd.zip | |
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.
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.patch | 23 | ||||
| -rw-r--r-- | meta/recipes-devtools/make/make_3.82.bb | 1 | 
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 @@ +Upstream-Status: Backport [The fix is already in upstream git repo, but not in the stable release] + +From fbe5b2c9cd612b962836b9391fa2b58c8baed6fc Mon Sep 17 00:00:00 2001 +From: Paul Smith <psmith@gnu.org> +Date: Mon, 10 Sep 2012 02:36:05 +0000 +Subject: Force intermediate targets to be considered if their non-intermediate + +parent needs to be remade.  Fixes Savannah bug #30653. +--- +diff --git a/remake.c b/remake.c +index c0bf709..b1ddd23 100644 +--- a/remake.c ++++ b/remake.c +@@ -612,6 +612,10 @@ update_file_1 (struct file *file, unsigned int depth) +                 d->file->dontcare = file->dontcare; +               } +  ++            /* We may have already considered this file, when we didn't know ++               we'd need to update it.  Force update_file() to consider it and ++               not prune it.  */ ++            d->file->considered = !considered; +  + 	    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 \  require make.inc  SRC_URI += "file://expand_MAKEFLAGS.patch \ +            file://intermediate-target-bugfix.patch \              file://make-savannah-bug30612-handling_of_archives.patch;striplevel=0"  SRC_URI[md5sum] = "1a11100f3c63fcf5753818e59d63088f" | 
