Skip to content
Snippets Groups Projects
  1. Apr 11, 2018
  2. Apr 10, 2018
    • Mike Hommey's avatar
      Add PTHREAD_*_MUTEX_INITIALIZER_NP for glibc · d9013273
      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.
      d9013273
    • Mike Hommey's avatar
      Add PTHREAD_MUTEX_ADAPTIVE_NP for glibc · 4355dfcf
      Mike Hommey authored
      4355dfcf
    • Sébastien Marie's avatar
      openbsd: SIGSTKSZ has been reduced · 04aa1bb5
      Sébastien Marie authored
      04aa1bb5
  3. Apr 08, 2018
  4. Apr 06, 2018
  5. Apr 05, 2018
  6. Apr 03, 2018
  7. Mar 24, 2018
  8. Mar 22, 2018
  9. Mar 19, 2018
  10. Mar 18, 2018
    • Francis Gagné's avatar
      Rename the dox configuration option to cross_platform_docs · 18341fd2
      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.
      18341fd2
  11. Mar 16, 2018
  12. Mar 12, 2018
  13. Mar 10, 2018
  14. Mar 08, 2018
  15. Mar 07, 2018
  16. Mar 05, 2018
  17. Mar 04, 2018
  18. Mar 03, 2018
  19. Mar 01, 2018
  20. Feb 28, 2018
  21. Feb 27, 2018
Loading