diff options
author | Maxim Baz | 2018-03-30 13:12:50 +0200 |
---|---|---|
committer | Maxim Baz | 2018-03-30 13:12:50 +0200 |
commit | 617599a9a1f4dd3e84090dbe14d3e99813226b73 (patch) | |
tree | a48e97c9bf61d7128461269106ecdcb95e78bb67 | |
parent | 93477f871a975fd61859f1a0d623379e9aa51b73 (diff) | |
download | aur-617599a9a1f4dd3e84090dbe14d3e99813226b73.tar.gz |
Update to 65.0.3325.181-3
-rw-r--r-- | PKGBUILD | 16 | ||||
-rw-r--r-- | fix-crash-in-is_cfi-true-builds-with-unbundled-ICU.patch | 53 |
2 files changed, 60 insertions, 9 deletions
@@ -11,7 +11,7 @@ pkgname=chromium-vaapi pkgver=65.0.3325.181 -pkgrel=1 +pkgrel=3 _launcher_ver=5 pkgdesc="Chromium compiled with VA-API support for Intel Graphics" arch=('x86_64') @@ -33,6 +33,7 @@ install=chromium.install source=(https://commondatastorage.googleapis.com/chromium-browser-official/chromium-$pkgver.tar.xz chromium-launcher-$_launcher_ver.tar.gz::https://github.com/foutrelis/chromium-launcher/archive/v$_launcher_ver.tar.gz chromium-$pkgver.txt::https://chromium.googlesource.com/chromium/src.git/+/$pkgver?format=TEXT + fix-crash-in-is_cfi-true-builds-with-unbundled-ICU.patch chromium-skia-harmony.patch chromium-clang-r2.patch chromium-math.h-r0.patch @@ -44,6 +45,7 @@ source=(https://commondatastorage.googleapis.com/chromium-browser-official/chrom sha256sums=('93666448c6b96ec83e6a35a64cff40db4eb92a154fe1db4e7dab4761d0e38687' '4dc3428f2c927955d9ae117f2fb24d098cc6dd67adb760ac9c82b522ec8b0587' '2771c049b66c9aba3b945fe065f2610f164d55506eb5d71751a26aaf8b40d4ee' + 'e3fb73b43bb8c69ff517e66b2cac73d6e759fd240003eb35598df9af442422fe' 'feca54ab09ac0fc9d0626770a6b899a6ac5a12173c7d0c1005bc3964ec83e7b3' '4495e8b29dae242c79ffe4beefc5171eb3c7aacb7e9aebfd2d4d69b9d8c958d3' 'fe0ab86aa5b0072db730eccda3e1582ebed4af25815bfd49fe0da24cf63ca902' @@ -105,6 +107,9 @@ prepare() { sed "s/@WIDEVINE_VERSION@/Pinkie Pie/" ../chromium-widevine.patch | patch -Np1 + # https://crbug.com/822820 + patch -Np1 -i ../fix-crash-in-is_cfi-true-builds-with-unbundled-ICU.patch + # https://crbug.com/skia/6663#c10 patch -Np4 -i ../chromium-skia-harmony.patch @@ -113,14 +118,6 @@ prepare() { patch -Np1 -i ../chromium-math.h-r0.patch patch -Np1 -i ../chromium-stdint.patch - # Remove compiler flags not supported by our system clang - sed -i \ - -e '/"-Wno-enum-compare-switch"/d' \ - -e '/"-Wno-null-pointer-arithmetic"/d' \ - -e '/"-Wno-tautological-unsigned-zero-compare"/d' \ - -e '/"-Wno-tautological-constant-compare"/d' \ - build/config/compiler/BUILD.gn - # Use Python 2 find . -name '*.py' -exec sed -i -r 's|/usr/bin/python$|&2|g' {} + @@ -179,6 +176,7 @@ build() { 'host_toolchain="//build/toolchain/linux/unbundle:default"' 'is_clang=true' 'clang_use_chrome_plugins=false' + 'is_cfi=true' 'is_debug=false' 'fatal_linker_warnings=false' 'treat_warnings_as_errors=false' diff --git a/fix-crash-in-is_cfi-true-builds-with-unbundled-ICU.patch b/fix-crash-in-is_cfi-true-builds-with-unbundled-ICU.patch new file mode 100644 index 000000000000..ee7339d39817 --- /dev/null +++ b/fix-crash-in-is_cfi-true-builds-with-unbundled-ICU.patch @@ -0,0 +1,53 @@ +From f15e8b573ada0fcd643ae393484214b1c7c940f8 Mon Sep 17 00:00:00 2001 +From: Evangelos Foutras <evangelos@foutrelis.com> +Date: Sat, 24 Mar 2018 00:04:33 +0000 +Subject: [PATCH] Fix crash in is_cfi=true builds with unbundled ICU + +Ensure ICU symbols have public visibility and are thus excluded from CFI +checks and whole-program optimization. The former caused a startup crash +and the latter has the potential to break virtual calls in weird ways. + +BUG=822820 + +Change-Id: Ia809eefcb9e93b3c612f2381d394db83bbc67120 +Reviewed-on: https://chromium-review.googlesource.com/978008 +Reviewed-by: Peter Collingbourne <pcc@chromium.org> +Reviewed-by: Thomas Anderson <thomasanderson@chromium.org> +Commit-Queue: Thomas Anderson <thomasanderson@chromium.org> +Cr-Commit-Position: refs/heads/master@{#545638} +--- + build/linux/unbundle/icu.gn | 18 ++++++++++++++++++ + 1 file changed, 18 insertions(+) + +diff --git a/build/linux/unbundle/icu.gn b/build/linux/unbundle/icu.gn +index 5bdd91555df7..4450e409dba5 100644 +--- a/build/linux/unbundle/icu.gn ++++ b/build/linux/unbundle/icu.gn +@@ -17,6 +17,24 @@ config("icu_config") { + "USING_SYSTEM_ICU=1", + "ICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_STATIC", + "UCHAR_TYPE=uint16_t", ++ ++ # U_EXPORT (defined in unicode/platform.h) is used to set public visibility ++ # on classes through the U_COMMON_API and U_I18N_API macros (among others). ++ # When linking against the system ICU library, we want its symbols to have ++ # public LTO visibility. This disables CFI checks for the ICU classes and ++ # allows whole-program optimization to be applied to the rest of Chromium. ++ # ++ # Both U_COMMON_API and U_I18N_API macros would be defined to U_EXPORT only ++ # when U_COMBINED_IMPLEMENTATION is defined (see unicode/utypes.h). Because ++ # we override the default system UCHAR_TYPE (char16_t), it is not possible ++ # to use U_COMBINED_IMPLEMENTATION at this moment, meaning the U_COMMON_API ++ # and U_I18N_API macros are set to U_IMPORT which is an empty definition. ++ # ++ # Until building with UCHAR_TYPE=char16_t is supported, one way to apply ++ # public visibility (and thus public LTO visibility) to all ICU classes is ++ # to define U_IMPORT to have the same value as U_EXPORT. For more details, ++ # please see: https://crbug.com/822820 ++ "U_IMPORT=U_EXPORT", + ] + } + +-- +2.16.3 + |