diff options
author | Alexander Kanavin <alex.kanavin@gmail.com> | 2019-04-18 17:59:14 +0200 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2019-04-23 23:30:20 +0100 |
commit | 1bba6502c1b07dbfb1c802f19a47f6e0f83d893e (patch) | |
tree | 27b46c308c90eb65f591eb95b65a2440f0253920 /meta/recipes-support/icu | |
parent | 9fe634f79745bd9a256f4210599583c0327b7c38 (diff) | |
download | poky-1bba6502c1b07dbfb1c802f19a47f6e0f83d893e.tar.gz |
icu: update to 64.1
License-update: copyright years changed.
Drop upstreamed/backported patches.
Add a patch to fix big endian build failure.
(From OE-Core rev: 929d37831624fce84580466c4408217c766410f0)
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-support/icu')
-rw-r--r-- | meta/recipes-support/icu/icu/0001-Fix-big-endian-build.patch | 28 | ||||
-rw-r--r-- | meta/recipes-support/icu/icu/0002-Add-ARC-support.patch | 27 | ||||
-rw-r--r-- | meta/recipes-support/icu/icu/CVE-2018-18928.patch | 63 | ||||
-rw-r--r-- | meta/recipes-support/icu/icu_64.1.bb (renamed from meta/recipes-support/icu/icu_63.1.bb) | 9 |
4 files changed, 32 insertions, 95 deletions
diff --git a/meta/recipes-support/icu/icu/0001-Fix-big-endian-build.patch b/meta/recipes-support/icu/icu/0001-Fix-big-endian-build.patch new file mode 100644 index 0000000000..efb27ae4e3 --- /dev/null +++ b/meta/recipes-support/icu/icu/0001-Fix-big-endian-build.patch | |||
@@ -0,0 +1,28 @@ | |||
1 | From 9be0b489a94b57419202c552022f25cb95bfac51 Mon Sep 17 00:00:00 2001 | ||
2 | From: Alexander Kanavin <alex.kanavin@gmail.com> | ||
3 | Date: Wed, 17 Apr 2019 16:41:58 +0200 | ||
4 | Subject: [PATCH] Fix big-endian build | ||
5 | |||
6 | Bug-report: https://unicode-org.atlassian.net/browse/ICU-20533 | ||
7 | Patch taken from: https://bugs.gentoo.org/682170 | ||
8 | |||
9 | Upstream-Status: Pending | ||
10 | Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> | ||
11 | --- | ||
12 | data/Makefile.in | 3 ++- | ||
13 | 1 file changed, 2 insertions(+), 1 deletion(-) | ||
14 | |||
15 | diff --git a/source/data/Makefile.in b/source/data/Makefile.in | ||
16 | index 778b6c7..67203e7 100644 | ||
17 | --- a/data/Makefile.in | ||
18 | +++ b/data/Makefile.in | ||
19 | @@ -148,7 +148,8 @@ ICUDATA_ARCHIVE = $(firstword $(wildcard $(srcdir)/in/$(ICUDATA_BASENAME_VERSION | ||
20 | # and convert it to the current type. | ||
21 | ifneq ($(ICUDATA_ARCHIVE),) | ||
22 | ICUDATA_SOURCE_ARCHIVE = $(OUTDIR)/$(ICUDATA_PLATFORM_NAME).dat | ||
23 | -$(ICUDATA_SOURCE_ARCHIVE): $(ICUDATA_ARCHIVE) $(OUTDIR) | ||
24 | +$(ICUDATA_SOURCE_ARCHIVE): $(ICUDATA_ARCHIVE) | ||
25 | + $(MKINSTALLDIRS) $(OUTDIR) | ||
26 | $(INVOKE) $(TOOLBINDIR)/icupkg -t$(ICUDATA_CHAR) $(ICUDATA_ARCHIVE) $(ICUDATA_SOURCE_ARCHIVE) | ||
27 | endif | ||
28 | else | ||
diff --git a/meta/recipes-support/icu/icu/0002-Add-ARC-support.patch b/meta/recipes-support/icu/icu/0002-Add-ARC-support.patch deleted file mode 100644 index 20e3d8356c..0000000000 --- a/meta/recipes-support/icu/icu/0002-Add-ARC-support.patch +++ /dev/null | |||
@@ -1,27 +0,0 @@ | |||
1 | From fcfd57105b4bdb30d906df152ef01748fa95daff Mon Sep 17 00:00:00 2001 | ||
2 | From: Alexey Brodkin <abrodkin@synopsys.com> | ||
3 | Date: Thu, 13 Sep 2018 17:13:20 +0300 | ||
4 | Subject: [PATCH] icu: Add ARC support | ||
5 | |||
6 | Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> | ||
7 | |||
8 | Upstream-Status: Submitted [ https://github.com/unicode-org/icu/pull/149 ] | ||
9 | --- | ||
10 | i18n/double-conversion-utils.h | 2 +- | ||
11 | 1 files changed, 1 insertions(+), 1 deletions(-) | ||
12 | |||
13 | diff --git a/i18n/double-conversion-utils.h b/i18n/double-conversion-utils.h | ||
14 | index 57fc49b231a3..0bd3e8340673 100644 | ||
15 | --- a/i18n/double-conversion-utils.h | ||
16 | +++ b/i18n/double-conversion-utils.h | ||
17 | @@ -86,7 +86,7 @@ inline void abort_noreturn() { abort(); } | ||
18 | defined(__SH4__) || defined(__alpha__) || \ | ||
19 | defined(_MIPS_ARCH_MIPS32R2) || \ | ||
20 | defined(__AARCH64EL__) || defined(__aarch64__) || \ | ||
21 | - defined(__riscv) | ||
22 | + defined(__riscv) || defined(__arc__) | ||
23 | #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1 | ||
24 | #elif defined(__mc68000__) | ||
25 | #undef DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS | ||
26 | 2.17.1 | ||
27 | |||
diff --git a/meta/recipes-support/icu/icu/CVE-2018-18928.patch b/meta/recipes-support/icu/icu/CVE-2018-18928.patch deleted file mode 100644 index 19c50e4e76..0000000000 --- a/meta/recipes-support/icu/icu/CVE-2018-18928.patch +++ /dev/null | |||
@@ -1,63 +0,0 @@ | |||
1 | CVE: CVE-2018-18928 | ||
2 | Upstream-Status: Backport | ||
3 | Signed-off-by: Ross Burton <ross.burton@intel.com> | ||
4 | |||
5 | From 53d8c8f3d181d87a6aa925b449b51c4a2c922a51 Mon Sep 17 00:00:00 2001 | ||
6 | From: Shane Carr <shane@unicode.org> | ||
7 | Date: Mon, 29 Oct 2018 23:52:44 -0700 | ||
8 | Subject: [PATCH] ICU-20246 Fixing another integer overflow in number parsing. | ||
9 | |||
10 | --- | ||
11 | i18n/fmtable.cpp | 2 +- | ||
12 | i18n/number_decimalquantity.cpp | 5 ++++- | ||
13 | test/intltest/numfmtst.cpp | 8 ++++++++ | ||
14 | 6 files changed, 31 insertions(+), 4 deletions(-) | ||
15 | |||
16 | diff --git a/i18n/fmtable.cpp b/i18n/fmtable.cpp | ||
17 | index 45c7024fc29..8601d95f4a6 100644 | ||
18 | --- a/i18n/fmtable.cpp | ||
19 | +++ b/i18n/fmtable.cpp | ||
20 | @@ -734,7 +734,7 @@ CharString *Formattable::internalGetCharString(UErrorCode &status) { | ||
21 | // not print scientific notation for magnitudes greater than -5 and smaller than some amount (+5?). | ||
22 | if (fDecimalQuantity->isZero()) { | ||
23 | fDecimalStr->append("0", -1, status); | ||
24 | - } else if (std::abs(fDecimalQuantity->getMagnitude()) < 5) { | ||
25 | + } else if (fDecimalQuantity->getMagnitude() != INT32_MIN && std::abs(fDecimalQuantity->getMagnitude()) < 5) { | ||
26 | fDecimalStr->appendInvariantChars(fDecimalQuantity->toPlainString(), status); | ||
27 | } else { | ||
28 | fDecimalStr->appendInvariantChars(fDecimalQuantity->toScientificString(), status); | ||
29 | diff --git a/i18n/number_decimalquantity.cpp b/i18n/number_decimalquantity.cpp | ||
30 | index 47b930a564b..d5dd7ae694c 100644 | ||
31 | --- a/i18n/number_decimalquantity.cpp | ||
32 | +++ b/i18n/number_decimalquantity.cpp | ||
33 | @@ -898,7 +898,10 @@ UnicodeString DecimalQuantity::toScientificString() const { | ||
34 | } | ||
35 | result.append(u'E'); | ||
36 | int32_t _scale = upperPos + scale; | ||
37 | - if (_scale < 0) { | ||
38 | + if (_scale == INT32_MIN) { | ||
39 | + result.append({u"-2147483648", -1}); | ||
40 | + return result; | ||
41 | + } else if (_scale < 0) { | ||
42 | _scale *= -1; | ||
43 | result.append(u'-'); | ||
44 | } else { | ||
45 | diff --git a/test/intltest/numfmtst.cpp b/test/intltest/numfmtst.cpp | ||
46 | index 34355939113..8d52dc122bf 100644 | ||
47 | --- a/test/intltest/numfmtst.cpp | ||
48 | +++ b/test/intltest/numfmtst.cpp | ||
49 | @@ -9226,6 +9226,14 @@ void NumberFormatTest::Test20037_ScientificIntegerOverflow() { | ||
50 | assertEquals(u"Should not overflow and should parse only the first exponent", | ||
51 | u"1E-2147483647", | ||
52 | {sp.data(), sp.length(), US_INV}); | ||
53 | + | ||
54 | + // Test edge case overflow of exponent | ||
55 | + result = Formattable(); | ||
56 | + nf->parse(u".0003e-2147483644", result, status); | ||
57 | + sp = result.getDecimalNumber(status); | ||
58 | + assertEquals(u"Should not overflow", | ||
59 | + u"3E-2147483648", | ||
60 | + {sp.data(), sp.length(), US_INV}); | ||
61 | } | ||
62 | |||
63 | void NumberFormatTest::Test13840_ParseLongStringCrash() { | ||
diff --git a/meta/recipes-support/icu/icu_63.1.bb b/meta/recipes-support/icu/icu_64.1.bb index 961f022ad7..9a5f8a3b09 100644 --- a/meta/recipes-support/icu/icu_63.1.bb +++ b/meta/recipes-support/icu/icu_64.1.bb | |||
@@ -1,6 +1,6 @@ | |||
1 | require icu.inc | 1 | require icu.inc |
2 | 2 | ||
3 | LIC_FILES_CHKSUM = "file://../LICENSE;md5=63752c57bd0b365c9af9f427ef79c819" | 3 | LIC_FILES_CHKSUM = "file://../LICENSE;md5=8bc5d32052a96f214cbdd1e53dfc935d" |
4 | 4 | ||
5 | def icu_download_version(d): | 5 | def icu_download_version(d): |
6 | pvsplit = d.getVar('PV').split('.') | 6 | pvsplit = d.getVar('PV').split('.') |
@@ -16,15 +16,14 @@ BASE_SRC_URI = "http://download.icu-project.org/files/icu4c/${PV}/icu4c-${ICU_PV | |||
16 | SRC_URI = "${BASE_SRC_URI} \ | 16 | SRC_URI = "${BASE_SRC_URI} \ |
17 | file://icu-pkgdata-large-cmd.patch \ | 17 | file://icu-pkgdata-large-cmd.patch \ |
18 | file://fix-install-manx.patch \ | 18 | file://fix-install-manx.patch \ |
19 | file://0002-Add-ARC-support.patch \ | 19 | file://0001-Fix-big-endian-build.patch \ |
20 | file://CVE-2018-18928.patch \ | ||
21 | " | 20 | " |
22 | 21 | ||
23 | SRC_URI_append_class-target = "\ | 22 | SRC_URI_append_class-target = "\ |
24 | file://0001-Disable-LDFLAGSICUDT-for-Linux.patch \ | 23 | file://0001-Disable-LDFLAGSICUDT-for-Linux.patch \ |
25 | " | 24 | " |
26 | SRC_URI[md5sum] = "9e40f6055294284df958200e308bce50" | 25 | SRC_URI[md5sum] = "f150be2231c13bb45206d79e0242372b" |
27 | SRC_URI[sha256sum] = "05c490b69454fce5860b7e8e2821231674af0a11d7ef2febea9a32512998cb9d" | 26 | SRC_URI[sha256sum] = "92f1b7b9d51b396679c17f35a2112423361b8da3c1b9de00aa94fd768ae296e6" |
28 | 27 | ||
29 | UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)/" | 28 | UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)/" |
30 | UPSTREAM_CHECK_URI = "http://download.icu-project.org/files/icu4c/" | 29 | UPSTREAM_CHECK_URI = "http://download.icu-project.org/files/icu4c/" |