| Index: build/sanitizers/sanitizer_options.cc
|
| diff --git a/build/sanitizers/sanitizer_options.cc b/build/sanitizers/sanitizer_options.cc
|
| index 1f4250111ec89262343113b6bd55cb59b2580f0a..e7e427981f9e41acd877c807163197cf998af966 100644
|
| --- a/build/sanitizers/sanitizer_options.cc
|
| +++ b/build/sanitizers/sanitizer_options.cc
|
| @@ -82,24 +82,16 @@ const char *kAsanDefaultOptions =
|
| "check_printf=1 use_sigaltstack=1 "
|
| "strip_path_prefix=/../../ fast_unwind_on_fatal=1 "
|
| "detect_stack_use_after_return=1 detect_odr_violation=0 ";
|
| -static const char kNaClDefaultOptions[] = "handle_segv=0";
|
| -static const char kNaClFlag[] = "--type=nacl-loader";
|
| #endif // OS_LINUX
|
|
|
| #if defined(OS_LINUX) || defined(OS_MACOSX)
|
| +// Allow NaCl to override the default asan options.
|
| +extern const char* kAsanDefaultOptionsNaCl;
|
| +__attribute__((weak)) const char* kAsanDefaultOptionsNaCl = nullptr;
|
| +
|
| SANITIZER_HOOK_ATTRIBUTE const char *__asan_default_options() {
|
| -#if defined(OS_MACOSX)
|
| - char*** argvp = _NSGetArgv();
|
| - int* argcp = _NSGetArgc();
|
| - if (!argvp || !argcp) return kAsanDefaultOptions;
|
| - char** argv = *argvp;
|
| - int argc = *argcp;
|
| - for (int i = 0; i < argc; ++i) {
|
| - if (strcmp(argv[i], kNaClFlag) == 0) {
|
| - return kNaClDefaultOptions;
|
| - }
|
| - }
|
| -#endif
|
| + if (kAsanDefaultOptionsNaCl)
|
| + return kAsanDefaultOptionsNaCl;
|
| return kAsanDefaultOptions;
|
| }
|
|
|
|
|