libc
libc copied to clipboard
Raw bindings to platform APIs for Rust
code is the same as https://github.com/rust-lang/libc/pull/3559, but rebased on `main` instead of `0.2` r? @tgross35
Tested (libc-test) on both Solaris and Illumos (with latest stable Omnios). All tests are passing. Illumos changes can be checked against https://github.com/illumos/illumos-gate Solaris changes can be checked only with installed...
while at it, fixing PTHREAD_MUTEX_DEFAULT which differs from solaris. [man page](https://github.com/illumos/illumos-gate/blob/f1131be9159d3bbfbff616a59d26504ef672b1f2/usr/src/man/man3c/ptsname.3c#L100)
On ARM64 Android there should be padding between `uc_sigmask` and `uc_mcontext` in `libc::ucontext_t`, see [here](https://cs.android.com/android/platform/superproject/main/+/main:prebuilts/runtime/mainline/runtime/sdk/android/arm64/include/bionic/libc/kernel/uapi/asm-arm64/asm/ucontext.h;l=15;drc=9f2b634c25c4af1a26f6a92263fef48377f0ddec) Now `core::mem::offset_of!(libc::ucontext_t, uc_mcontext)` is the expected value of `0xB0` fixes #3655
`x86_64-unknown-netbsd` is a tier two target, and it looks like cirrus CI might now have support for it https://github.com/cirruslabs/cirrus-ci-docs/issues/970. We should try to get it in our CI. Cc @semarie...
It has been proposed to remove the `Eq`, `Hash`, and `Debug` implementations as part of 1.0 https://github.com/rust-lang/libc/issues/3248. The reason for this is that for anything with padding or unions, it...
Following https://github.com/rust-lang/libc/issues/3014, this PR just implements the group side of the calls, since that doesn't require CI to be updated.
I was trying to call `libc::ioctl` but I got type errors with Android aarch64 target. It works fine with x86_64. The second argument `request` has different size in these targets:...
I'm not sure what the support expectations are here as NetBSD is listed as an untested platform, but here's the output of the tests on NetBSD 8.0. ``` /home/worker/test-rust-libc.sh in...