summaryrefslogtreecommitdiffstats
path: root/meta/recipes-bsp/gnu-efi/gnu-efi
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-bsp/gnu-efi/gnu-efi')
-rw-r--r--meta/recipes-bsp/gnu-efi/gnu-efi/parallel-make-archives.patch48
-rw-r--r--meta/recipes-bsp/gnu-efi/gnu-efi/parallel-make.patch22
2 files changed, 70 insertions, 0 deletions
diff --git a/meta/recipes-bsp/gnu-efi/gnu-efi/parallel-make-archives.patch b/meta/recipes-bsp/gnu-efi/gnu-efi/parallel-make-archives.patch
new file mode 100644
index 0000000000..e5b47c197a
--- /dev/null
+++ b/meta/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)
diff --git a/meta/recipes-bsp/gnu-efi/gnu-efi/parallel-make.patch b/meta/recipes-bsp/gnu-efi/gnu-efi/parallel-make.patch
new file mode 100644
index 0000000000..27c94e8a74
--- /dev/null
+++ b/meta/recipes-bsp/gnu-efi/gnu-efi/parallel-make.patch
@@ -0,0 +1,22 @@
1Fix parallel make failure
2
3Upstream-Status: Submitted [Maintainer directly]
4
5Add a missing dependency which resulted in a race leading to failure
6on larger values of -j.
7
8Signed-off-by: Darren Hart <dvhart@linux.intel.com>
9
10Index: gnu-efi-3.0/Makefile
11===================================================================
12--- gnu-efi-3.0.orig/Makefile
13+++ gnu-efi-3.0/Makefile
14@@ -42,6 +42,8 @@ include $(SRCDIR)/Make.defaults
15
16 SUBDIRS = lib gnuefi inc apps
17
18+gnuefi: lib
19+
20 all: check_gcc $(SUBDIRS)
21
22 $(SUBDIRS):