summaryrefslogtreecommitdiff
path: root/chromium/buildtools/third_party
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2018-10-24 11:30:15 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2018-10-30 12:56:19 +0000
commit6036726eb981b6c4b42047513b9d3f4ac865daac (patch)
tree673593e70678e7789766d1f732eb51f613a2703b /chromium/buildtools/third_party
parent466052c4e7c052268fd931888cd58961da94c586 (diff)
downloadqtwebengine-chromium-6036726eb981b6c4b42047513b9d3f4ac865daac.tar.gz
BASELINE: Update Chromium to 70.0.3538.78
Change-Id: Ie634710bf039e26c1957f4ae45e101bd4c434ae7 Reviewed-by: Michael BrĂ¼ning <michael.bruning@qt.io>
Diffstat (limited to 'chromium/buildtools/third_party')
-rw-r--r--chromium/buildtools/third_party/libc++/BUILD.gn32
-rw-r--r--chromium/buildtools/third_party/libc++abi/BUILD.gn24
-rw-r--r--chromium/buildtools/third_party/libunwind/BUILD.gn17
3 files changed, 51 insertions, 22 deletions
diff --git a/chromium/buildtools/third_party/libc++/BUILD.gn b/chromium/buildtools/third_party/libc++/BUILD.gn
index 6cd5a552607..6049d720b70 100644
--- a/chromium/buildtools/third_party/libc++/BUILD.gn
+++ b/chromium/buildtools/third_party/libc++/BUILD.gn
@@ -18,14 +18,11 @@ config("config") {
}
}
-if (libcpp_is_static) {
- link_target_type = "source_set"
-} else {
- link_target_type = "shared_library"
-}
-target(link_target_type, "libc++") {
- if (!libcpp_is_static) {
+component("libc++") {
+ if (is_component_build) {
no_default_deps = true
+ } else {
+ static_component_type = "source_set"
}
sources = [
"trunk/src/algorithm.cpp",
@@ -72,7 +69,7 @@ target(link_target_type, "libc++") {
"//build/config/compiler:no_rtti",
"//build/config/coverage:default_coverage",
]
- if (is_android && !libcpp_is_static) {
+ if (is_android && is_component_build) {
configs -= [ "//build/config/android:hide_all_but_jni_onload" ]
}
configs += [
@@ -84,14 +81,14 @@ target(link_target_type, "libc++") {
]
defines = [ "_LIBCPP_BUILDING_LIBRARY" ]
- if (!is_clang && !libcpp_is_static) {
+ if (!is_clang && is_component_build) {
# This is a temporary workaround to get libc++ builds working with
# gcc. It can be removed with either
# https://reviews.llvm.org/D35326 or
# https://reviews.llvm.org/D35388 lands.
defines += [ "_LIBCPP_EXTERN_TEMPLATE_TYPE_VIS=__attribute__((__visibility__(\"default\")))" ]
}
- if (libcpp_is_static) {
+ if (!is_component_build) {
defines += [
# This resets the visibility to default only for the various
# flavors of operator new and operator delete. These symbols
@@ -110,11 +107,20 @@ target(link_target_type, "libc++") {
"_LIBCPP_OVERRIDABLE_FUNC_VIS=__attribute__((__visibility__(\"default\")))",
]
}
+ if (is_asan || is_tsan || is_msan) {
+ # In {a,t,m}san configurations, operator new and operator delete will be
+ # provided by the sanitizer runtime library. Since libc++ defines these
+ # symbols with weak linkage, and the *san runtime uses strong linkage, it
+ # should technically be OK to omit this, but it's added to be explicit.
+ defines += [ "_LIBCPP_DISABLE_NEW_DELETE_DEFINITIONS" ]
+ }
if (!is_win) {
defines += [ "LIBCXX_BUILDING_LIBCXXABI" ]
- deps = [
- "//buildtools/third_party/libc++abi",
- ]
+ if (!export_libcxxabi_from_executables) {
+ deps = [
+ "//buildtools/third_party/libc++abi",
+ ]
+ }
}
}
diff --git a/chromium/buildtools/third_party/libc++abi/BUILD.gn b/chromium/buildtools/third_party/libc++abi/BUILD.gn
index 50dc8ae27c0..c43916b73c6 100644
--- a/chromium/buildtools/third_party/libc++abi/BUILD.gn
+++ b/chromium/buildtools/third_party/libc++abi/BUILD.gn
@@ -8,12 +8,18 @@ import("//build/config/c++/c++.gni")
# use_custom_libcxx=true.
if (use_custom_libcxx) {
source_set("libc++abi") {
- visibility = [ "//buildtools/third_party/libc++" ]
+ visibility = [
+ "//buildtools/third_party/libc++",
+ "//build/config:executable_deps",
+ "//build/config:loadable_module_deps",
+ "//build/config:shared_library_deps",
+ ]
deps = []
# 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.
+ # TODO(thomasanderson): Move this to exe_and_shlib_deps.
if (is_fuchsia) {
deps += [ "//buildtools/third_party/libunwind" ]
}
@@ -24,7 +30,6 @@ if (use_custom_libcxx) {
"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",
# This file is supposed to be used in fno-exception builds of
@@ -41,6 +46,10 @@ if (use_custom_libcxx) {
"trunk/src/stdlib_typeinfo.cpp",
]
+ if (!is_tsan) {
+ sources += [ "trunk/src/cxa_guard.cpp" ]
+ }
+
# See the comment in cxa_demangle_stub.cc for why we don't use LLVM's
# demangler on android.
if (is_android) {
@@ -72,6 +81,11 @@ if (use_custom_libcxx) {
"//build/config/compiler:rtti",
"//buildtools/third_party/libc++:config",
]
+
+ if (export_libcxxabi_from_executables) {
+ configs -= [ "//build/config/gcc:symbol_visibility_hidden" ]
+ configs += [ "//build/config/gcc:symbol_visibility_default" ]
+ }
}
}
@@ -81,8 +95,10 @@ source_set("cxa_demangle_stub") {
# 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) {
+ if (use_custom_libcxx && is_component_build) {
defines = [ "EXPORT_CXA_DEMANGLE" ]
}
- sources = [ "cxa_demangle_stub.cc" ]
+ sources = [
+ "cxa_demangle_stub.cc",
+ ]
}
diff --git a/chromium/buildtools/third_party/libunwind/BUILD.gn b/chromium/buildtools/third_party/libunwind/BUILD.gn
index dfe46c31bf4..31bc0750529 100644
--- a/chromium/buildtools/third_party/libunwind/BUILD.gn
+++ b/chromium/buildtools/third_party/libunwind/BUILD.gn
@@ -5,14 +5,22 @@
import("//build/config/c++/c++.gni")
config("libunwind_config") {
- # ValueAsBitPattern in Unwind-EHABI.cpp is only used on Debug builds.
- cflags = [ "-Wno-unused-function" ]
+ cflags = [
+ "-fstrict-aliasing",
+ "-fPIC",
+
+ # ValueAsBitPattern in Unwind-EHABI.cpp is only used on Debug builds.
+ "-Wno-unused-function",
+ ]
}
source_set("libunwind") {
- visibility = [ "//buildtools/third_party/libc++abi" ]
+ visibility = [
+ "//buildtools/third_party/libc++abi",
+ "//components/tracing",
+ ]
- if (libcpp_is_static) {
+ if (!is_component_build) {
defines = [ "_LIBUNWIND_DISABLE_VISIBILITY_ANNOTATIONS" ]
}
include_dirs = [ "//buildtools/third_party/libunwind/trunk/include" ]
@@ -40,7 +48,6 @@ source_set("libunwind") {
"//build/config/compiler:no_chromium_code",
"//build/config/compiler:exceptions",
"//build/config/compiler:rtti",
- "//buildtools/third_party/libc++:config",
# Must be after no_chromium_code
":libunwind_config",