- Feb 20, 2019
- Feb 13, 2019
-
-
gnzlbg authored
-
- Feb 09, 2019
-
-
Sébastien Marie authored
-
- Feb 08, 2019
-
-
David Holroyd authored
-
David Holroyd authored
-
David Holroyd authored
I guess the previous lint failure was about avoiding #[cfg], and doing this instead.
-
David Holroyd authored
Will likely alter this after seeing CI results across platforms.
-
- Feb 07, 2019
-
-
gnzlbg authored
This PR fixes the build on all platforms and all Rust version down to the minimum Rust version supported by libc: Rust 1.13.0. The `build.rs` is extended with logic to detect the newer Rust features used by `libc` since Rust 1.13.0: * Rust 1.19.0: `untagged_unions`. APIs using untagged unions are gated on `cfg(libc_unions)` and not available on older Rust versions. * Rust 1.25.0: `repr(align)`. Because `repr(align)` cannot be parsed by older Rust versions, all uses of `repr(align)` are split into `align.rs` and `no_align.rs` modules, which are gated on the `cfg(libc_align)` at the top level. These modules sometimes contain macros that are expanded at the top level to avoid privacy issues (`pub(crate)` is not available in older Rust versions). Closes #1242 . * Rust : `const` `mem::size_of`. These uses are worked around with hardcoded constants on older Rust versions. Also, `repr(packed)` structs cannot automatically `derive()` some traits like `Debug`. These have been moved into `s_no_extra_traits!` and the lint of missing `Debug` implementations on public items is silenced for these. We can manually implement the `extra_traits` for these in a follow up PR. This is tracked in #1243. Also, `extra_traits` does not enable `align` manually anymore. Since `f64::to_bits` is not available in older Rust versions, its usage has been replaced with a `transmute` to an `u64` which is what that method does under the hood. Closes #1232 .
-
- Feb 03, 2019
-
-
Bryant Mairs authored
-
Bryant Mairs authored
This was not compile-tested on all platforms, but instead all `pub enum` types had a `Debug` impl derived for them.
-
- Jan 16, 2019
-
-
Alan Somers authored
PR #1098 added the CMSG_DATA(3) family of functions into libc. Because they're defined as macros in C, they had to be rewritten as Rust functions for libc. Also, they can't be tested in CI for the same reason. But that PR erroneously used the same definitions in BSD as in Linux. This commit corrects the definitions for OSX, FreeBSD, DragonflyBSD, OpenBSD, and NetBSD. I renamed a few variables and collapsed a few macros in order to combine the definitions where possible. Fixes #1210
-
- Jan 15, 2019
-
-
Alan Somers authored
The aio functions require librt on NetBSD.
-
- Jan 13, 2019
-
-
alecmocatta authored
-
- Jan 12, 2019
-
- Jan 09, 2019
-
-
Andrei-Marius Radu authored
OpenBSD doesn't implement fexecve. The only reference of it that I can find in the OpenBSD source is in the man pages of signal(3) and sigaction(2) (where it's mentioned that it is not implemented). OpenBSD official source code link: https://cvsweb.openbsd.org/src/lib/libc/sys/sigaction.2?rev=1.75&content-type=text/x-cvsweb-markup OpenBSD Github mirror: https://github.com/openbsd/src/blob/master/lib/libc/sys/sigaction.2#L619 On NetBSD's unistd.h I see that it is under an ifdef. Calling it returns 78 / ENOSYS / Function not implemented. NetBSD office source code link: http://cvsweb.netbsd.org/bsdweb.cgi/src/include/unistd.h?rev=1.151&content-type=text/x-cvsweb-markup&only_with_tag=MAIN NetBSD Github mirror: https://github.com/NetBSD/src/blob/trunk/include/unistd.h#L319
-
- Jan 08, 2019
-
-
alecmocatta authored
-
- Jan 03, 2019
-
-
Alan Somers authored
On FreeBSD, uname is an inline function. The uname that is present in libc.so is for FreeBSD 1.0 compatibility. It expects a buffer of a different size. Fixes #1190 Reported-by: Alex Zepeda
-
- Dec 28, 2018
-
-
Tom Pusateri authored
-
Tom Pusateri authored
-
- Dec 27, 2018
-
-
Tom Pusateri authored
-
- Dec 15, 2018
-
-
Benjamin Saunders authored
-
- Dec 06, 2018
-
-
M Farkas-Dyck authored
-
- Dec 05, 2018
-
-
Jonathan A. Kollasch authored
-
- Nov 27, 2018
-
-
Sébastien Marie authored
-
Sébastien Marie authored
-
Sébastien Marie authored
-
Fensteer authored
-
- Nov 20, 2018
-
-
Alan Somers authored
-
- Nov 02, 2018
-
-
Jonathan A. Kollasch authored
- extattr_namespace_to_string() - extattr_string_to_namespace()
-
- Oct 31, 2018
-
-
Jonathan A. Kollasch authored
-
- Oct 30, 2018
-
-
Jonathan A. Kollasch authored
-
Alan Somers authored
DragonflyBSD does define 3 of these 14 functions. But I elected not to add it to the PR because I can't find any evidence that these syscalls are used on Dragonfly, even in the base system. And by themselves, those three are insufficient for the xattr crate.
-
Jonathan A. Kollasch authored
-
Jonathan A. Kollasch authored
-
Jonathan A. Kollasch authored
-
- Oct 28, 2018
-
-
Jonathan A. Kollasch authored
Also while here: fix powerpc64, mips, and mips64 pthread types. These targets are not yet fully/correctly implemented in rust-libc however.
-
- Oct 19, 2018
-
-
Koutheir Attouchi authored
-
- Oct 08, 2018
-
-
xd009642 authored
-