From 3fd5d0334439b6231a6afd2a544a16b87ae81c99 Mon Sep 17 00:00:00 2001 From: Robert Yang Date: Fri, 29 Jun 2012 09:45:26 +0800 Subject: icu 3.6: do_install failed: Segmentation fault There is a "Segmentation fault" error when the tmpdir is longer than 470 (or less), this is because it used "char cmd[1024]" which is not enough for the command line. Allocate a larger memory size should fix this problem. [YOCTO #2664] Signed-off-by: Robert Yang --- .../icu/files/larger-cmd-size.patch | 27 ++++++++++++++++++++++ meta/recipes-support/icu/icu-3.6.inc | 1 + meta/recipes-support/icu/icu_3.6.bb | 2 +- 3 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 meta/recipes-support/icu/files/larger-cmd-size.patch (limited to 'meta/recipes-support/icu') diff --git a/meta/recipes-support/icu/files/larger-cmd-size.patch b/meta/recipes-support/icu/files/larger-cmd-size.patch new file mode 100644 index 0000000000..74a84f17ba --- /dev/null +++ b/meta/recipes-support/icu/files/larger-cmd-size.patch @@ -0,0 +1,27 @@ +Allocate a larger memory size for cmd + +The length of the command line can be longer than 1024 sometimes, +which will cause a "Segmentation fault" error. + +Signed-off-by: Robert Yang + +Upstream-Status: Pending +--- + tools/pkgdata/pkgdata.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tools/pkgdata/pkgdata.c b/tools/pkgdata/pkgdata.c +--- a/tools/pkgdata/pkgdata.c ++++ b/tools/pkgdata/pkgdata.c +@@ -439,7 +439,7 @@ main(int argc, char* argv[]) { + /* POSIX - execute makefile */ + static int executeMakefile(const UPKGOptions *o) + { +- char cmd[1024]; ++ char cmd[2048]; + /*char pwd[1024];*/ + const char *make; + int rc; +-- +1.7.10.2 + diff --git a/meta/recipes-support/icu/icu-3.6.inc b/meta/recipes-support/icu/icu-3.6.inc index d3391fea5d..d969caa0ae 100644 --- a/meta/recipes-support/icu/icu-3.6.inc +++ b/meta/recipes-support/icu/icu-3.6.inc @@ -6,6 +6,7 @@ BASE_SRC_URI = "ftp://ftp.software.ibm.com/software/globalization/icu/3.6/icu4c- file://gccfix.patch \ file://fix-parallel-build.patch \ file://use-g++-for-linking.patch \ + file://larger-cmd-size.patch \ " SRC_URI = "${BASE_SRC_URI} \ file://noldlibpath.patch \ diff --git a/meta/recipes-support/icu/icu_3.6.bb b/meta/recipes-support/icu/icu_3.6.bb index d7be522c03..f941acf81f 100644 --- a/meta/recipes-support/icu/icu_3.6.bb +++ b/meta/recipes-support/icu/icu_3.6.bb @@ -1,6 +1,6 @@ require icu-3.6.inc -PR = "r8" +PR = "r9" SRC_URI[md5sum] = "6243f7a19e03e05403ce84e597510d4c" SRC_URI[sha256sum] = "5135e8d69d6206d320515df7aeee7027711ab1aef9d8dbf29571a97a9746b041" -- cgit 1.2.3-korg