1 //===-- sanitizer_symbolizer_mac.h ------------------------------*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 // This file is shared between various sanitizers' runtime libraries.
12 // Header for Mac-specific "atos" symbolizer.
13 //===----------------------------------------------------------------------===//
15 #ifndef SANITIZER_SYMBOLIZER_MAC_H
16 #define SANITIZER_SYMBOLIZER_MAC_H
18 #include "sanitizer_platform.h"
21 #include "sanitizer_symbolizer_internal.h"
23 namespace __sanitizer {
25 class DlAddrSymbolizer : public SymbolizerTool {
27 bool SymbolizePC(uptr addr, SymbolizedStack *stack) override;
28 bool SymbolizeData(uptr addr, DataInfo *info) override;
31 class AtosSymbolizerProcess;
33 class AtosSymbolizer : public SymbolizerTool {
35 explicit AtosSymbolizer(const char *path, LowLevelAllocator *allocator);
37 bool SymbolizePC(uptr addr, SymbolizedStack *stack) override;
38 bool SymbolizeData(uptr addr, DataInfo *info) override;
41 AtosSymbolizerProcess *process_;
44 } // namespace __sanitizer
46 #endif // SANITIZER_MAC
48 #endif // SANITIZER_SYMBOLIZER_MAC_H