diff options
Diffstat (limited to 'poky/meta/recipes-bsp/gnu-efi/gnu-efi/parallel-make-archives.patch')
-rw-r--r-- | poky/meta/recipes-bsp/gnu-efi/gnu-efi/parallel-make-archives.patch | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/poky/meta/recipes-bsp/gnu-efi/gnu-efi/parallel-make-archives.patch b/poky/meta/recipes-bsp/gnu-efi/gnu-efi/parallel-make-archives.patch new file mode 100644 index 000000000..0110260bd --- /dev/null +++ b/poky/meta/recipes-bsp/gnu-efi/gnu-efi/parallel-make-archives.patch @@ -0,0 +1,54 @@ +From 16865de66db33ca70872199e70d93efccecc8575 Mon Sep 17 00:00:00 2001 +From: Saul Wold <sgw@linux.intel.com> +Date: Sun, 9 Mar 2014 15:22:15 +0200 +Subject: [PATCH 1/3] 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. + +See http://www.chemie.fu-berlin.de/chemnet/use/info/make/make_toc.html#TOC105 +for details. + +Signed-off-by: Saul Wold <sgw@linux.intel.com> +Signed-off-by: Darren Hart <dvhart@linux.intel.com> +[Rebased for 3.0.6] +Signed-off-by: California Sullivan <california.l.sullivan@intel.com> +--- + gnuefi/Makefile | 3 ++- + lib/Makefile | 2 +- + 2 files changed, 3 insertions(+), 2 deletions(-) + +diff --git a/gnuefi/Makefile b/gnuefi/Makefile +index 2a61699..148106e 100644 +--- a/gnuefi/Makefile ++++ b/gnuefi/Makefile +@@ -54,7 +54,8 @@ TARGETS = crt0-efi-$(ARCH).o libgnuefi.a + + all: $(TARGETS) + +-libgnuefi.a: $(patsubst %,libgnuefi.a(%),$(OBJS)) ++libgnuefi.a: $(OBJS) ++ $(AR) rv $@ $(OBJS) + + clean: + rm -f $(TARGETS) *~ *.o $(OBJS) +diff --git a/lib/Makefile b/lib/Makefile +index b8d1ce7..6ef8107 100644 +--- a/lib/Makefile ++++ b/lib/Makefile +@@ -75,7 +75,7 @@ libsubdirs: + for sdir in $(SUBDIRS); do mkdir -p $$sdir; done + + libefi.a: $(OBJS) +- $(AR) rv -U $@ $^ ++ $(AR) rv $@ $(OBJS) + + clean: + rm -f libefi.a *~ $(OBJS) */*.o +-- +2.9.4 + |