diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2018-10-24 11:30:15 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2018-10-30 12:56:19 +0000 |
commit | 6036726eb981b6c4b42047513b9d3f4ac865daac (patch) | |
tree | 673593e70678e7789766d1f732eb51f613a2703b /chromium/buildtools/third_party | |
parent | 466052c4e7c052268fd931888cd58961da94c586 (diff) | |
download | qtwebengine-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.gn | 32 | ||||
-rw-r--r-- | chromium/buildtools/third_party/libc++abi/BUILD.gn | 24 | ||||
-rw-r--r-- | chromium/buildtools/third_party/libunwind/BUILD.gn | 17 |
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", |