17ac41484ea322e0ea5774df681660269f5dc321eKostya Serebryany//===-- tsan_symbolize.h ----------------------------------------*- C++ -*-===// 27ac41484ea322e0ea5774df681660269f5dc321eKostya Serebryany// 37ac41484ea322e0ea5774df681660269f5dc321eKostya Serebryany// The LLVM Compiler Infrastructure 47ac41484ea322e0ea5774df681660269f5dc321eKostya Serebryany// 57ac41484ea322e0ea5774df681660269f5dc321eKostya Serebryany// This file is distributed under the University of Illinois Open Source 67ac41484ea322e0ea5774df681660269f5dc321eKostya Serebryany// License. See LICENSE.TXT for details. 77ac41484ea322e0ea5774df681660269f5dc321eKostya Serebryany// 87ac41484ea322e0ea5774df681660269f5dc321eKostya Serebryany//===----------------------------------------------------------------------===// 97ac41484ea322e0ea5774df681660269f5dc321eKostya Serebryany// 107ac41484ea322e0ea5774df681660269f5dc321eKostya Serebryany// This file is a part of ThreadSanitizer (TSan), a race detector. 117ac41484ea322e0ea5774df681660269f5dc321eKostya Serebryany// 127ac41484ea322e0ea5774df681660269f5dc321eKostya Serebryany//===----------------------------------------------------------------------===// 137ac41484ea322e0ea5774df681660269f5dc321eKostya Serebryany#ifndef TSAN_SYMBOLIZE_H 147ac41484ea322e0ea5774df681660269f5dc321eKostya Serebryany#define TSAN_SYMBOLIZE_H 157ac41484ea322e0ea5774df681660269f5dc321eKostya Serebryany 167ac41484ea322e0ea5774df681660269f5dc321eKostya Serebryany#include "tsan_defs.h" 177ac41484ea322e0ea5774df681660269f5dc321eKostya Serebryany#include "tsan_report.h" 187ac41484ea322e0ea5774df681660269f5dc321eKostya Serebryany 197ac41484ea322e0ea5774df681660269f5dc321eKostya Serebryanynamespace __tsan { 207ac41484ea322e0ea5774df681660269f5dc321eKostya Serebryany 2166d91e3356a0c4d7aff3beaaaff3e87bbaec805cAlexey Samsonovvoid EnterSymbolizer(); 2266d91e3356a0c4d7aff3beaaaff3e87bbaec805cAlexey Samsonovvoid ExitSymbolizer(); 237ac41484ea322e0ea5774df681660269f5dc321eKostya SerebryanyReportStack *SymbolizeCode(uptr addr); 245a1f23310cc4a1debae8741653defe620518e612Dmitry VyukovReportLocation *SymbolizeData(uptr addr); 25723e24f768f5b32c38283ee8d2c4219267af2b4dDmitry Vyukovvoid SymbolizeFlush(); 267ac41484ea322e0ea5774df681660269f5dc321eKostya Serebryany 27bc12f5d836b161b881de91e29548cfbc014243a3Alexey SamsonovReportStack *NewReportStackEntry(uptr addr); 28bc12f5d836b161b881de91e29548cfbc014243a3Alexey Samsonov 297ac41484ea322e0ea5774df681660269f5dc321eKostya Serebryany} // namespace __tsan 307ac41484ea322e0ea5774df681660269f5dc321eKostya Serebryany 317ac41484ea322e0ea5774df681660269f5dc321eKostya Serebryany#endif // TSAN_SYMBOLIZE_H 32