-
Notifications
You must be signed in to change notification settings - Fork 13.4k
riscv32i: __atomic_load_4
is referenced in libcompiler_builtins
#92897
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
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: