diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2020-12-22 19:25:24 -0700 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2020-12-24 01:18:48 -0700 |
| commit | 8219d92987c7d9641d6b24c4d5be29e3a80fd6b9 (patch) | |
| tree | 026578eeb7d11f5813d081025763f064401536e1 /lib/tsan/interception/interception_mac.cpp | |
| parent | 42b4a48bc96ce22562230cd1a266f93a013c76dd (diff) | |
| download | zig-8219d92987c7d9641d6b24c4d5be29e3a80fd6b9.tar.gz zig-8219d92987c7d9641d6b24c4d5be29e3a80fd6b9.zip | |
stage2: fix Cache deadlock and build more of TSAN
* rename is_compiler_rt_or_libc to skip_linker_dependencies
and set it to `true` for all sub-Compilations. I believe
this resolves the deadlock we were experiencing on Drone
CI and on some users' computers. I will remove the CI workaround in
a follow-up commit.
* enabling TSAN automatically causes the Compilation to link against
libc++ even if not requested, because TSAN depends on libc++.
* add -fno-rtti flags where appropriate when building TSAN objects.
Thanks Firefox317 for pointing this out.
* TSAN support: resolve all the undefined symbols. We are still seeing
a dependency on __gcc_personality_v0 but will resolve this one in a
follow-up commit.
* static libs do not try to build libc++ or libc++abi.
Diffstat (limited to 'lib/tsan/interception/interception_mac.cpp')
| -rw-r--r-- | lib/tsan/interception/interception_mac.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/lib/tsan/interception/interception_mac.cpp b/lib/tsan/interception/interception_mac.cpp new file mode 100644 index 0000000000..fb6eadcff5 --- /dev/null +++ b/lib/tsan/interception/interception_mac.cpp @@ -0,0 +1,18 @@ +//===-- interception_mac.cpp ------------------------------------*- C++ -*-===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// +// +// This file is a part of AddressSanitizer, an address sanity checker. +// +// Mac-specific interception methods. +//===----------------------------------------------------------------------===// + +#include "interception.h" + +#if SANITIZER_MAC + +#endif // SANITIZER_MAC |
