While investigating another issue, I noticed that MaybeReexec() never
actually "re-executes via execv()" anymore. DyldNeedsEnvVariable()
only returned true on macOS 10.10 and below.
Usually, I try to avoid "unnecessary" cleanups (it's hard to be certain
that there truly is no fallout), but I decided to do this one because:
- I initially tricked myself into thinking that MaybeReexec() was relevant to my original investigation (instead of being dead code).
- The deleted code itself is quite complicated.
- Over time a few other things were mushed into MaybeReexec(): initializing MonotonicNanoTime(), verifying interceptors are working, and stripping the DYLD_INSERT_LIBRARIES env var to avoid problems when forking.
- This platform-specific thing leaked into sanitizer_common.h.
- The ReexecDisabled() config nob relies on the "strong overrides weak pattern", which is now problematic and can be completely removed.
- ReexecDisabled() actually hid another issue with interceptors not working in unit tests. I added an explicit verify_interceptors (defaults to true) option instead.