Uh oh!
There was an error while loading. Please reload this page.
Enable linux_raw support for android - #1090
Conversation
sunfishcode
commented
Jul 22, 2024
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. |
yujincheng08
commented
Jul 22, 2024
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. |
yujincheng08
commented
Jul 22, 2024
For CI, we can use Android emulator for testing (see https://github.com/rust-lang/libc/blob/main/.github/workflows/full_ci.yml) |
notgull
commented
Jul 22, 2024
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. |
sunfishcode
commented
Jul 24, 2024
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. |
yujincheng08
commented
Jul 24, 2024
Thanks. |
yujincheng08
commented
Jul 24, 2024
Then we will stick to our fork instead. |
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.