[meta-intel] [PATCH] gnu-efi: Add parallel make patch for archives

Darren Hart dvhart at linux.intel.com
Thu May 9 11:11:08 PDT 2013


The library makefiles were using the lib.a() form which compiles and
ar's as a pair instead of compiling all and then ar'ing which can
parallelize better.

Signed-off-by: Saul Wold <sgw at linux.intel.com>
Signed-off-by: Darren Hart <dvhart at linux.intel.com>
---
 .../gnu-efi/gnu-efi/parallel-make-archives.patch   |   45 ++++++++++++++++++++
 common/recipes-bsp/gnu-efi/gnu-efi_3.0m.bb         |    5 +-
 2 files changed, 48 insertions(+), 2 deletions(-)
 create mode 100644 common/recipes-bsp/gnu-efi/gnu-efi/parallel-make-archives.patch

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..092bd90
--- /dev/null
+++ b/common/recipes-bsp/gnu-efi/gnu-efi/parallel-make-archives.patch
@@ -0,0 +1,45 @@
+Fix parallel make failure for archives
+
+Upstream-Status: Pending
+
+The lib and gnuefi makefiles were using the lib.a() form which compiles
+and ar's as a pair instead of compiling all and then ar'ing which can
+parallelize better. This was resulting in build failures on larger values
+of -j.
+
+Signed-off-by: Saul Wold <sgw at linux.intel.com>
+Signed-off-by: Darren Hart <dvhart at linux.intel.com>
+---
+---
+ gnuefi/Makefile |    3 ++-
+ lib/Makefile    |    3 ++-
+ 2 files changed, 4 insertions(+), 2 deletions(-)
+
+Index: gnu-efi-3.0/lib/Makefile
+===================================================================
+--- gnu-efi-3.0.orig/lib/Makefile
++++ gnu-efi-3.0/lib/Makefile
+@@ -66,7 +66,8 @@ all: libsubdirs libefi.a
+ libsubdirs:
+ 	for sdir in $(SUBDIRS); do mkdir -p $$sdir; done
+ 
+-libefi.a: libefi.a($(OBJS))
++libefi.a: $(OBJS)
++	$(AR) rv $@ $(OBJS)
+ 
+ clean:
+ 	rm -f libefi.a *~ $(OBJS) */*.o
+Index: gnu-efi-3.0/gnuefi/Makefile
+===================================================================
+--- gnu-efi-3.0.orig/gnuefi/Makefile
++++ gnu-efi-3.0/gnuefi/Makefile
+@@ -51,7 +51,8 @@ TARGETS	= crt0-efi-$(ARCH).o libgnuefi.a
+ 
+ all:	$(TARGETS)
+ 
+-libgnuefi.a: libgnuefi.a($(OBJS))
++libgnuefi.a: $(OBJS)
++	$(AR) rv $@ $(OBJS)
+ 
+ clean:
+ 	rm -f $(TARGETS) *~ *.o $(OBJS)
diff --git a/common/recipes-bsp/gnu-efi/gnu-efi_3.0m.bb b/common/recipes-bsp/gnu-efi/gnu-efi_3.0m.bb
index f8015f2..c672ab7 100644
--- a/common/recipes-bsp/gnu-efi/gnu-efi_3.0m.bb
+++ b/common/recipes-bsp/gnu-efi/gnu-efi_3.0m.bb
@@ -4,13 +4,14 @@ SECTION = "devel"
 LICENSE = "GPLv2+"
 LIC_FILES_CHKSUM = "file://debian/copyright;md5=5fb358a180f484b285b0d99acdc29666"
 
-PR = "r2"
+PR = "r3"
 
 SRCREV = "74"
 
 SRC_URI = "http://downloads.sourceforge.net/gnu-efi/gnu-efi_3.0m.orig.tar.gz \
            file://cross-compile-support.patch \
-	   file://parallel-make.patch \
+           file://parallel-make.patch \
+           file://parallel-make-archives.patch \
           "
 SRC_URI[md5sum] = "d0a21125aee56c0c7291ad260e916cb3"
 SRC_URI[sha256sum] = "b7fb638f5ec8faa6edebe54beb90957f01ccccf70a2a948d1b58b834c8d7f86d"
-- 
1.7.5.4




More information about the meta-intel mailing list