From 8d316adc98c0ffe98f1a9dcec644522f8f76eeec Mon Sep 17 00:00:00 2001 From: Tigro Date: Tue, 16 Sep 2014 19:45:33 +0400 Subject: [PATCH] update to 37.0.2062.120. Fix crash on 32bit gcc 4.9 builds https://code.google.com/p/chromium/issues/detail?id=412967 --- chromium-37.0.2062.120-issue566583002_1.patch | 28 +++++++++++++++++++ chromium-browser-stable.spec | 3 ++ 2 files changed, 31 insertions(+) create mode 100644 chromium-37.0.2062.120-issue566583002_1.patch diff --git a/chromium-37.0.2062.120-issue566583002_1.patch b/chromium-37.0.2062.120-issue566583002_1.patch new file mode 100644 index 0000000..78ed7fa --- /dev/null +++ b/chromium-37.0.2062.120-issue566583002_1.patch @@ -0,0 +1,28 @@ +diff -urN chromium-37.0.2062.120/v8/src/utils.h chromium-37.0.2062.120.new/v8/src/utils.h +--- chromium-37.0.2062.120/v8/src/utils.h 2014-09-10 03:48:34.000000000 +0400 ++++ chromium-37.0.2062.120.new/v8/src/utils.h 2014-09-16 15:46:48.494162841 +0400 +@@ -1424,20 +1424,10 @@ + void CopyCharsUnsigned(sinkchar* dest, const sourcechar* src, int chars) { + sinkchar* limit = dest + chars; + #ifdef V8_HOST_CAN_READ_UNALIGNED +- if (sizeof(*dest) == sizeof(*src)) { +- if (chars >= static_cast(kMinComplexMemCopy / sizeof(*dest))) { +- MemCopy(dest, src, chars * sizeof(*dest)); +- return; +- } +- // Number of characters in a uintptr_t. +- static const int kStepSize = sizeof(uintptr_t) / sizeof(*dest); // NOLINT +- ASSERT(dest + kStepSize > dest); // Check for overflow. +- while (dest + kStepSize <= limit) { +- *reinterpret_cast(dest) = +- *reinterpret_cast(src); +- dest += kStepSize; +- src += kStepSize; +- } ++ if ((sizeof(*dest) == sizeof(*src)) && ++ (chars >= static_cast(kMinComplexMemCopy / sizeof(*dest)))) { ++ MemCopy(dest, src, chars * sizeof(*dest)); ++ return; + } + #endif + while (dest < limit) { diff --git a/chromium-browser-stable.spec b/chromium-browser-stable.spec index d854352..f9c6d11 100644 --- a/chromium-browser-stable.spec +++ b/chromium-browser-stable.spec @@ -25,6 +25,8 @@ Patch4: chromium-30.0.1599.66-master-prefs-path.patch Patch14: chromium-25.0.1364.172-no-courgette.patch # PATCH-FIX-OPENSUSE Compile the sandbox with -fPIE settings Patch15: chromium-25.0.1364.172-sandbox-pie.patch +# fix https://code.google.com/p/chromium/issues/detail?id=412967 +Patch20: chromium-37.0.2062.120-issue566583002_1.patch Provides: %{crname} Conflicts: chromium-browser-unstable @@ -98,6 +100,7 @@ members of the Chromium and WebDriver teams. %patch14 -p1 %patch15 -p1 +%patch20 -p1 # Hard code extra version FILE=chrome/common/chrome_version_info_posix.cc