1//===-- sanitizer_symbolizer_mac.h ------------------------------*- C++ -*-===// 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 various sanitizers' runtime libraries. 9// 10// Header for Mac-specific "atos" symbolizer. 11//===----------------------------------------------------------------------===// 12 13#ifndef SANITIZER_SYMBOLIZER_MAC_H 14#define SANITIZER_SYMBOLIZER_MAC_H 15 16#include "sanitizer_platform.h" 17#if SANITIZER_MAC 18 19#include "sanitizer_symbolizer_internal.h" 20 21namespace __sanitizer { 22 23class DlAddrSymbolizer : public SymbolizerTool { 24 public: 25 bool SymbolizePC(uptr addr, SymbolizedStack *stack) override; 26 bool SymbolizeData(uptr addr, DataInfo *info) override; 27}; 28 29class AtosSymbolizerProcess; 30 31class AtosSymbolizer : public SymbolizerTool { 32 public: 33 explicit AtosSymbolizer(const char *path, LowLevelAllocator *allocator); 34 35 bool SymbolizePC(uptr addr, SymbolizedStack *stack) override; 36 bool SymbolizeData(uptr addr, DataInfo *info) override; 37 38 private: 39 AtosSymbolizerProcess *process_; 40}; 41 42} // namespace __sanitizer 43 44#endif // SANITIZER_MAC 45 46#endif // SANITIZER_SYMBOLIZER_MAC_H 47