-
Notifications
You must be signed in to change notification settings - Fork 230
Add compiler-rt fallbacks for sync builtins on armv5te-musl. #484
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
Conversation
We already have implementations of these in |
Ah thanks, also, I need to change this so I don't implement the 64-bit sync builtins (which aren't present normally) to armv5te, only the 8, 16, and 32-bit ones. |
I've updated it to implement all the atomic_rmw!(@old __sync_fetch_and_add_1, u8, |a: u8, b: u8| a.wrapping_add(b));
atomic_rmw!(@new __sync_add_and_fetch_1, u8, |a: u8, b: u8| a.wrapping_add(b)); As opposed to the prior: atomic_rmw!(__sync_fetch_and_add_1, u8, |a: u8, b: u8| a.wrapping_add(b)); |
Thanks! |
Would this have affected glibc as well? We are getting duplicate symbol errors for armv5te-unknown-linux-gnueabi on Debian:
https://buildd.debian.org/status/fetch.php?pkg=rustc&arch=armel&ver=1.61.0%2Bdfsg1-1%7Eexp1&stamp=1662665807&raw=0 (warning very large) |
It might be related but I'm not sure. We would need to see why linux-atomic.o is being pulled in from libgcc.a, normally any symbols there should be provided by compiler-builtins. |
Related to cross-rs/cross#367.