summaryrefslogtreecommitdiff
path: root/meta/recipes-devtools/make
diff options
context:
space:
mode:
authorMark Hatle <mark.hatle@windriver.com>2013-06-24 09:45:48 -0500
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-06-25 17:43:43 +0100
commit681b4c2cd9830cd523080aa830748d9c3367c7c9 (patch)
tree75dce82fe447ff9bd8012da77aa9debbba98f822 /meta/recipes-devtools/make
parent0d29dc5b5f7742df60fdba90835ef77425963bde (diff)
downloadopenembedded-core-681b4c2cd9830cd523080aa830748d9c3367c7c9.tar.gz
openembedded-core-681b4c2cd9830cd523080aa830748d9c3367c7c9.tar.bz2
openembedded-core-681b4c2cd9830cd523080aa830748d9c3367c7c9.zip
make: Fix second part of bug Savannah 30612
The Savannah bug 30612 describes two different issue. The first, previously fixed, errors parsing multiple objects in parenthesis. The second, (this issue), extra white space contained in the parenthesis. The fix was backported from the current make git tree: http://git.savannah.gnu.org/cgit/make.git/commit/?id=b06b8c64a29a5ba3a8daecd829fa2f98d42cb285 Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
Diffstat (limited to 'meta/recipes-devtools/make')
-rw-r--r--meta/recipes-devtools/make/make-3.82/make-savannah-bug30612-fix_white_space.patch58
-rw-r--r--meta/recipes-devtools/make/make_3.82.bb3
2 files changed, 60 insertions, 1 deletions
diff --git a/meta/recipes-devtools/make/make-3.82/make-savannah-bug30612-fix_white_space.patch b/meta/recipes-devtools/make/make-3.82/make-savannah-bug30612-fix_white_space.patch
new file mode 100644
index 0000000000..0ef501fb97
--- /dev/null
+++ b/meta/recipes-devtools/make/make-3.82/make-savannah-bug30612-fix_white_space.patch
@@ -0,0 +1,58 @@
+Fix another error related to whitespace handling in archives.
+
+2011-06-12 Paul Smith <psmith@gnu.org>
+
+* read.c (parse_file_seq): Move the check for empty members out of
+the loop so we can go to the next member properly.
+Another fix for Savannah bug #30612.
+
+Upstream-Status: Backport
+
+---
+ read.c | 10 +++++-----
+ tests/scripts/features/archives | 5 +++++
+ 5 files changed, 30 insertions(+), 5 deletions(-)
+
+diff --git a/read.c b/read.c
+index c87d4a7..b012094 100644
+--- a/read.c
++++ b/read.c
+@@ -3044,16 +3044,16 @@ parse_file_seq (char **stringp, unsigned int size, int stopchar,
+ nlen -= (n + 1) - tp;
+ tp = n + 1;
+
+- /* If we have just "lib(", part of something like
+- "lib( a b)", go to the next item. */
+- if (! nlen)
+- continue;
+-
+ /* We can stop looking now. */
+ break;
+ }
+ }
+ while (*e != '\0');
++
++ /* If we have just "lib(", part of something like "lib( a b)",
++ go to the next item. */
++ if (! nlen)
++ continue;
+ }
+ }
+
+diff --git a/tests/scripts/features/archives b/tests/scripts/features/archives
+index 00aa1af..3fe46a0 100644
+--- a/tests/scripts/features/archives
++++ b/tests/scripts/features/archives
+@@ -36,6 +36,11 @@ utouch(-50, 'a2.o');
+ run_make_test('all: libxx.a(a3.o *.o)', '',
+ "ar rv libxx.a a3.o\na - a3.o\nar rv libxx.a a2.o\nr - a2.o\n");
+
++# Check whitespace handling
++utouch(-40, 'a2.o');
++run_make_test('all: libxx.a( a3.o *.o )', '',
++ "ar rv libxx.a a2.o\nr - a2.o\n");
++
+ rmfiles(qw(a1.o a2.o a3.o libxx.a));
+
+ # This tells the test driver that the perl test script executed properly.
+
diff --git a/meta/recipes-devtools/make/make_3.82.bb b/meta/recipes-devtools/make/make_3.82.bb
index b4292b5d62..8a2f287a01 100644
--- a/meta/recipes-devtools/make/make_3.82.bb
+++ b/meta/recipes-devtools/make/make_3.82.bb
@@ -7,7 +7,8 @@ require make.inc
SRC_URI += "file://expand_MAKEFLAGS.patch \
file://intermediate-target-bugfix.patch \
- file://make-savannah-bug30612-handling_of_archives.patch;striplevel=0"
+ file://make-savannah-bug30612-handling_of_archives.patch;striplevel=0 \
+ file://make-savannah-bug30612-fix_white_space.patch"
SRC_URI[md5sum] = "1a11100f3c63fcf5753818e59d63088f"
SRC_URI[sha256sum] = "e2c1a73f179c40c71e2fe8abf8a8a0688b8499538512984da4a76958d0402966"