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 WeberHwasanThreadList &hwasanThreadList() { return *hwasan_thread_list; } 8e3b6d110SNico Weber InitThreadList(uptr storage,uptr size)9e3b6d110SNico Webervoid 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