diff options
author | Robert Yang <liezhi.yang@windriver.com> | 2013-09-12 05:33:36 -0400 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2013-09-14 08:21:00 +0100 |
commit | ee7ccda0ec5d0be79bb65868c5827dea91710b2f (patch) | |
tree | 072028a6381a9d771d4d7b71ebf72318386f26f2 | |
parent | 0c11a7740b0e95a4456d5b025977eb02aa07755f (diff) | |
download | poky-ee7ccda0ec5d0be79bb65868c5827dea91710b2f.tar.gz |
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]
(From OE-Core rev: ebfdddc23ff78231a819c62c8ffcced9633aa08b)
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.patch | 29 | ||||
-rw-r--r-- | meta/recipes-support/icu/icu_51.2.bb | 4 |
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 @@ | |||
1 | pkgdata.cpp: use LARGE_BUFFER_MAX_SIZE for cmd | ||
2 | |||
3 | Use LARGE_BUFFER_MAX_SIZE for cmd rather than SMALL_BUFFER_MAX_SIZE, | ||
4 | otherwise there was a Segmentation fault error when the command line is | ||
5 | long, this should be a misplay since other cmd uses | ||
6 | LARGE_BUFFER_MAX_SIZE. | ||
7 | |||
8 | Upstream-Status: Pending | ||
9 | |||
10 | Signed-off-by: Robert Yang <liezhi.yang@windriver.com> | ||
11 | --- | ||
12 | tools/pkgdata/pkgdata.cpp | 2 +- | ||
13 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
14 | |||
15 | diff --git a/tools/pkgdata/pkgdata.cpp b/tools/pkgdata/pkgdata.cpp | ||
16 | --- a/tools/pkgdata/pkgdata.cpp | ||
17 | +++ b/tools/pkgdata/pkgdata.cpp | ||
18 | @@ -1019,7 +1019,7 @@ normal_symlink_mode: | ||
19 | |||
20 | static int32_t pkg_installLibrary(const char *installDir, const char *targetDir, UBool noVersion) { | ||
21 | int32_t result = 0; | ||
22 | - char cmd[SMALL_BUFFER_MAX_SIZE]; | ||
23 | + char cmd[LARGE_BUFFER_MAX_SIZE]; | ||
24 | |||
25 | sprintf(cmd, "cd %s && %s %s %s%s%s", | ||
26 | targetDir, | ||
27 | -- | ||
28 | 1.7.10.4 | ||
29 | |||
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" | |||
5 | PR = "r0" | 5 | PR = "r0" |
6 | 6 | ||
7 | BASE_SRC_URI = "http://download.icu-project.org/files/icu4c/${PV}/icu4c-51_2-src.tgz" | 7 | BASE_SRC_URI = "http://download.icu-project.org/files/icu4c/${PV}/icu4c-51_2-src.tgz" |
8 | SRC_URI = "${BASE_SRC_URI}" | 8 | SRC_URI = "${BASE_SRC_URI} \ |
9 | file://icu-pkgdata-large-cmd.patch \ | ||
10 | " | ||
9 | 11 | ||
10 | SRC_URI[md5sum] = "072e501b87065f3a0ca888f1b5165709" | 12 | SRC_URI[md5sum] = "072e501b87065f3a0ca888f1b5165709" |
11 | SRC_URI[sha256sum] = "deb027a05f1b3bec03298b96fb93b28c84e9683c22e6f94effa67fdc7bd704cc" | 13 | SRC_URI[sha256sum] = "deb027a05f1b3bec03298b96fb93b28c84e9683c22e6f94effa67fdc7bd704cc" |