Roll chromium_revision 289723:291647
To pick up recent fixes after the Chromium Git switch.
Relevant changes pulled in by this roll:
* r291168 refactor sanitizer_options (we can now remove some hacks)
* r291647 roll of nss.gyp (its paths work with how we build for iOS).
BUG=2863,3731
R=iannucci@chromium.org, tommi@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/22489004
git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@6967 4adac7df-926f-26a2-2b94-8c16560cd09d
diff --git a/build/sanitizer_options.gyp b/build/sanitizer_options.gyp
deleted file mode 100644
index 32dcf36..0000000
--- a/build/sanitizer_options.gyp
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright (c) 2014 The WebRTC project authors. All Rights Reserved.
-#
-# Use of this source code is governed by a BSD-style license
-# that can be found in the LICENSE file in the root of the source
-# tree. An additional intellectual property rights grant can be found
-# in the file PATENTS. All contributing project authors may
-# be found in the AUTHORS file in the root of the source tree.
-
-# This is a similar target to the one in Chromium's base.gyp. It's needed to get
-# the same sanitizer settings as Chromium uses (i.e. ASan, LSan, TSan...).
-{
- 'targets': [
- {
- 'target_name': 'sanitizer_options',
- 'type': 'static_library',
- 'toolsets': ['host', 'target'],
- 'variables': {
- # Every target is going to depend on sanitizer_options, so allow
- # this one to depend on itself.
- 'prune_self_dependency': 1,
- # Do not let 'none' targets depend on this one, they don't need to.
- 'link_dependency': 1,
- },
- 'sources': [
- '<(DEPTH)/tools/sanitizer_options/sanitizer_options.cc',
- ],
- 'include_dirs': [
- '<(DEPTH)',
- ],
- # Some targets may want to opt-out from ASan, TSan and MSan and link
- # without the corresponding runtime libraries. We drop the libc++
- # dependency and omit the compiler flags to avoid bringing instrumented
- # code to those targets.
- 'conditions': [
- ['use_custom_libcxx==1', {
- 'dependencies!': [
- '<(DEPTH)/third_party/libc++/libc++.gyp:libcxx_proxy',
- ],
- }],
- ['tsan==1', {
- 'sources': [
- 'tsan_suppressions.cc',
- ],
- }],
- ],
- 'cflags!': [
- '-fsanitize=address',
- '-fsanitize=thread',
- '-fsanitize=memory',
- '-fsanitize-memory-track-origins',
- ],
- 'direct_dependent_settings': {
- 'ldflags': [
- '-Wl,-u_sanitizer_options_link_helper',
- ],
- },
- },
- ], # targets
-}
diff --git a/build/tsan_suppressions.cc b/build/tsan_suppressions_webrtc.cc
similarity index 100%
rename from build/tsan_suppressions.cc
rename to build/tsan_suppressions_webrtc.cc
diff --git a/supplement.gypi b/supplement.gypi
index 0a10cbc..4bf8598 100644
--- a/supplement.gypi
+++ b/supplement.gypi
@@ -5,17 +5,20 @@
},
'webrtc_root%': '<(webrtc_root)',
'build_with_chromium': 0,
- 'use_sanitizer_options': 0,
},
'target_defaults': {
- 'conditions': [
- # Add default sanitizer options similar to Chromium. This cannot be
- # put in webrtc/build/common.gypi since that file is not included by
- # third party code (yasm will throw leak errors during compile when
- # GYP_DEFINES="asan=1".
- ['OS=="linux" and (chromeos==0 or target_arch!="ia32")', {
- 'dependencies': [
- '<(webrtc_root)/build/sanitizer_options.gyp:sanitizer_options',
+ 'target_conditions': [
+ ['_target_name=="sanitizer_options"', {
+ 'conditions': [
+ ['tsan==1', {
+ # Replace Chromium's TSan v2 suppressions with our own for WebRTC.
+ 'sources/': [
+ ['exclude', 'tsan_suppressions.cc'],
+ ],
+ 'sources': [
+ '<(webrtc_root)/build/tsan_suppressions_webrtc.cc',
+ ],
+ }],
],
}],
],