llvm/compiler-rt/lib/dfsan/dfsan_thread.cpp

#include "dfsan_thread.h"

#include <pthread.h>

#include "dfsan.h"
#include "sanitizer_common/sanitizer_tls_get_addr.h"

usingnamespace__dfsan;

DFsanThread *DFsanThread::Create(thread_callback_t start_routine, void *arg,
                                 bool track_origins) {}

void DFsanThread::SetThreadStackAndTls() {}

void DFsanThread::ClearShadowForThreadStackAndTLS() {}

void DFsanThread::Init() {}

void DFsanThread::TSDDtor(void *tsd) {}

void DFsanThread::Destroy() {}

thread_return_t DFsanThread::ThreadStart() {}

DFsanThread::StackBounds DFsanThread::GetStackBounds() const {}

uptr DFsanThread::stack_top() {}

uptr DFsanThread::stack_bottom() {}

bool DFsanThread::AddrIsInStack(uptr addr) {}

static pthread_key_t tsd_key;
static bool tsd_key_inited =;

void __dfsan::DFsanTSDInit(void (*destructor)(void *tsd)) {}

static THREADLOCAL DFsanThread *dfsan_current_thread;

DFsanThread *__dfsan::GetCurrentThread() {}

void __dfsan::SetCurrentThread(DFsanThread *t) {}

void __dfsan::DFsanTSDDtor(void *tsd) {}