diff options
author | Alexey Samsonov <samsonov@google.com> | 2013-05-24 11:46:56 +0000 |
---|---|---|
committer | Alexey Samsonov <samsonov@google.com> | 2013-05-24 11:46:56 +0000 |
commit | 46efcb09dc16b91cb805abea52f3ff6081a63751 (patch) | |
tree | 07e801ce44ba5c388b29f307747940aae5eb55d1 /lib/asan/asan_internal.h | |
parent | 2811a0ccbadb9f8c50fe0b6aa8e4e39193fef4e7 (diff) |
Disable init-order checking before destructors are run.
We don't want to report initialization-order bugs when a destructor of a global
variable accesses dynamically initialized global from another
(not necessarily initialized) module. We do this by intercepting __cxa_atexit and
registrering our own callback that unpoisons shadow for all dynamically initialized
global variables.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@182637 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/asan/asan_internal.h')
-rw-r--r-- | lib/asan/asan_internal.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/asan/asan_internal.h b/lib/asan/asan_internal.h index b79acf31c..7a4d74472 100644 --- a/lib/asan/asan_internal.h +++ b/lib/asan/asan_internal.h @@ -92,6 +92,7 @@ void UnsetAlternateSignalStack(); void InstallSignalHandlers(); void ReadContextStack(void *context, uptr *stack, uptr *ssize); void AsanPlatformThreadInit(); +void StopInitOrderChecking(); // Wrapper for TLS/TSD. void AsanTSDInit(void (*destructor)(void *tsd)); |