Remove AF_MAX, PF_MAX, NET_MAXID constants
These constants have already been deprecated for a few releases with
a deprecation notice, so they can finally be removed.
Closesrust-lang/libc#665
Reduce appveyor churn
This should reduce the Appveyorn churn for other projects a bit more.
Please let me know if there is anything else that can be done. Maybe the infra team could discuss whether to document some general guidelines for rust-lang and rust-lang-nursery projects, and write them down somewhere. I would be willing to help.
cc @RalfJung @Mark-Simulacrum
Update ctest version
The latest ctest version enabled the ABI roundtrip test by default, in which we initialize all types in Rust by default to some random bit-pattern, pass them to C, verify, modify, pass back to Rust, and verify.
This catches issues in the call ABI / calling convention.
This PR will silence those here for now.
wasi: add c_schar definition
This fixes an issue when building https://github.com/capstone-rust/capstone-rs/ for WASI.
Otherwise, I get:
~~~
error[E0412]: cannot find type `c_schar` in module `libc`
--> /home/user/capstone-rs/target/wasm32-wasi/debug/build/capstone-sys-1019f1f8759b0d05/out/capstone.rs:4:27
|
4 | pub type __int8_t = libc::c_schar;
| ^^^^^^^ help: a type alias with a similar name exists: `c_char`
error: aborting due to previous error
For more information about this error, try `rustc --explain E0412`.
error: Could not compile `capstone-sys`.
~~~
The file with the error is generated with bindgen:
a74126cd88/capstone-sys/pre_generated/capstone.rs (L3-L5)
Remove new field from ucontext_t for compatibility with earlier glibc versions
Per discussion in #1410 with @gnzlbg, this is necessary to avoid struct size mismatches between Rust and C on systems with glibc < 2.28.
Add RTM_* constants to linux/mod.rs for rtnetlink
There is one last set of constants I'm looking to get added to libc for rtnetlink support in my netlink library. I'm going to follow this up with a release PR once this PR is merged.
Remove Linux constants from Fushia
PR #849 just moved all of the Linux structures into `src/fuchsia`.
While this is good for the most part, we really don't want the `SYS_*`
constants exported on Fushia, as these are not Fuchsia's syscalls.
This also removes Linux-specific `GRND_*` constants.
PR #849 just moved all of the Linux structures into `src/fuchsia`.
While this is good for the most part, we really don't want the `SYS_*`
constants exported on Fushia, as these are not Fuchsia's syscalls.
This also removes Linux-specific `GRND_*` constants.
Switch to manual trait impls for sigevent
`sigevent` on most platforms have padding or unused fields. Rather
than display those in the `Debug` impl by deriving it, manually implement
all `extra_traits` instead ignoring those fields.
I do worry that my `PartialEq` implementations for this for some platforms (like Linux) is not correct due to ignoring bytes that shouldn't be ignored because these structs don't have a proper union set up.
cc @asomers
Part of nix-rust/nix#1035
sigevent structs on most platforms have padding or unused fields. Rather
than display those in the Debug impl by deriving it, manually implement
all extra_traits instead ignoring those fields.