- Jul 28, 2019
-
-
Luca Pizzamiglio authored
-
Luca Pizzamiglio authored
Currently, libc supports and detects freebsd11 and freebsd13 Unknown versions, like freebsd13, is treated as freebsd11. This patch solve the issues, detecting freebsd13 and treating it like freebsd12. Inverting the logic not(freebsd12) -> freebsd11 where possible
-
- Jul 11, 2019
-
-
Joe Richey authored
-
Joe Richey authored
-
- Jul 05, 2019
-
-
Bryant Mairs authored
These constants have already been deprecated for a few releases with a deprecation notice, so they can finally be removed. Closes rust-lang/libc#665
-
- Jun 10, 2019
-
-
Bryant Mairs authored
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.
-
- Jun 07, 2019
-
-
Torbjørn Birch Moltu authored
-
Torbjørn Birch Moltu authored
* Change the type of FIONCLEX on apple platforms from c_uint to c_ulong * Add FIONCLEX, FIONREAD, FIOASYNC, FIOSETOWN and FIOGETOWN for DragonFly and OpenBSD
-
- May 29, 2019
- May 27, 2019
-
-
Bryant Mairs authored
The `pad` or `__reserved` fields are not always 0 on some platforms, so when used in the `PartialEq` implementation being used, fails some comparisons. This commit manually implements the extra traits to correct this behavior.
-
- May 24, 2019
-
-
gnzlbg authored
This commits adds a second FreeBSD 12 build job, and splits the implementation of the FreeBSD module into two modules, one for FreeBSD 11, and one for FreeBSD 12. The FreeBSD 11 module is compiled always by default, and is mostly forward compatible with FreeBSD 12 systems. The FreeBSD 12 module is only built for now in libc's CI, and uses FreeBSD 12 data types and APIs, linking to symbols that are only available in FreeBSD 12. Basically, when LIBC_CI env variable is defined, and the host system is a FreeBSD 12 system, then the FreeBSD 12 module is automatically built and tested. Conditional compilation is done using a `cfg(freebsd12)` flag. This commit also re-enables many tests, and documents why some remain disabled.
-
- Mar 27, 2019
-
-
Torbjørn Birch Moltu authored
-
Torbjørn Birch Moltu authored
-
- Feb 23, 2019
-
-
Bryant Mairs authored
-
- Feb 13, 2019
-
-
Vitaly _Vi Shukela authored
A follow-up from #1252. CC @asomers. r? @gnzlbg.
-
gnzlbg authored
-
- Feb 08, 2019
-
-
David Holroyd authored
-
- 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 02, 2019
-
-
MikaelUrankar authored
-
Your Name authored
-
MikaelUrankar authored
-
- Jan 22, 2019
-
-
Your Name authored
dragonflybsd still uses c_char [2] [1] https://svnweb.freebsd.org/base/releng/11.2/sys/sys/signal.h?revision=334459&view=markup#l438 [2] https://github.com/DragonFlyBSD/DragonFlyBSD/blob/master/sys/sys/signal.h#L339
-
- 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 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 15, 2018
-
-
Benjamin Saunders authored
-
- Nov 27, 2018
-
-
Fensteer authored
-
- Nov 20, 2018
-
-
Alan Somers authored
-
- Oct 30, 2018
-
-
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.
-
- Oct 19, 2018
-
-
Koutheir Attouchi authored
-
- Oct 06, 2018
-
-
xd009642 authored
* Added ptrace and constants for all freebsdlike and netbsdlike OSs
-
- Sep 10, 2018
-
-
Johannes Lundberg authored
-
- Jul 16, 2018
-
-
alesharik authored
-
- May 17, 2018
-
-
Andrew Morrow authored
-
- Mar 16, 2018
-
-
Alan Somers authored
-
- Mar 12, 2018
-
-
Wesley Moore authored
-
- Feb 27, 2018
-
-
Bryan Drewery authored
-
- Jan 23, 2018
-
-
Greg V authored
-
- Jan 22, 2018
-
-
Greg V authored
Available since FreeBSD 9.0, this API allows using local descriptors instead of global PIDs. It works in Capsicum sandboxes.
-