-
Notifications
You must be signed in to change notification settings - Fork 13.7k
[experiment] Enable link-time thread local support on MinGW #102243
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Conversation
(rust-highfive has picked a reviewer for you, use r? to override) |
|
Note that i686 windows-msvc also does not have thread-local enabled because the last attempt failed (see #95429). This might or might not be related to TLS issues with the Rust compiler. |
I've tried togging it in the past but EmuTLS used by GCC is just too messed up and causes problems for all languages that use TLS. |
The job Click to see the possible cause of the failure (guessed by this bot)
|
FYI there are multiple links regarding bugs in GCC's TLS for Windows here: msys2/MINGW-packages#2519 |
Does MinGW use COFF TLS the same way as MSVC? If not, this will break cg_clif for MinGW. |
MinGW is only the CRT (a bit like glibc or musl on Linux). |
Is there any documentation on emuTLS for implementing it in Cranelift? |
I have no idea, I'm not familiar with GCC code. |
r? compiler I don't think I have enough context on this platform right now to properly review this. |
r? compiler |
Since this is still a draft I'm going to mark it as waiting on the author. @rustbot author |
☔ The latest upstream changes (presumably #106087) made this pull request unmergeable. Please resolve the merge conflicts. |
closing this as it was an experiment |
I read somewhere that GCC supports link-time TLS on Windows. That would simplify the TLS handling code in
std
by a bit and would also hopefully improve performance.Uses the CI runners for testing as I don't have a Windows machine.