tsan_symbolize.h revision 276789
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