From 8d296a0b708a1173b3e1266cb57edd3b4e1f5375 Mon Sep 17 00:00:00 2001 From: Martin Jansa Date: Wed, 10 Feb 2021 14:15:47 -0800 Subject: icu: refresh patches --- .../icu/0001-Disable-LDFLAGSICUDT-for-Linux.patch | 28 ----- .../icu/icu/0001-icu-Added-armeb-support.patch | 30 ----- .../icu/icu/0001-icu-fix-install-race.patch | 53 +++++++++ .../icu/icu/0002-icu-Added-armeb-support.patch | 27 +++++ ...3-ICU-20958-Prevent-SEGV_MAPERR-in-append.patch | 124 ++++++++++++++++++++ ...05-ICU-21015-Fixing-gcc-compiler-warnings.patch | 2 +- ...Fixing-problems-found-by-running-valgrind.patch | 2 +- ...fix-GCC-warnings-of-signed-int-left-shift.patch | 2 +- .../icu/0008-Disable-LDFLAGSICUDT-for-Linux.patch | 25 ++++ meta/recipes-support/icu/icu/CVE-2020-10531.patch | 128 --------------------- .../recipes-support/icu/icu/fix-install-manx.patch | 54 --------- meta/recipes-support/icu/icu_66.1.bb | 8 +- 12 files changed, 236 insertions(+), 247 deletions(-) delete mode 100644 meta/recipes-support/icu/icu/0001-Disable-LDFLAGSICUDT-for-Linux.patch delete mode 100644 meta/recipes-support/icu/icu/0001-icu-Added-armeb-support.patch create mode 100644 meta/recipes-support/icu/icu/0001-icu-fix-install-race.patch create mode 100644 meta/recipes-support/icu/icu/0002-icu-Added-armeb-support.patch create mode 100644 meta/recipes-support/icu/icu/0003-ICU-20958-Prevent-SEGV_MAPERR-in-append.patch create mode 100644 meta/recipes-support/icu/icu/0008-Disable-LDFLAGSICUDT-for-Linux.patch delete mode 100644 meta/recipes-support/icu/icu/CVE-2020-10531.patch delete mode 100644 meta/recipes-support/icu/icu/fix-install-manx.patch diff --git a/meta/recipes-support/icu/icu/0001-Disable-LDFLAGSICUDT-for-Linux.patch b/meta/recipes-support/icu/icu/0001-Disable-LDFLAGSICUDT-for-Linux.patch deleted file mode 100644 index 2968d571bb..0000000000 --- a/meta/recipes-support/icu/icu/0001-Disable-LDFLAGSICUDT-for-Linux.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 0c82d6aa02c08e41b13c83b14782bd7024e25d59 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Sat, 15 Feb 2014 21:06:42 +0000 -Subject: [PATCH] Disable LDFLAGSICUDT for Linux - -Upstream-Status: Inappropriate [ OE Configuration ] - -Signed-off-by: Khem Raj ---- - source/config/mh-linux | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/config/mh-linux b/config/mh-linux -index 366f0cc..2689aab 100644 ---- a/config/mh-linux -+++ b/config/mh-linux -@@ -21,7 +21,7 @@ LD_RPATH= -Wl,-zorigin,-rpath,'$$'ORIGIN - LD_RPATH_PRE = -Wl,-rpath, - - ## These are the library specific LDFLAGS --LDFLAGSICUDT=-nodefaultlibs -nostdlib -+# LDFLAGSICUDT=-nodefaultlibs -nostdlib - - ## Compiler switch to embed a library name - # The initial tab in the next line is to prevent icu-config from reading it. --- -1.7.10.4 - diff --git a/meta/recipes-support/icu/icu/0001-icu-Added-armeb-support.patch b/meta/recipes-support/icu/icu/0001-icu-Added-armeb-support.patch deleted file mode 100644 index 299689d95c..0000000000 --- a/meta/recipes-support/icu/icu/0001-icu-Added-armeb-support.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 500321387ceca48934bb0f323779117cd518bab6 Mon Sep 17 00:00:00 2001 -From: Lei Maohui -Date: Wed, 8 May 2019 14:42:30 +0900 -Subject: [PATCH] icu: Added armeb support. - -Make icu support arm32 BE. - -Upstream-Status: Pending - -Signed-off-by: Lei Maohui ---- - i18n/double-conversion-utils.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/i18n/double-conversion-utils.h b/i18n/double-conversion-utils.h -index 1e44fca..e4f2a8b 100644 ---- a/i18n/double-conversion-utils.h -+++ b/i18n/double-conversion-utils.h -@@ -92,7 +92,7 @@ int main(int argc, char** argv) { - // - // If it prints "correct" then the architecture should be here, in the "correct" section. - #if defined(_M_X64) || defined(__x86_64__) || \ -- defined(__ARMEL__) || defined(__avr32__) || defined(_M_ARM) || defined(_M_ARM64) || \ -+ defined(__arm__) || defined(__avr32__) || defined(_M_ARM) || defined(_M_ARM64) || \ - defined(__hppa__) || defined(__ia64__) || \ - defined(__mips__) || \ - defined(__powerpc__) || defined(__ppc__) || defined(__ppc64__) || \ --- -2.7.4 - diff --git a/meta/recipes-support/icu/icu/0001-icu-fix-install-race.patch b/meta/recipes-support/icu/icu/0001-icu-fix-install-race.patch new file mode 100644 index 0000000000..03663944b3 --- /dev/null +++ b/meta/recipes-support/icu/icu/0001-icu-fix-install-race.patch @@ -0,0 +1,53 @@ +From 1c7174493fdf897680957cfa9e7fd2568bb2a930 Mon Sep 17 00:00:00 2001 +From: Ross Burton +Date: Fri, 9 Oct 2015 17:50:41 +0100 +Subject: [PATCH] icu: fix install race + +The generic recursive target calls target-local so also adding it to the +dependency list results in races due to install-local being executed twice in +parallel. For example, install-manx can fail if the two install processes race +and one process tries to chown a file that the other process has just deleted. + +Also install-manx should be a phony target, and for clarity use $^ instead of $? +in the install command. + +Upstream-Status: Pending +Signed-off-by: Ross Burton +--- + Makefile.in | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/Makefile.in b/Makefile.in +index be9435ba95..ada20d7809 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -77,7 +77,7 @@ EXTRA_DATA = + + ## List of phony targets + .PHONY : all all-local all-recursive install install-local install-udata install-udata-files install-udata-dlls \ +-install-recursive clean clean-local clean-recursive distclean \ ++install-recursive install-manx clean clean-local clean-recursive distclean \ + distclean-local distclean-recursive doc dist dist-local dist-recursive \ + check check-local check-recursive clean-recursive-with-twist install-icu \ + doc install-doc tests icu4j-data icu4j-data-install update-windows-makefiles xcheck-local xcheck-recursive xperf xcheck xperf-recursive \ +@@ -88,9 +88,9 @@ check-exhaustive check-exhaustive-local check-exhaustive-recursive releaseDist + + ## List of standard targets + all: all-local all-recursive +-install: install-recursive install-local ++install: install-recursive + clean: clean-recursive-with-twist clean-local +-distclean : distclean-recursive distclean-local ++distclean : distclean-recursive + dist: dist-recursive + check: all check-recursive + check-recursive: all +@@ -357,7 +357,7 @@ config.status: $(srcdir)/configure $(srcdir)/common/unicode/uvernum.h + install-manx: $(MANX_FILES) + $(MKINSTALLDIRS) $(DESTDIR)$(mandir)/man$(SECTION) + ifneq ($(MANX_FILES),) +- $(INSTALL_DATA) $? $(DESTDIR)$(mandir)/man$(SECTION) ++ $(INSTALL_DATA) $^ $(DESTDIR)$(mandir)/man$(SECTION) + endif + + config/%.$(SECTION): $(srcdir)/config/%.$(SECTION).in diff --git a/meta/recipes-support/icu/icu/0002-icu-Added-armeb-support.patch b/meta/recipes-support/icu/icu/0002-icu-Added-armeb-support.patch new file mode 100644 index 0000000000..adae928f49 --- /dev/null +++ b/meta/recipes-support/icu/icu/0002-icu-Added-armeb-support.patch @@ -0,0 +1,27 @@ +From cd245b86841be7466d67796f50b84e67194efedd Mon Sep 17 00:00:00 2001 +From: Lei Maohui +Date: Wed, 8 May 2019 14:42:30 +0900 +Subject: [PATCH] icu: Added armeb support. + +Make icu support arm32 BE. + +Upstream-Status: Pending + +Signed-off-by: Lei Maohui +--- + i18n/double-conversion-utils.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/i18n/double-conversion-utils.h b/i18n/double-conversion-utils.h +index 099298460c..5a0993febe 100644 +--- a/i18n/double-conversion-utils.h ++++ b/i18n/double-conversion-utils.h +@@ -101,7 +101,7 @@ int main(int argc, char** argv) { + // + // If it prints "correct" then the architecture should be here, in the "correct" section. + #if defined(_M_X64) || defined(__x86_64__) || \ +- defined(__ARMEL__) || defined(__avr32__) || defined(_M_ARM) || defined(_M_ARM64) || \ ++ defined(__arm__) || defined(__avr32__) || defined(_M_ARM) || defined(_M_ARM64) || \ + defined(__hppa__) || defined(__ia64__) || \ + defined(__mips__) || \ + defined(__powerpc__) || defined(__ppc__) || defined(__ppc64__) || \ diff --git a/meta/recipes-support/icu/icu/0003-ICU-20958-Prevent-SEGV_MAPERR-in-append.patch b/meta/recipes-support/icu/icu/0003-ICU-20958-Prevent-SEGV_MAPERR-in-append.patch new file mode 100644 index 0000000000..0c0523b964 --- /dev/null +++ b/meta/recipes-support/icu/icu/0003-ICU-20958-Prevent-SEGV_MAPERR-in-append.patch @@ -0,0 +1,124 @@ +From b6ee819ed4e68cfb2abb7964546f8f96789fa415 Mon Sep 17 00:00:00 2001 +From: Frank Tang +Date: Sat, 1 Feb 2020 02:39:04 +0000 +Subject: [PATCH] ICU-20958 Prevent SEGV_MAPERR in append + +See #971 + +Upstream-Status: Accepted +CVE: CVE-2020-10531 + +Reference to upstream patch: +https://github.com/unicode-org/icu/commit/b7d08bc04a4296982fcef8b6b8a354a9e4e7afca +--- + common/unistr.cpp | 6 ++- + test/intltest/ustrtest.cpp | 62 +++++++++++++++++++++++++ + test/intltest/ustrtest.h | 1 + + 3 files changed, 68 insertions(+), 1 deletion(-) + +diff --git a/common/unistr.cpp b/common/unistr.cpp +index 901bb3358b..6ea09150ca 100644 +--- a/common/unistr.cpp ++++ b/common/unistr.cpp +@@ -1563,7 +1563,11 @@ UnicodeString::doAppend(const UChar *srcChars, int32_t srcStart, int32_t srcLeng + } + + int32_t oldLength = length(); +- int32_t newLength = oldLength + srcLength; ++ int32_t newLength; ++ if (uprv_add32_overflow(oldLength, srcLength, &newLength)) { ++ setToBogus(); ++ return *this; ++ } + + // Check for append onto ourself + const UChar* oldArray = getArrayStart(); +diff --git a/test/intltest/ustrtest.cpp b/test/intltest/ustrtest.cpp +index b6515ea813..ad38bdf53a 100644 +--- a/test/intltest/ustrtest.cpp ++++ b/test/intltest/ustrtest.cpp +@@ -67,6 +67,7 @@ void UnicodeStringTest::runIndexedTest( int32_t index, UBool exec, const char* & + TESTCASE_AUTO(TestWCharPointers); + TESTCASE_AUTO(TestNullPointers); + TESTCASE_AUTO(TestUnicodeStringInsertAppendToSelf); ++ TESTCASE_AUTO(TestLargeAppend); + TESTCASE_AUTO_END; + } + +@@ -2310,3 +2311,64 @@ void UnicodeStringTest::TestUnicodeStringInsertAppendToSelf() { + str.insert(2, sub); + assertEquals("", u"abbcdcde", str); + } ++ ++void UnicodeStringTest::TestLargeAppend() { ++ if(quick) return; ++ ++ IcuTestErrorCode status(*this, "TestLargeAppend"); ++ // Make a large UnicodeString ++ int32_t len = 0xAFFFFFF; ++ UnicodeString str; ++ char16_t *buf = str.getBuffer(len); ++ // A fast way to set buffer to valid Unicode. ++ // 4E4E is a valid unicode character ++ uprv_memset(buf, 0x4e, len * 2); ++ str.releaseBuffer(len); ++ UnicodeString dest; ++ // Append it 16 times ++ // 0xAFFFFFF times 16 is 0xA4FFFFF1, ++ // which is greater than INT32_MAX, which is 0x7FFFFFFF. ++ int64_t total = 0; ++ for (int32_t i = 0; i < 16; i++) { ++ dest.append(str); ++ total += len; ++ if (total <= INT32_MAX) { ++ assertFalse("dest is not bogus", dest.isBogus()); ++ } else { ++ assertTrue("dest should be bogus", dest.isBogus()); ++ } ++ } ++ dest.remove(); ++ total = 0; ++ for (int32_t i = 0; i < 16; i++) { ++ dest.append(str); ++ total += len; ++ if (total + len <= INT32_MAX) { ++ assertFalse("dest is not bogus", dest.isBogus()); ++ } else if (total <= INT32_MAX) { ++ // Check that a string of exactly the maximum size works ++ UnicodeString str2; ++ int32_t remain = INT32_MAX - total; ++ char16_t *buf2 = str2.getBuffer(remain); ++ if (buf2 == nullptr) { ++ // if somehow memory allocation fail, return the test ++ return; ++ } ++ uprv_memset(buf2, 0x4e, remain * 2); ++ str2.releaseBuffer(remain); ++ dest.append(str2); ++ total += remain; ++ assertEquals("When a string of exactly the maximum size works", (int64_t)INT32_MAX, total); ++ assertEquals("When a string of exactly the maximum size works", INT32_MAX, dest.length()); ++ assertFalse("dest is not bogus", dest.isBogus()); ++ ++ // Check that a string size+1 goes bogus ++ str2.truncate(1); ++ dest.append(str2); ++ total++; ++ assertTrue("dest should be bogus", dest.isBogus()); ++ } else { ++ assertTrue("dest should be bogus", dest.isBogus()); ++ } ++ } ++} +diff --git a/test/intltest/ustrtest.h b/test/intltest/ustrtest.h +index 218befdcc6..4a356a92c7 100644 +--- a/test/intltest/ustrtest.h ++++ b/test/intltest/ustrtest.h +@@ -97,6 +97,7 @@ class UnicodeStringTest: public IntlTest { + void TestWCharPointers(); + void TestNullPointers(); + void TestUnicodeStringInsertAppendToSelf(); ++ void TestLargeAppend(); + }; + + #endif diff --git a/meta/recipes-support/icu/icu/0005-ICU-21015-Fixing-gcc-compiler-warnings.patch b/meta/recipes-support/icu/icu/0005-ICU-21015-Fixing-gcc-compiler-warnings.patch index 1849f67ac3..fb77ad6715 100644 --- a/meta/recipes-support/icu/icu/0005-ICU-21015-Fixing-gcc-compiler-warnings.patch +++ b/meta/recipes-support/icu/icu/0005-ICU-21015-Fixing-gcc-compiler-warnings.patch @@ -1,4 +1,4 @@ -From a2dc2884923ffc1121367d9e6be08e6d1a1f4364 Mon Sep 17 00:00:00 2001 +From c986e29444aafa229105bc50277eeedd9f0beaca Mon Sep 17 00:00:00 2001 From: "Shane F. Carr" Date: Mon, 30 Mar 2020 22:21:24 -0500 Subject: [PATCH] ICU-21015 Fixing gcc compiler warnings diff --git a/meta/recipes-support/icu/icu/0006-ICU-21001-Fixing-problems-found-by-running-valgrind.patch b/meta/recipes-support/icu/icu/0006-ICU-21001-Fixing-problems-found-by-running-valgrind.patch index bf14fe02d7..d44d98d2aa 100644 --- a/meta/recipes-support/icu/icu/0006-ICU-21001-Fixing-problems-found-by-running-valgrind.patch +++ b/meta/recipes-support/icu/icu/0006-ICU-21001-Fixing-problems-found-by-running-valgrind.patch @@ -1,4 +1,4 @@ -From c7a86358271e33e38445d321e642c49210d443af Mon Sep 17 00:00:00 2001 +From f0f789a106dbdcd51a420e22476f29545be01879 Mon Sep 17 00:00:00 2001 From: Jeff Genovy <29107334+jefgen@users.noreply.github.com> Date: Tue, 3 Mar 2020 00:44:59 -0800 Subject: [PATCH] ICU-21001 Fixing problems found by running valgrind. diff --git a/meta/recipes-support/icu/icu/0007-ICU-21026-fix-GCC-warnings-of-signed-int-left-shift.patch b/meta/recipes-support/icu/icu/0007-ICU-21026-fix-GCC-warnings-of-signed-int-left-shift.patch index 952489bc87..31a83348da 100644 --- a/meta/recipes-support/icu/icu/0007-ICU-21026-fix-GCC-warnings-of-signed-int-left-shift.patch +++ b/meta/recipes-support/icu/icu/0007-ICU-21026-fix-GCC-warnings-of-signed-int-left-shift.patch @@ -1,4 +1,4 @@ -From b5ff5641519893c7c57c8663a010442a0af9eff5 Mon Sep 17 00:00:00 2001 +From 7bf0bdf668ec73809f36881f6e174a84509be9b5 Mon Sep 17 00:00:00 2001 From: Elango Cheran Date: Thu, 26 Mar 2020 14:21:26 -0700 Subject: [PATCH] ICU-21026 fix GCC warnings of signed-int left shift diff --git a/meta/recipes-support/icu/icu/0008-Disable-LDFLAGSICUDT-for-Linux.patch b/meta/recipes-support/icu/icu/0008-Disable-LDFLAGSICUDT-for-Linux.patch new file mode 100644 index 0000000000..c858c892a0 --- /dev/null +++ b/meta/recipes-support/icu/icu/0008-Disable-LDFLAGSICUDT-for-Linux.patch @@ -0,0 +1,25 @@ +From 82517d840fb57c1d2941ff47a0af48caf83219d1 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 15 Feb 2014 21:06:42 +0000 +Subject: [PATCH] Disable LDFLAGSICUDT for Linux + +Upstream-Status: Inappropriate [ OE Configuration ] + +Signed-off-by: Khem Raj +--- + config/mh-linux | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/config/mh-linux b/config/mh-linux +index 53d6780d68..b6225137e6 100644 +--- a/config/mh-linux ++++ b/config/mh-linux +@@ -23,7 +23,7 @@ LD_RPATH= -Wl,-zorigin,-rpath,'$$'ORIGIN + LD_RPATH_PRE = -Wl,-rpath, + + ## These are the library specific LDFLAGS +-LDFLAGSICUDT=-nodefaultlibs -nostdlib ++# LDFLAGSICUDT=-nodefaultlibs -nostdlib + + ## Compiler switch to embed a library name + # The initial tab in the next line is to prevent icu-config from reading it. diff --git a/meta/recipes-support/icu/icu/CVE-2020-10531.patch b/meta/recipes-support/icu/icu/CVE-2020-10531.patch deleted file mode 100644 index 6697b27dc8..0000000000 --- a/meta/recipes-support/icu/icu/CVE-2020-10531.patch +++ /dev/null @@ -1,128 +0,0 @@ -From b7d08bc04a4296982fcef8b6b8a354a9e4e7afca Mon Sep 17 00:00:00 2001 -From: Frank Tang -Date: Sat, 1 Feb 2020 02:39:04 +0000 -Subject: [PATCH] ICU-20958 Prevent SEGV_MAPERR in append - -See #971 - -Upstream-Status: Accepted -CVE: CVE-2020-10531 - -Reference to upstream patch: -https://github.com/unicode-org/icu/commit/b7d08bc04a4296982fcef8b6b8a354a9e4e7afca - ---- - common/unistr.cpp | 6 ++- - test/intltest/ustrtest.cpp | 62 +++++++++++++++++++++++++++++++ - test/intltest/ustrtest.h | 1 + - 3 files changed, 68 insertions(+), 1 deletion(-) - -diff --git a/common/unistr.cpp b/common/unistr.cpp -index 901bb33..6ea0915 100644 ---- a/common/unistr.cpp -+++ b/common/unistr.cpp -@@ -1563,7 +1563,11 @@ UnicodeString::doAppend(const UChar *srcChars, int32_t srcStart, int32_t srcLeng - } - - int32_t oldLength = length(); -- int32_t newLength = oldLength + srcLength; -+ int32_t newLength; -+ if (uprv_add32_overflow(oldLength, srcLength, &newLength)) { -+ setToBogus(); -+ return *this; -+ } - - // Check for append onto ourself - const UChar* oldArray = getArrayStart(); -diff --git a/test/intltest/ustrtest.cpp b/test/intltest/ustrtest.cpp -index b6515ea..ad38bdf 100644 ---- a/test/intltest/ustrtest.cpp -+++ b/test/intltest/ustrtest.cpp -@@ -67,6 +67,7 @@ void UnicodeStringTest::runIndexedTest( int32_t index, UBool exec, const char* & - TESTCASE_AUTO(TestWCharPointers); - TESTCASE_AUTO(TestNullPointers); - TESTCASE_AUTO(TestUnicodeStringInsertAppendToSelf); -+ TESTCASE_AUTO(TestLargeAppend); - TESTCASE_AUTO_END; - } - -@@ -2310,3 +2311,64 @@ void UnicodeStringTest::TestUnicodeStringInsertAppendToSelf() { - str.insert(2, sub); - assertEquals("", u"abbcdcde", str); - } -+ -+void UnicodeStringTest::TestLargeAppend() { -+ if(quick) return; -+ -+ IcuTestErrorCode status(*this, "TestLargeAppend"); -+ // Make a large UnicodeString -+ int32_t len = 0xAFFFFFF; -+ UnicodeString str; -+ char16_t *buf = str.getBuffer(len); -+ // A fast way to set buffer to valid Unicode. -+ // 4E4E is a valid unicode character -+ uprv_memset(buf, 0x4e, len * 2); -+ str.releaseBuffer(len); -+ UnicodeString dest; -+ // Append it 16 times -+ // 0xAFFFFFF times 16 is 0xA4FFFFF1, -+ // which is greater than INT32_MAX, which is 0x7FFFFFFF. -+ int64_t total = 0; -+ for (int32_t i = 0; i < 16; i++) { -+ dest.append(str); -+ total += len; -+ if (total <= INT32_MAX) { -+ assertFalse("dest is not bogus", dest.isBogus()); -+ } else { -+ assertTrue("dest should be bogus", dest.isBogus()); -+ } -+ } -+ dest.remove(); -+ total = 0; -+ for (int32_t i = 0; i < 16; i++) { -+ dest.append(str); -+ total += len; -+ if (total + len <= INT32_MAX) { -+ assertFalse("dest is not bogus", dest.isBogus()); -+ } else if (total <= INT32_MAX) { -+ // Check that a string of exactly the maximum size works -+ UnicodeString str2; -+ int32_t remain = INT32_MAX - total; -+ char16_t *buf2 = str2.getBuffer(remain); -+ if (buf2 == nullptr) { -+ // if somehow memory allocation fail, return the test -+ return; -+ } -+ uprv_memset(buf2, 0x4e, remain * 2); -+ str2.releaseBuffer(remain); -+ dest.append(str2); -+ total += remain; -+ assertEquals("When a string of exactly the maximum size works", (int64_t)INT32_MAX, total); -+ assertEquals("When a string of exactly the maximum size works", INT32_MAX, dest.length()); -+ assertFalse("dest is not bogus", dest.isBogus()); -+ -+ // Check that a string size+1 goes bogus -+ str2.truncate(1); -+ dest.append(str2); -+ total++; -+ assertTrue("dest should be bogus", dest.isBogus()); -+ } else { -+ assertTrue("dest should be bogus", dest.isBogus()); -+ } -+ } -+} -diff --git a/test/intltest/ustrtest.h b/test/intltest/ustrtest.h -index 218befd..4a356a9 100644 ---- a/test/intltest/ustrtest.h -+++ b/test/intltest/ustrtest.h -@@ -97,6 +97,7 @@ public: - void TestWCharPointers(); - void TestNullPointers(); - void TestUnicodeStringInsertAppendToSelf(); -+ void TestLargeAppend(); - }; - - #endif --- -2.17.1 - diff --git a/meta/recipes-support/icu/icu/fix-install-manx.patch b/meta/recipes-support/icu/icu/fix-install-manx.patch deleted file mode 100644 index 925b064ebd..0000000000 --- a/meta/recipes-support/icu/icu/fix-install-manx.patch +++ /dev/null @@ -1,54 +0,0 @@ -From a6ddabc8cadb76bfe2d2e374a6702442cfe51cce Mon Sep 17 00:00:00 2001 -From: Ross Burton -Date: Fri, 9 Oct 2015 17:50:41 +0100 -Subject: [PATCH] icu: fix install race - -The generic recursive target calls target-local so also adding it to the -dependency list results in races due to install-local being executed twice in -parallel. For example, install-manx can fail if the two install processes race -and one process tries to chown a file that the other process has just deleted. - -Also install-manx should be a phony target, and for clarity use $^ instead of $? -in the install command. - -Upstream-Status: Pending -Signed-off-by: Ross Burton - ---- - source/Makefile.in | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/Makefile.in b/Makefile.in -index be9435b..ada20d7 100644 ---- a/Makefile.in -+++ b/Makefile.in -@@ -77,7 +77,7 @@ EXTRA_DATA = - - ## List of phony targets - .PHONY : all all-local all-recursive install install-local install-udata install-udata-files install-udata-dlls \ --install-recursive clean clean-local clean-recursive distclean \ -+install-recursive install-manx clean clean-local clean-recursive distclean \ - distclean-local distclean-recursive doc dist dist-local dist-recursive \ - check check-local check-recursive clean-recursive-with-twist install-icu \ - doc install-doc tests icu4j-data icu4j-data-install update-windows-makefiles xcheck-local xcheck-recursive xperf xcheck xperf-recursive \ -@@ -88,9 +88,9 @@ check-exhaustive check-exhaustive-local check-exhaustive-recursive releaseDist - - ## List of standard targets - all: all-local all-recursive --install: install-recursive install-local -+install: install-recursive - clean: clean-recursive-with-twist clean-local --distclean : distclean-recursive distclean-local -+distclean : distclean-recursive - dist: dist-recursive - check: all check-recursive - check-recursive: all -@@ -357,7 +357,7 @@ config.status: $(srcdir)/configure $(srcdir)/common/unicode/uvernum.h - install-manx: $(MANX_FILES) - $(MKINSTALLDIRS) $(DESTDIR)$(mandir)/man$(SECTION) - ifneq ($(MANX_FILES),) -- $(INSTALL_DATA) $? $(DESTDIR)$(mandir)/man$(SECTION) -+ $(INSTALL_DATA) $^ $(DESTDIR)$(mandir)/man$(SECTION) - endif - - config/%.$(SECTION): $(srcdir)/config/%.$(SECTION).in diff --git a/meta/recipes-support/icu/icu_66.1.bb b/meta/recipes-support/icu/icu_66.1.bb index 6b69cb9700..89f5ead40e 100644 --- a/meta/recipes-support/icu/icu_66.1.bb +++ b/meta/recipes-support/icu/icu_66.1.bb @@ -24,16 +24,16 @@ SRC_URI = "${BASE_SRC_URI};name=code \ file://0001-Fix-big-endian-build.patch;patchdir=${WORKDIR} \ file://0002-ICU-21175-Add-cnvalias-as-a-dependency-of-misc_res.patch;patchdir=${WORKDIR} \ file://filter.json \ - file://fix-install-manx.patch \ - file://0001-icu-Added-armeb-support.patch \ - file://CVE-2020-10531.patch \ + file://0001-icu-fix-install-race.patch \ + file://0002-icu-Added-armeb-support.patch \ + file://0003-ICU-20958-Prevent-SEGV_MAPERR-in-append.patch \ file://0005-ICU-21015-Fixing-gcc-compiler-warnings.patch \ file://0006-ICU-21001-Fixing-problems-found-by-running-valgrind.patch \ file://0007-ICU-21026-fix-GCC-warnings-of-signed-int-left-shift.patch \ " SRC_URI_append_class-target = "\ - file://0001-Disable-LDFLAGSICUDT-for-Linux.patch \ + file://0008-Disable-LDFLAGSICUDT-for-Linux.patch \ " SRC_URI[code.sha256sum] = "52a3f2209ab95559c1cf0a14f24338001f389615bf00e2585ef3dbc43ecf0a2e" SRC_URI[data.sha256sum] = "8be647f738891d2beb79d48f99077b3499948430eae6f1be112553b15ab0243e" -- cgit 1.2.3-korg