- Feb 21, 2019
-
-
gnzlbg authored
-
- Feb 20, 2019
- Feb 13, 2019
- Feb 09, 2019
-
-
gnzlbg authored
-
- Feb 07, 2019
-
-
gnzlbg authored
This commit adds a `ci/build.sh` script that checks that libc builds correctly for some common configurations (`--no-default-features`, `default`, `extra_traits`) on most targets supported by Rust since Rust 1.13.0 (the oldest Rust version that libc supports). The build matrix is refactored into two stages. The first stage is called `tools-and-build-and-tier1` and it aims to discover issues quickly by running the documentation and linter builds, as well as checking that the library builds correctly on all targets in all supported channels and "problematic" Rust versions; Rust versions adding major new features like `repr(align)`, `union`, etc. This first stage also runs libc-test for the tier-1 targets on linux and osx. These builds finish quickly because no emulation is necessary. The second stage is called `tier2` and it runs libc-test for all other targets for which we are currently able to do so. Closes #1229 .
-
- Feb 05, 2019
-
-
Alan Somers authored
Since these are defined in C as macros, they must be reimplemented in libc as Rust functions. They're hard to get exactly right, and they vary from platform to platform. The test builds custom C code that uses the real macros, and compares its output to the Rust versions' output for various inputs. Skip the CMSG_NXTHDR test on sparc64 linux because it hits a Bus Error. Issue #1239 Skip the entire cmsg test program on s390x because it dumps core seemingly before the kernel finishes booting. Issue #1240
-
- Feb 02, 2019
-
-
Bryant Mairs authored
-
- Jan 30, 2019
-
-
gnzlbg authored
-
- Jan 21, 2019
-
-
gnzlbg authored
Closes #1170 .
-
- Dec 10, 2018
-
-
Piers Finlayson authored
-
- Dec 07, 2018
-
-
Alan Somers authored
Fixes #1163
-
- Nov 26, 2018
-
-
Tom Parker-Shemilt authored
-
Tom Parker-Shemilt authored
-
- Nov 24, 2018
-
-
Tom Parker-Shemilt authored
-
Tom Parker-Shemilt authored
-
- Nov 20, 2018
- Oct 30, 2018
-
-
Jonathan A. Kollasch authored
-
- Aug 01, 2018
-
-
Alex Crichton authored
Looks like Travis has moved on from our old images, so we're forced to update.
-
- Jul 29, 2018
-
-
Linus Färnstrand authored
-
- Jul 18, 2018
-
-
Pascal Bach authored
-
Pascal Bach authored
-
- Jul 17, 2018
-
-
Pascal Bach authored
-
- Jul 12, 2018
-
-
Amanieu d'Antras authored
-
- Jun 01, 2018
-
-
Bryant Mairs authored
-
- Apr 10, 2018
-
-
Mike Hommey authored
`pthread_mutex_t` varies across architectures, in several ways: - endianness alters the ordering of bytes, since the contents of the struct are larger than 8-bit. - its length varies. - the location of the mutex kind (`PTHREAD_MUTEX_RECURSIVE`, `PTHREAD_MUTEX_ERRORCHECK` or `PTHREAD_MUTEX_ADAPTIVE_NP`) varies between 32-bit and 64-bit: On 32-bit architectures, it is preceded by three int/unsigned int, while on 64-bit architectures, it is preceded by four of them. These initializers are only available from <pthread.h> when _GNU_SOURCE is defined. Relax the cfg_if check in ci/style.rs to allow #[cfg(target_endian)] tests.
-
- Mar 18, 2018
-
-
Francis Gagné authored
The libc crate is used as a dependency of the Rust compiler. Its build system passes `--cfg dox` to all crates when generating their documentation. libc's documentation is generated when the build system is asked to generate the compiler documentation because `cargo doc` automatically documents all dependencies. When the dox configuration option is enabled, libc disables its dependency on the core crate and provides the necessary definitions itself. The dox configuration option is meant for generating documentation for a multitude of targets even if the core crate for that target is not installed. However, when documenting the compiler, it's not necessary to do that; we can just use core or std as usual. This change is motivated by the changes made to the compiler in rust-lang/rust#48171. With these changes, it's necessary to provide implementations of the Clone and Copy traits for some primitive types in the library that defines these traits (previously, these implementations were provided by the compiler). Normally, these traits (and thus the implementations) are provided by core, so any crate that uses `#![no_core]` must now provide its own copy of the implementations. Because libc doesn't provide its own copy of the implementations yet, and because the compiler's build system passes `--cfg dox` to libc, generating the documentation for the compiler fails when generating documentation for libc. By renaming the configuration option, libc will use core or std and will thus have the necessary definitions for the documentation to be generated successfully.
-