summaryrefslogtreecommitdiffstats
path: root/chrome
diff options
context:
space:
mode:
authorronghuawu@chromium.org <ronghuawu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-05-28 18:48:29 +0000
committerronghuawu@chromium.org <ronghuawu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-05-28 18:48:29 +0000
commit57db18ac0e41bf819e0a916635373b965a5facfb (patch)
tree285e22088f023067ed222cf68e46df5a0340be25 /chrome
parenta3b75bd5a497628b27903a357f70188d56973e0d (diff)
downloadchromium_src-57db18ac0e41bf819e0a916635373b965a5facfb.zip
chromium_src-57db18ac0e41bf819e0a916635373b965a5facfb.tar.gz
chromium_src-57db18ac0e41bf819e0a916635373b965a5facfb.tar.bz2
Revert 273199 "Enable mac_strip_release under ASan on OSX. Remov..."
Seems causing failures on mac asan bots, e.g: http://build.chromium.org/p/chromium.memory/waterfall?builder=Mac%20ASan%2064%20Tests%20(1) > Enable mac_strip_release under ASan on OSX. Remove the .saves files. > > Unce upon a time the ASan runtime library used to be statically linked into > the executables on OSX. > Because that library provided a number of API functions needed by the shared > libraries, we had custom ASan-specific .saves files that told the `strip` > utility to preserve those functions when stripping the executables. > > Then ASan switched to using dynamic runtime library, which instantly broke the > stripping step, because the executables weren't necessarily referencing all the > ASan API functions (issue 242503). > As a result, stripping has been disabled, and we haven't had .dSYM debug info > for ASan builds for more than a year now (issue 148383). > > Because the ASan API functions are now undefined in the executables, it's > actually senseless to use the .saves files to preserve those functions. > This CL deletes the .saves files and turns mac_strip_release on for ASan > builds. > > BUG=148383,242503,170739,166857 > R=mark@chromium.org > > Review URL: https://codereview.chromium.org/292153006 TBR=glider@chromium.org Review URL: https://codereview.chromium.org/298333007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@273302 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome')
-rw-r--r--chrome/app/app_asan.saves32
-rw-r--r--chrome/chrome.gyp6
-rw-r--r--chrome/chrome_exe.gypi6
3 files changed, 44 insertions, 0 deletions
diff --git a/chrome/app/app_asan.saves b/chrome/app/app_asan.saves
new file mode 100644
index 0000000..fd8b352
--- /dev/null
+++ b/chrome/app/app_asan.saves
@@ -0,0 +1,32 @@
+# Copyright (c) 2011 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.
+
+# This file lists symbols that should not be stripped from the Mac browser and
+# helper app executables built with AddressSanitizer
+# (http://dev.chromium.org/developers/testing/addresssanitizer).
+
+# The list of Chromium application-specific symbols should be the same as that
+# in chrome/app/app.saves
+# The list of symbols that should be preserved in all the binaries built with
+# AddressSanitizer should correspond to build/asan.saves
+
+# Chromium-specific symbols.
+_main
+
+# AddressSanitizer-specific symbols.
+___asan_init
+___asan_handle_no_return
+___asan_register_global
+___asan_register_globals
+___asan_unregister_globals
+___asan_report_load1
+___asan_report_load2
+___asan_report_load4
+___asan_report_load8
+___asan_report_load16
+___asan_report_store1
+___asan_report_store2
+___asan_report_store4
+___asan_report_store8
+___asan_report_store16
diff --git a/chrome/chrome.gyp b/chrome/chrome.gyp
index 2810f96..19609cc 100644
--- a/chrome/chrome.gyp
+++ b/chrome/chrome.gyp
@@ -241,6 +241,12 @@
'STRIPFLAGS': '-s $(CHROMIUM_STRIP_SAVE_FILE)',
},
}],
+ ['asan==1', {
+ 'xcode_settings': {
+ # Override the outer definition of CHROMIUM_STRIP_SAVE_FILE.
+ 'CHROMIUM_STRIP_SAVE_FILE': 'app/app_asan.saves',
+ },
+ }],
['component=="shared_library"', {
'xcode_settings': {
'LD_RUNPATH_SEARCH_PATHS': [
diff --git a/chrome/chrome_exe.gypi b/chrome/chrome_exe.gypi
index 758fc4c..2ec9dca 100644
--- a/chrome/chrome_exe.gypi
+++ b/chrome/chrome_exe.gypi
@@ -456,6 +456,12 @@
['chrome_multiple_dll', {
'defines': ['CHROME_MULTIPLE_DLL'],
}],
+ ['OS=="mac" and asan==1', {
+ 'xcode_settings': {
+ # Override the outer definition of CHROMIUM_STRIP_SAVE_FILE.
+ 'CHROMIUM_STRIP_SAVE_FILE': 'app/app_asan.saves',
+ },
+ }],
['OS=="linux"', {
'conditions': [
['branding=="Chrome"', {