aboutsummaryrefslogtreecommitdiff
path: root/lib/tsan/interception/interception_mac.cpp
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2020-12-22 19:25:24 -0700
committerAndrew Kelley <andrew@ziglang.org>2020-12-24 01:18:48 -0700
commit8219d92987c7d9641d6b24c4d5be29e3a80fd6b9 (patch)
tree026578eeb7d11f5813d081025763f064401536e1 /lib/tsan/interception/interception_mac.cpp
parent42b4a48bc96ce22562230cd1a266f93a013c76dd (diff)
downloadzig-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.cpp18
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