1e3b6d110SNico Weber #include "hwasan_thread_list.h"
2e3b6d110SNico Weber 
3e3b6d110SNico Weber namespace __hwasan {
4e3b6d110SNico Weber static ALIGNED(16) char thread_list_placeholder[sizeof(HwasanThreadList)];
5e3b6d110SNico Weber static HwasanThreadList *hwasan_thread_list;
6e3b6d110SNico Weber 
hwasanThreadList()7e3b6d110SNico Weber HwasanThreadList &hwasanThreadList() { return *hwasan_thread_list; }
8e3b6d110SNico Weber 
InitThreadList(uptr storage,uptr size)9e3b6d110SNico Weber void InitThreadList(uptr storage, uptr size) {
10e3b6d110SNico Weber   CHECK(hwasan_thread_list == nullptr);
11e3b6d110SNico Weber   hwasan_thread_list =
12e3b6d110SNico Weber       new (thread_list_placeholder) HwasanThreadList(storage, size);
13e3b6d110SNico Weber }
14e3b6d110SNico Weber 
15*b18f30fbSFlorian Mayer } // namespace __hwasan
16