]> code.ossystems Code Review - openembedded-core.git/commitdiff
icu-native: do_install: Segmentation fault
authorRobert Yang <liezhi.yang@windriver.com>
Thu, 12 Sep 2013 09:33:36 +0000 (05:33 -0400)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 12 Sep 2013 15:48:38 +0000 (16:48 +0100)
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>
meta/recipes-support/icu/icu-51.2/icu-pkgdata-large-cmd.patch [new file with mode: 0644]
meta/recipes-support/icu/icu_51.2.bb

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 (file)
index 0000000..6e40659
--- /dev/null
@@ -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
+
index e865ba6ff355820d55fbe2df3c6b3240081b1bed..1278d22a80e80ed7eb1a73653a4de1cd830c58d3 100644 (file)
@@ -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"