- May 04, 2019
-
-
Jeremy Soller authored
-
- Apr 23, 2019
-
-
Dan Gohman authored
Rustc is changing it to be target_os; for now, recognize both.
-
- Mar 27, 2019
-
-
Alex Crichton authored
This target is [being proposed][LINK] int he rust-lang/rust repository and this is intended to get coupled with that proposal. The definitions here all match the upstream reference-sysroot definitions and the functions all match the reference sysroot as well. The linkage here is described more in detail on the Rust PR itself, but in general it's similar to musl. Automatic verification has been implemented in the same manner as other targets, and it's been used locally to develop this PR and catch errors in the bindings already written (also to help match the evolving sysroot of wasi). The verification isn't hooked up to CI yet though because there is no wasi target distributed via rustup just yet, but once that's done I'll file a follow-up PR to execute verification on CI. [LINK]:
-
- Mar 08, 2019
-
-
Yu Ding authored
Signed-off-by:
Yu Ding <dingelish@gmail.com>
-
- Mar 02, 2019
-
-
Stefan Lankes authored
-
Stefan Lankes authored
-
gnzlbg authored
-
- Feb 21, 2019
-
-
gnzlbg authored
-
gnzlbg authored
-
Alex Crichton authored
Enusre that `no_core` is turned on, and while here update the `no_std` header to be unconditionally applied. Closes #1267
-
- Feb 20, 2019
- Feb 13, 2019
- 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 .
-
gnzlbg authored
-
- 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.
-
- Nov 22, 2018
-
-
Alex Crichton authored
No longer needed and this is done via other means in upstream rustc
-
- Nov 21, 2018
-
-
Alex Crichton authored
This commit prepares the `libc` crate to be included directly into the standard library via crates.io. More details about this can be found on rust-lang/rust#56092, but the main idea is that this crate now depends on core/compiler-builtins explicitly (but off-by-default). The main caveat here is that this activates `no_core` when building as part of libstd, which means that it needs to explicitly have an `iter` and `option` module for the expansion of `for` loops to work.
-
gnzlbg authored
-
- Nov 20, 2018
-
-
Tom Parker-Shemilt authored
-
Tom Parker-Shemilt authored
-
Tom Parker-Shemilt authored
-
gnzlbg authored
-
gnzlbg authored
-
- Nov 19, 2018
-
-
gnzlbg authored
-
- Oct 04, 2018
-
-
Isaac Woods authored
-
- Sep 18, 2018
-
-
Isaac Woods authored
-
- Aug 02, 2018
-
-
roblabla authored
-
- Jul 03, 2018
-
-
Alex Crichton authored
No longer needed by the looks of it!
-
- Jun 08, 2018
-
-
est31 authored
-
- Jun 01, 2018
-
-
Andrew Cann authored
-
- Apr 21, 2018
-
-
Trevor Spiteri authored
-
- Apr 15, 2018
-
-
gnzlbg authored
-
- 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.
-
- Mar 10, 2018
-
-
bgermann authored
Add sparc64-unknown-linux-gnu and x86_64-sun-solaris. Remove aarch64-unknown-linux-musl.
-
- Feb 25, 2018
-
-
Linus Färnstrand authored
-
- Jan 12, 2018
-
-
neirac authored
-
- Jan 11, 2018
-
-
neirac authored
-