[arch-commits] Commit in electron/trunk (22 files)
Nicola Squartini
tensor5 at archlinux.org
Tue Mar 19 07:00:17 UTC 2019
Date: Tuesday, March 19, 2019 @ 07:00:17
Author: tensor5
Revision: 442580
upgpkg: electron 4.1.0-1
Added:
electron/trunk/chromium-skia-harmony.patch
electron/trunk/chromium-system-icu.patch
electron/trunk/fix-cfi-icall-failure-with-use_system_libjpeg-true.patch
electron/trunk/only-disable-cfi-icall-when-use_system_libjpeg-true.patch
Modified:
electron/trunk/PKGBUILD
electron/trunk/default_app-icon.patch
electron/trunk/use-system-libraries-in-node.patch
Deleted:
electron/trunk/breakpad-glibc2.26.patch
electron/trunk/chromium-use-system-ffmpeg.patch
electron/trunk/chromium-use-system-re2.patch
electron/trunk/dont-bootstrap-libchromiumcontent.patch
electron/trunk/dont-update-submodules.patch
electron/trunk/dont-use-sysroot.patch
electron/trunk/gyp-no-rpath.patch
electron/trunk/libchromiumcontent-remove-useless-patches.patch
electron/trunk/libchromiumcontent-settings.patch
electron/trunk/libchromiumcontent-sort-filenames.patch
electron/trunk/libchromiumcontent-static-library-only.patch
electron/trunk/libchromiumcontent-use-system-tools.patch
electron/trunk/no-clang-plugins.patch
electron/trunk/no-whole-archive.patch
electron/trunk/use-system-ffmpeg.patch
-----------------------------------------------------------+
PKGBUILD | 301 ++----
breakpad-glibc2.26.patch | 208 ----
chromium-skia-harmony.patch | 77 +
chromium-system-icu.patch | 19
chromium-use-system-ffmpeg.patch | 22
chromium-use-system-re2.patch | 10
default_app-icon.patch | 41
dont-bootstrap-libchromiumcontent.patch | 11
dont-update-submodules.patch | 11
dont-use-sysroot.patch | 27
fix-cfi-icall-failure-with-use_system_libjpeg-true.patch | 52 +
gyp-no-rpath.patch | 12
libchromiumcontent-remove-useless-patches.patch | 518 ------------
libchromiumcontent-settings.patch | 44 -
libchromiumcontent-sort-filenames.patch | 32
libchromiumcontent-static-library-only.patch | 43
libchromiumcontent-use-system-tools.patch | 34
no-clang-plugins.patch | 38
no-whole-archive.patch | 22
only-disable-cfi-icall-when-use_system_libjpeg-true.patch | 34
use-system-ffmpeg.patch | 21
use-system-libraries-in-node.patch | 85 +
22 files changed, 368 insertions(+), 1294 deletions(-)
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2019-03-19 06:54:58 UTC (rev 442579)
+++ PKGBUILD 2019-03-19 07:00:17 UTC (rev 442580)
@@ -1,87 +1,51 @@
# Maintainer: Nicola Squartini <tensor5 at gmail.com>
-_chromiumver=66.0.3359.181
+_commit=6c4ee661655ad75f315d21d307b641ee8a257cdc
+#_chromiumver=69.0.3497.128
+_chromiumver=69.0.3497.120
pkgname=electron
-pkgver=3.1.6
+pkgver=4.1.0
pkgrel=1
pkgdesc='Build cross platform desktop apps with web technologies'
arch=('x86_64')
url='https://electronjs.org/'
license=('MIT' 'custom')
-depends=('c-ares' 'ffmpeg' 'gtk3' 'http-parser' 'libevent' 'libxslt' 'libxss'
- 'minizip' 'nss' 'snappy')
+depends=('c-ares' 'ffmpeg' 'gtk3' 'http-parser' 'libevent' 'libnghttp2'
+ 'libxslt' 'libxss' 'minizip' 'nss' 're2' 'snappy')
makedepends=('clang' 'git' 'gn' 'gperf' 'harfbuzz-icu' 'jsoncpp' 'libnotify'
'lld' 'llvm' 'ninja' 'npm' 'pciutils' 'python2' 'wget' 'yasm')
optdepends=('kde-cli-tools: file deletion support (kioclient5)'
'trash-cli: file deletion support (trash-put)'
"xdg-utils: open URLs with desktop's default (xdg-email, xdg-open)")
-source=("git+https://github.com/electron/electron.git#tag=v${pkgver}"
- 'git+https://github.com/boto/boto.git'
- 'breakpad::git+https://github.com/electron/chromium-breakpad.git'
- 'git+https://chromium.googlesource.com/chromium/src/tools/grit.git'
- 'git+https://github.com/electron/gyp.git'
- "git+https://github.com/electron/libchromiumcontent.git"
- 'git+https://github.com/electron/node.git'
- 'pdf_viewer::git+https://github.com/electron/pdf-viewer.git'
- 'git+https://github.com/yaml/pyyaml.git'
- 'git+https://github.com/kennethreitz/requests.git'
- 'google-breakpad::git+https://chromium.googlesource.com/breakpad/breakpad/src'
- "electron-chromium-${_chromiumver}.tar.bz2::https://s3.amazonaws.com/github-janky-artifacts/libchromiumcontent/linux/src/${_chromiumver}/src.tar.bz2"
+source=('git+https://github.com/electron/electron.git'
+ "https://commondatastorage.googleapis.com/chromium-browser-official/chromium-${_chromiumver}.tar.xz"
+ 'git+https://chromium.googlesource.com/chromium/tools/depot_tools.git'
'electron.desktop'
'default_app-icon.patch'
- 'dont-bootstrap-libchromiumcontent.patch'
- 'dont-update-submodules.patch'
- 'dont-use-sysroot.patch'
- 'no-clang-plugins.patch'
- 'no-whole-archive.patch'
'use-system-libraries-in-node.patch'
- 'use-system-ffmpeg.patch'
- 'breakpad-glibc2.26.patch'
- 'gyp-no-rpath.patch'
- 'libchromiumcontent-remove-useless-patches.patch'
- 'libchromiumcontent-settings.patch'
- 'libchromiumcontent-sort-filenames.patch'
- 'libchromiumcontent-static-library-only.patch'
- 'libchromiumcontent-use-system-tools.patch'
- 'chromium-use-system-ffmpeg.patch'
- 'chromium-use-system-re2.patch'
+ 'chromium-skia-harmony.patch'
+ 'chromium-system-icu.patch'
+ 'fix-cfi-icall-failure-with-use_system_libjpeg-true.patch'
+ 'only-disable-cfi-icall-when-use_system_libjpeg-true.patch'
)
-noextract=("electron-chromium-${_chromiumver}.tar.bz2")
-sha512sums=('SKIP'
+sha256sums=('SKIP'
+ '26ee15090b7ce50b96218ead2b721ce703271f1eea947027147073f4533ba321'
'SKIP'
- 'SKIP'
- 'SKIP'
- 'SKIP'
- 'SKIP'
- 'SKIP'
- 'SKIP'
- 'SKIP'
- 'SKIP'
- 'SKIP'
- '64e3c617aba3af71213e8e36af38a39934f1f5c7eea53b2c09d9d9ac189397d8f3e95196f47552fbde83d9e062fb38f5ca48b6791caf5db42663b8a969cb7394'
- '613317b8c63efb0ddfe9112b56aa9714b536082144c0903d5b97351c3396b3c9eedeb44b6da72b85cbfd1bdd16cba30c512ac93c8ca6ffb04cad283ef29958b2'
- '7644e4cb173cb66d83cfc121b6eb9696d4b60ea119230e767aa17bb438c35a94b2d8fddd1369ebe052905c8c85765e927adb540a5c2310b4a2e9bb546597c4e6'
- '144bc8f7ad1ec1c99d59f4a8db375d786f3e4d042d295e860397c76b80e0deaeb4a931fb0e19f30ee1fe192f597f046e7716af6f7795320d5573a7b30c461d3d'
- 'b660afcc9a61527e6f532d12905ed65175c226ff46b23bc3fdb79b37f73c6961722887042c01ccddebefb0ec249206979506e12e78bbe468fd648b9d34094db9'
- 'e18f210dc4c225038c8093685bc9eb5cb957f7c1fd38998bd475ed15a771595738d72183adecc6434896b410b0692e6cadda0dbd5e99b6123e92443341bcb042'
- 'b1884d78d37b4c2690546c681a1b485539b2b9af928e8177192c08bf5985c08481ca4d75a4f2f5e8f0a6b73776df851835e32913bd77a2dcc2586a9efb1f8d63'
- '7f48da3c06155bd15bc938ce4ae8f95185dc8b51d924602d8b905db25083aba3fe1d095c087eeff11a274aa21874a0c986add52bcac7a5c0c40b62c91c60bdfa'
- '9b2d16d51d092901db8738ad4a520a6a06b42326201866069dcd2ae5b7a393cc7097d0eef752866a11072c61ab7a1dc60c175e8c60aa600d88088dff6f8e29f1'
- '4e77ccd0aefe8bb0885cea88ceb5ef362e7838677c622427510027cd9866180345b7aa55be7dcacf61a28ba5b609cccb5c5fc3ca407f6ebf7ac21f5d43027575'
- '2dd594a07f8ce62a7706a0365d764ab3ee3cc2d050d6ae4460db3152269e84f43516438a4f48f47fc54fe758a70c462baed6b7defa8b2bd277e67cb1bae8da12'
- 'd77a2045f03c1327eb78517028c083e8965297a41d5a81df8c7dac5a8500aa242faa644a38be5d12914b68ba3a0b944c1bfe6dbfd7b88b1a0aeeec1d87a1619a'
- '3941928af296d14e82232824aebb2a3eaddba4211c4d383f2c98d2394500ddd5847e2efd4044c1d4bdbb44d145d55aab5d5b111381305398bbf356bdfc9ee10c'
- '9e1eea0ae01852a32ff3c391156da04fe8abba632890a3a5599471f415c84ac7d8ffdc5cf1317dcd7a17c043d4658267a9c9504dcd9f27168b1239a69c659995'
- '5e14b4bff2746b7aaf6c6f53fb69949e51d999402c47b6f957cc87466b06867aef10471ad28e750401f1882c9225b8d42c61d57c71b536e215e9db69a52207d5'
- 'cde43f9479cbb572abf6214ed448b0074feb3b0f8ba69c12ab929d1ac81ccd192cb7b9878d14fa65cebdc2d63bceecd4369678dbd27ee3ca557f6b8c2b1f2af7'
- '16418d54549e605cc55dbcc0efab4dbe01c62f85604c552a641dd83de961d42d7843c72831e29f98f3f5fb173c73a6feee5300dcb8a19388d71a481167d3f4a9'
- 'c186d1e76f68f412779b8ccac2a6ea84614b73e51d27cfdfcba6e0be04cb009a9f4e04e1dca03a0c5a5aa34656e52c980288f4985a4cacefc874ab27e55f62c3'
- '5552e8918462f6c3a4e1baef3c22b57d70c732766945ea0b39f63df7d7b8fca9646f1f9b28b0528fa586799842c949298fc97e1041875da0ca1aacff046f6c9b')
+ '5270db01f3f8aaa5137dec275a02caa832b7f2e37942e068cba8d28b3a29df39'
+ '2a8944ec0be45c5cf3c86558a56b704613e95718b781477a89ff0d03c5b530cd'
+ '3a81953701ac976a311db4e17999e67ab7c6de97ff63388f287d6497ef9adb9b'
+ 'feca54ab09ac0fc9d0626770a6b899a6ac5a12173c7d0c1005bc3964ec83e7b3'
+ 'c4f2d1bed9034c02b8806f00c2e8165df24de467803855904bff709ceaf11af5'
+ '97b421bc60a4abdf37de2d88a51b973e9f68fb44d1eccd464adfb3d9f5d71478'
+ '9cae9ded6497afd15ad72d963897425ab6c7f28941bb3c3948e7996610a0d180')
_system_libs=('ffmpeg'
'flac'
+ 'fontconfig'
+ 'freetype'
'harfbuzz-ng'
-# 'icu'
+ 'icu'
+ 'libdrm'
'libevent'
'libjpeg'
# 'libpng'
@@ -89,7 +53,9 @@
'libwebp'
'libxml'
'libxslt'
-# 're2'
+# 'openh264'
+ 'opus'
+ 're2'
'snappy'
'yasm'
'zlib'
@@ -96,158 +62,115 @@
)
prepare() {
- cd "${srcdir}"/electron
-
- patch -Np1 -i "${srcdir}"/default_app-icon.patch # Icon from .desktop file
- patch -Np1 -i "${srcdir}"/use-system-libraries-in-node.patch
- patch -Np1 -i "${srcdir}"/use-system-ffmpeg.patch
- patch -Np1 -i "${srcdir}"/dont-update-submodules.patch
- patch -Np1 -i "${srcdir}"/dont-use-sysroot.patch
- patch -Np1 -i "${srcdir}"/dont-bootstrap-libchromiumcontent.patch
- patch -Np1 -i "${srcdir}"/no-clang-plugins.patch
- patch -Np1 -i "${srcdir}"/no-whole-archive.patch
-
- # Add extra libraries for unbundling, remove unneeded libraries
- sed -e "s/'-lexpat',/'-lexpat', '<\!@(pkg-config --libs-only-l libavcodec libavformat libavutil libevent flac harfbuzz-icu libjpeg jsoncpp minizip libpulse snappy libwebpdemux libwebpmux libxml-2.0 libxslt zlib)', '-latomic',/" \
- -e 's/ gconf-2.0//' \
- -i brightray/brightray.gyp
-
mkdir -p "${srcdir}"/python2-path
ln -sf /usr/bin/python2 "${srcdir}/python2-path/python"
+ export PATH="${srcdir}/python2-path:${PATH}:${srcdir}/depot_tools"
- for m in boto breakpad gyp libchromiumcontent node pdf_viewer requests; do
- git submodule init vendor/${m}
- git config submodule.vendor/${m}.url "${srcdir}/${m}"
- done
- git submodule update
+ mv chromium-${_chromiumver} src
- cd "${srcdir}"/electron/vendor/pdf_viewer
- git submodule init vendor/grit
- git config submodule.vendor/grit.url "${srcdir}/grit"
- git submodule update
+ echo "solutions = [
+ {
+ \"name\": \"src/electron\",
+ \"url\": \"file://${srcdir}/electron@${_commit}\",
+ \"deps_file\": \"DEPS\",
+ \"managed\": False,
+ \"custom_deps\": {
+ \"src\": None,
+ },
+ \"custom_vars\": {},
+ },
+]" > .gclient
- cd "${srcdir}"/electron/vendor/breakpad
- git submodule init src
- git config submodule.src.url "${srcdir}"/google-breakpad
- git submodule update
- patch -Np1 -i "${srcdir}"/breakpad-glibc2.26.patch
+ python2 "${srcdir}/depot_tools/gclient.py" sync \
+ --with_branch_heads \
+ --with_tags \
+ --nohooks
- cd "${srcdir}"/electron/vendor/gyp
- # Remove a useless $ORIGIN/lib/ rpath from the electron binary
- patch -Np1 -i "${srcdir}"/gyp-no-rpath.patch
+ sed -e "s/'am'/'apply'/" -i src/electron/script/lib/git.py
- cd "${srcdir}"/electron/vendor/libchromiumcontent
- for m in pyyaml; do
- git submodule init vendor/${m}
- git config submodule.vendor/${m}.url "${srcdir}/${m}"
- done
- git submodule update
- patch -Np1 -i "${srcdir}"/libchromiumcontent-remove-useless-patches.patch
- patch -Np1 -i "${srcdir}"/libchromiumcontent-settings.patch
- patch -Np1 -i "${srcdir}"/libchromiumcontent-sort-filenames.patch # deterministic build
- patch -Np1 -i "${srcdir}"/libchromiumcontent-use-system-tools.patch
- patch -Np1 -i "${srcdir}"/libchromiumcontent-static-library-only.patch
- rm -r patches/common/ffmpeg # Use system FFmpeg
- echo 'Extracting chromium source...'
- tar -xf "${srcdir}"/electron-chromium-${_chromiumver}.tar.bz2
- cd src
- patch -Np1 -i "${srcdir}"/chromium-use-system-ffmpeg.patch
- patch -Np1 -i "${srcdir}"/chromium-use-system-re2.patch
+ echo "Running hooks..."
+ # python2 "${srcdir}/depot_tools/gclient.py" runhooks
+ python2 src/electron/script/apply_all_patches.py \
+ src/electron/patches/common/config.json
+ cd src/electron
+ npm install
+ cd ..
+ # Create sysmlink to system Node.js
+ mkdir -p third_party/node/linux/node-linux-x64/bin
+ ln -sf /usr/bin/node third_party/node/linux/node-linux-x64/bin
+ echo "Patching Chromium for using system libraries..."
+ sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' \
+ tools/generate_shim_headers/generate_shim_headers.py
for lib in "${_system_libs[@]}" libjpeg_turbo; do
- find -type f -path "*third_party/${lib}/*" \
- \! -path "*third_party/${lib}/chromium/*" \
- \! -path "*third_party/${lib}/google/*" \
- \! -path "*base/third_party/icu/*" \
- \! -regex '.*\.\(gn\|gni\|isolate\|py\)' \
+ third_party_dir="third_party/${lib}"
+ if [ ! -d ${third_party_dir} ]; then
+ third_party_dir="base/${third_party_dir}"
+ fi
+ find ${third_party_dir} -type f \
+ \! -path "${third_party_dir}/chromium/*" \
+ \! -path "${third_party_dir}/google/*" \
+ \! -path 'third_party/yasm/run_yasm.py' \
+ \! -regex '.*\.\(gn\|gni\|isolate\)' \
-delete
done
- python2 build/linux/unbundle/replace_gn_files.py --system-libraries "${_system_libs[@]}"
+ python2 build/linux/unbundle/replace_gn_files.py \
+ --system-libraries \
+ "${_system_libs[@]}"
- # Create sysmlink to system Node.js
- mkdir -p third_party/node/linux/node-linux-x64/bin
- ln -sf /usr/bin/node third_party/node/linux/node-linux-x64/bin
+ echo "Applying local patches..."
+ patch -Np4 -i ../chromium-skia-harmony.patch
+ patch -Np1 -i ../chromium-system-icu.patch
+ patch -Np1 -i ../fix-cfi-icall-failure-with-use_system_libjpeg-true.patch
+ patch -Np1 -i ../only-disable-cfi-icall-when-use_system_libjpeg-true.patch
+ patch -Np1 -i ../use-system-libraries-in-node.patch
+ patch -Np1 -i ../default_app-icon.patch # Icon from .desktop file
}
build() {
- export PATH="${srcdir}/python2-path:${PATH}"
export CC=clang
export CXX=clang++
export AR=ar
export NM=nm
- cd "${srcdir}/electron/vendor/libchromiumcontent"
- script/update -t x64 --skip_gclient
- script/build -t x64 -c static_library
- script/create-dist -c static_library --no_zip -t x64
-
- cd "${srcdir}"/electron
- LDFLAGS="${LDFLAGS} -Wl,-z,noexecstack"
- distdir="${srcdir}/electron/vendor/libchromiumcontent/dist/main"
- script/bootstrap.py --verbose \
- --clang_dir=/usr \
- --libcc_source_path="${distdir}/src" \
- --libcc_shared_library_path="${distdir}/shared_library" \
- --libcc_static_library_path="${distdir}/static_library"
- script/build.py -c Release --ninja-path=ninja
+ cd src
+ export CHROMIUM_BUILDTOOLS_PATH="${PWD}/buildtools"
+ GN_EXTRA_ARGS='
+ clang_use_chrome_plugins = false
+ custom_toolchain = "//build/toolchain/linux/unbundle:default"
+ host_toolchain = "//build/toolchain/linux/unbundle:default"
+ icu_use_data_file = false
+ is_component_ffmpeg = false
+ link_pulseaudio = true
+ linux_use_bundled_binutils = false
+ remove_webcore_debug_symbols = true
+ treat_warnings_as_errors = false
+ use_custom_libcxx = false
+ use_gnome_keyring = false
+ use_sysroot = false
+ '
+ gn gen out/Release \
+ --args="import(\"//electron/build/args/release.gn\") ${GN_EXTRA_ARGS}"
+ ninja -C out/Release electron_dist_zip
+ # ninja -C out/Release third_party/electron_node:headers
}
package() {
- cd "${srcdir}"/electron
+ install -dm755 "${pkgdir}/usr/lib/electron"
+ bsdtar -xf src/out/Release/dist.zip -C "${pkgdir}/usr/lib/electron"
- _cc="${srcdir}"/electron/vendor/libchromiumcontent/dist/main
+ install -dm755 "${pkgdir}/usr/share/licenses/${pkgname}"
+ for l in "${pkgdir}/usr/lib/electron"/{LICENSE,LICENSES.chromium.html}; do
+ ln -s \
+ $(realpath --relative-to="${pkgdir}/usr/share/licenses/${pkgname}" ${l}) \
+ "${pkgdir}/usr/share/licenses/${pkgname}"
+ done
- install -d -m755 "${pkgdir}"/usr/share/licenses/electron
- install -m644 LICENSE "${pkgdir}"/usr/share/licenses/electron
- install -m644 LICENSE "${_cc}"/LICENSES.chromium.html \
- "${pkgdir}"/usr/share/licenses/electron
- install -m644 native_mate/LICENSE.chromium \
- "${pkgdir}"/usr/share/licenses/electron/LICENSE-native_mate
- install -m644 vendor/node/LICENSE \
- "${pkgdir}"/usr/share/licenses/electron/LICENSE-node
- install -m644 vendor/libchromiumcontent/LICENSE.txt \
- "${pkgdir}"/usr/share/licenses/electron/LICENSE-libchromiumcontent
- install -m644 vendor/libchromiumcontent/src/LICENSE \
- "${pkgdir}"/usr/share/licenses/electron/LICENSE-chromium
-
- cd out/R
- install -d -m755 "${pkgdir}"/usr/lib/electron
- install -m644 blink_image_resources_200_percent.pak \
- content_resources_200_percent.pak content_shell.pak icudtl.dat \
- natives_blob.bin \
- ui_resources_200_percent.pak \
- v8_context_snapshot.bin \
- views_resources_200_percent.pak \
- "${pkgdir}"/usr/lib/electron
- install -m755 electron "${pkgdir}"/usr/lib/electron
install -dm755 "${pkgdir}"/usr/bin
ln -s ../lib/electron/electron "${pkgdir}"/usr/bin
- # namcap warning: Referenced library 'libnode.so' is an uninstalled dependency
- # Fixable by moving libnode.so to /usr/lib
- install -m644 libnode.so "${pkgdir}"/usr/lib/electron
- cp -r locales resources "${pkgdir}"/usr/lib/electron
- cd ../..
- echo -n "v${pkgver}" > "${pkgdir}"/usr/lib/electron/version
-
- # Install .desktop and icon file
- install -Dm644 "${srcdir}"/electron.desktop \
- "${pkgdir}"/usr/share/applications/electron.desktop
- install -Dm644 default_app/icon.png \
- "${pkgdir}"/usr/share/pixmaps/electron.png # hicolor has no 1024x1024
-
- # Install Node headers
- _headers_dest="${pkgdir}/usr/lib/electron/node"
- install -d -m755 "${_headers_dest}"
- cd "${srcdir}"/electron/vendor/node
- find src deps/http_parser deps/zlib deps/uv deps/npm \
- -name "*.gypi" \
- -exec install -D -m644 '{}' "${_headers_dest}/{}" \; \
- -or -name "*.h" \
- -exec install -D -m644 '{}' "${_headers_dest}/{}" \;
- install -m644 {common,config}.gypi "${_headers_dest}"
- cd "${_cc}"/src
- find v8 -name "*.h" \
- -exec install -D -m644 '{}' "${_headers_dest}/deps/{}" \;
- # echo '9' > "${_headers_dest}/installVersion"
+ # Install .desktop and icon file (see default_app-icon.patch)
+ install -Dm644 -t "${pkgdir}/usr/share/applications" electron.desktop
+ install -Dm644 src/electron/default_app/icon.png \
+ "${pkgdir}/usr/share/pixmaps/electron.png" # hicolor has no 1024x1024
}
Deleted: breakpad-glibc2.26.patch
===================================================================
--- breakpad-glibc2.26.patch 2019-03-19 06:54:58 UTC (rev 442579)
+++ breakpad-glibc2.26.patch 2019-03-19 07:00:17 UTC (rev 442580)
@@ -1,208 +0,0 @@
---- a/src/client/linux/dump_writer_common/ucontext_reader.cc
-+++ b/src/client/linux/dump_writer_common/ucontext_reader.cc
-@@ -36,19 +36,19 @@ namespace google_breakpad {
-
- // Minidump defines register structures which are different from the raw
- // structures which we get from the kernel. These are platform specific
--// functions to juggle the ucontext and user structures into minidump format.
-+// functions to juggle the ucontext_t and user structures into minidump format.
-
- #if defined(__i386__)
-
--uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) {
-+uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) {
- return uc->uc_mcontext.gregs[REG_ESP];
- }
-
--uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) {
-+uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) {
- return uc->uc_mcontext.gregs[REG_EIP];
- }
-
--void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc,
-+void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
- const struct _libc_fpstate* fp) {
- const greg_t* regs = uc->uc_mcontext.gregs;
-
-@@ -88,15 +88,15 @@ void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc,
-
- #elif defined(__x86_64)
-
--uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) {
-+uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) {
- return uc->uc_mcontext.gregs[REG_RSP];
- }
-
--uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) {
-+uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) {
- return uc->uc_mcontext.gregs[REG_RIP];
- }
-
--void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc,
-+void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
- const struct _libc_fpstate* fpregs) {
- const greg_t* regs = uc->uc_mcontext.gregs;
-
-@@ -145,15 +145,15 @@ void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc,
-
- #elif defined(__ARM_EABI__)
-
--uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) {
-+uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) {
- return uc->uc_mcontext.arm_sp;
- }
-
--uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) {
-+uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) {
- return uc->uc_mcontext.arm_pc;
- }
-
--void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc) {
-+void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc) {
- out->context_flags = MD_CONTEXT_ARM_FULL;
-
- out->iregs[0] = uc->uc_mcontext.arm_r0;
-@@ -184,15 +184,15 @@ void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc) {
-
- #elif defined(__aarch64__)
-
--uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) {
-+uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) {
- return uc->uc_mcontext.sp;
- }
-
--uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) {
-+uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) {
- return uc->uc_mcontext.pc;
- }
-
--void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc,
-+void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
- const struct fpsimd_context* fpregs) {
- out->context_flags = MD_CONTEXT_ARM64_FULL;
-
-@@ -210,15 +210,15 @@ void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc,
-
- #elif defined(__mips__)
-
--uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) {
-+uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) {
- return uc->uc_mcontext.gregs[MD_CONTEXT_MIPS_REG_SP];
- }
-
--uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) {
-+uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) {
- return uc->uc_mcontext.pc;
- }
-
--void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc) {
-+void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc) {
- #if _MIPS_SIM == _ABI64
- out->context_flags = MD_CONTEXT_MIPS64_FULL;
- #elif _MIPS_SIM == _ABIO32
---- a/src/client/linux/dump_writer_common/ucontext_reader.h
-+++ b/src/client/linux/dump_writer_common/ucontext_reader.h
-@@ -39,23 +39,23 @@
-
- namespace google_breakpad {
-
--// Wraps platform-dependent implementations of accessors to ucontext structs.
-+// Wraps platform-dependent implementations of accessors to ucontext_t structs.
- struct UContextReader {
-- static uintptr_t GetStackPointer(const struct ucontext* uc);
-+ static uintptr_t GetStackPointer(const ucontext_t* uc);
-
-- static uintptr_t GetInstructionPointer(const struct ucontext* uc);
-+ static uintptr_t GetInstructionPointer(const ucontext_t* uc);
-
-- // Juggle a arch-specific ucontext into a minidump format
-+ // Juggle a arch-specific ucontext_t into a minidump format
- // out: the minidump structure
- // info: the collection of register structures.
- #if defined(__i386__) || defined(__x86_64)
-- static void FillCPUContext(RawContextCPU *out, const ucontext *uc,
-+ static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
- const struct _libc_fpstate* fp);
- #elif defined(__aarch64__)
-- static void FillCPUContext(RawContextCPU *out, const ucontext *uc,
-+ static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
- const struct fpsimd_context* fpregs);
- #else
-- static void FillCPUContext(RawContextCPU *out, const ucontext *uc);
-+ static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc);
- #endif
- };
-
---- a/src/client/linux/handler/exception_handler.cc
-+++ b/src/client/linux/handler/exception_handler.cc
-@@ -439,9 +439,9 @@ bool ExceptionHandler::HandleSignal(int /*sig*/, siginfo_t* info, void* uc) {
- // Fill in all the holes in the struct to make Valgrind happy.
- memset(&g_crash_context_, 0, sizeof(g_crash_context_));
- memcpy(&g_crash_context_.siginfo, info, sizeof(siginfo_t));
-- memcpy(&g_crash_context_.context, uc, sizeof(struct ucontext));
-+ memcpy(&g_crash_context_.context, uc, sizeof(ucontext_t));
- #if defined(__aarch64__)
-- struct ucontext* uc_ptr = (struct ucontext*)uc;
-+ ucontext_t* uc_ptr = (ucontext_t*)uc;
- struct fpsimd_context* fp_ptr =
- (struct fpsimd_context*)&uc_ptr->uc_mcontext.__reserved;
- if (fp_ptr->head.magic == FPSIMD_MAGIC) {
-@@ -450,9 +450,9 @@ bool ExceptionHandler::HandleSignal(int /*sig*/, siginfo_t* info, void* uc) {
- }
- #elif !defined(__ARM_EABI__) && !defined(__mips__)
- // FP state is not part of user ABI on ARM Linux.
-- // In case of MIPS Linux FP state is already part of struct ucontext
-+ // In case of MIPS Linux FP state is already part of ucontext_t
- // and 'float_state' is not a member of CrashContext.
-- struct ucontext* uc_ptr = (struct ucontext*)uc;
-+ ucontext_t* uc_ptr = (ucontext_t*)uc;
- if (uc_ptr->uc_mcontext.fpregs) {
- memcpy(&g_crash_context_.float_state, uc_ptr->uc_mcontext.fpregs,
- sizeof(g_crash_context_.float_state));
-@@ -476,7 +476,7 @@ bool ExceptionHandler::SimulateSignalDelivery(int sig) {
- // ExceptionHandler::HandleSignal().
- siginfo.si_code = SI_USER;
- siginfo.si_pid = getpid();
-- struct ucontext context;
-+ ucontext_t context;
- getcontext(&context);
- return HandleSignal(sig, &siginfo, &context);
- }
---- a/src/client/linux/handler/exception_handler.h
-+++ b/src/client/linux/handler/exception_handler.h
-@@ -191,11 +191,11 @@ class ExceptionHandler {
- struct CrashContext {
- siginfo_t siginfo;
- pid_t tid; // the crashing thread.
-- struct ucontext context;
-+ ucontext_t context;
- #if !defined(__ARM_EABI__) && !defined(__mips__)
- // #ifdef this out because FP state is not part of user ABI for Linux ARM.
- // In case of MIPS Linux FP state is already part of struct
-- // ucontext so 'float_state' is not required.
-+ // ucontext_t so 'float_state' is not required.
- fpstate_t float_state;
- #endif
- };
---- a/src/client/linux/microdump_writer/microdump_writer.cc
-+++ b/src/client/linux/microdump_writer/microdump_writer.cc
-@@ -560,7 +560,7 @@ class MicrodumpWriter {
-
- void* Alloc(unsigned bytes) { return dumper_->allocator()->Alloc(bytes); }
-
-- const struct ucontext* const ucontext_;
-+ const ucontext_t* const ucontext_;
- #if !defined(__ARM_EABI__) && !defined(__mips__)
- const google_breakpad::fpstate_t* const float_state_;
- #endif
---- a/src/client/linux/minidump_writer/minidump_writer.cc
-+++ b/src/client/linux/minidump_writer/minidump_writer.cc
-@@ -1248,7 +1248,7 @@ class MinidumpWriter {
- const int fd_; // File descriptor where the minidum should be written.
- const char* path_; // Path to the file where the minidum should be written.
-
-- const struct ucontext* const ucontext_; // also from the signal handler
-+ const ucontext_t* const ucontext_; // also from the signal handler
- #if !defined(__ARM_EABI__) && !defined(__mips__)
- const google_breakpad::fpstate_t* const float_state_; // ditto
- #endif
Added: chromium-skia-harmony.patch
===================================================================
--- chromium-skia-harmony.patch (rev 0)
+++ chromium-skia-harmony.patch 2019-03-19 07:00:17 UTC (rev 442580)
@@ -0,0 +1,77 @@
+--- qtwebengine-opensource-src-5.9.1/src/3rdparty/chromium/third_party/skia/src/ports/SkFontHost_FreeType.cpp.orig 2017-10-10 17:42:06.956950985 +0200
++++ qtwebengine-opensource-src-5.9.1/src/3rdparty/chromium/third_party/skia/src/ports/SkFontHost_FreeType.cpp 2017-10-10 17:46:05.824187787 +0200
+@@ -99,8 +99,6 @@
+ FreeTypeLibrary()
+ : fGetVarDesignCoordinates(nullptr)
+ , fLibrary(nullptr)
+- , fIsLCDSupported(false)
+- , fLCDExtra(0)
+ {
+ if (FT_New_Library(&gFTMemory, &fLibrary)) {
+ return;
+@@ -147,12 +145,7 @@
+ }
+ #endif
+
+- // Setup LCD filtering. This reduces color fringes for LCD smoothed glyphs.
+- // The default has changed over time, so this doesn't mean the same thing to all users.
+- if (FT_Library_SetLcdFilter(fLibrary, FT_LCD_FILTER_DEFAULT) == 0) {
+- fIsLCDSupported = true;
+- fLCDExtra = 2; //Using a filter adds one full pixel to each side.
+- }
++ FT_Library_SetLcdFilter(fLibrary, FT_LCD_FILTER_DEFAULT);
+ }
+ ~FreeTypeLibrary() {
+ if (fLibrary) {
+@@ -161,8 +153,6 @@
+ }
+
+ FT_Library library() { return fLibrary; }
+- bool isLCDSupported() { return fIsLCDSupported; }
+- int lcdExtra() { return fLCDExtra; }
+
+ // FT_Get_{MM,Var}_{Blend,Design}_Coordinates were added in FreeType 2.7.1.
+ // Prior to this there was no way to get the coordinates out of the FT_Face.
+@@ -173,8 +163,6 @@
+
+ private:
+ FT_Library fLibrary;
+- bool fIsLCDSupported;
+- int fLCDExtra;
+
+ // FT_Library_SetLcdFilterWeights was introduced in FreeType 2.4.0.
+ // The following platforms provide FreeType of at least 2.4.0.
+@@ -704,17 +692,6 @@
+ rec->fTextSize = SkIntToScalar(1 << 14);
+ }
+
+- if (isLCD(*rec)) {
+- // TODO: re-work so that FreeType is set-up and selected by the SkFontMgr.
+- SkAutoMutexAcquire ama(gFTMutex);
+- ref_ft_library();
+- if (!gFTLibrary->isLCDSupported()) {
+- // If the runtime Freetype library doesn't support LCD, disable it here.
+- rec->fMaskFormat = SkMask::kA8_Format;
+- }
+- unref_ft_library();
+- }
+-
+ SkPaint::Hinting h = rec->getHinting();
+ if (SkPaint::kFull_Hinting == h && !isLCD(*rec)) {
+ // collapse full->normal hinting if we're not doing LCD
+@@ -1115,11 +1092,11 @@
+ void SkScalerContext_FreeType::updateGlyphIfLCD(SkGlyph* glyph) {
+ if (isLCD(fRec)) {
+ if (fLCDIsVert) {
+- glyph->fHeight += gFTLibrary->lcdExtra();
+- glyph->fTop -= gFTLibrary->lcdExtra() >> 1;
++ glyph->fHeight += 2;
++ glyph->fTop -= 1;
+ } else {
+- glyph->fWidth += gFTLibrary->lcdExtra();
+- glyph->fLeft -= gFTLibrary->lcdExtra() >> 1;
++ glyph->fWidth += 2;
++ glyph->fLeft -= 1;
+ }
+ }
+ }
Added: chromium-system-icu.patch
===================================================================
--- chromium-system-icu.patch (rev 0)
+++ chromium-system-icu.patch 2019-03-19 07:00:17 UTC (rev 442580)
@@ -0,0 +1,19 @@
+diff --git a/third_party/blink/renderer/platform/text/character_property_data_generator.h b/third_party/blink/renderer/platform/text/character_property_data_generator.h
+index 28fb6a9..bb4dbd7 100644
+--- a/third_party/blink/renderer/platform/text/character_property_data_generator.h
++++ b/third_party/blink/renderer/platform/text/character_property_data_generator.h
+@@ -244,10 +244,12 @@ static const UChar32 kIsHangulRanges[] = {
+ 0xD7B0, 0xD7FF,
+ // Halfwidth Hangul Jamo
+ // https://www.unicode.org/charts/nameslist/c_FF00.html
+- 0xFFA0, 0xFFDC,
++ 0xFFA0, 0xFFDB,
+ };
+
+-static const UChar32 kIsHangulArray[] = {};
++static const UChar32 kIsHangulArray[] = {
++ 0xFFDC,
++};
+
+ } // namespace blink
+
Deleted: chromium-use-system-ffmpeg.patch
===================================================================
--- chromium-use-system-ffmpeg.patch 2019-03-19 06:54:58 UTC (rev 442579)
+++ chromium-use-system-ffmpeg.patch 2019-03-19 07:00:17 UTC (rev 442580)
@@ -1,22 +0,0 @@
---- a/build/linux/unbundle/ffmpeg.gn
-+++ b/build/linux/unbundle/ffmpeg.gn
-@@ -14,8 +14,8 @@
- ]
- }
-
--buildflag_header("ffmpeg_buildflags") {
-- header = "ffmpeg_buildflags.h"
-+buildflag_header("ffmpeg_features") {
-+ header = "ffmpeg_features.h"
- flags = [ "USE_SYSTEM_FFMPEG=true" ]
- }
-
-@@ -30,7 +30,7 @@
-
- source_set("ffmpeg") {
- deps = [
-- ":ffmpeg_buildflags",
-+ ":ffmpeg_features",
- ":ffmpeg_shim",
- ]
- public_configs = [ ":system_ffmpeg" ]
Deleted: chromium-use-system-re2.patch
===================================================================
--- chromium-use-system-re2.patch 2019-03-19 06:54:58 UTC (rev 442579)
+++ chromium-use-system-re2.patch 2019-03-19 07:00:17 UTC (rev 442580)
@@ -1,10 +0,0 @@
---- a/build/linux/unbundle/re2.gn
-+++ b/build/linux/unbundle/re2.gn
-@@ -11,7 +11,6 @@
- "re2/re2.h",
- "re2/set.h",
- "re2/stringpiece.h",
-- "re2/variadic_function.h",
- ]
- }
-
Modified: default_app-icon.patch
===================================================================
--- default_app-icon.patch 2019-03-19 06:54:58 UTC (rev 442579)
+++ default_app-icon.patch 2019-03-19 07:00:17 UTC (rev 442580)
@@ -1,22 +1,21 @@
---- a/default_app/default_app.js
-+++ b/default_app/default_app.js
-@@ -20,9 +20,6 @@ exports.load = (appUrl) => {
- },
- useContentSize: true
- }
-- if (process.platform === 'linux') {
-- options.icon = path.join(__dirname, 'icon.png')
-- }
+--- a/electron/default_app/default_app.js
++++ b/electron/default_app/default_app.js
+@@ -27,7 +27,7 @@
+ }
- mainWindow = new BrowserWindow(options)
- mainWindow.loadURL(appUrl)
---- a/filenames.gypi
-+++ b/filenames.gypi
-@@ -93,7 +93,6 @@
- ],
- 'default_app_sources': [
- 'default_app/default_app.js',
-- 'default_app/icon.png',
- 'default_app/index.html',
- 'default_app/main.js',
- 'default_app/package.json',
+ if (process.platform === 'linux') {
+- options.icon = path.join(__dirname, 'icon.png')
++ options.icon = '/usr/share/pixmaps/electron.png'
+ }
+
+ mainWindow = new BrowserWindow(options)
+--- a/electron/filenames.gni
++++ b/electron/filenames.gni
+@@ -94,7 +94,6 @@
+
+ default_app_sources = [
+ "default_app/default_app.js",
+- "default_app/icon.png",
+ "default_app/index.html",
+ "default_app/main.js",
+ "default_app/menu.js",
Deleted: dont-bootstrap-libchromiumcontent.patch
===================================================================
--- dont-bootstrap-libchromiumcontent.patch 2019-03-19 06:54:58 UTC (rev 442579)
+++ dont-bootstrap-libchromiumcontent.patch 2019-03-19 07:00:17 UTC (rev 442580)
@@ -1,11 +0,0 @@
---- a/script/build-libchromiumcontent.py
-+++ b/script/build-libchromiumcontent.py
-@@ -44,7 +44,7 @@ def main():
- build = os.path.join(script_dir, 'build')
- create_dist = os.path.join(script_dir, 'create-dist')
- if args.force_update or libchromiumcontent_outdated():
-- execute_stdout([sys.executable, bootstrap])
-+ # execute_stdout([sys.executable, bootstrap])
- execute_stdout([sys.executable, update, '-t', args.target_arch])
- update_gclient_done_marker()
- if args.debug:
Deleted: dont-update-submodules.patch
===================================================================
--- dont-update-submodules.patch 2019-03-19 06:54:58 UTC (rev 442579)
+++ dont-update-submodules.patch 2019-03-19 07:00:17 UTC (rev 442580)
@@ -1,11 +0,0 @@
---- a/script/bootstrap.py
-+++ b/script/bootstrap.py
-@@ -33,7 +33,7 @@ def main():
-
- check_tls(args.verbose)
-
-- update_submodules()
-+ # update_submodules()
-
- libcc_source_path = args.libcc_source_path
- libcc_shared_library_path = args.libcc_shared_library_path
Deleted: dont-use-sysroot.patch
===================================================================
--- dont-use-sysroot.patch 2019-03-19 06:54:58 UTC (rev 442579)
+++ dont-use-sysroot.patch 2019-03-19 07:00:17 UTC (rev 442580)
@@ -1,27 +0,0 @@
---- a/script/bootstrap.py
-+++ b/script/bootstrap.py
-@@ -65,9 +65,6 @@ def main():
- libcc_source_path, libcc_shared_library_path,
- libcc_static_library_path)
-
-- if PLATFORM == 'linux' and args.target_arch != 'mips64el':
-- download_sysroot(args.target_arch)
--
- create_chrome_version_h()
- touch_config_gypi()
- run_update(defines, args.msvs)
---- a/toolchain.gypi
-+++ b/toolchain.gypi
-@@ -62,10 +62,10 @@
- 'sysroot%': '<(source_root)/vendor/debian_stretch_arm64-sysroot',
- }],
- ['target_arch=="ia32"', {
-- 'sysroot%': '<(source_root)/vendor/debian_stretch_i386-sysroot',
-+ 'sysroot%': '/',
- }],
- ['target_arch=="x64"', {
-- 'sysroot%': '<(source_root)/vendor/debian_stretch_amd64-sysroot',
-+ 'sysroot%': '/',
- }],
- ['target_arch=="mips64el"', {
- 'sysroot%': '<(source_root)/vendor/debian_jessie_mips64-sysroot',
Added: fix-cfi-icall-failure-with-use_system_libjpeg-true.patch
===================================================================
--- fix-cfi-icall-failure-with-use_system_libjpeg-true.patch (rev 0)
+++ fix-cfi-icall-failure-with-use_system_libjpeg-true.patch 2019-03-19 07:00:17 UTC (rev 442580)
@@ -0,0 +1,52 @@
+From db82db1b609f30d144d45477f55697818bcd363c Mon Sep 17 00:00:00 2001
+From: Vlad Tsyrklevich <vtsyrklevich at chromium.org>
+Date: Tue, 31 Jul 2018 01:03:22 +0000
+Subject: [PATCH] Fix cfi-icall failure with use_system_libjpeg=true
+
+JPEGImageReader::AllocateSampleArray() can call the function pointer
+(*info_.mem->alloc_sarray) which can be set by the systems non-CFI
+enabled libjpeg DSO when chromium is built with use_system_libjpeg=true.
+Disable cfi-icall for that method.
+
+Bug: 866290
+Change-Id: I6d9bbf08c514d6d5f48ad34c3802c63419ed1223
+Reviewed-on: https://chromium-review.googlesource.com/1155927
+Reviewed-by: Kentaro Hara <haraken at chromium.org>
+Commit-Queue: Vlad Tsyrklevich <vtsyrklevich at chromium.org>
+Cr-Commit-Position: refs/heads/master@{#579270}
+---
+ .../renderer/platform/image-decoders/jpeg/jpeg_image_decoder.cc | 2 +-
+ third_party/blink/renderer/platform/wtf/compiler.h | 2 ++
+ 2 files changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/third_party/blink/renderer/platform/image-decoders/jpeg/jpeg_image_decoder.cc b/third_party/blink/renderer/platform/image-decoders/jpeg/jpeg_image_decoder.cc
+index a1e440f6eed5..fd4e72ba053c 100644
+--- a/third_party/blink/renderer/platform/image-decoders/jpeg/jpeg_image_decoder.cc
++++ b/third_party/blink/renderer/platform/image-decoders/jpeg/jpeg_image_decoder.cc
+@@ -643,7 +643,7 @@ class JPEGImageReader final {
+ IntSize UvSize() const { return uv_size_; }
+
+ private:
+- JSAMPARRAY AllocateSampleArray() {
++ NO_SANITIZE_CFI_ICALL JSAMPARRAY AllocateSampleArray() {
+ // Some output color spaces don't need the sample array: don't allocate in that
+ // case.
+ #if defined(TURBO_JPEG_RGB_SWIZZLE)
+diff --git a/third_party/blink/renderer/platform/wtf/compiler.h b/third_party/blink/renderer/platform/wtf/compiler.h
+index 51595afdc955..5225a70309d6 100644
+--- a/third_party/blink/renderer/platform/wtf/compiler.h
++++ b/third_party/blink/renderer/platform/wtf/compiler.h
+@@ -57,8 +57,10 @@
+ #if defined(__clang__)
+ #define NO_SANITIZE_UNRELATED_CAST \
+ __attribute__((no_sanitize("cfi-unrelated-cast", "vptr")))
++#define NO_SANITIZE_CFI_ICALL __attribute__((no_sanitize("cfi-icall")))
+ #else
+ #define NO_SANITIZE_UNRELATED_CAST
++#define NO_SANITIZE_CFI_ICALL
+ #endif
+
+ #endif /* WTF_Compiler_h */
+--
+2.18.0
+
Deleted: gyp-no-rpath.patch
===================================================================
--- gyp-no-rpath.patch 2019-03-19 06:54:58 UTC (rev 442579)
+++ gyp-no-rpath.patch 2019-03-19 07:00:17 UTC (rev 442580)
@@ -1,12 +0,0 @@
---- a/pylib/gyp/generator/ninja.py
-+++ b/pylib/gyp/generator/ninja.py
-@@ -1231,9 +1231,6 @@
- rpath = 'lib/'
- if self.toolset != 'target':
- rpath += self.toolset
-- ldflags.append(r'-Wl,-rpath=\$$ORIGIN/%s' % rpath)
-- else:
-- ldflags.append('-Wl,-rpath=%s' % self.target_rpath)
- ldflags.append('-Wl,-rpath-link=%s' % rpath)
- self.WriteVariableList(ninja_file, 'ldflags',
- map(self.ExpandSpecial, ldflags))
Deleted: libchromiumcontent-remove-useless-patches.patch
===================================================================
--- libchromiumcontent-remove-useless-patches.patch 2019-03-19 06:54:58 UTC (rev 442579)
+++ libchromiumcontent-remove-useless-patches.patch 2019-03-19 07:00:17 UTC (rev 442580)
@@ -1,518 +0,0 @@
---- a/patches/common/v8/.patches.yaml
-+++ b/patches/common/v8/.patches.yaml
-@@ -22,11 +22,6 @@
- file: dcheck.patch
- description: null
- -
-- owners: nitsakh
-- file: disable-warning-win.patch
-- description:
-- Disable unit test windows build warning
---
- owners: alexeykuzmin
- file: backport_b767cde1e7.patch
- description: Node 10.0.0 needs it.
---- a/patches/common/v8/backport_23652c5f.patch
-+++ b/patches/common/v8/backport_23652c5f.patch
-@@ -55,107 +55,3 @@
- ~JSONTraceWriter();
- void AppendTraceEvent(TraceObject* trace_event) override;
- void Flush() override;
--diff --git a/test/cctest/libplatform/test-tracing.cc b/test/cctest/libplatform/test-tracing.cc
--index da202057de..b949785bcf 100644
----- a/test/cctest/libplatform/test-tracing.cc
--+++ b/test/cctest/libplatform/test-tracing.cc
--@@ -128,44 +128,42 @@ TEST(TestTraceBufferRingBuffer) {
-- delete ring_buffer;
-- }
--
---TEST(TestJSONTraceWriter) {
--- std::ostringstream stream;
--- // Create a scope for the tracing controller to terminate the trace writer.
--- {
--- v8::Platform* old_platform = i::V8::GetCurrentPlatform();
--- std::unique_ptr<v8::Platform> default_platform(
--- v8::platform::NewDefaultPlatform());
--- i::V8::SetPlatformForTesting(default_platform.get());
--- auto tracing =
--- base::make_unique<v8::platform::tracing::TracingController>();
--- v8::platform::tracing::TracingController* tracing_controller =
--- tracing.get();
--- static_cast<v8::platform::DefaultPlatform*>(default_platform.get())
--- ->SetTracingController(std::move(tracing));
--- TraceWriter* writer = TraceWriter::CreateJSONTraceWriter(stream);
--+void PopulateJSONWriter(TraceWriter* writer) {
--+ v8::Platform* old_platform = i::V8::GetCurrentPlatform();
--+ std::unique_ptr<v8::Platform> default_platform(
--+ v8::platform::NewDefaultPlatform());
--+ i::V8::SetPlatformForTesting(default_platform.get());
--+ auto tracing = base::make_unique<v8::platform::tracing::TracingController>();
--+ v8::platform::tracing::TracingController* tracing_controller = tracing.get();
--+ static_cast<v8::platform::DefaultPlatform*>(default_platform.get())
--+ ->SetTracingController(std::move(tracing));
--
--- TraceBuffer* ring_buffer =
--- TraceBuffer::CreateTraceBufferRingBuffer(1, writer);
--- tracing_controller->Initialize(ring_buffer);
--- TraceConfig* trace_config = new TraceConfig();
--- trace_config->AddIncludedCategory("v8-cat");
--- tracing_controller->StartTracing(trace_config);
--+ TraceBuffer* ring_buffer =
--+ TraceBuffer::CreateTraceBufferRingBuffer(1, writer);
--+ tracing_controller->Initialize(ring_buffer);
--+ TraceConfig* trace_config = new TraceConfig();
--+ trace_config->AddIncludedCategory("v8-cat");
--+ tracing_controller->StartTracing(trace_config);
--
--- TraceObject trace_object;
--- trace_object.InitializeForTesting(
--- 'X', tracing_controller->GetCategoryGroupEnabled("v8-cat"), "Test0",
--- v8::internal::tracing::kGlobalScope, 42, 123, 0, nullptr, nullptr,
--- nullptr, nullptr, TRACE_EVENT_FLAG_HAS_ID, 11, 22, 100, 50, 33, 44);
--- writer->AppendTraceEvent(&trace_object);
--- trace_object.InitializeForTesting(
--- 'Y', tracing_controller->GetCategoryGroupEnabled("v8-cat"), "Test1",
--- v8::internal::tracing::kGlobalScope, 43, 456, 0, nullptr, nullptr,
--- nullptr, nullptr, 0, 55, 66, 110, 55, 77, 88);
--- writer->AppendTraceEvent(&trace_object);
--- tracing_controller->StopTracing();
--- i::V8::SetPlatformForTesting(old_platform);
--- }
--+ TraceObject trace_object;
--+ trace_object.InitializeForTesting(
--+ 'X', tracing_controller->GetCategoryGroupEnabled("v8-cat"), "Test0",
--+ v8::internal::tracing::kGlobalScope, 42, 123, 0, nullptr, nullptr,
--+ nullptr, nullptr, TRACE_EVENT_FLAG_HAS_ID, 11, 22, 100, 50, 33, 44);
--+ writer->AppendTraceEvent(&trace_object);
--+ trace_object.InitializeForTesting(
--+ 'Y', tracing_controller->GetCategoryGroupEnabled("v8-cat"), "Test1",
--+ v8::internal::tracing::kGlobalScope, 43, 456, 0, nullptr, nullptr,
--+ nullptr, nullptr, 0, 55, 66, 110, 55, 77, 88);
--+ writer->AppendTraceEvent(&trace_object);
--+ tracing_controller->StopTracing();
--+ i::V8::SetPlatformForTesting(old_platform);
--+}
--
--+TEST(TestJSONTraceWriter) {
--+ std::ostringstream stream;
--+ TraceWriter* writer = TraceWriter::CreateJSONTraceWriter(stream);
--+ PopulateJSONWriter(writer);
-- std::string trace_str = stream.str();
-- std::string expected_trace_str =
-- "{\"traceEvents\":[{\"pid\":11,\"tid\":22,\"ts\":100,\"tts\":50,"
--@@ -177,6 +175,21 @@ TEST(TestJSONTraceWriter) {
-- CHECK_EQ(expected_trace_str, trace_str);
-- }
--
--+TEST(TestJSONTraceWriterWithCustomtag) {
--+ std::ostringstream stream;
--+ TraceWriter* writer = TraceWriter::CreateJSONTraceWriter(stream, "customTag");
--+ PopulateJSONWriter(writer);
--+ std::string trace_str = stream.str();
--+ std::string expected_trace_str =
--+ "{\"customTag\":[{\"pid\":11,\"tid\":22,\"ts\":100,\"tts\":50,"
--+ "\"ph\":\"X\",\"cat\":\"v8-cat\",\"name\":\"Test0\",\"dur\":33,"
--+ "\"tdur\":44,\"id\":\"0x2a\",\"args\":{}},{\"pid\":55,\"tid\":66,"
--+ "\"ts\":110,\"tts\":55,\"ph\":\"Y\",\"cat\":\"v8-cat\",\"name\":"
--+ "\"Test1\",\"dur\":77,\"tdur\":88,\"args\":{}}]}";
--+
--+ CHECK_EQ(expected_trace_str, trace_str);
--+}
--+
-- TEST(TestTracingController) {
-- v8::Platform* old_platform = i::V8::GetCurrentPlatform();
-- std::unique_ptr<v8::Platform> default_platform(
---- a/patches/common/v8/backport_2eb23a17.patch
-+++ b/patches/common/v8/backport_2eb23a17.patch
-@@ -709,300 +709,3 @@
- F(SystemBreak, 0, 1) \
- F(TraceEnter, 0, 1) \
- F(TraceExit, 1, 1) \
--diff --git a/test/cctest/test-typedarrays.cc b/test/cctest/test-typedarrays.cc
--index 7ec9197b65..bab6e0f2f6 100644
----- a/test/cctest/test-typedarrays.cc
--+++ b/test/cctest/test-typedarrays.cc
--@@ -117,12 +117,12 @@ void TestSpeciesProtector(char* code,
--
-- v8::internal::Isolate* i_isolate =
-- reinterpret_cast<v8::internal::Isolate*>(isolate);
--- CHECK(i_isolate->IsSpeciesLookupChainIntact());
--+ CHECK(i_isolate->IsTypedArraySpeciesLookupChainIntact());
-- CompileRun(code);
-- if (invalidates_species_protector) {
--- CHECK(!i_isolate->IsSpeciesLookupChainIntact());
--+ CHECK(!i_isolate->IsTypedArraySpeciesLookupChainIntact());
-- } else {
--- CHECK(i_isolate->IsSpeciesLookupChainIntact());
--+ CHECK(i_isolate->IsTypedArraySpeciesLookupChainIntact());
-- }
--
-- v8::Local<v8::Value> my_typed_array = CompileRun("MyTypedArray");
--diff --git a/test/mjsunit/es6/array-species-constructor-accessor.js b/test/mjsunit/es6/array-species-constructor-accessor.js
--index 7ebf328a8a..7185d98b58 100644
----- a/test/mjsunit/es6/array-species-constructor-accessor.js
--+++ b/test/mjsunit/es6/array-species-constructor-accessor.js
--@@ -18,7 +18,7 @@ assertEquals(1, x.concat([1])[0]);
-- class MyArray extends Array { }
--
-- Object.defineProperty(x, 'constructor', {get() { return MyArray; }});
---assertFalse(%SpeciesProtector());
--+assertFalse(%ArraySpeciesProtector());
--
-- assertEquals(MyArray, x.map(()=>{}).constructor);
-- assertEquals(MyArray, x.filter(()=>{}).constructor);
--diff --git a/test/mjsunit/es6/array-species-constructor-delete.js b/test/mjsunit/es6/array-species-constructor-delete.js
--index fff22a2a8c..3b85d52565 100644
----- a/test/mjsunit/es6/array-species-constructor-delete.js
--+++ b/test/mjsunit/es6/array-species-constructor-delete.js
--@@ -19,7 +19,7 @@ class MyArray extends Array { }
--
-- Object.prototype.constructor = MyArray;
-- delete Array.prototype.constructor;
---assertFalse(%SpeciesProtector());
--+assertFalse(%ArraySpeciesProtector());
--
-- assertEquals(MyArray, x.map(()=>{}).constructor);
-- assertEquals(MyArray, x.filter(()=>{}).constructor);
--diff --git a/test/mjsunit/es6/array-species-constructor.js b/test/mjsunit/es6/array-species-constructor.js
--index 0d888f46ee..07e897d458 100644
----- a/test/mjsunit/es6/array-species-constructor.js
--+++ b/test/mjsunit/es6/array-species-constructor.js
--@@ -18,7 +18,7 @@ assertEquals(1, x.concat([1])[0]);
-- class MyArray extends Array { }
--
-- x.constructor = MyArray;
---assertFalse(%SpeciesProtector());
--+assertFalse(%ArraySpeciesProtector());
--
-- assertEquals(MyArray, x.map(()=>{}).constructor);
-- assertEquals(MyArray, x.filter(()=>{}).constructor);
--diff --git a/test/mjsunit/es6/array-species-delete.js b/test/mjsunit/es6/array-species-delete.js
--index 16a2fa26f9..2f0f50a1b2 100644
----- a/test/mjsunit/es6/array-species-delete.js
--+++ b/test/mjsunit/es6/array-species-delete.js
--@@ -19,7 +19,7 @@ class MyArray extends Array { }
--
-- Object.prototype[Symbol.species] = MyArray;
-- delete Array[Symbol.species];
---assertFalse(%SpeciesProtector());
--+assertFalse(%ArraySpeciesProtector());
--
-- assertEquals(MyArray, x.map(()=>{}).constructor);
-- assertEquals(MyArray, x.filter(()=>{}).constructor);
--diff --git a/test/mjsunit/es6/array-species-modified.js b/test/mjsunit/es6/array-species-modified.js
--index 58feb31669..d5a707997a 100644
----- a/test/mjsunit/es6/array-species-modified.js
--+++ b/test/mjsunit/es6/array-species-modified.js
--@@ -18,7 +18,7 @@ assertEquals(1, x.concat([1])[0]);
-- class MyArray extends Array { }
--
-- Object.defineProperty(Array, Symbol.species, {value: MyArray});
---assertFalse(%SpeciesProtector());
--+assertFalse(%ArraySpeciesProtector());
--
-- assertEquals(MyArray, x.map(()=>{}).constructor);
-- assertEquals(MyArray, x.filter(()=>{}).constructor);
--diff --git a/test/mjsunit/es6/array-species-parent-constructor.js b/test/mjsunit/es6/array-species-parent-constructor.js
--index b4fb1d56e3..8a861fb05d 100644
----- a/test/mjsunit/es6/array-species-parent-constructor.js
--+++ b/test/mjsunit/es6/array-species-parent-constructor.js
--@@ -18,7 +18,7 @@ assertEquals(1, x.concat([1])[0]);
-- class MyArray extends Array { }
--
-- Array.prototype.constructor = MyArray;
---assertFalse(%SpeciesProtector());
--+assertFalse(%ArraySpeciesProtector());
--
-- assertEquals(MyArray, x.map(()=>{}).constructor);
-- assertEquals(MyArray, x.filter(()=>{}).constructor);
--diff --git a/test/mjsunit/es6/array-species-proto.js b/test/mjsunit/es6/array-species-proto.js
--index 6b55881cd6..d8e2ae5ddd 100644
----- a/test/mjsunit/es6/array-species-proto.js
--+++ b/test/mjsunit/es6/array-species-proto.js
--@@ -18,7 +18,7 @@ assertEquals(1, x.concat([1])[0]);
-- class MyArray extends Array { }
--
-- x.__proto__ = MyArray.prototype;
---assertTrue(%SpeciesProtector());
--+assertTrue(%ArraySpeciesProtector());
--
-- assertEquals(MyArray, x.map(()=>{}).constructor);
-- assertEquals(MyArray, x.filter(()=>{}).constructor);
--diff --git a/test/mjsunit/harmony/regexp-named-captures.js b/test/mjsunit/harmony/regexp-named-captures.js
--index 72041b99bf..aab8393392 100644
----- a/test/mjsunit/harmony/regexp-named-captures.js
--+++ b/test/mjsunit/harmony/regexp-named-captures.js
--@@ -425,7 +425,7 @@ function toSlowMode(re) {
-- {
-- const re = /./;
-- const result = re.exec("a");
--- assertTrue(%SpeciesProtector());
--+ assertTrue(%ArraySpeciesProtector());
-- assertEquals(result.__proto__, Array.prototype);
-- assertTrue(result.hasOwnProperty('groups'));
-- assertArrayEquals(["a"], result);
--@@ -433,7 +433,7 @@ function toSlowMode(re) {
-- assertEquals(undefined, result.groups);
--
-- Array.prototype.groups = { a: "b" };
--- assertTrue(%SpeciesProtector());
--+ assertTrue(%ArraySpeciesProtector());
-- assertEquals("$<a>", "a".replace(re, "$<a>"));
-- Array.prototype.groups = undefined;
-- }
--@@ -441,7 +441,7 @@ function toSlowMode(re) {
-- {
-- const re = toSlowMode(/./);
-- const result = re.exec("a");
--- assertTrue(%SpeciesProtector());
--+ assertTrue(%ArraySpeciesProtector());
-- assertEquals(result.__proto__, Array.prototype);
-- assertTrue(result.hasOwnProperty('groups'));
-- assertArrayEquals(["a"], result);
--@@ -449,7 +449,7 @@ function toSlowMode(re) {
-- assertEquals(undefined, result.groups);
--
-- Array.prototype.groups = { a: "b" };
--- assertTrue(%SpeciesProtector());
--+ assertTrue(%ArraySpeciesProtector());
-- assertEquals("$<a>", "a".replace(re, "$<a>"));
-- Array.prototype.groups = undefined;
-- }
--@@ -457,7 +457,7 @@ function toSlowMode(re) {
-- {
-- const re = /(?<a>a).|(?<x>x)/;
-- const result = re.exec("ab");
--- assertTrue(%SpeciesProtector());
--+ assertTrue(%ArraySpeciesProtector());
-- assertEquals(result.__proto__, Array.prototype);
-- assertTrue(result.hasOwnProperty('groups'));
-- assertArrayEquals(["ab", "a", undefined], result);
--@@ -467,7 +467,7 @@ function toSlowMode(re) {
-- // a is a matched named capture, b is an unmatched named capture, and z
-- // is not a named capture.
-- Array.prototype.groups = { a: "b", x: "y", z: "z" };
--- assertTrue(%SpeciesProtector());
--+ assertTrue(%ArraySpeciesProtector());
-- assertEquals("a", "ab".replace(re, "$<a>"));
-- assertEquals("", "ab".replace(re, "$<x>"));
-- assertEquals("", "ab".replace(re, "$<z>"));
--@@ -477,7 +477,7 @@ function toSlowMode(re) {
-- {
-- const re = toSlowMode(/(?<a>a).|(?<x>x)/);
-- const result = re.exec("ab");
--- assertTrue(%SpeciesProtector());
--+ assertTrue(%ArraySpeciesProtector());
-- assertEquals(result.__proto__, Array.prototype);
-- assertTrue(result.hasOwnProperty('groups'));
-- assertArrayEquals(["ab", "a", undefined], result);
--@@ -487,7 +487,7 @@ function toSlowMode(re) {
-- // a is a matched named capture, b is an unmatched named capture, and z
-- // is not a named capture.
-- Array.prototype.groups = { a: "b", x: "y", z: "z" };
--- assertTrue(%SpeciesProtector());
--+ assertTrue(%ArraySpeciesProtector());
-- assertEquals("a", "ab".replace(re, "$<a>"));
-- assertEquals("", "ab".replace(re, "$<x>"));
-- assertEquals("", "ab".replace(re, "$<z>"));
--@@ -506,13 +506,13 @@ function toSlowMode(re) {
--
-- const re = new FakeRegExp();
-- const result = re.exec("ab");
--- assertTrue(%SpeciesProtector());
--+ assertTrue(%ArraySpeciesProtector());
-- assertEquals(result.__proto__, Array.prototype);
-- assertFalse(result.hasOwnProperty('groups'));
--
-- Array.prototype.groups = { a: "b" };
-- Array.prototype.groups.__proto__.b = "c";
--- assertTrue(%SpeciesProtector());
--+ assertTrue(%ArraySpeciesProtector());
-- assertEquals("b", "ab".replace(re, "$<a>"));
-- assertEquals("c", "ab".replace(re, "$<b>"));
-- Array.prototype.groups = undefined;
--@@ -531,7 +531,7 @@ function toSlowMode(re) {
--
-- const re = new FakeRegExp();
-- const result = re.exec("ab");
--- assertTrue(%SpeciesProtector());
--+ assertTrue(%ArraySpeciesProtector());
-- assertEquals(result.__proto__, Array.prototype);
-- assertTrue(result.hasOwnProperty('groups'));
-- assertEquals({ a: "b" }, result.groups);
--diff --git a/test/mjsunit/keyed-store-generic.js b/test/mjsunit/keyed-store-generic.js
--index c2c48dd96d..e5d6ab41f2 100644
----- a/test/mjsunit/keyed-store-generic.js
--+++ b/test/mjsunit/keyed-store-generic.js
--@@ -16,7 +16,7 @@ f("make it generic", 0, 0);
--
-- (function TestSpeciesProtector() {
-- function MyArray() {}
--- assertTrue(%SpeciesProtector());
--+ assertTrue(%ArraySpeciesProtector());
-- f(Array.prototype, "constructor", MyArray);
--- assertFalse(%SpeciesProtector());
--+ assertFalse(%ArraySpeciesProtector());
-- })();
--diff --git a/tools/v8heapconst.py b/tools/v8heapconst.py
--index 5659cdd03c..b4a98dcc11 100644
----- a/tools/v8heapconst.py
--+++ b/tools/v8heapconst.py
--@@ -322,34 +322,35 @@ KNOWN_OBJECTS = {
-- ("OLD_SPACE", 0x02519): "TerminationException",
-- ("OLD_SPACE", 0x02579): "OptimizedOut",
-- ("OLD_SPACE", 0x025d1): "StaleRegister",
--- ("OLD_SPACE", 0x02651): "EmptyByteArray",
--- ("OLD_SPACE", 0x02661): "EmptyFixedUint8Array",
--- ("OLD_SPACE", 0x02681): "EmptyFixedInt8Array",
--- ("OLD_SPACE", 0x026a1): "EmptyFixedUint16Array",
--- ("OLD_SPACE", 0x026c1): "EmptyFixedInt16Array",
--- ("OLD_SPACE", 0x026e1): "EmptyFixedUint32Array",
--- ("OLD_SPACE", 0x02701): "EmptyFixedInt32Array",
--- ("OLD_SPACE", 0x02721): "EmptyFixedFloat32Array",
--- ("OLD_SPACE", 0x02741): "EmptyFixedFloat64Array",
--- ("OLD_SPACE", 0x02761): "EmptyFixedUint8ClampedArray",
--- ("OLD_SPACE", 0x027c1): "EmptyScript",
--- ("OLD_SPACE", 0x02849): "ManyClosuresCell",
--- ("OLD_SPACE", 0x02859): "EmptySloppyArgumentsElements",
--- ("OLD_SPACE", 0x02879): "EmptySlowElementDictionary",
--- ("OLD_SPACE", 0x028c1): "EmptyOrderedHashMap",
--- ("OLD_SPACE", 0x028e9): "EmptyOrderedHashSet",
--- ("OLD_SPACE", 0x02911): "EmptyPropertyCell",
--- ("OLD_SPACE", 0x02939): "EmptyWeakCell",
--- ("OLD_SPACE", 0x029a9): "NoElementsProtector",
--- ("OLD_SPACE", 0x029d1): "IsConcatSpreadableProtector",
--- ("OLD_SPACE", 0x029e1): "SpeciesProtector",
--- ("OLD_SPACE", 0x02a09): "StringLengthProtector",
--- ("OLD_SPACE", 0x02a19): "FastArrayIterationProtector",
--- ("OLD_SPACE", 0x02a29): "ArrayIteratorProtector",
--- ("OLD_SPACE", 0x02a51): "ArrayBufferNeuteringProtector",
--- ("OLD_SPACE", 0x02ac9): "InfinityValue",
--- ("OLD_SPACE", 0x02ad9): "MinusZeroValue",
--- ("OLD_SPACE", 0x02ae9): "MinusInfinityValue",
--+ ("OLD_SPACE", 0x02661): "EmptyByteArray",
--+ ("OLD_SPACE", 0x02681): "EmptyFixedUint8Array",
--+ ("OLD_SPACE", 0x026a1): "EmptyFixedInt8Array",
--+ ("OLD_SPACE", 0x026c1): "EmptyFixedUint16Array",
--+ ("OLD_SPACE", 0x026e1): "EmptyFixedInt16Array",
--+ ("OLD_SPACE", 0x02701): "EmptyFixedUint32Array",
--+ ("OLD_SPACE", 0x02721): "EmptyFixedInt32Array",
--+ ("OLD_SPACE", 0x02741): "EmptyFixedFloat32Array",
--+ ("OLD_SPACE", 0x02761): "EmptyFixedFloat64Array",
--+ ("OLD_SPACE", 0x02781): "EmptyFixedUint8ClampedArray",
--+ ("OLD_SPACE", 0x027e1): "EmptyScript",
--+ ("OLD_SPACE", 0x02879): "ManyClosuresCell",
--+ ("OLD_SPACE", 0x02889): "EmptySloppyArgumentsElements",
--+ ("OLD_SPACE", 0x028a9): "EmptySlowElementDictionary",
--+ ("OLD_SPACE", 0x028f1): "EmptyOrderedHashMap",
--+ ("OLD_SPACE", 0x02919): "EmptyOrderedHashSet",
--+ ("OLD_SPACE", 0x02951): "EmptyPropertyCell",
--+ ("OLD_SPACE", 0x02979): "EmptyWeakCell",
--+ ("OLD_SPACE", 0x029e9): "NoElementsProtector",
--+ ("OLD_SPACE", 0x02a11): "IsConcatSpreadableProtector",
--+ ("OLD_SPACE", 0x02a21): "ArraySpeciesProtector",
--+ ("OLD_SPACE", 0x02a49): "TypedArraySpeciesProtector",
--+ ("OLD_SPACE", 0x02a71): "PromiseSpeciesProtector",
--+ ("OLD_SPACE", 0x02a99): "StringLengthProtector",
--+ ("OLD_SPACE", 0x02aa9): "ArrayIteratorProtector",
--+ ("OLD_SPACE", 0x02ad1): "ArrayBufferNeuteringProtector",
--+ ("OLD_SPACE", 0x02b59): "InfinityValue",
--+ ("OLD_SPACE", 0x02b69): "MinusZeroValue",
--+ ("OLD_SPACE", 0x02b79): "MinusInfinityValue",
-- }
--
-- # List of known V8 Frame Markers.
----
--2.11.0 (Apple Git-81)
--
---- a/patches/common/v8/backport_39d546a.patch
-+++ b/patches/common/v8/backport_39d546a.patch
-@@ -42,43 +42,3 @@
- MaybeLocal<String> Value::ToString(Local<Context> context) const {
- auto obj = Utils::OpenHandle(this);
- if (obj->IsString()) return ToApiHandle<String>(obj);
--diff --git a/test/cctest/test-api.cc b/test/cctest/test-api.cc
--index 54afc61f4c..b7483a7c5e 100644
----- a/test/cctest/test-api.cc
--+++ b/test/cctest/test-api.cc
--@@ -27239,6 +27239,35 @@ TEST(ImportMeta) {
-- CHECK(result->StrictEquals(Local<v8::Value>::Cast(v8::Utils::ToLocal(meta))));
-- }
--
--+TEST(GetModuleNamespace) {
--+ LocalContext context;
--+ v8::Isolate* isolate = context->GetIsolate();
--+ v8::HandleScope scope(isolate);
--+
--+ Local<String> url = v8_str("www.google.com");
--+ Local<String> source_text = v8_str("export default 5; export const a = 10;");
--+ v8::ScriptOrigin origin(url, Local<v8::Integer>(), Local<v8::Integer>(),
--+ Local<v8::Boolean>(), Local<v8::Integer>(),
--+ Local<v8::Value>(), Local<v8::Boolean>(),
--+ Local<v8::Boolean>(), True(isolate));
--+ v8::ScriptCompiler::Source source(source_text, origin);
--+ Local<Module> module =
--+ v8::ScriptCompiler::CompileModule(isolate, &source).ToLocalChecked();
--+ module->InstantiateModule(context.local(), UnexpectedModuleResolveCallback)
--+ .ToChecked();
--+ module->Evaluate(context.local()).ToLocalChecked();
--+
--+ Local<Value> ns_val = module->GetModuleNamespace();
--+ CHECK(ns_val->IsModuleNamespaceObject());
--+ Local<Object> ns = ns_val.As<Object>();
--+ CHECK(ns->Get(context.local(), v8_str("default"))
--+ .ToLocalChecked()
--+ ->StrictEquals(v8::Number::New(isolate, 5)));
--+ CHECK(ns->Get(context.local(), v8_str("a"))
--+ .ToLocalChecked()
--+ ->StrictEquals(v8::Number::New(isolate, 10)));
--+}
--+
-- TEST(GlobalTemplateWithDoubleProperty) {
-- v8::Isolate* isolate = CcTest::isolate();
-- v8::HandleScope handle_scope(isolate);
---- a/patches/common/v8/backport_9fb02b526.patch
-+++ b/patches/common/v8/backport_9fb02b526.patch
-@@ -73,42 +73,3 @@
- }
-
- raw_holder = GetCompatibleReceiver(isolate, *fun_data, *js_receiver);
--diff --git a/test/cctest/test-api.cc b/test/cctest/test-api.cc
--index 7887cbfa75..0605f439e5 100644
----- a/test/cctest/test-api.cc
--+++ b/test/cctest/test-api.cc
--@@ -1088,6 +1088,34 @@ THREADED_PROFILED_TEST(FunctionTemplate) {
-- TestFunctionTemplateAccessor(construct_callback, Return239Callback);
-- }
--
--+static void FunctionCallbackForProxyTest(
--+ const v8::FunctionCallbackInfo<Value>& info) {
--+ info.GetReturnValue().Set(info.This());
--+}
--+
--+THREADED_TEST(FunctionTemplateWithProxy) {
--+ LocalContext env;
--+ v8::Isolate* isolate = env->GetIsolate();
--+ v8::HandleScope scope(isolate);
--+
--+ v8::Local<v8::FunctionTemplate> function_template =
--+ v8::FunctionTemplate::New(isolate, FunctionCallbackForProxyTest);
--+ v8::Local<v8::Function> function =
--+ function_template->GetFunction(env.local()).ToLocalChecked();
--+ CHECK((*env)->Global()->Set(env.local(), v8_str("f"), function).FromJust());
--+ v8::Local<v8::Value> proxy =
--+ CompileRun("var proxy = new Proxy({}, {}); proxy");
--+ CHECK(proxy->IsProxy());
--+
--+ v8::Local<v8::Value> result = CompileRun("f(proxy)");
--+ CHECK(result->Equals(env.local(), (*env)->Global()).FromJust());
--+
--+ result = CompileRun("f.call(proxy)");
--+ CHECK(result->Equals(env.local(), proxy).FromJust());
--+
--+ result = CompileRun("Reflect.apply(f, proxy, [1])");
--+ CHECK(result->Equals(env.local(), proxy).FromJust());
--+}
--
-- static void SimpleCallback(const v8::FunctionCallbackInfo<v8::Value>& info) {
-- ApiTestFuzzer::Fuzz();
Deleted: libchromiumcontent-settings.patch
===================================================================
--- libchromiumcontent-settings.patch 2019-03-19 06:54:58 UTC (rev 442579)
+++ libchromiumcontent-settings.patch 2019-03-19 07:00:17 UTC (rev 442580)
@@ -1,44 +0,0 @@
---- a/chromiumcontent/args/native_mksnapshot.gn
-+++ b/chromiumcontent/args/native_mksnapshot.gn
-@@ -11,3 +11,10 @@
- if (target_cpu == "arm64") {
- v8_snapshot_toolchain="//build/toolchain/linux:clang_arm64"
- }
-+clang_base_path = "/usr"
-+clang_use_chrome_plugins = false
-+treat_warnings_as_errors = false
-+use_custom_libcxx = false
-+use_sysroot = false
-+use_gconf = false
-+use_gnome_keyring = false
---- a/chromiumcontent/args/static_library.gn
-+++ b/chromiumcontent/args/static_library.gn
-@@ -1,13 +1,26 @@
- root_extra_deps = [ "//libchromiumcontent/chromiumcontent" ]
- is_electron_build = true
- is_component_build = false
--is_official_build = true
--symbol_level = 2
-+is_debug = false
-+symbol_level = 0
- enable_nacl = false
- enable_widevine = true
- proprietary_codecs = true
- is_component_ffmpeg = true
- ffmpeg_branding = "Chrome"
-+custom_toolchain="//build/toolchain/linux/unbundle:default"
-+host_toolchain="//build/toolchain/linux/unbundle:default"
-+clang_base_path = "/usr"
-+clang_use_chrome_plugins = false
-+fatal_linker_warnings = false
-+treat_warnings_as_errors = false
-+fieldtrial_testing_like_official_build = true
-+remove_webcore_debug_symbols = true
-+link_pulseaudio = true
-+linux_use_bundled_binutils = false
-+use_cups = true
-+use_sysroot = false
-+use_gnome_keyring = false
-
- # This may be guarded behind is_chrome_branded alongside
- # proprietary_codecs https://webrtc-review.googlesource.com/c/src/+/36321,
Deleted: libchromiumcontent-sort-filenames.patch
===================================================================
--- libchromiumcontent-sort-filenames.patch 2019-03-19 06:54:58 UTC (rev 442579)
+++ libchromiumcontent-sort-filenames.patch 2019-03-19 07:00:17 UTC (rev 442580)
@@ -1,32 +0,0 @@
---- a/chromiumcontent/build_libs.py
-+++ b/chromiumcontent/build_libs.py
-@@ -22,7 +22,8 @@ def gen_list(out, name, obj_dirs):
- for base_dir in obj_dirs:
- base_path = os.path.join('obj', base_dir)
- for dir, subdirs, files in walk_dir(base_path, exclude_dirs):
-- for f in files:
-+ subdirs.sort()
-+ for f in sorted(files):
- if f.endswith('.obj') or f.endswith('.o'):
- out.write('"' + os.path.abspath(os.path.join(dir, f)) + '",\n')
- out.write("]\n")
---- a/tools/generate_filenames_gypi.py
-+++ b/tools/generate_filenames_gypi.py
-@@ -99,7 +99,7 @@ def main(target_file, code_dir, shared_dir, static_dir):
-
-
- def find_libraries(dirpath, library_suffix, list_of_excludes):
-- libraries = glob.glob(os.path.join(dirpath, '*.' + library_suffix))
-+ libraries = sorted(glob.glob(os.path.join(dirpath, '*.' + library_suffix)))
- if (library_suffix == 'so'):
- # Handle "libname.so.123"
- libraries += find_files_by_regex(dirpath, re.compile('.*\.so\.[0-9]+'))
-@@ -132,7 +132,7 @@ def find_files_by_regex(dirpath, regex):
- if regex.match(file):
- files_found.append(os.path.join(root, file))
-
-- return files_found
-+ return sorted(files_found)
-
-
- def is_v8_library(p):
Deleted: libchromiumcontent-static-library-only.patch
===================================================================
--- libchromiumcontent-static-library-only.patch 2019-03-19 06:54:58 UTC (rev 442579)
+++ libchromiumcontent-static-library-only.patch 2019-03-19 07:00:17 UTC (rev 442580)
@@ -1,43 +0,0 @@
---- a/script/create-dist
-+++ b/script/create-dist
-@@ -69,7 +69,7 @@ BINARIES = {
- 'libffmpeg.dylib',
- ],
- 'linux': [
-- 'libffmpeg.so',
-+ # 'libffmpeg.so',
- ],
- 'win32': [
- 'd3dcompiler_47.dll',
-@@ -448,7 +448,7 @@ def generate_ninja(args, ninja):
- copy_locales(target_arch, component, ninja)
-
- if args.component != 'native_mksnapshot':
-- copy_ffmpeg(target_arch, ninja)
-+ # copy_ffmpeg(target_arch, ninja)
- copy_sources(ninja)
- generate_licenses(ninja)
-
-@@ -576,9 +576,9 @@ def copy_binaries(target_arch, component, create_debug_archive,
- elif target_arch == 'mips64el':
- binaries = [ 'chromedriver', 'clang_x64_v8_mips64el/mksnapshot' ]
- else:
-- binaries = [ 'chromedriver', 'mksnapshot' ]
-+ binaries = [ 'mksnapshot' ]
-
-- ffmpeg_output_dir = get_output_dir(SOURCE_ROOT, target_arch, 'ffmpeg')
-+ ffmpeg_output_dir = get_output_dir(SOURCE_ROOT, target_arch, 'static_library')
- for binary in binaries:
- ninja.copy(os.path.join(ffmpeg_output_dir, binary), target_dir)
-
---- a/script/lib/config.py
-+++ b/script/lib/config.py
-@@ -10,7 +10,7 @@
- VENDOR_DIR = os.path.join(SOURCE_ROOT, 'vendor')
- DEPOT_TOOLS_DIR = os.path.join(VENDOR_DIR, 'depot_tools')
-
--COMPONENTS = ['static_library', 'shared_library', 'ffmpeg', 'tests', 'native_mksnapshot']
-+COMPONENTS = ['static_library', 'native_mksnapshot']
-
- # URL to the mips64el sysroot image.
- MIPS64EL_SYSROOT = 'https://github.com/electron/debian-sysroot-image-creator/releases/download/v0.5.0/debian_jessie_mips64-sysroot.tar.bz2'
Deleted: libchromiumcontent-use-system-tools.patch
===================================================================
--- libchromiumcontent-use-system-tools.patch 2019-03-19 06:54:58 UTC (rev 442579)
+++ libchromiumcontent-use-system-tools.patch 2019-03-19 07:00:17 UTC (rev 442580)
@@ -1,34 +0,0 @@
---- a/script/lib/ninja.py
-+++ b/script/lib/ninja.py
-@@ -15,7 +15,7 @@
-
-
- def run(directory, target=None, env=None):
-- ninja_binary = __get_binary_path()
-+ ninja_binary = 'ninja'
-
- args = [ninja_binary,
- '-C', directory
---- a/script/run-gn
-+++ b/script/run-gn
-@@ -56,7 +56,7 @@
- if sys.platform in ['win32', 'cygwin']:
- env['DEPOT_TOOLS_WIN_TOOLCHAIN'] = '0'
-
-- gn.generate(build_dir, chromium_root_dir=SRC_DIR, depot_tools_dir=DEPOT_TOOLS_DIR, env=env)
-+ gn.generate(build_dir, chromium_root_dir=SRC_DIR, depot_tools_dir=os.path.join('/usr', 'bin'), env=env)
-
-
- def create_gn_config(component, build_dir, **gnargs):
---- a/script/update
-+++ b/script/update
-@@ -89,9 +89,7 @@
- install_aarch64_bintools()
-
- return ((apply_patches(target_arch) if args.apply_patches else 0) or
-- install_sysroot_if_needed(target_arch) or
- copy_chromiumcontent_files() or
-- update_clang() or
- setup_mips64el_toolchain(target_arch) or
- run_gn(target_arch, args.cc_wrapper))
-
Deleted: no-clang-plugins.patch
===================================================================
--- no-clang-plugins.patch 2019-03-19 06:54:58 UTC (rev 442579)
+++ no-clang-plugins.patch 2019-03-19 07:00:17 UTC (rev 442580)
@@ -1,38 +0,0 @@
---- a/toolchain.gypi
-+++ b/toolchain.gypi
-@@ -134,35 +134,6 @@
- 'CLANG_CXX_LANGUAGE_STANDARD': 'c++14', # -std=c++14
- },
- 'target_conditions': [
-- ['_target_name in ["electron", "brightray"]', {
-- 'conditions': [
-- ['OS=="mac"', {
-- 'xcode_settings': {
-- 'OTHER_CFLAGS': [
-- "-Xclang",
-- "-load",
-- "-Xclang",
-- "<(source_root)/<(make_clang_dir)/lib/libFindBadConstructs.dylib",
-- "-Xclang",
-- "-add-plugin",
-- "-Xclang",
-- "find-bad-constructs",
-- ],
-- },
-- }, { # OS=="mac"
-- 'cflags_cc': [
-- "-Xclang",
-- "-load",
-- "-Xclang",
-- "<(source_root)/<(make_clang_dir)/lib/libFindBadConstructs.so",
-- "-Xclang",
-- "-add-plugin",
-- "-Xclang",
-- "find-bad-constructs",
-- ],
-- }],
-- ],
-- }],
- ['OS=="mac" and _type in ["executable", "shared_library"]', {
- 'xcode_settings': {
- # On some machines setting CLANG_CXX_LIBRARY doesn't work for
Deleted: no-whole-archive.patch
===================================================================
--- no-whole-archive.patch 2019-03-19 06:54:58 UTC (rev 442579)
+++ no-whole-archive.patch 2019-03-19 07:00:17 UTC (rev 442580)
@@ -1,22 +0,0 @@
---- a/brightray/brightray.gyp
-+++ b/brightray/brightray.gyp
-@@ -55,14 +55,13 @@
- 'conditions': [
- # Link with libraries of libchromiumcontent.
- ['OS=="linux" and libchromiumcontent_component==0', {
-- # On Linux we have to use "--whole-archive" to force executable
-- # to include all symbols, otherwise we will have plenty of
-+ # On Linux we have to use "--start-group" or we will have plenty of
- # unresolved symbols errors.
-- 'direct_dependent_settings': {
-- 'ldflags': [
-- '-Wl,--whole-archive',
-+ 'link_settings': {
-+ 'libraries': [
-+ '-Wl,--start-group',
- '<@(libchromiumcontent_libraries)',
-- '-Wl,--no-whole-archive',
-+ '-Wl,--end-group'
- ],
- }
- }, { # (Release build on Linux)
Added: only-disable-cfi-icall-when-use_system_libjpeg-true.patch
===================================================================
--- only-disable-cfi-icall-when-use_system_libjpeg-true.patch (rev 0)
+++ only-disable-cfi-icall-when-use_system_libjpeg-true.patch 2019-03-19 07:00:17 UTC (rev 442580)
@@ -0,0 +1,34 @@
+From 20f81a066ffdf6bd30fb4b696b8b3e101368e2f6 Mon Sep 17 00:00:00 2001
+From: Vlad Tsyrklevich <vtsyrklevich at chromium.org>
+Date: Tue, 31 Jul 2018 23:21:09 +0000
+Subject: [PATCH] Only disable cfi-icall when use_system_libjpeg=true
+
+Bug: 866290
+Change-Id: Ic5d175b3b854665f50781650406d599d09ee9849
+Reviewed-on: https://chromium-review.googlesource.com/1157136
+Reviewed-by: Kentaro Hara <haraken at chromium.org>
+Commit-Queue: Vlad Tsyrklevich <vtsyrklevich at chromium.org>
+Cr-Commit-Position: refs/heads/master@{#579614}
+---
+ .../platform/image-decoders/jpeg/jpeg_image_decoder.cc | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/third_party/blink/renderer/platform/image-decoders/jpeg/jpeg_image_decoder.cc b/third_party/blink/renderer/platform/image-decoders/jpeg/jpeg_image_decoder.cc
+index fd4e72ba053c..afa90d83efee 100644
+--- a/third_party/blink/renderer/platform/image-decoders/jpeg/jpeg_image_decoder.cc
++++ b/third_party/blink/renderer/platform/image-decoders/jpeg/jpeg_image_decoder.cc
+@@ -643,7 +643,10 @@ class JPEGImageReader final {
+ IntSize UvSize() const { return uv_size_; }
+
+ private:
+- NO_SANITIZE_CFI_ICALL JSAMPARRAY AllocateSampleArray() {
++#if defined(USE_SYSTEM_LIBJPEG)
++ NO_SANITIZE_CFI_ICALL
++#endif
++ JSAMPARRAY AllocateSampleArray() {
+ // Some output color spaces don't need the sample array: don't allocate in that
+ // case.
+ #if defined(TURBO_JPEG_RGB_SWIZZLE)
+--
+2.18.0
+
Deleted: use-system-ffmpeg.patch
===================================================================
--- use-system-ffmpeg.patch 2019-03-19 06:54:58 UTC (rev 442579)
+++ use-system-ffmpeg.patch 2019-03-19 07:00:17 UTC (rev 442580)
@@ -1,21 +0,0 @@
---- a/brightray/brightray.gyp
-+++ b/brightray/brightray.gyp
-@@ -157,8 +157,6 @@
- }, {
- 'link_settings': {
- 'libraries': [
-- # Link with ffmpeg.
-- '<(libchromiumcontent_dir)/libffmpeg.so',
- # Following libraries are required by libchromiumcontent:
- '-lasound',
- '-lcap',
---- a/electron.gyp
-+++ b/electron.gyp
-@@ -233,7 +233,6 @@
- }, {
- 'copied_libraries': [
- '<(PRODUCT_DIR)/lib/libnode.so',
-- '<(libchromiumcontent_dir)/libffmpeg.so',
- ],
- }],
- ],
Modified: use-system-libraries-in-node.patch
===================================================================
--- use-system-libraries-in-node.patch 2019-03-19 06:54:58 UTC (rev 442579)
+++ use-system-libraries-in-node.patch 2019-03-19 07:00:17 UTC (rev 442580)
@@ -1,31 +1,54 @@
---- a/common.gypi
-+++ b/common.gypi
-@@ -27,12 +27,12 @@
- 'node_install_npm': 'false',
- 'node_prefix': '',
- 'node_shared': 'true',
-- 'node_shared_cares': 'false',
-- 'node_shared_http_parser': 'false',
-+ 'node_shared_cares': 'true',
-+ 'node_shared_http_parser': 'true',
- 'node_shared_libuv': 'false',
- 'node_shared_openssl': 'false',
- 'node_shared_v8': 'true',
-- 'node_shared_zlib': 'false',
-+ 'node_shared_zlib': 'true',
- 'node_tag': '',
- 'node_use_dtrace': 'false',
- 'node_use_etw': 'false',
-@@ -198,6 +198,12 @@
- },
- }],
- ['OS=="linux" and libchromiumcontent_component==0', {
-+ 'libraries': [
-+ '-lcares',
-+ '-lcrypto',
-+ '-lhttp_parser',
-+ '-lz',
-+ ],
- # Prevent the linker from stripping symbols.
- 'ldflags': [
- '-Wl,--whole-archive',
+--- a/third_party/electron_node/BUILD.gn
++++ b/third_party/electron_node/BUILD.gn
+@@ -42,6 +42,18 @@
+ node_release_urlbase = ""
+ }
+
++if (is_linux) {
++ import("//build/config/linux/pkg_config.gni")
++
++ pkg_config("cares") {
++ packages = [ "libcares" ]
++ }
++
++ pkg_config("nghttp2") {
++ packages = [ "libnghttp2" ]
++ }
++}
++
+ assert(!node_use_dtrace, "node_use_dtrace not supported in GN")
+ assert(!node_use_etw, "node_use_etw not supported in GN")
+ assert(!node_use_perfctr, "node_use_perfctr not supported in GN")
+@@ -128,10 +140,6 @@
+ component("node_lib") {
+ deps = [
+ ":node_js2c",
+- "deps/cares",
+- "deps/http_parser",
+- "deps/nghttp2",
+- "deps/zlib",
+ "//v8:v8_libplatform",
+ ]
+ public_deps = [
+@@ -141,6 +149,21 @@
+ public_configs = [ ":node_lib_config" ]
+ include_dirs = [ "src" ]
+ libs = []
++ if (is_linux) {
++ configs += [
++ ":cares",
++ ":nghttp2",
++ ]
++ deps += [ "//third_party/zlib" ]
++ libs += [ "http_parser" ]
++ } else {
++ deps += [
++ "deps/cares",
++ "deps/http_parser",
++ "deps/nghttp2",
++ "deps/zlib",
++ ]
++ }
+ cflags_cc = [
+ "-Wno-deprecated-declarations",
+ "-Wno-implicit-fallthrough",
More information about the arch-commits
mailing list