[nolibc] Make SymbolizerPrepareForSandboxing weak and optional.

Differential Revision: http://llvm-reviews.chandlerc.com/D872

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@182765 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/sanitizer_common/sanitizer_linux.cc b/lib/sanitizer_common/sanitizer_linux.cc
index 6e234e5..bcf6ad1 100644
--- a/lib/sanitizer_common/sanitizer_linux.cc
+++ b/lib/sanitizer_common/sanitizer_linux.cc
@@ -307,7 +307,8 @@
   // cached mappings.
   MemoryMappingLayout::CacheMemoryMappings();
   // Same for /proc/self/exe in the symbolizer.
-  SymbolizerPrepareForSandboxing();
+  if (&SymbolizerPrepareForSandboxing)
+    SymbolizerPrepareForSandboxing();
 }
 
 // ----------------- sanitizer_procmaps.h
diff --git a/lib/sanitizer_common/sanitizer_symbolizer.h b/lib/sanitizer_common/sanitizer_symbolizer.h
index b6471db..20bc775 100644
--- a/lib/sanitizer_common/sanitizer_symbolizer.h
+++ b/lib/sanitizer_common/sanitizer_symbolizer.h
@@ -114,7 +114,7 @@
 uptr GetListOfModules(LoadedModule *modules, uptr max_modules,
                       string_predicate_t filter);
 
-void SymbolizerPrepareForSandboxing();
+void SymbolizerPrepareForSandboxing() SANITIZER_WEAK_ATTRIBUTE;
 
 }  // namespace __sanitizer