[Sanitizer] Don't die if external symbolizer is used on Mac, where it's not implement...
authorAlexey Samsonov <samsonov@google.com>
Tue, 26 Feb 2013 13:40:51 +0000 (13:40 +0000)
committerAlexey Samsonov <samsonov@google.com>
Tue, 26 Feb 2013 13:40:51 +0000 (13:40 +0000)
llvm-svn: 176091

compiler-rt/lib/sanitizer_common/sanitizer_symbolizer.cc
compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_mac.cc

index 02dfbc4..5609e91 100644 (file)
@@ -324,8 +324,8 @@ class Symbolizer {
  private:
   char *SendCommand(bool is_data, const char *module_name, uptr module_offset) {
     // First, try to use internal symbolizer.
-    if (internal_symbolizer_ == 0) {
-      internal_symbolizer_ = InternalSymbolizer::get();
+    if (!IsSymbolizerAvailable()) {
+      return 0;
     }
     if (internal_symbolizer_) {
       return internal_symbolizer_->SendCommand(is_data, module_name,
@@ -360,7 +360,8 @@ class Symbolizer {
           kMaxNumberOfModuleContexts * sizeof(LoadedModule)));
       CHECK(modules_);
       n_modules_ = GetListOfModules(modules_, kMaxNumberOfModuleContexts);
-      CHECK_GT(n_modules_, 0);
+      // FIXME: Return this check when GetListOfModules is implemented on Mac.
+      // CHECK_GT(n_modules_, 0);
       CHECK_LT(n_modules_, kMaxNumberOfModuleContexts);
     }
     for (uptr i = 0; i < n_modules_; i++) {
index 2399360..cd0d004 100644 (file)
@@ -23,7 +23,8 @@ bool StartSymbolizerSubprocess(const char *path_to_symbolizer,
 }
 
 uptr GetListOfModules(LoadedModule *modules, uptr max_modules) {
-  UNIMPLEMENTED();
+  // FIXME: Actually implement this on Mac.
+  return 0;
 }
 
 }  // namespace __sanitizer