libc
libc copied to clipboard
Raw bindings to platform APIs for Rust
libc uses integers and aggregates of integers for explicit padding byte fields. When these fields are returned from C, they might be uninitialized. We currently do not have any wording...
* Platform: Linux dennis-thinkpad 4.15.0-39-generic #42-Ubuntu SMP Tue Oct 23 15:48:01 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux * Info: When try to create more connections to a mysql server, panic...
@sunfishcode pointed out here (https://github.com/rust-lang/libc/pull/1321#discussion_r277067911) that when we use explicit padding on C FFI: ```rust struct Foo { _pad: u32; pub field: u16 } ``` Rust will insert copies, etc....
AFAICT wchar_t is `i32` for all BSD targets, but for example for FreeBSD aarch64 targets it should be `u32`. I'm not sure about `ios` aarch64 targets, but i think there...
# Description This PR adds NetBSD to the CI for nightly target and resolves current build/test failures resulting from NetBSD modules. Fixes #3890 Fixes https://github.com/rust-lang/libc/pull/3965
This started failing with a recent xcode update from Travis and had to be disabled in https://github.com/rust-lang/libc/pull/1051 due to errors like this -- https://travis-ci.org/rust-lang/libc/jobs/410547612 Looks like the simulated program is...
Currently our config looks a bit like this: ```rust cfg.skip_field(move |struct_, field| { (struct_ == "siginfo_t" && field == "_pad") || (musl && struct_ == "glob_t" && field == "gl_flags")...
This came from the reserved field, we just need to adjust our type https://github.com/bminor/glibc/commit/92861d93cdad13834f4d8f39504b550a80ad8200.
We currently polyfill these functions for solarish in https://github.com/rust-lang/libc/blob/3a0b0444d7206aa3feb30297c005597a960d0b33/src/unix/solarish/compat.rs, but it would be better to phase these out so we're not providing any implementations in `libc`. It looks like Solaris...
Since musl 1.2.5 it supports the `statx()` syscall: defined here: target triple: `*-unknown-linux-musl`