diff options
author | Anton Samokhvalov <[email protected]> | 2022-02-10 16:45:15 +0300 |
---|---|---|
committer | Daniil Cherednik <[email protected]> | 2022-02-10 16:45:15 +0300 |
commit | 72cb13b4aff9bc9cf22e49251bc8fd143f82538f (patch) | |
tree | da2c34829458c7d4e74bdfbdf85dff449e9e7fb8 /util/system/sanitizers.cpp | |
parent | 778e51ba091dc39e7b7fcab2b9cf4dbedfb6f2b5 (diff) |
Restoring authorship annotation for Anton Samokhvalov <[email protected]>. Commit 1 of 2.
Diffstat (limited to 'util/system/sanitizers.cpp')
-rw-r--r-- | util/system/sanitizers.cpp | 152 |
1 files changed, 76 insertions, 76 deletions
diff --git a/util/system/sanitizers.cpp b/util/system/sanitizers.cpp index bb799a9e2e7..f972e649bff 100644 --- a/util/system/sanitizers.cpp +++ b/util/system/sanitizers.cpp @@ -1,76 +1,76 @@ #include "sanitizers.h" -#include "thread.h" - -#if defined(_asan_enabled_) -extern "C" { - void __sanitizer_start_switch_fiber(void** fake_stack_save, const void* bottom, size_t size); - void __sanitizer_finish_switch_fiber(void* fake_stack_save, const void** old_bottom, size_t* old_size); -} -#endif - +#include "thread.h" + +#if defined(_asan_enabled_) +extern "C" { + void __sanitizer_start_switch_fiber(void** fake_stack_save, const void* bottom, size_t size); + void __sanitizer_finish_switch_fiber(void* fake_stack_save, const void** old_bottom, size_t* old_size); +} +#endif + #if defined(_tsan_enabled_) - #if defined(__clang_major__) && (__clang_major__ >= 9) + #if defined(__clang_major__) && (__clang_major__ >= 9) extern "C" { - void* __tsan_get_current_fiber(void); - void* __tsan_create_fiber(unsigned flags); - void __tsan_destroy_fiber(void* fiber); - void __tsan_switch_to_fiber(void* fiber, unsigned flags); - void __tsan_set_fiber_name(void* fiber, const char* name); + void* __tsan_get_current_fiber(void); + void* __tsan_create_fiber(unsigned flags); + void __tsan_destroy_fiber(void* fiber); + void __tsan_switch_to_fiber(void* fiber, unsigned flags); + void __tsan_set_fiber_name(void* fiber, const char* name); } - #else + #else namespace { - void* __tsan_get_current_fiber(void) { - return nullptr; - } - void* __tsan_create_fiber(unsigned) { - return nullptr; - } - void __tsan_destroy_fiber(void*) { - } - void __tsan_switch_to_fiber(void*, unsigned) { - } - void __tsan_set_fiber_name(void*, const char*) { - } + void* __tsan_get_current_fiber(void) { + return nullptr; + } + void* __tsan_create_fiber(unsigned) { + return nullptr; + } + void __tsan_destroy_fiber(void*) { + } + void __tsan_switch_to_fiber(void*, unsigned) { + } + void __tsan_set_fiber_name(void*, const char*) { + } } - #endif + #endif #endif -using namespace NSan; - -TFiberContext::TFiberContext() noexcept - : Token_(nullptr) +using namespace NSan; + +TFiberContext::TFiberContext() noexcept + : Token_(nullptr) , IsMainFiber_(true) #if defined(_tsan_enabled_) , CurrentTSanFiberContext_(__tsan_get_current_fiber()) #endif -{ - TCurrentThreadLimits sl; - - Stack_ = sl.StackBegin; - Len_ = sl.StackLength; +{ + TCurrentThreadLimits sl; + + Stack_ = sl.StackBegin; + Len_ = sl.StackLength; #if defined(_tsan_enabled_) static constexpr char MainFiberName[] = "main_fiber"; __tsan_set_fiber_name(CurrentTSanFiberContext_, MainFiberName); #endif -} - +} + TFiberContext::TFiberContext(const void* stack, size_t len, const char* contName) noexcept - : Token_(nullptr) - , Stack_(stack) - , Len_(len) + : Token_(nullptr) + , Stack_(stack) + , Len_(len) , IsMainFiber_(false) #if defined(_tsan_enabled_) - , CurrentTSanFiberContext_(__tsan_create_fiber(/*flags =*/0)) + , CurrentTSanFiberContext_(__tsan_create_fiber(/*flags =*/0)) #endif -{ +{ (void)contName; #if defined(_tsan_enabled_) __tsan_set_fiber_name(CurrentTSanFiberContext_, contName); #endif -} - -TFiberContext::~TFiberContext() noexcept { +} + +TFiberContext::~TFiberContext() noexcept { if (!IsMainFiber_) { #if defined(_asan_enabled_) if (Token_) { @@ -88,35 +88,35 @@ TFiberContext::~TFiberContext() noexcept { __tsan_destroy_fiber(CurrentTSanFiberContext_); #endif } -} - -void TFiberContext::BeforeFinish() noexcept { -#if defined(_asan_enabled_) - __sanitizer_start_switch_fiber(nullptr, nullptr, 0); -#else - (void)Token_; - (void)Stack_; - (void)Len_; -#endif -} - +} + +void TFiberContext::BeforeFinish() noexcept { +#if defined(_asan_enabled_) + __sanitizer_start_switch_fiber(nullptr, nullptr, 0); +#else + (void)Token_; + (void)Stack_; + (void)Len_; +#endif +} + void TFiberContext::BeforeSwitch(TFiberContext* old) noexcept { -#if defined(_asan_enabled_) - __sanitizer_start_switch_fiber(old ? &old->Token_ : nullptr, (char*)Stack_, Len_); +#if defined(_asan_enabled_) + __sanitizer_start_switch_fiber(old ? &old->Token_ : nullptr, (char*)Stack_, Len_); #else (void)old; -#endif +#endif #if defined(_tsan_enabled_) - __tsan_switch_to_fiber(CurrentTSanFiberContext_, /*flags =*/0); + __tsan_switch_to_fiber(CurrentTSanFiberContext_, /*flags =*/0); #endif -} - -void TFiberContext::AfterSwitch() noexcept { -#if defined(_asan_enabled_) +} + +void TFiberContext::AfterSwitch() noexcept { +#if defined(_asan_enabled_) __sanitizer_finish_switch_fiber(Token_, nullptr, nullptr); -#endif -} +#endif +} void TFiberContext::AfterStart() noexcept { #if defined(_asan_enabled_) @@ -128,15 +128,15 @@ void TFiberContext::AfterStart() noexcept { extern "C" { // This function should not be directly exposed in headers // due to signature variations among contrib headers. - void AnnotateBenignRaceSized(const char* file, int line, - const volatile void* address, + void AnnotateBenignRaceSized(const char* file, int line, + const volatile void* address, size_t size, - const char* description); + const char* description); } -void NSan::AnnotateBenignRaceSized(const char* file, int line, - const volatile void* address, +void NSan::AnnotateBenignRaceSized(const char* file, int line, + const volatile void* address, size_t size, - const char* description) noexcept { + const char* description) noexcept { ::AnnotateBenignRaceSized(file, line, address, size, description); } #endif |