Skip to content
Snippets Groups Projects
  1. Sep 17, 2020
  2. Sep 13, 2020
    • Daniil Bondarev's avatar
      Use safe_f! consistently across platforms · 773f5562
      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.
      773f5562
  3. Jul 01, 2020
  4. May 21, 2020
  5. Mar 29, 2020
  6. Mar 14, 2020
    • Thomas Hurst's avatar
      Add missing AT_ constants · 5d8dccc7
      Thomas Hurst authored
      Add AT_EACCESS to Linux, Solaris, and Fuchsia.
      
      Add AT_SYMLINK_FOLLOW, AT_REMOVEDIR, and  _AT_TRIGGER to Solaris.
      5d8dccc7
  7. Mar 08, 2020
  8. Feb 29, 2020
  9. Feb 12, 2020
  10. Nov 27, 2019
  11. Oct 15, 2019
  12. Sep 18, 2019
  13. Sep 12, 2019
  14. Jul 05, 2019
  15. Jun 10, 2019
    • Bryant Mairs's avatar
      Switch to manual trait impls for sigevent · 7c265919
      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.
      7c265919
  16. Jun 07, 2019
  17. Jun 03, 2019
  18. Jun 02, 2019
  19. May 29, 2019
  20. May 27, 2019
  21. May 23, 2019
  22. May 22, 2019
  23. May 16, 2019
  24. Apr 29, 2019
  25. Mar 04, 2019
  26. Mar 03, 2019
  27. Mar 02, 2019
  28. Feb 28, 2019
  29. Feb 22, 2019
    • gnzlbg's avatar
      Clean libc-test for apple targets · f5cbdbc2
      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.
      f5cbdbc2
  30. Feb 13, 2019
Loading