Skip to content
Snippets Groups Projects
  1. Aug 16, 2019
  2. Aug 09, 2019
  3. Jul 11, 2019
  4. May 29, 2019
  5. May 04, 2019
  6. Apr 23, 2019
  7. Mar 27, 2019
    • Alex Crichton's avatar
      Add intiial support for wasm32-unknown-wasi · 87def1fb
      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]:
      87def1fb
  8. Mar 08, 2019
  9. Mar 02, 2019
  10. Feb 21, 2019
  11. Feb 20, 2019
  12. Feb 13, 2019
  13. Feb 07, 2019
    • gnzlbg's avatar
      Fix build on all platforms · a17a91cd
      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 .
      a17a91cd
    • gnzlbg's avatar
      Check style using rustfmt and reformat · 0a5484ea
      gnzlbg authored
      0a5484ea
  14. Feb 03, 2019
  15. Nov 22, 2018
  16. Nov 21, 2018
    • Alex Crichton's avatar
      Prepare for being included via crates.io into std · 91bd079e
      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.
      91bd079e
    • gnzlbg's avatar
  17. Nov 20, 2018
  18. Nov 19, 2018
  19. Oct 04, 2018
  20. Sep 18, 2018
  21. Aug 02, 2018
  22. Jul 03, 2018
  23. Jun 08, 2018
  24. Jun 01, 2018
  25. Apr 21, 2018
  26. Apr 15, 2018
Loading