brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.4 KiB · cea2441 Raw
48 lines · c
1//===-- sanitizer_symbolizer_mac.h ------------------------------*- C++ -*-===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//8//9// This file is shared between various sanitizers' runtime libraries.10//11// Header for Mac-specific "atos" symbolizer.12//===----------------------------------------------------------------------===//13 14#ifndef SANITIZER_SYMBOLIZER_MAC_H15#define SANITIZER_SYMBOLIZER_MAC_H16 17#include "sanitizer_platform.h"18#if SANITIZER_APPLE19 20#include "sanitizer_symbolizer_internal.h"21 22namespace __sanitizer {23 24class DlAddrSymbolizer final : public SymbolizerTool {25 public:26  bool SymbolizePC(uptr addr, SymbolizedStack *stack) override;27  bool SymbolizeData(uptr addr, DataInfo *info) override;28};29 30class AtosSymbolizerProcess;31 32class AtosSymbolizer final : public SymbolizerTool {33 public:34  explicit AtosSymbolizer(const char *path, LowLevelAllocator *allocator);35 36  bool SymbolizePC(uptr addr, SymbolizedStack *stack) override;37  bool SymbolizeData(uptr addr, DataInfo *info) override;38 39 private:40  AtosSymbolizerProcess *process_;41};42 43} // namespace __sanitizer44 45#endif  // SANITIZER_APPLE46 47#endif // SANITIZER_SYMBOLIZER_MAC_H48