- Sep 17, 2020
-
-
Matt Schulte authored
!1880 added UIO_MAXIOV to libc, but did not add it to uclibc. This causes build breaks for std against uclibc.
-
- Sep 13, 2020
-
-
Daniil Bondarev authored
The pr #1870 introduced safe_f! macro, which made some functions like WIFEXITED and WEXITSTATUS const and safe on linux_like platform only, which causes inconsistency when trying to use those functions in crates compiled across multiple platforms, as using unsafe on those functions will generate unused_unsafe warning on linux platforms and lack of unsafe block will fail compilation on non-linux platforms. To avoid the inconsistency, this commit applies the same macro for all the same functions on other platforms too.
-
- Jul 01, 2020
-
-
kolapapa authored
-
- May 21, 2020
-
-
Yuki Okushi authored
-
- Mar 29, 2020
-
-
Patrick Mooney authored
-
- Mar 14, 2020
-
-
Thomas Hurst authored
Add AT_EACCESS to Linux, Solaris, and Fuchsia. Add AT_SYMLINK_FOLLOW, AT_REMOVEDIR, and _AT_TRIGGER to Solaris.
-
- Mar 08, 2020
-
-
Yuki Okushi authored
-
- Feb 29, 2020
-
-
Yuki Okushi authored
-
- Feb 12, 2020
-
-
Vickenty Fesunov authored
This triggers a warning on a recent nightly, which in turn breaks CI due to `#![deny(warnings)]` in libc-test/build.rs
-
- Nov 27, 2019
-
-
Alex Povar authored
-
- Oct 15, 2019
-
-
Stefano Probst authored
-
- Sep 18, 2019
-
-
Philipp Gesang authored
It's *msg_prio* in both manpages and posix.
-
- Sep 12, 2019
- 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
-
- Jun 03, 2019
-
-
gnzlbg authored
-
- Jun 02, 2019
-
-
red75prime authored
-
- May 29, 2019
- May 27, 2019
-
-
gnzlbg authored
-
Bryant Mairs authored
`nl_pad` field does not contain any actual data, so using it for comparison or hashing doesn't make sense. Instead manually implement extra traits ignoring this field.
-
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 23, 2019
-
-
gnzlbg authored
-
- May 22, 2019
-
-
gnzlbg authored
The second argument of `gettimeofday` was a `*mut c_void` on all targets, but that type is incorrect in the following targets, where it should be a `*mut timezone` instead: On these other targets it appears that the signature of gettimeofday was incorrect (it takes a time-zone pointer instead of a void pointer): linux+gnu: http://man7.org/linux/man-pages/man2/gettimeofday.2.html freebsd: https://www.freebsd.org/cgi/man.cgi?query=gettimeofday&apropos=0&sektion=2&manpath=FreeBSD+11.2-stable&arch=default&format=html openbsd: https://man.openbsd.org/gettimeofday.2 android: https://github.com/ricardoquesada/android-ndk/blob/master/usr/include/sys/time.h dragonfly: https://www.dragonflybsd.org/cgi/web-man?command=gettimeofday§ion=2 This commit corrects the type on these targets, which is a breaking change. Due to how this API is commonly used (e.g. passing `ptr::null_mut` to the second argument), breakage should be minimal. Users wanting to support both versions can just write `ptr as *mut _` instead. Closes #1338.
-
- May 16, 2019
-
-
gnzlbg authored
-
- Apr 29, 2019
-
-
Charles Lew authored
-
- Mar 04, 2019
-
-
Bryant Mairs authored
-
- Mar 03, 2019
- Mar 02, 2019
-
-
Sebastian Humenda authored
-
Sebastian Humenda authored
- fix syntax error in expand_align macro - fix errors due to doubly defined symbols / functions for x86_64-uclibc
-
- Feb 28, 2019
-
-
red75prime authored
-
red75prime authored
-
red75prime authored
-
red75prime authored
-
- Feb 22, 2019
-
-
gnzlbg authored
This cleans up the build.rs of `libc-test` for apple targets. I wanted to update the docker containers of some targets so that we can start testing newer currently-skipped APIs properly, but it is impossible to figure out which headers and APIs are skipped for each target. This PR separates the testing of apple targets into its own self-contained function. This allows seeing exactly which headers are included, and which items are skipped. A lot of work will be required to separate the testing of all major platforms and make the script reasonable. During the clean up, I discovered that, at least for apple targets, deprecated but not removed APIs are not tested. I re-enabled testing for those, and fixed `daemon`, which was not properly linking its symbol. I also added the `#[deprecated]` attribute to the `#[deprecated]` APIs of the apple targets. The attribute is available since Rust 1.9.0 and the min. Rust version we support is Rust 1.13.0. Many other APIs are also currently not tested "because they are weird" which I interpret as "the test failed for an unknown reason", as a consequence: * the signatures of execv, execve, and execvp are incorrect (see https://github.com/rust-lang/libc/issues/1272) * the `sig_t` type is called `sighandler_t` in libc for some reason: https://github.com/rust-lang/libc/issues/1273 This probably explains why some other things, like the `sa_handler`/`sa_sigaction` fields of `sigaction` were skipped. The field is actually a union, which can be either a `sig_t` for the `sa_handler` field, or some other type for the `sa_sigaction` field, but because the distinction was not made, the field was not checked. The latest ctest version can check volatile pointers, so a couple of skipped tests are now tested using this feature.
-
- Feb 13, 2019
-
-
gnzlbg authored
-