#include "tsan_symbolize.h"
#include "sanitizer_common/sanitizer_common.h"
#include "sanitizer_common/sanitizer_placement_new.h"
#include "sanitizer_common/sanitizer_symbolizer.h"
#include "tsan_flags.h"
#include "tsan_report.h"
#include "tsan_rtl.h"
namespace __tsan {
void EnterSymbolizer() { … }
void ExitSymbolizer() { … }
SANITIZER_WEAK_DEFAULT_IMPL
bool __tsan_symbolize_external(uptr pc, char *func_buf, uptr func_siz,
char *file_buf, uptr file_siz, int *line,
int *col) { … }
SANITIZER_WEAK_DEFAULT_IMPL
void __tsan_symbolize_external_ex(uptr pc,
void (*add_frame)(void *, const char *,
const char *, int, int),
void *ctx) { … }
struct SymbolizedStackBuilder { … };
static void AddFrame(void *ctx, const char *function_name, const char *file,
int line, int column) { … }
SymbolizedStack *SymbolizeCode(uptr addr) { … }
ReportLocation *SymbolizeData(uptr addr) { … }
void SymbolizeFlush() { … }
}