HomePhabricator

Don't trigger sanitizer initialization from `sysctlbyname` and `sysctl`…

Description

Don't trigger sanitizer initialization from sysctlbyname and sysctl interceptor.

Summary:
This fixes the ThreadSanitizer-x86_64-iossim testsuite which broke
when r348770 (https://reviews.llvm.org/D55473) landed.

The root cause of the problem is that early-on during the iOS simulator
init process a call to sysctlbyname is issued. If the TSan initializer
is triggered at this point it will eventually trigger a call to
__cxa_at_exit(...). This call then aborts because the library
implementing this function is not yet had its initialization function
called.

rdar://problem/46696934

Reviewers: kubamracek, george.karpenkov, devnexen, vitalybuka, krytarowski

Subscribers: #sanitizers, llvm-commits

Differential Revision: https://reviews.llvm.org/D55711

Details