diff --git a/icu-avoid-x87-excess-precision.diff b/icu-avoid-x87-excess-precision.diff new file mode 100644 index 0000000..538627b --- /dev/null +++ b/icu-avoid-x87-excess-precision.diff @@ -0,0 +1,24 @@ +--- + source/i18n/plurrule.cpp | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +Index: icu/source/i18n/plurrule.cpp +=================================================================== +--- icu.orig/source/i18n/plurrule.cpp ++++ icu/source/i18n/plurrule.cpp +@@ -1566,13 +1566,13 @@ int64_t FixedDecimal::getFractionalDigit + return 0; + } + n = fabs(n); +- double fract = n - floor(n); ++ volatile double fract = n - floor(n); + switch (v) { + case 1: return (int64_t)(fract*10.0 + 0.5); + case 2: return (int64_t)(fract*100.0 + 0.5); + case 3: return (int64_t)(fract*1000.0 + 0.5); + default: +- double scaled = floor(fract * pow(10.0, (double)v) + 0.5); ++ volatile double scaled = floor(fract * pow(10.0, (double)v) + 0.5); + if (scaled > U_INT64_MAX) { + return U_INT64_MAX; + } else { diff --git a/icu.changes b/icu.changes index 61a40d1..e178a7d 100644 --- a/icu.changes +++ b/icu.changes @@ -9,9 +9,8 @@ Sun Jul 29 09:20:28 UTC 2018 - jengelh@inai.de * Under-the-hood overhaul of number parsing. Behavior is mostly compatible with previous versions, but there are some known differences. -- Remove icu-avoid-x87-excess-precision.diff, xlocale.patch - (code to patch is gone), icu-number-grouping.diff (merged - upstream) +- Remove xlocale.patch (code to patch is gone), + icu-number-grouping.diff (merged upstream) ------------------------------------------------------------------- Mon Jun 4 07:53:56 UTC 2018 - jengelh@inai.de diff --git a/icu.spec b/icu.spec index b5f3694..19e0d7b 100644 --- a/icu.spec +++ b/icu.spec @@ -38,6 +38,7 @@ Patch2: icu-versioning.diff Patch3: icu-susevers.diff Patch4: icu-fix-install-mode-files.diff Patch6: icu-error-reporting.diff +Patch7: icu-avoid-x87-excess-precision.diff BuildRequires: fdupes BuildRequires: gcc-c++ BuildRequires: pkg-config @@ -137,7 +138,7 @@ This package contains the HTML documentation. %prep %setup -q -n icu -%patch -P 2 -P 3 -P 4 -P 6 -p1 +%patch -P 2 -P 3 -P 4 -P 6 -P 7 -p1 # docs are special mkdir html pushd html/