summaryrefslogtreecommitdiff
path: root/chromium/buildtools
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2018-08-24 12:15:48 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2018-08-28 13:30:04 +0000
commitb014812705fc80bff0a5c120dfcef88f349816dc (patch)
tree25a2e2d9fa285f1add86aa333389a839f81a39ae /chromium/buildtools
parent9f4560b1027ae06fdb497023cdcaf91b8511fa74 (diff)
downloadqtwebengine-chromium-b014812705fc80bff0a5c120dfcef88f349816dc.tar.gz
BASELINE: Update Chromium to 68.0.3440.125
Change-Id: I23f19369e01f688e496f5bf179abb521ad73874f Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'chromium/buildtools')
-rw-r--r--chromium/buildtools/DEPS6
-rw-r--r--chromium/buildtools/deps_revisions.gni6
-rw-r--r--chromium/buildtools/linux64/gn.sha12
-rw-r--r--chromium/buildtools/mac/gn.sha12
-rw-r--r--chromium/buildtools/third_party/libc++/BUILD.gn3
-rw-r--r--chromium/buildtools/third_party/libc++abi/BUILD.gn130
-rw-r--r--chromium/buildtools/third_party/libc++abi/cxa_demangle_stub.cc27
-rw-r--r--chromium/buildtools/win/gn.exe.sha12
8 files changed, 115 insertions, 63 deletions
diff --git a/chromium/buildtools/DEPS b/chromium/buildtools/DEPS
index 62bd2718b34..e26e7465d4a 100644
--- a/chromium/buildtools/DEPS
+++ b/chromium/buildtools/DEPS
@@ -5,9 +5,9 @@ vars = {
# When changing these, also update the svn revisions in deps_revisions.gni
"clang_format_revision": "0653eee0c81ea04715c635dd0885e8096ff6ba6d",
- "libcxx_revision": "ece1de8658d749e19c12cacd4458cc330eca94e3",
- "libcxxabi_revision": "52c7a3760aef1df328a9bc957f686410872f0dc0",
- "libunwind_revision": "0f3cbe4123f8afacd646bd4f5414aa6528ef8129",
+ "libcxx_revision": "85a7702b4cc5d69402791fe685f151cf3076be71",
+ "libcxxabi_revision": "05a73941f3fb177c4a891d4ff2a4ed5785e3b80c",
+ "libunwind_revision": "1e1c6b739595098ba5c466bfe9d58b993e646b48",
}
deps = {
diff --git a/chromium/buildtools/deps_revisions.gni b/chromium/buildtools/deps_revisions.gni
index ed7db854dde..ec058f16e39 100644
--- a/chromium/buildtools/deps_revisions.gni
+++ b/chromium/buildtools/deps_revisions.gni
@@ -6,7 +6,7 @@ declare_args() {
# The svn revisions that belong to the git hashes in DEPS. Used to cause full
# rebuilds on libc++ rolls.
clang_format_svn_revision = "302580"
- libcxx_svn_revision = "329375"
- libcxxabi_svn_revision = "329629"
- libunwind_svn_revision = "329340"
+ libcxx_svn_revision = "332543"
+ libcxxabi_svn_revision = "331450"
+ libunwind_svn_revision = "332513"
}
diff --git a/chromium/buildtools/linux64/gn.sha1 b/chromium/buildtools/linux64/gn.sha1
index ff9b86371ea..906e5f0c4c8 100644
--- a/chromium/buildtools/linux64/gn.sha1
+++ b/chromium/buildtools/linux64/gn.sha1
@@ -1 +1 @@
-c5665261bd0dba0898c50e609837f46c26d10083
+2f27ff0b6118e5886df976da5effa6003d19d1ce
diff --git a/chromium/buildtools/mac/gn.sha1 b/chromium/buildtools/mac/gn.sha1
index 9399e17f43c..a0b7b9f8704 100644
--- a/chromium/buildtools/mac/gn.sha1
+++ b/chromium/buildtools/mac/gn.sha1
@@ -1 +1 @@
-d8ff8eb053b2851486949550303e7ccae14c08df
+9be792dd9010ce303a9c3a497a67bcc5ac8c7666
diff --git a/chromium/buildtools/third_party/libc++/BUILD.gn b/chromium/buildtools/third_party/libc++/BUILD.gn
index db0523402b5..6cd5a552607 100644
--- a/chromium/buildtools/third_party/libc++/BUILD.gn
+++ b/chromium/buildtools/third_party/libc++/BUILD.gn
@@ -24,6 +24,9 @@ if (libcpp_is_static) {
link_target_type = "shared_library"
}
target(link_target_type, "libc++") {
+ if (!libcpp_is_static) {
+ no_default_deps = true
+ }
sources = [
"trunk/src/algorithm.cpp",
"trunk/src/any.cpp",
diff --git a/chromium/buildtools/third_party/libc++abi/BUILD.gn b/chromium/buildtools/third_party/libc++abi/BUILD.gn
index 004c17d6277..50dc8ae27c0 100644
--- a/chromium/buildtools/third_party/libc++abi/BUILD.gn
+++ b/chromium/buildtools/third_party/libc++abi/BUILD.gn
@@ -2,65 +2,87 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
-source_set("libc++abi") {
- visibility = [ "//buildtools/third_party/libc++" ]
- deps = []
+import("//build/config/c++/c++.gni")
- # Fuchsia builds don't link against any libraries that provide stack unwinding
- # symbols, unlike Linux does with glibc. Build and link against libunwind
- # manually to get this functionality.
- if (is_fuchsia) {
- deps += [ "//buildtools/third_party/libunwind" ]
- }
+# TODO(thomasanderson): Remove this conditional once Android builds always set
+# use_custom_libcxx=true.
+if (use_custom_libcxx) {
+ source_set("libc++abi") {
+ visibility = [ "//buildtools/third_party/libc++" ]
+ deps = []
- sources = [
- "trunk/src/abort_message.cpp",
- "trunk/src/cxa_aux_runtime.cpp",
- "trunk/src/cxa_default_handlers.cpp",
- "trunk/src/cxa_exception.cpp",
- "trunk/src/cxa_exception_storage.cpp",
- "trunk/src/cxa_guard.cpp",
- "trunk/src/cxa_handlers.cpp",
+ # Fuchsia builds don't link against any libraries that provide stack
+ # unwinding symbols, unlike Linux does with glibc. Build and link against
+ # libunwind manually to get this functionality.
+ if (is_fuchsia) {
+ deps += [ "//buildtools/third_party/libunwind" ]
+ }
- # This file is supposed to be used in fno-exception builds of
- # libc++abi. We build lib++/libc++abi with exceptions enabled.
- #"trunk/src/cxa_noexception.cpp",
- "trunk/src/cxa_personality.cpp",
- "trunk/src/cxa_unexpected.cpp",
- "trunk/src/cxa_vector.cpp",
- "trunk/src/cxa_virtual.cpp",
- "trunk/src/fallback_malloc.cpp",
- "trunk/src/private_typeinfo.cpp",
- "trunk/src/stdlib_exception.cpp",
- "trunk/src/stdlib_stdexcept.cpp",
- "trunk/src/stdlib_typeinfo.cpp",
- ]
+ sources = [
+ "trunk/src/abort_message.cpp",
+ "trunk/src/cxa_aux_runtime.cpp",
+ "trunk/src/cxa_default_handlers.cpp",
+ "trunk/src/cxa_exception.cpp",
+ "trunk/src/cxa_exception_storage.cpp",
+ "trunk/src/cxa_guard.cpp",
+ "trunk/src/cxa_handlers.cpp",
- # On Android, android_crazy_linker provides __cxa_demangle.
- if (is_android) {
- deps += [ "//third_party/android_crazy_linker" ]
- } else {
- sources += [ "trunk/src/cxa_demangle.cpp" ]
- }
+ # This file is supposed to be used in fno-exception builds of
+ # libc++abi. We build lib++/libc++abi with exceptions enabled.
+ #"trunk/src/cxa_noexception.cpp",
+ "trunk/src/cxa_personality.cpp",
+ "trunk/src/cxa_unexpected.cpp",
+ "trunk/src/cxa_vector.cpp",
+ "trunk/src/cxa_virtual.cpp",
+ "trunk/src/fallback_malloc.cpp",
+ "trunk/src/private_typeinfo.cpp",
+ "trunk/src/stdlib_exception.cpp",
+ "trunk/src/stdlib_stdexcept.cpp",
+ "trunk/src/stdlib_typeinfo.cpp",
+ ]
- # This file should really be included on linux as well, but that
- # would introduce an unwanted glibc 2.18 dependency.
- if (is_fuchsia || (is_posix && !is_mac && !is_linux)) {
- sources += [ "trunk/src/cxa_thread_atexit.cpp" ]
- }
+ # See the comment in cxa_demangle_stub.cc for why we don't use LLVM's
+ # demangler on android.
+ if (is_android) {
+ deps += [ ":cxa_demangle_stub" ]
+ } else {
+ sources += [ "trunk/src/cxa_demangle.cpp" ]
+ }
+
+ # This file should really be included on linux as well, but that
+ # would introduce an unwanted glibc 2.18 dependency.
+ if (is_fuchsia || (is_posix && !is_mac && !is_linux)) {
+ sources += [ "trunk/src/cxa_thread_atexit.cpp" ]
+ }
- defines = [ "LIBCXXABI_SILENT_TERMINATE" ]
+ defines = [
+ "LIBCXXABI_SILENT_TERMINATE",
+ "_LIBCPP_ENABLE_CXX17_REMOVED_UNEXPECTED_FUNCTIONS",
+ ]
- configs -= [
- "//build/config/compiler:chromium_code",
- "//build/config/compiler:no_exceptions",
- "//build/config/compiler:no_rtti",
- "//build/config/coverage:default_coverage",
- ]
- configs += [
- "//build/config/compiler:no_chromium_code",
- "//build/config/compiler:exceptions",
- "//build/config/compiler:rtti",
- "//buildtools/third_party/libc++:config",
- ]
+ configs -= [
+ "//build/config/compiler:chromium_code",
+ "//build/config/compiler:no_exceptions",
+ "//build/config/compiler:no_rtti",
+ "//build/config/coverage:default_coverage",
+ ]
+ configs += [
+ "//build/config/compiler:no_chromium_code",
+ "//build/config/compiler:exceptions",
+ "//build/config/compiler:rtti",
+ "//buildtools/third_party/libc++:config",
+ ]
+ }
+}
+
+source_set("cxa_demangle_stub") {
+ # TODO(thomasanderson): This file is currently pulled in from //base on
+ # Android, but will no longer be needed once Android builds always set
+ # use_custom_libcxx=true. When this happens, this target can be removed,
+ # cxa_demangle_stub.cc can be added to the libc++abi target above, and
+ # __cxa_demangle can simply be annoted with _LIBCXXABI_FUNC_VIS.
+ if (use_custom_libcxx && !libcpp_is_static) {
+ defines = [ "EXPORT_CXA_DEMANGLE" ]
+ }
+ sources = [ "cxa_demangle_stub.cc" ]
}
diff --git a/chromium/buildtools/third_party/libc++abi/cxa_demangle_stub.cc b/chromium/buildtools/third_party/libc++abi/cxa_demangle_stub.cc
new file mode 100644
index 00000000000..6b5355f06c9
--- /dev/null
+++ b/chromium/buildtools/third_party/libc++abi/cxa_demangle_stub.cc
@@ -0,0 +1,27 @@
+// Copyright 2018 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include <stddef.h>
+#include <unistd.h>
+
+extern "C"
+// LLVM's demangler is large, and we have no need of it. Overriding it with
+// our own stub version here stops a lot of code being pulled in from libc++.
+// More here:
+// https://llvm.org/svn/llvm-project/libcxxabi/trunk/src/cxa_demangle.cpp
+#if defined(EXPORT_CXA_DEMANGLE)
+__attribute__((visibility("default")))
+#endif
+// This is a weak symbol to let android_crazy_linker override it in
+// //base/android/linker:chromium_android_linker.
+__attribute__((weak))
+char* __cxa_demangle(const char* mangled_name,
+ char* buf,
+ size_t* n,
+ int* status) {
+ static const int kMemoryAllocFailure = -1; // LLVM's memory_alloc_failure.
+ if (status)
+ *status = kMemoryAllocFailure;
+ return nullptr;
+}
diff --git a/chromium/buildtools/win/gn.exe.sha1 b/chromium/buildtools/win/gn.exe.sha1
index 94d767a2dc8..0dc15e33def 100644
--- a/chromium/buildtools/win/gn.exe.sha1
+++ b/chromium/buildtools/win/gn.exe.sha1
@@ -1 +1 @@
-eb2806a49aa70d0af1c3d2b57fd2b496e37151a5
+eb69be2d984b4df60a8c21f598135991f0ad1742