summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Yang <liezhi.yang@windriver.com>2013-09-12 05:33:36 -0400
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-09-12 16:48:38 +0100
commitebfdddc23ff78231a819c62c8ffcced9633aa08b (patch)
treed0df6a366d8a52e9bc337a074355d4a0412b006c
parent01d3b15518b981199120b3b9c6923678244aefdc (diff)
downloadopenembedded-core-ebfdddc23ff78231a819c62c8ffcced9633aa08b.tar.gz
openembedded-core-ebfdddc23ff78231a819c62c8ffcced9633aa08b.tar.bz2
openembedded-core-ebfdddc23ff78231a819c62c8ffcced9633aa08b.zip
icu-native: do_install: Segmentation fault
There was a "Segmentation fault" error when build icu-native when the TMPDIR is in a deep directory (for example, when len(readlink -f $TMPDIR == 410)), use LARGE_BUFFER_MAX_SIZE for cmd rather than SMALL_BUFFER_MAX_SIZE would fix the problem, this should be a misplay because other cmd uses LARGE_BUFFER_MAX_SIZE. [YOCTO #5171] Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-support/icu/icu-51.2/icu-pkgdata-large-cmd.patch29
-rw-r--r--meta/recipes-support/icu/icu_51.2.bb4
2 files changed, 32 insertions, 1 deletions
diff --git a/meta/recipes-support/icu/icu-51.2/icu-pkgdata-large-cmd.patch b/meta/recipes-support/icu/icu-51.2/icu-pkgdata-large-cmd.patch
new file mode 100644
index 0000000000..6e40659227
--- /dev/null
+++ b/meta/recipes-support/icu/icu-51.2/icu-pkgdata-large-cmd.patch
@@ -0,0 +1,29 @@
+pkgdata.cpp: use LARGE_BUFFER_MAX_SIZE for cmd
+
+Use LARGE_BUFFER_MAX_SIZE for cmd rather than SMALL_BUFFER_MAX_SIZE,
+otherwise there was a Segmentation fault error when the command line is
+long, this should be a misplay since other cmd uses
+LARGE_BUFFER_MAX_SIZE.
+
+Upstream-Status: Pending
+
+Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
+---
+ tools/pkgdata/pkgdata.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tools/pkgdata/pkgdata.cpp b/tools/pkgdata/pkgdata.cpp
+--- a/tools/pkgdata/pkgdata.cpp
++++ b/tools/pkgdata/pkgdata.cpp
+@@ -1019,7 +1019,7 @@ normal_symlink_mode:
+
+ static int32_t pkg_installLibrary(const char *installDir, const char *targetDir, UBool noVersion) {
+ int32_t result = 0;
+- char cmd[SMALL_BUFFER_MAX_SIZE];
++ char cmd[LARGE_BUFFER_MAX_SIZE];
+
+ sprintf(cmd, "cd %s && %s %s %s%s%s",
+ targetDir,
+--
+1.7.10.4
+
diff --git a/meta/recipes-support/icu/icu_51.2.bb b/meta/recipes-support/icu/icu_51.2.bb
index e865ba6ff3..1278d22a80 100644
--- a/meta/recipes-support/icu/icu_51.2.bb
+++ b/meta/recipes-support/icu/icu_51.2.bb
@@ -5,7 +5,9 @@ LIC_FILES_CHKSUM = "file://../license.html;md5=443a74288a72fad9069a74e7637192c1"
PR = "r0"
BASE_SRC_URI = "http://download.icu-project.org/files/icu4c/${PV}/icu4c-51_2-src.tgz"
-SRC_URI = "${BASE_SRC_URI}"
+SRC_URI = "${BASE_SRC_URI} \
+ file://icu-pkgdata-large-cmd.patch \
+ "
SRC_URI[md5sum] = "072e501b87065f3a0ca888f1b5165709"
SRC_URI[sha256sum] = "deb027a05f1b3bec03298b96fb93b28c84e9683c22e6f94effa67fdc7bd704cc"