tsan_symbolize.h revision 276851
1//===-- tsan_symbolize.h ----------------------------------------*- C++ -*-===//
2//
3//                     The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9//
10// This file is a part of ThreadSanitizer (TSan), a race detector.
11//
12//===----------------------------------------------------------------------===//
13#ifndef TSAN_SYMBOLIZE_H
14#define TSAN_SYMBOLIZE_H
15
16#include "tsan_defs.h"
17#include "tsan_report.h"
18
19namespace __tsan {
20
21// Denotes fake PC values that come from JIT/JAVA/etc.
22// For such PC values __tsan_symbolize_external() will be called.
23const uptr kExternalPCBit = 1ULL << 60;
24
25void EnterSymbolizer();
26void ExitSymbolizer();
27SymbolizedStack *SymbolizeCode(uptr addr);
28ReportLocation *SymbolizeData(uptr addr);
29void SymbolizeFlush();
30
31ReportStack *NewReportStackEntry(uptr addr);
32
33}  // namespace __tsan
34
35#endif  // TSAN_SYMBOLIZE_H
36