mirror of
https://git.yoctoproject.org/poky
synced 2026-05-08 05:09:24 +00:00
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>
This commit is contained in:
committed by
Richard Purdie
parent
9fe634f797
commit
1bba6502c1
@@ -0,0 +1,28 @@
|
||||
From 9be0b489a94b57419202c552022f25cb95bfac51 Mon Sep 17 00:00:00 2001
|
||||
From: Alexander Kanavin <alex.kanavin@gmail.com>
|
||||
Date: Wed, 17 Apr 2019 16:41:58 +0200
|
||||
Subject: [PATCH] Fix big-endian build
|
||||
|
||||
Bug-report: https://unicode-org.atlassian.net/browse/ICU-20533
|
||||
Patch taken from: https://bugs.gentoo.org/682170
|
||||
|
||||
Upstream-Status: Pending
|
||||
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
|
||||
---
|
||||
data/Makefile.in | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/source/data/Makefile.in b/source/data/Makefile.in
|
||||
index 778b6c7..67203e7 100644
|
||||
--- a/data/Makefile.in
|
||||
+++ b/data/Makefile.in
|
||||
@@ -148,7 +148,8 @@ ICUDATA_ARCHIVE = $(firstword $(wildcard $(srcdir)/in/$(ICUDATA_BASENAME_VERSION
|
||||
# and convert it to the current type.
|
||||
ifneq ($(ICUDATA_ARCHIVE),)
|
||||
ICUDATA_SOURCE_ARCHIVE = $(OUTDIR)/$(ICUDATA_PLATFORM_NAME).dat
|
||||
-$(ICUDATA_SOURCE_ARCHIVE): $(ICUDATA_ARCHIVE) $(OUTDIR)
|
||||
+$(ICUDATA_SOURCE_ARCHIVE): $(ICUDATA_ARCHIVE)
|
||||
+ $(MKINSTALLDIRS) $(OUTDIR)
|
||||
$(INVOKE) $(TOOLBINDIR)/icupkg -t$(ICUDATA_CHAR) $(ICUDATA_ARCHIVE) $(ICUDATA_SOURCE_ARCHIVE)
|
||||
endif
|
||||
else
|
||||
@@ -1,27 +0,0 @@
|
||||
From fcfd57105b4bdb30d906df152ef01748fa95daff Mon Sep 17 00:00:00 2001
|
||||
From: Alexey Brodkin <abrodkin@synopsys.com>
|
||||
Date: Thu, 13 Sep 2018 17:13:20 +0300
|
||||
Subject: [PATCH] icu: Add ARC support
|
||||
|
||||
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
|
||||
|
||||
Upstream-Status: Submitted [ https://github.com/unicode-org/icu/pull/149 ]
|
||||
---
|
||||
i18n/double-conversion-utils.h | 2 +-
|
||||
1 files changed, 1 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/i18n/double-conversion-utils.h b/i18n/double-conversion-utils.h
|
||||
index 57fc49b231a3..0bd3e8340673 100644
|
||||
--- a/i18n/double-conversion-utils.h
|
||||
+++ b/i18n/double-conversion-utils.h
|
||||
@@ -86,7 +86,7 @@ inline void abort_noreturn() { abort(); }
|
||||
defined(__SH4__) || defined(__alpha__) || \
|
||||
defined(_MIPS_ARCH_MIPS32R2) || \
|
||||
defined(__AARCH64EL__) || defined(__aarch64__) || \
|
||||
- defined(__riscv)
|
||||
+ defined(__riscv) || defined(__arc__)
|
||||
#define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1
|
||||
#elif defined(__mc68000__)
|
||||
#undef DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS
|
||||
2.17.1
|
||||
|
||||
@@ -1,63 +0,0 @@
|
||||
CVE: CVE-2018-18928
|
||||
Upstream-Status: Backport
|
||||
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
||||
|
||||
From 53d8c8f3d181d87a6aa925b449b51c4a2c922a51 Mon Sep 17 00:00:00 2001
|
||||
From: Shane Carr <shane@unicode.org>
|
||||
Date: Mon, 29 Oct 2018 23:52:44 -0700
|
||||
Subject: [PATCH] ICU-20246 Fixing another integer overflow in number parsing.
|
||||
|
||||
---
|
||||
i18n/fmtable.cpp | 2 +-
|
||||
i18n/number_decimalquantity.cpp | 5 ++++-
|
||||
test/intltest/numfmtst.cpp | 8 ++++++++
|
||||
6 files changed, 31 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/i18n/fmtable.cpp b/i18n/fmtable.cpp
|
||||
index 45c7024fc29..8601d95f4a6 100644
|
||||
--- a/i18n/fmtable.cpp
|
||||
+++ b/i18n/fmtable.cpp
|
||||
@@ -734,7 +734,7 @@ CharString *Formattable::internalGetCharString(UErrorCode &status) {
|
||||
// not print scientific notation for magnitudes greater than -5 and smaller than some amount (+5?).
|
||||
if (fDecimalQuantity->isZero()) {
|
||||
fDecimalStr->append("0", -1, status);
|
||||
- } else if (std::abs(fDecimalQuantity->getMagnitude()) < 5) {
|
||||
+ } else if (fDecimalQuantity->getMagnitude() != INT32_MIN && std::abs(fDecimalQuantity->getMagnitude()) < 5) {
|
||||
fDecimalStr->appendInvariantChars(fDecimalQuantity->toPlainString(), status);
|
||||
} else {
|
||||
fDecimalStr->appendInvariantChars(fDecimalQuantity->toScientificString(), status);
|
||||
diff --git a/i18n/number_decimalquantity.cpp b/i18n/number_decimalquantity.cpp
|
||||
index 47b930a564b..d5dd7ae694c 100644
|
||||
--- a/i18n/number_decimalquantity.cpp
|
||||
+++ b/i18n/number_decimalquantity.cpp
|
||||
@@ -898,7 +898,10 @@ UnicodeString DecimalQuantity::toScientificString() const {
|
||||
}
|
||||
result.append(u'E');
|
||||
int32_t _scale = upperPos + scale;
|
||||
- if (_scale < 0) {
|
||||
+ if (_scale == INT32_MIN) {
|
||||
+ result.append({u"-2147483648", -1});
|
||||
+ return result;
|
||||
+ } else if (_scale < 0) {
|
||||
_scale *= -1;
|
||||
result.append(u'-');
|
||||
} else {
|
||||
diff --git a/test/intltest/numfmtst.cpp b/test/intltest/numfmtst.cpp
|
||||
index 34355939113..8d52dc122bf 100644
|
||||
--- a/test/intltest/numfmtst.cpp
|
||||
+++ b/test/intltest/numfmtst.cpp
|
||||
@@ -9226,6 +9226,14 @@ void NumberFormatTest::Test20037_ScientificIntegerOverflow() {
|
||||
assertEquals(u"Should not overflow and should parse only the first exponent",
|
||||
u"1E-2147483647",
|
||||
{sp.data(), sp.length(), US_INV});
|
||||
+
|
||||
+ // Test edge case overflow of exponent
|
||||
+ result = Formattable();
|
||||
+ nf->parse(u".0003e-2147483644", result, status);
|
||||
+ sp = result.getDecimalNumber(status);
|
||||
+ assertEquals(u"Should not overflow",
|
||||
+ u"3E-2147483648",
|
||||
+ {sp.data(), sp.length(), US_INV});
|
||||
}
|
||||
|
||||
void NumberFormatTest::Test13840_ParseLongStringCrash() {
|
||||
@@ -1,6 +1,6 @@
|
||||
require icu.inc
|
||||
|
||||
LIC_FILES_CHKSUM = "file://../LICENSE;md5=63752c57bd0b365c9af9f427ef79c819"
|
||||
LIC_FILES_CHKSUM = "file://../LICENSE;md5=8bc5d32052a96f214cbdd1e53dfc935d"
|
||||
|
||||
def icu_download_version(d):
|
||||
pvsplit = d.getVar('PV').split('.')
|
||||
@@ -16,15 +16,14 @@ BASE_SRC_URI = "http://download.icu-project.org/files/icu4c/${PV}/icu4c-${ICU_PV
|
||||
SRC_URI = "${BASE_SRC_URI} \
|
||||
file://icu-pkgdata-large-cmd.patch \
|
||||
file://fix-install-manx.patch \
|
||||
file://0002-Add-ARC-support.patch \
|
||||
file://CVE-2018-18928.patch \
|
||||
file://0001-Fix-big-endian-build.patch \
|
||||
"
|
||||
|
||||
SRC_URI_append_class-target = "\
|
||||
file://0001-Disable-LDFLAGSICUDT-for-Linux.patch \
|
||||
"
|
||||
SRC_URI[md5sum] = "9e40f6055294284df958200e308bce50"
|
||||
SRC_URI[sha256sum] = "05c490b69454fce5860b7e8e2821231674af0a11d7ef2febea9a32512998cb9d"
|
||||
SRC_URI[md5sum] = "f150be2231c13bb45206d79e0242372b"
|
||||
SRC_URI[sha256sum] = "92f1b7b9d51b396679c17f35a2112423361b8da3c1b9de00aa94fd768ae296e6"
|
||||
|
||||
UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)/"
|
||||
UPSTREAM_CHECK_URI = "http://download.icu-project.org/files/icu4c/"
|
||||
Reference in New Issue
Block a user