-
Notifications
You must be signed in to change notification settings - Fork 161
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
Enable linux_raw support for android #1090
Conversation
I can't find a link at the moment, but I recall discussions where people believed Android doesn't guarantee raw syscall behavior, and expects users use its libc. Do you know if that's the case? My other concern here is that we don't currently have any CI testing on Android, so I'm hesitant to enable linux_raw by default without a way of testing it. |
I don't think that's the way. Android also uses a Linux kernel, and many apps (like Google Chrome) are using raw syscall with libc. |
For CI, we can use Android emulator for testing (see https://github.com/rust-lang/libc/blob/main/.github/workflows/full_ci.yml) |
Is there any significant difference between Linux libc and Android libc? |
The libc of Andorid is bonic (a implementation rather than gnu libc, musl, or llvm-libc). See https://cs.android.com/android/platform/superproject/main/+/main:bionic/ Note that there should not be significant differences in usage level, otherwise ALL libraries have to do special adaptation for Android, which is definitely not something Google wants. |
I will not be able to add Android emulator support to rustix's CI myself, so if this is to happen, someone else will need to to this. I also don't have confidence in my ability to make an appropriate judgement here, so I've opened #1095 in hopes of receiving more input. |
Thanks. |
I have no idea why we need use libc backend, but definitely, we should not prevent users from using linux_raw backend.
CI test fails because some constants are missing from libc, and the fix is rust-lang/libc#3779.