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