-
Notifications
You must be signed in to change notification settings - Fork 13.5k
Use raw-dylib for Windows synchronization functions #124019
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
rustbot has assigned @compiler-errors. Use |
Some changes occurred in compiler/rustc_codegen_cranelift cc @bjorn3 |
Oh silly bot, this is really a libs thing. Just with a bit of cranelift sprinkled on top, r? libs |
5448070
to
b0f972f
Compare
compiler/rustc_codegen_cranelift/patches/0030-Revert-use-raw-dylib-for-Windows-futex-APIs.patch
Outdated
Show resolved
Hide resolved
This comment has been minimized.
This comment has been minimized.
This is a workaround for older mingw `synchronization` import library not working on at least some system.
b0f972f
to
5b024d6
Compare
Looks fine to me, considering that @bors r+ |
Use raw-dylib for Windows synchronization functions Fixes rust-lang#123999 by using the raw-dylib feature to specify the DLL to load the Windows futex functions from (e.g. [`WaitOnAddress`](https://learn.microsoft.com/en-us/windows/win32/api/synchapi/nf-synchapi-waitonaddress)). This avoids reliance on the import library causing that issue. With apologies to `@bjorn3,` as it's currently necessary to revert this for cranelift.
Use raw-dylib for Windows synchronization functions Fixes rust-lang#123999 by using the raw-dylib feature to specify the DLL to load the Windows futex functions from (e.g. [`WaitOnAddress`](https://learn.microsoft.com/en-us/windows/win32/api/synchapi/nf-synchapi-waitonaddress)). This avoids reliance on the import library causing that issue. With apologies to `@bjorn3,` as it's currently necessary to revert this for cranelift.
…kingjubilee Rollup of 9 pull requests Successful merges: - rust-lang#117919 (Introduce perma-unstable `wasm-c-abi` flag) - rust-lang#123406 (Force exhaustion in iter::ArrayChunks::into_remainder) - rust-lang#123752 (Properly handle emojis as literal prefix in macros) - rust-lang#123935 (Don't inline integer literals when they overflow - new attempt) - rust-lang#123980 ( Add an opt-in to store incoming edges in `VecGraph` + misc) - rust-lang#124019 (Use raw-dylib for Windows synchronization functions) - rust-lang#124110 (Fix negating `f16` and `f128` constants) - rust-lang#124112 (Fix ICE when there is a non-Unicode entry in the incremental crate directory) - rust-lang#124116 (when suggesting RUST_BACKTRACE=1, add a special note for Miri's env var isolation) r? `@ghost` `@rustbot` modify labels: rollup
…kingjubilee Rollup of 7 pull requests Successful merges: - rust-lang#123406 (Force exhaustion in iter::ArrayChunks::into_remainder) - rust-lang#123752 (Properly handle emojis as literal prefix in macros) - rust-lang#123935 (Don't inline integer literals when they overflow - new attempt) - rust-lang#123980 ( Add an opt-in to store incoming edges in `VecGraph` + misc) - rust-lang#124019 (Use raw-dylib for Windows synchronization functions) - rust-lang#124110 (Fix negating `f16` and `f128` constants) - rust-lang#124116 (when suggesting RUST_BACKTRACE=1, add a special note for Miri's env var isolation) r? `@ghost` `@rustbot` modify labels: rollup
Rollup merge of rust-lang#124019 - ChrisDenton:futex-raw-dylib, r=joboet Use raw-dylib for Windows synchronization functions Fixes rust-lang#123999 by using the raw-dylib feature to specify the DLL to load the Windows futex functions from (e.g. [`WaitOnAddress`](https://learn.microsoft.com/en-us/windows/win32/api/synchapi/nf-synchapi-waitonaddress)). This avoids reliance on the import library causing that issue. With apologies to ``@bjorn3,`` as it's currently necessary to revert this for cranelift.
I'm nominating this for a beta backport, even though this isn't technically a Rust issue. See linked issue for more but the short version is that the windows-2019 github action runner comes with a years old mingw that has a bug which will prevent windows-gnu std from working if compiled on that machine. This PR works around the bug. It's a small PR so I think it's worth it to make sure that stable works out of the box on windows-2019. Note that the windows-latest runner isn't affected. |
…Simulacrum [stable] 1.78.0 release https://forge.rust-lang.org/release/process.html#promote-branches-t-3-days-monday This also includes a backport of: * Use raw-dylib for Windows synchronization functions rust-lang#124019 r? `@Mark-Simulacrum`
Fixes #123999 by using the raw-dylib feature to specify the DLL to load the Windows futex functions from (e.g.
WaitOnAddress
). This avoids reliance on the import library causing that issue.With apologies to @bjorn3, as it's currently necessary to revert this for cranelift.