Set the default ASan options for executables built with ASan on Linux.
This is a copy of https://codereview.chromium.org/201153007 and https://codereview.chromium.org/213113002
updated to the current trunk with more descriptive comments in sanitizer_options.cc and the additional
legacy_pthread_cond=1 option for the Linux Official builds (legacy_pthread_cond is to be deprecated,
thus we don't enable it on the bots).
This CL introduces a module, base/debug/sanitizer_options.cc, which will override
the defaults for various dynamic tools (only ASan at this moment). For every executable
built with a dynamic tool this module will be linked into that executable, providing
weak functions to be called by the tool.
The existing declaration of __asan_default_options() in chrome/app/chrome_exe_main_gtk.cc
has been moved into sanitizer_options.cc (now every binary built with GOOGLE_CHROME_BUILD=1
will have the same options as google-chrome-asan.
The existing declaration of __asan_default_options() in chrome/nacl/nacl_helper_linux.cc
has been kept as is, but we had to remove -Wl,-u_sanitizer_options_link_helper to avoid picking sanitizer_options.cc.
The default options target is deliberately disabled on 32-bit Chromium OS builds,
where one of the host binaries (mksnapshot.ia32) is 32-bit despite host_arch==x86_64.
GYP changes for OSX and iOS will be committed separately.
[email protected],[email protected]
BUG=302040
Review URL: https://codereview.chromium.org/238123003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@263941 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/build/common.gypi b/build/common.gypi
index 0eaf2c7..1546500 100644
--- a/build/common.gypi
+++ b/build/common.gypi
@@ -3660,6 +3660,14 @@
],
}],
],
+ # TODO(glider): enable the default options on other systems.
+ 'conditions': [
+ ['OS=="linux" and (chromeos==0 or target_arch!="ia32")', {
+ 'dependencies': [
+ '<(DEPTH)/base/base.gyp:sanitizer_options',
+ ],
+ }],
+ ],
}],
['asan==1', {
'target_conditions': [