summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--common/recipes-bsp/gnu-efi/gnu-efi/parallel-make-archives.patch48
1 files changed, 48 insertions, 0 deletions
diff --git a/common/recipes-bsp/gnu-efi/gnu-efi/parallel-make-archives.patch b/common/recipes-bsp/gnu-efi/gnu-efi/parallel-make-archives.patch
new file mode 100644
index 0000000..e5b47c1
--- /dev/null
+++ b/common/recipes-bsp/gnu-efi/gnu-efi/parallel-make-archives.patch
@@ -0,0 +1,48 @@
1Fix parallel make failure for archives
2
3Upstream-Status: Pending
4
5The lib and gnuefi makefiles were using the lib.a() form which compiles
6and ar's as a pair instead of compiling all and then ar'ing which can
7parallelize better. This was resulting in build failures on larger values
8of -j.
9
10See http://www.chemie.fu-berlin.de/chemnet/use/info/make/make_toc.html#TOC105
11for details.
12
13Signed-off-by: Saul Wold <sgw@linux.intel.com>
14Signed-off-by: Darren Hart <dvhart@linux.intel.com>
15---
16---
17 gnuefi/Makefile | 3 ++-
18 lib/Makefile | 3 ++-
19 2 files changed, 4 insertions(+), 2 deletions(-)
20
21Index: gnu-efi-3.0/lib/Makefile
22===================================================================
23--- gnu-efi-3.0.orig/lib/Makefile
24+++ gnu-efi-3.0/lib/Makefile
25@@ -66,7 +66,8 @@ all: libsubdirs libefi.a
26 libsubdirs:
27 for sdir in $(SUBDIRS); do mkdir -p $$sdir; done
28
29-libefi.a: $(patsubst %,libefi.a(%),$(OBJS))
30+libefi.a: $(OBJS)
31+ $(AR) rv $@ $(OBJS)
32
33 clean:
34 rm -f libefi.a *~ $(OBJS) */*.o
35Index: gnu-efi-3.0/gnuefi/Makefile
36===================================================================
37--- gnu-efi-3.0.orig/gnuefi/Makefile
38+++ gnu-efi-3.0/gnuefi/Makefile
39@@ -51,7 +51,8 @@ TARGETS = crt0-efi-$(ARCH).o libgnuefi.a
40
41 all: $(TARGETS)
42
43-libgnuefi.a: $(patsubst %,libgnuefi.a(%),$(OBJS))
44+libgnuefi.a: $(OBJS)
45+ $(AR) rv $@ $(OBJS)
46
47 clean:
48 rm -f $(TARGETS) *~ *.o $(OBJS)