mirror of
https://github.com/archr-linux/Arch-R.git
synced 2026-03-31 14:41:55 -07:00
chromium: update to 63.0.3239.84
This commit is contained in:
38
packages/addons/addon-depends/node/package.mk
Normal file
38
packages/addons/addon-depends/node/package.mk
Normal file
@@ -0,0 +1,38 @@
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
|
||||
#
|
||||
# OpenELEC is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# OpenELEC is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with OpenELEC. If not, see <http://www.gnu.org/licenses/>.
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="node"
|
||||
PKG_VERSION="8.9.3"
|
||||
PKG_SHA256="a5042d983f9815ee18a5c6fd75f8b3b2022ed96a2aaa8834300cd1ee81e8870c"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="https://nodejs.org"
|
||||
PKG_URL="https://github.com/nodejs/node/archive/v$PKG_VERSION.tar.gz"
|
||||
PKG_DEPENDS_HOST="toolchain"
|
||||
PKG_SHORTDESC="Node.js JavaScript runtime"
|
||||
PKG_LONGDESC="Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient. The Node.js package ecosystem, npm, is the largest ecosystem of open source libraries in the world."
|
||||
|
||||
HOST_CONFIGURE_OPTS="--prefix=$TOOLCHAIN \
|
||||
--fully-static \
|
||||
--with-intl=none \
|
||||
--without-npm \
|
||||
--without-ssl"
|
||||
|
||||
pre_configure_host() {
|
||||
cd ..
|
||||
}
|
||||
@@ -19,15 +19,15 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="chromium"
|
||||
PKG_VERSION="62.0.3202.62"
|
||||
PKG_SHA256="e8df3150386729ddcb4971636627e54815ad447be5f122201e310f5bb0bcc362"
|
||||
PKG_REV="107.008"
|
||||
PKG_VERSION="63.0.3239.84"
|
||||
PKG_SHA256="6de2754dfc333675ae6a67ae13c95666009b35c84f847b058edbf312e42fa3af"
|
||||
PKG_REV="107.009"
|
||||
PKG_ARCH="x86_64"
|
||||
PKG_LICENSE="Mixed"
|
||||
PKG_SITE="http://www.chromium.org/Home"
|
||||
PKG_URL="https://commondatastorage.googleapis.com/chromium-browser-official/$PKG_NAME-$PKG_VERSION.tar.xz"
|
||||
PKG_DEPENDS_HOST="toolchain ninja:host Python2:host"
|
||||
PKG_DEPENDS_TARGET="chromium:host pciutils dbus libXcomposite libXcursor libXtst alsa-lib bzip2 yasm nss libXScrnSaver libexif libpng harfbuzz atk gtk+ libva-vdpau-driver unclutter xdotool"
|
||||
PKG_DEPENDS_TARGET="chromium:host node:host pciutils dbus libXcomposite libXcursor libXtst alsa-lib bzip2 yasm nss libXScrnSaver libexif libpng atk gtk+ libva-vdpau-driver unclutter xdotool"
|
||||
PKG_SECTION="browser"
|
||||
PKG_SHORTDESC="Chromium Browser: the open-source web browser from Google"
|
||||
PKG_LONGDESC="Chromium Browser ($PKG_VERSION): the open-source web browser from Google"
|
||||
@@ -52,10 +52,6 @@ make_host() {
|
||||
./tools/gn/bootstrap/bootstrap.py --no-rebuild --no-clean --verbose
|
||||
}
|
||||
|
||||
makeinstall_host() {
|
||||
:
|
||||
}
|
||||
|
||||
make_target() {
|
||||
strip_lto
|
||||
export LDFLAGS="$LDFLAGS -ludev"
|
||||
@@ -65,9 +61,9 @@ make_target() {
|
||||
# Note: These are for OpenELEC use ONLY. For your own distribution, please
|
||||
# get your own set of keys.
|
||||
|
||||
_google_api_key=AIzaSyAQ6L9vt9cnN4nM0weaa6Y38K4eyPvtKgI
|
||||
_google_default_client_id=740889307901-4bkm4e0udppnp1lradko85qsbnmkfq3b.apps.googleusercontent.com
|
||||
_google_default_client_secret=9TJlhL661hvShQub4cWhANXa
|
||||
local _google_api_key=AIzaSyAQ6L9vt9cnN4nM0weaa6Y38K4eyPvtKgI
|
||||
local _google_default_client_id=740889307901-4bkm4e0udppnp1lradko85qsbnmkfq3b.apps.googleusercontent.com
|
||||
local _google_default_client_secret=9TJlhL661hvShQub4cWhANXa
|
||||
|
||||
local _flags=(
|
||||
"host_toolchain=\"//build/toolchain/linux:x64_host\""
|
||||
@@ -93,45 +89,27 @@ make_target() {
|
||||
'use_kerberos=false'
|
||||
'use_pulseaudio=false'
|
||||
'use_sysroot=true'
|
||||
'use_vulcanize=false'
|
||||
'use_vaapi=true'
|
||||
'exclude_unwind_tables=true'
|
||||
'use_v8_context_snapshot=false'
|
||||
'enable_vulkan=false'
|
||||
"target_sysroot=\"${SYSROOT_PREFIX}\""
|
||||
'exclude_unwind_tables=true'
|
||||
'enable_hangout_services_extension=true'
|
||||
'enable_widevine=true'
|
||||
'enable_nacl=false'
|
||||
'enable_nacl_nonsfi=false'
|
||||
'enable_swiftshader=false'
|
||||
'enable_vulkan=false'
|
||||
"google_api_key=\"${_google_api_key}\""
|
||||
"google_default_client_id=\"${_google_default_client_id}\""
|
||||
"google_default_client_secret=\"${_google_default_client_secret}\""
|
||||
)
|
||||
|
||||
# Possible replacements are listed in build/linux/unbundle/replace_gn_files.py
|
||||
local _system_libs=(
|
||||
harfbuzz-ng
|
||||
libjpeg
|
||||
libpng
|
||||
libxslt
|
||||
yasm
|
||||
)
|
||||
|
||||
# Remove bundled libraries for which we will use the system copies; this
|
||||
# *should* do what the remove_bundled_libraries.py script does, with the
|
||||
# added benefit of not having to list all the remaining libraries
|
||||
local _lib
|
||||
for _lib in ${_system_libs}; do
|
||||
find -type f -path "*third_party/$_lib/*" \
|
||||
\! -path "*third_party/$_lib/chromium/*" \
|
||||
\! -path "*third_party/$_lib/google/*" \
|
||||
\! -regex '.*\.\(gn\|gni\|isolate\|py\)' \
|
||||
-delete
|
||||
done
|
||||
|
||||
./build/linux/unbundle/replace_gn_files.py --system-libraries "${_system_libs}"
|
||||
./third_party/libaddressinput/chromium/tools/update-strings.py
|
||||
|
||||
./out/Release/gn gen out/Release --args="${_flags[*]}" --script-executable=$TOOLCHAIN/bin/python
|
||||
mkdir -p $PKG_BUILD/third_party/node/linux/node-linux-x64/bin
|
||||
ln -fs $TOOLCHAIN/bin/node $PKG_BUILD/third_party/node/linux/node-linux-x64/bin/node
|
||||
|
||||
ninja -j${CONCURRENCY_MAKE_LEVEL} -C out/Release chrome chrome_sandbox widevinecdmadapter
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,44 @@
|
||||
From 1fc37227522ccd314f82ec893ed15c6129296604 Mon Sep 17 00:00:00 2001
|
||||
From: Paul Jensen <pauljensen@chromium.org>
|
||||
Date: Wed, 11 Oct 2017 08:37:34 -0400
|
||||
Subject: [PATCH] Move exclude_unwind_tables back into declare_args
|
||||
|
||||
There is desire to adjust this flag manually.
|
||||
|
||||
BUG=762629
|
||||
R=thakis@chromium.org
|
||||
|
||||
Change-Id: I3bd134c19270cd1f729b3ea078674e734493d4ab
|
||||
---
|
||||
|
||||
diff --git a/build/config/compiler/compiler.gni b/build/config/compiler/compiler.gni
|
||||
index ad40fd9..50e19a4 100644
|
||||
--- a/build/config/compiler/compiler.gni
|
||||
+++ b/build/config/compiler/compiler.gni
|
||||
@@ -68,18 +68,18 @@
|
||||
|
||||
# Whether or not we should use position independent code.
|
||||
use_pic = true
|
||||
+
|
||||
+ # Exclude unwind tables for official builds as unwinding can be done from
|
||||
+ # stack dumps produced by Crashpad at a later time "offline" in the crash
|
||||
+ # server. For unofficial (e.g. development) builds and non-Chrome branded
|
||||
+ # (e.g. Cronet which doesn't use Crashpad, crbug.com/479283) builds it's
|
||||
+ # useful to be able to unwind at runtime.
|
||||
+ exclude_unwind_tables = (is_chrome_branded && is_official_build) ||
|
||||
+ (is_chromecast && !is_cast_desktop_build && !is_debug)
|
||||
}
|
||||
|
||||
assert(!is_cfi || use_thin_lto, "CFI requires ThinLTO")
|
||||
|
||||
-# Exclude unwind tables for official builds as unwinding can be done from stack
|
||||
-# dumps produced by Crashpad at a later time "offline" in the crash server.
|
||||
-# For unofficial (e.g. development) builds and non-Chrome branded (e.g. Cronet
|
||||
-# which doesn't use Crashpad, crbug.com/479283) builds it's useful to be able
|
||||
-# to unwind at runtime.
|
||||
-exclude_unwind_tables = (is_chrome_branded && is_official_build) ||
|
||||
- (is_chromecast && !is_cast_desktop_build && !is_debug)
|
||||
-
|
||||
# If true, optimize for size. Does not affect windows builds.
|
||||
# Linux & Mac favor speed over size.
|
||||
# TODO(brettw) it's weird that Mac and desktop Linux are different. We should
|
||||
@@ -1,70 +0,0 @@
|
||||
Source: https://aur.archlinux.org/packages/chromium-vaapi/
|
||||
|
||||
--- a/tools/gn/bootstrap/bootstrap.py
|
||||
+++ b/tools/gn/bootstrap/bootstrap.py
|
||||
@@ -179,6 +179,7 @@ def build_gn_with_ninja_manually(tempdir, options):
|
||||
|
||||
write_buildflag_header_manually(root_gen_dir, 'base/debug/debugging_flags.h',
|
||||
{
|
||||
+ 'ENABLE_LOCATION_SOURCE': 'false',
|
||||
'ENABLE_PROFILING': 'false',
|
||||
'CAN_UNWIND_WITH_FRAME_POINTERS': 'false'
|
||||
})
|
||||
@@ -204,7 +205,7 @@ def build_gn_with_ninja_manually(tempdir, options):
|
||||
|
||||
write_gn_ninja(os.path.join(tempdir, 'build.ninja'),
|
||||
root_gen_dir, options)
|
||||
- cmd = ['ninja', '-C', tempdir]
|
||||
+ cmd = ['ninja', '-C', tempdir, '-w', 'dupbuild=err']
|
||||
if options.verbose:
|
||||
cmd.append('-v')
|
||||
|
||||
@@ -458,6 +459,7 @@ def write_gn_ninja(path, root_gen_dir, options):
|
||||
'base/metrics/bucket_ranges.cc',
|
||||
'base/metrics/field_trial.cc',
|
||||
'base/metrics/field_trial_param_associator.cc',
|
||||
+ 'base/metrics/field_trial_params.cc',
|
||||
'base/metrics/histogram.cc',
|
||||
'base/metrics/histogram_base.cc',
|
||||
'base/metrics/histogram_functions.cc',
|
||||
@@ -507,6 +509,7 @@ def write_gn_ninja(path, root_gen_dir, options):
|
||||
'base/task_scheduler/scheduler_lock_impl.cc',
|
||||
'base/task_scheduler/scheduler_single_thread_task_runner_manager.cc',
|
||||
'base/task_scheduler/scheduler_worker.cc',
|
||||
+ 'base/task_scheduler/scheduler_worker_pool.cc',
|
||||
'base/task_scheduler/scheduler_worker_pool_impl.cc',
|
||||
'base/task_scheduler/scheduler_worker_pool_params.cc',
|
||||
'base/task_scheduler/scheduler_worker_stack.cc',
|
||||
@@ -523,6 +526,7 @@ def write_gn_ninja(path, root_gen_dir, options):
|
||||
'base/third_party/icu/icu_utf.cc',
|
||||
'base/third_party/nspr/prtime.cc',
|
||||
'base/threading/post_task_and_reply_impl.cc',
|
||||
+ 'base/threading/scoped_blocking_call.cc',
|
||||
'base/threading/sequence_local_storage_map.cc',
|
||||
'base/threading/sequenced_task_runner_handle.cc',
|
||||
'base/threading/sequenced_worker_pool.cc',
|
||||
@@ -579,7 +583,6 @@ def write_gn_ninja(path, root_gen_dir, options):
|
||||
'base/unguessable_token.cc',
|
||||
'base/value_iterators.cc',
|
||||
'base/values.cc',
|
||||
- 'base/value_iterators.cc',
|
||||
'base/vlog.cc',
|
||||
])
|
||||
|
||||
@@ -652,7 +655,6 @@ def write_gn_ninja(path, root_gen_dir, options):
|
||||
static_libraries['base']['sources'].extend([
|
||||
'base/memory/shared_memory_handle_posix.cc',
|
||||
'base/memory/shared_memory_posix.cc',
|
||||
- 'base/memory/shared_memory_tracker.cc',
|
||||
'base/nix/xdg_util.cc',
|
||||
'base/process/internal_linux.cc',
|
||||
'base/process/memory_linux.cc',
|
||||
@@ -827,7 +829,7 @@ def build_gn_with_gn(temp_gn, build_dir, options):
|
||||
cmd = [temp_gn, 'gen', build_dir, '--args=%s' % gn_gen_args]
|
||||
check_call(cmd)
|
||||
|
||||
- cmd = ['ninja', '-C', build_dir]
|
||||
+ cmd = ['ninja', '-C', build_dir, '-w', 'dupbuild=err']
|
||||
if options.verbose:
|
||||
cmd.append('-v')
|
||||
cmd.append('gn')
|
||||
@@ -1,227 +0,0 @@
|
||||
Source: https://aur.archlinux.org/packages/chromium-vaapi/ breakpad-use-ucontext_t.patch
|
||||
|
||||
From b6a312ed8e144a37da840ae50dbd39df5ffb7e9f Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Sun, 2 Jul 2017 16:34:54 -0700
|
||||
Subject: [PATCH 2/2] replace struct ucontext with ucontext_t
|
||||
|
||||
glibc 2.26 does not expose struct ucontext any longer
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
.../linux/dump_writer_common/ucontext_reader.cc | 30 +++++++++++-----------
|
||||
.../linux/dump_writer_common/ucontext_reader.h | 10 ++++----
|
||||
.../src/client/linux/handler/exception_handler.cc | 8 +++---
|
||||
.../src/client/linux/handler/exception_handler.h | 2 +-
|
||||
.../linux/microdump_writer/microdump_writer.cc | 2 +-
|
||||
.../linux/minidump_writer/minidump_writer.cc | 2 +-
|
||||
6 files changed, 27 insertions(+), 27 deletions(-)
|
||||
|
||||
diff --git a/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc b/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc
|
||||
index c80724dd8..93b4d9f85 100644
|
||||
--- a/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc
|
||||
+++ b/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc
|
||||
@@ -40,15 +40,15 @@ namespace google_breakpad {
|
||||
|
||||
#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
|
||||
diff --git a/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h b/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h
|
||||
index b6e77b4b5..2369a9ad3 100644
|
||||
--- a/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h
|
||||
+++ b/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h
|
||||
@@ -41,21 +41,21 @@ namespace google_breakpad {
|
||||
|
||||
// Wraps platform-dependent implementations of accessors to ucontext 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
|
||||
// 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
|
||||
};
|
||||
|
||||
diff --git a/breakpad/src/client/linux/handler/exception_handler.cc b/breakpad/src/client/linux/handler/exception_handler.cc
|
||||
index b63f973b8..f2688acaf 100644
|
||||
--- a/breakpad/src/client/linux/handler/exception_handler.cc
|
||||
+++ b/breakpad/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) {
|
||||
@@ -452,7 +452,7 @@ bool ExceptionHandler::HandleSignal(int sig, siginfo_t* info, void* uc) {
|
||||
// FP state is not part of user ABI on ARM Linux.
|
||||
// In case of MIPS Linux FP state is already part of struct ucontext
|
||||
// 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);
|
||||
}
|
||||
diff --git a/breakpad/src/client/linux/handler/exception_handler.h b/breakpad/src/client/linux/handler/exception_handler.h
|
||||
index 591c31085..846df772f 100644
|
||||
--- a/breakpad/src/client/linux/handler/exception_handler.h
|
||||
+++ b/breakpad/src/client/linux/handler/exception_handler.h
|
||||
@@ -191,7 +191,7 @@ 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
|
||||
diff --git a/breakpad/src/client/linux/microdump_writer/microdump_writer.cc b/breakpad/src/client/linux/microdump_writer/microdump_writer.cc
|
||||
index 6f5b43559..a508667a0 100644
|
||||
--- a/breakpad/src/client/linux/microdump_writer/microdump_writer.cc
|
||||
+++ b/breakpad/src/client/linux/microdump_writer/microdump_writer.cc
|
||||
@@ -571,7 +571,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
|
||||
diff --git a/breakpad/src/client/linux/minidump_writer/minidump_writer.cc b/breakpad/src/client/linux/minidump_writer/minidump_writer.cc
|
||||
index 86009b9f6..f2aec73d7 100644
|
||||
--- a/breakpad/src/client/linux/minidump_writer/minidump_writer.cc
|
||||
+++ b/breakpad/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
|
||||
--
|
||||
2.13.2
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
--- chromium-63.0.3239.84//third_party/webrtc/p2p/base/port.cc.org 2017-12-09 01:53:55.490672425 +0100
|
||||
+++ chromium-63.0.3239.84//third_party/webrtc/p2p/base/port.cc 2017-12-09 01:54:10.826751406 +0100
|
||||
@@ -12,6 +12,7 @@
|
||||
|
||||
#include <algorithm>
|
||||
#include <vector>
|
||||
+#include <cmath>
|
||||
|
||||
#include "p2p/base/common.h"
|
||||
#include "p2p/base/portallocator.h"
|
||||
@@ -1,74 +0,0 @@
|
||||
From d0f929a5db87cb34d03afb0d8e8bfc95b8f786e3 Mon Sep 17 00:00:00 2001
|
||||
From: Victor Costan <costan@gmail.com>
|
||||
Date: Mon, 11 Sep 2017 13:18:27 -0700
|
||||
Subject: [PATCH] More conservative check for <string_view> availability. (#4)
|
||||
|
||||
has_include(<string_view>) does not imply that the header can be
|
||||
included and will work. The assumption fails on MSVC and libc++ [1, 2].
|
||||
Conversely, checking that __cplusplus > 201402L is not sufficient on its
|
||||
own either, as the toolchain on Mac OS 10.12 passes that check but does
|
||||
not contain a <string_view> header.
|
||||
|
||||
[1] https://crbug.com/759349
|
||||
[2] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79433
|
||||
---
|
||||
include/crc32c/crc32c.h | 10 +++-------
|
||||
src/crc32c_unittest.cc | 6 ++----
|
||||
2 files changed, 5 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/include/crc32c/crc32c.h b/include/crc32c/crc32c.h
|
||||
index 9f1973a..8ecab0d 100644
|
||||
--- a/third_party/crc32c/src/include/crc32c/crc32c.h
|
||||
+++ b/third_party/crc32c/src/include/crc32c/crc32c.h
|
||||
@@ -33,22 +33,18 @@ inline uint32_t Crc32c(const std::string& string) {
|
||||
string.size());
|
||||
}
|
||||
|
||||
-#if defined(__has_include)
|
||||
+#if __cplusplus > 201402L
|
||||
#if __has_include(<string_view>)
|
||||
-// Visual Studio provides a <string_view> header even in C++11 mode. When
|
||||
-// included, the header issues an #error. (C1189)
|
||||
-#if !defined(_MSC_VER) || __cplusplus >= 201703L
|
||||
#include <string_view>
|
||||
|
||||
-// Comptues the CRC32C of the bytes in the string_view.
|
||||
+// Computes the CRC32C of the bytes in the string_view.
|
||||
inline uint32_t Crc32c(const std::string_view& string_view) {
|
||||
return Crc32c(reinterpret_cast<const uint8_t*>(string_view.data()),
|
||||
string_view.size());
|
||||
}
|
||||
|
||||
-#endif // !defined(_MSC_VER) || __cplusplus >= 201703L
|
||||
#endif // __has_include(<string_view>)
|
||||
-#endif // defined(__has_include)
|
||||
+#endif // __cplusplus > 201402L
|
||||
|
||||
} // namespace crc32c
|
||||
|
||||
diff --git a/src/crc32c_unittest.cc b/src/crc32c_unittest.cc
|
||||
index 7a9c765..69babb3 100644
|
||||
--- a/third_party/crc32c/src/src/crc32c_unittest.cc
|
||||
+++ b/third_party/crc32c/src/src/crc32c_unittest.cc
|
||||
@@ -95,9 +95,8 @@ TEST(CRC32CTest, Crc32cStdString) {
|
||||
EXPECT_EQ(static_cast<uint32_t>(0x113fdb5c), crc32c::Crc32c(buf));
|
||||
}
|
||||
|
||||
-#if defined(__has_include)
|
||||
+#if __cplusplus > 201402L
|
||||
#if __has_include(<string_view>)
|
||||
-#if !defined(_MSC_VER) || __cplusplus >= 201703L
|
||||
|
||||
TEST(CRC32CTest, Crc32cStdStringView) {
|
||||
uint8_t buf[32];
|
||||
@@ -118,9 +117,8 @@ TEST(CRC32CTest, Crc32cStdStringView) {
|
||||
EXPECT_EQ(static_cast<uint32_t>(0x113fdb5c), crc32c::Crc32c(view));
|
||||
}
|
||||
|
||||
-#endif // !defined(_MSC_VER) || __cplusplus >= 201703L
|
||||
#endif // __has_include(<string_view>)
|
||||
-#endif // defined(__has_include)
|
||||
+#endif // __cplusplus > 201402L
|
||||
|
||||
#define TESTED_EXTEND Extend
|
||||
#include "./crc32c_extend_unittests.h"
|
||||
Reference in New Issue
Block a user