diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2018-08-24 12:15:48 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2018-08-28 13:30:04 +0000 |
commit | b014812705fc80bff0a5c120dfcef88f349816dc (patch) | |
tree | 25a2e2d9fa285f1add86aa333389a839f81a39ae /chromium/buildtools | |
parent | 9f4560b1027ae06fdb497023cdcaf91b8511fa74 (diff) | |
download | qtwebengine-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/DEPS | 6 | ||||
-rw-r--r-- | chromium/buildtools/deps_revisions.gni | 6 | ||||
-rw-r--r-- | chromium/buildtools/linux64/gn.sha1 | 2 | ||||
-rw-r--r-- | chromium/buildtools/mac/gn.sha1 | 2 | ||||
-rw-r--r-- | chromium/buildtools/third_party/libc++/BUILD.gn | 3 | ||||
-rw-r--r-- | chromium/buildtools/third_party/libc++abi/BUILD.gn | 130 | ||||
-rw-r--r-- | chromium/buildtools/third_party/libc++abi/cxa_demangle_stub.cc | 27 | ||||
-rw-r--r-- | chromium/buildtools/win/gn.exe.sha1 | 2 |
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 |