sanitizer_symbolizer_libcdep.cc 779 B

123456789101112131415161718192021222324252627
  1. //===-- sanitizer_symbolizer_libcdep.cc -----------------------------------===//
  2. //
  3. // This file is distributed under the University of Illinois Open Source
  4. // License. See LICENSE.TXT for details.
  5. //
  6. //===----------------------------------------------------------------------===//
  7. //
  8. // This file is shared between AddressSanitizer and ThreadSanitizer
  9. // run-time libraries.
  10. //===----------------------------------------------------------------------===//
  11. #include "sanitizer_internal_defs.h"
  12. #include "sanitizer_symbolizer.h"
  13. namespace __sanitizer {
  14. Symbolizer *Symbolizer::GetOrInit() {
  15. SpinMutexLock l(&init_mu_);
  16. if (symbolizer_)
  17. return symbolizer_;
  18. if ((symbolizer_ = PlatformInit()))
  19. return symbolizer_;
  20. return Disable();
  21. }
  22. } // namespace __sanitizer