-
Notifications
You must be signed in to change notification settings - Fork 10.5k
Remove dlsym() lookup for TSan functions from common path #36478
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I love deleting code.
Move TSan function lookup via `dlsym()` out of the common path. The TSan runtime will now call `__tsan_on_initialize()` which we can use to initialize the TSan functions in the Swift runtime. This avoids paying the cost of `dlsym()` in the common, non-TSan case. Depends on: https://reviews.llvm.org/D98810 rdar://75493372
Thread Sanitizer is not supported on Windows.
@swift-ci Please test and merge |
Only unrelated tests failed:
|
@swift-ci Please smoke test and merge |
Same unrelated tests are still failing:
|
@gottesmm Can we merge this? |
@swift-ci Please smoke test and merge |
macOS failures:
Linux failures:
|
@swift-ci Please smoke test and merge |
macOS build failure:
|
@swift-ci Please smoke test macOS |
1 similar comment
@swift-ci Please smoke test macOS |
Unrelated macOS failure:
|
@swift-ci Please smoke test macOS |
Unrelated macOS failures:
|
@shahmishal @gottesmm Can we merge this? I don't know what to do anymore. |
@swift-ci Please smoke test macOS |
That was an ordeal. Quick, click Merge before something else happens. |
Move TSan function lookup via
dlsym()
out of the common path. TheTSan runtime will now call
__tsan_on_initialize()
which we can use toinitialize the TSan functions in the Swift runtime.
This avoids paying the cost of
dlsym()
in the common, non-TSan case.Depends on: https://reviews.llvm.org/D98810
rdar://7549337