We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
2 parents deb2fbd + 801e090 commit 531df99Copy full SHA for 531df99
stdlib/toolchain/Compatibility56/Concurrency/ThreadSanitizer.cpp
@@ -23,6 +23,12 @@ namespace {
23
using TSanFunc = void(void *);
24
} // anonymous namespace
25
26
+// Note: We can't use a proper interface to get the `__tsan_acquire` and
27
+// `__tsan_release` from the public/Concurrency/ThreadSanitizer.cpp.
28
+// Unfortunately, we can't do this because there is no interface in the runtimes
29
+// we are backdeploying to. So we're stuck using this lazy dlsym game.
30
+// Number of times I've tried to fix this: 3
31
+
32
void swift::_swift_tsan_acquire(void *addr) {
33
const auto backdeploy_tsan_acquire =
34
reinterpret_cast<TSanFunc *>(SWIFT_LAZY_CONSTANT(dlsym(RTLD_DEFAULT, "__tsan_acquire")));
0 commit comments