-
Notifications
You must be signed in to change notification settings - Fork 12.8k
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
riscv32i: __atomic_load_4
is referenced in libcompiler_builtins
#92897
Comments
More information: This symbol is clearly present in the object files. Inside
Note that I previously opened #85736, however this seems to be different because it doesn't involve LTO and I can tell that |
A workaround we've done to get it to at least compile on #[no_mangle]
pub fn __atomic_load_4(arg: *const usize, _ordering: usize) -> usize {
unsafe { *arg }
} |
This only affects the simulation infrastructure, but it is a real issue for betrusted-ec, which currently only builds under rustc-1.57.
This is fixed by rust-lang/compiler-builtins@e0187f1 which is included in compiler-builtins version 0.1.54. However Rust 1.58.0 uses compiler_builtins 0.1.53. |
Nominating for stable backport as per Zulip discussion @rustbot label +stable-nominated |
Stable backport of rust-lang/compiler-builtins@e0187f1 approved as per compiler team on Zulip @rustbot label +stable-accepted |
I was having the same issue, but updating to rustc 1.59.0 (and later versions) fixed it for me. |
Based on the dates I believe this should be fixed across all channels at this point, so going to go ahead and close. |
The atomic function
__atomic_load_4
is getting referenced somehow inlibcompiler_builtins
. I'm not sure how to trigger the linker issue, however we've started running into it on CI:https://ci.betrusted.io/job/betrusted-ec-fw/117/console
Version it worked on
It used to work on Rust 1.57.1, however it has broken on Rust 1.58.0.
The text was updated successfully, but these errors were encountered: