1287516Sdim//===-- sanitizer_symbolizer_mac.h ------------------------------*- C++ -*-===// 2287516Sdim// 3287516Sdim// The LLVM Compiler Infrastructure 4287516Sdim// 5287516Sdim// This file is distributed under the University of Illinois Open Source 6287516Sdim// License. See LICENSE.TXT for details. 7287516Sdim// 8287516Sdim//===----------------------------------------------------------------------===// 9287516Sdim// 10287516Sdim// This file is shared between various sanitizers' runtime libraries. 11287516Sdim// 12287516Sdim// Header for Mac-specific "atos" symbolizer. 13287516Sdim//===----------------------------------------------------------------------===// 14287516Sdim 15287516Sdim#ifndef SANITIZER_SYMBOLIZER_MAC_H 16287516Sdim#define SANITIZER_SYMBOLIZER_MAC_H 17287516Sdim 18287516Sdim#include "sanitizer_platform.h" 19287516Sdim#if SANITIZER_MAC 20287516Sdim 21287516Sdim#include "sanitizer_symbolizer_internal.h" 22287516Sdim 23287516Sdimnamespace __sanitizer { 24287516Sdim 25287516Sdimclass DlAddrSymbolizer : public SymbolizerTool { 26287516Sdim public: 27287516Sdim bool SymbolizePC(uptr addr, SymbolizedStack *stack) override; 28287516Sdim bool SymbolizeData(uptr addr, DataInfo *info) override; 29287516Sdim}; 30287516Sdim 31287516Sdimclass AtosSymbolizerProcess; 32287516Sdim 33287516Sdimclass AtosSymbolizer : public SymbolizerTool { 34287516Sdim public: 35287516Sdim explicit AtosSymbolizer(const char *path, LowLevelAllocator *allocator); 36287516Sdim 37287516Sdim bool SymbolizePC(uptr addr, SymbolizedStack *stack) override; 38287516Sdim bool SymbolizeData(uptr addr, DataInfo *info) override; 39287516Sdim 40287516Sdim private: 41287516Sdim AtosSymbolizerProcess *process_; 42287516Sdim}; 43287516Sdim 44287516Sdim} // namespace __sanitizer 45287516Sdim 46287516Sdim#endif // SANITIZER_MAC 47287516Sdim 48287516Sdim#endif // SANITIZER_SYMBOLIZER_MAC_H 49