-
Notifications
You must be signed in to change notification settings - Fork 13.3k
AtomicU128 uses __atomic_load function on OSX #39590
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
Comments
Does atomic.c just need to be added to compiler_builtins? It looks like that's where it is defined. |
Probably, yeah, but the libs team has previously decided that we won't be providing atomics that don't have a true underlying hardware implementation, so in that sense that wouldn't be our desired solution for such a problem. |
The rust/src/librustc_back/target/x86_64_apple_darwin.rs Lines 15 to 16 in c49d102
|
I think that you need to add |
cc #35118 (i128 tracking issue) |
The `asm!` directive didn't compile on nightly anymore as it was. The new code still has issues, most obviously that Bit Test and Set instruction is not available. Another issue is the fact that most of these are available through stable atomics interfaces, so those should be used instead. However, they are not available for u128, even though they were for a short time: rust-lang/rust#39590 Lastly, memory-ordering is not specified. However, this is not much different from what it used to be like.
Correct alignment of atomic types and (re)add Atomic{I,U}128 This is a updated #53514 to also make atomic types `repr(C)` as per comment in #53514 (comment). Fixes #39590 Closes #53514 r? @pnkfelix
Last night's nightly build failed with these logs:
Notably it looks like this code:
generates this assembly:
cc @Amanieu and #38959
I'm going to temporarily revert #38959 to fix the nightlies while we figure out a solution
The text was updated successfully, but these errors were encountered: