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 | 646ec67e252f7daa5fe1f5d7719f247c89293b0c (patch) | |
tree | c0c9f29a9d29e3d0fb28f6304c35096780324aff /compiler-rt/lib/asan/asan_internal.h | |
parent | 534d3a467085d9be5b4cbe7d59f3ee5bec61fc7c (diff) | |
download | bcm5719-llvm-646ec67e252f7daa5fe1f5d7719f247c89293b0c.tar.gz bcm5719-llvm-646ec67e252f7daa5fe1f5d7719f247c89293b0c.zip |
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.
llvm-svn: 182637
Diffstat (limited to 'compiler-rt/lib/asan/asan_internal.h')
-rw-r--r-- | compiler-rt/lib/asan/asan_internal.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/compiler-rt/lib/asan/asan_internal.h b/compiler-rt/lib/asan/asan_internal.h index b79acf31c17..7a4d74472bc 100644 --- a/compiler-rt/lib/asan/asan_internal.h +++ b/compiler-rt/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)); |