1*68d75effSDimitry Andric //=-- lsan_linux.cpp ------------------------------------------------------===// 2*68d75effSDimitry Andric // 3*68d75effSDimitry Andric // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4*68d75effSDimitry Andric // See https://llvm.org/LICENSE.txt for license information. 5*68d75effSDimitry Andric // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6*68d75effSDimitry Andric // 7*68d75effSDimitry Andric //===----------------------------------------------------------------------===// 8*68d75effSDimitry Andric // 9*68d75effSDimitry Andric // This file is a part of LeakSanitizer. Linux/NetBSD-specific code. 10*68d75effSDimitry Andric // 11*68d75effSDimitry Andric //===----------------------------------------------------------------------===// 12*68d75effSDimitry Andric 13*68d75effSDimitry Andric #include "sanitizer_common/sanitizer_platform.h" 14*68d75effSDimitry Andric 15*68d75effSDimitry Andric #if SANITIZER_LINUX || SANITIZER_NETBSD 16*68d75effSDimitry Andric 17*68d75effSDimitry Andric #include "lsan_allocator.h" 18*68d75effSDimitry Andric 19*68d75effSDimitry Andric namespace __lsan { 20*68d75effSDimitry Andric 21*68d75effSDimitry Andric static THREADLOCAL u32 current_thread_tid = kInvalidTid; 22*68d75effSDimitry Andric u32 GetCurrentThread() { return current_thread_tid; } 23*68d75effSDimitry Andric void SetCurrentThread(u32 tid) { current_thread_tid = tid; } 24*68d75effSDimitry Andric 25*68d75effSDimitry Andric static THREADLOCAL AllocatorCache allocator_cache; 26*68d75effSDimitry Andric AllocatorCache *GetAllocatorCache() { return &allocator_cache; } 27*68d75effSDimitry Andric 28*68d75effSDimitry Andric void ReplaceSystemMalloc() {} 29*68d75effSDimitry Andric 30*68d75effSDimitry Andric } // namespace __lsan 31*68d75effSDimitry Andric 32*68d75effSDimitry Andric #endif // SANITIZER_LINUX || SANITIZER_NETBSD 33