Skip to content
Snippets Groups Projects
  1. Jun 15, 2016
    • Alex Crichton's avatar
      Use docker for all CI tests and images · 3eb4a48b
      Alex Crichton authored
      Previously we were somewhat half-Docker, half-Travis, half apt-get, etc. This
      commit alters the CI infrastructure to use Docker images for each target. This
      should make it much easier to update the images and tweak various bits and
      pieces of installed software. Additionally, it's also much clearer now what's
      needed for each suite of tests!
      
      Some images were updated a bit (e.g. musl is now 1.1.14), but other images
      encountered failures when updating so they're not getting updated just yet.
      3eb4a48b
  2. Jun 10, 2016
    • bors's avatar
      Auto merge of #313 - alexcrichton:bump, r=alexcrichton · 70dce055
      bors authored
      Bump to 0.2.12
      70dce055
    • Alex Crichton's avatar
      Bump to 0.2.12 · 91c5dbf5
      Alex Crichton authored
      91c5dbf5
    • bors's avatar
      Auto merge of #307 - darnuria:relative-directory-posix2008-api, r=alexcrichton · fd30cfdd
      bors authored
      Add Directory file descriptor relative syscall.
      
      Add Directory file descriptor relative syscall.
      
      I only added "*at" syscall relative to Posix2008 specification.
      
      At the moment OSX and Android are partially supporting this API.
      
      This include:
      * `openat`
      * `faccessat`
      * `fchmodat`
      * `fchownat`
      * `fstatat`
      * `linkat`
      * `mkdirat`
      * `mknodat` [0]
      * `readlinkat`
      * `renameat`
      * `symlinkat`
      * `unlinkat`
      * `mkfifoat` [0][1]
      
      [1] Not available on Android at the moment:
      * `mkfifo`
      
      [1] Not available on OSX at the moment:
      * `mkfifoat`
      * `mknodat`
      
      And exclude operating system specific API:
      * `renameat2`: Linux specific
      * `execveat`: Linux specific since 3.19
      * `futimesat`: GNU extension
      * `name_to_handle_at`: GNU extension
      * `scandirat`: GNU extension
      * `fanotify_mark`: belong to fanotify API.
      fd30cfdd
    • bors's avatar
      Auto merge of #312 - nbaksalyar:master, r=alexcrichton · 8a53df9f
      bors authored
      Fix semaphores on Solaris/Illumos
      
      This adds `sem_t` structure introduced in https://github.com/rust-lang/libc/pull/309 and fixes compilation on Solaris.
      8a53df9f
    • Nikita Baksalyar's avatar
      Fix compilation on Solaris/Illumos · a1c6ad77
      Nikita Baksalyar authored
      a1c6ad77
    • Axel Viala's avatar
      Add Directory file descriptor relative syscall. · 26ee7825
      Axel Viala authored
      I only added "*at" syscall relative to Posix2008 specification.
      
      At the moment OSX and Android are partially supporting this API.
      
      This include:
      * `openat`
      * `faccessat`
      * `fchmodat`
      * `fchownat`
      * `fstatat`
      * `linkat`
      * `mkdirat`
      * `mknodat` [0]
      * `readlinkat`
      * `renameat`
      * `symlinkat`
      * `unlinkat`
      * `mkfifoat` [0][1]
      
      [1] Not available on Android at the moment:
      * `mkfifo`
      
      [1] Not available on OSX at the moment:
      * `mkfifoat`
      * `mknodat`
      
      And exclude operating system specific API:
      * `renameat2`: Linux specific
      * `execveat`: Linux specific since 3.19
      * `futimesat`: GNU extension
      * `name_to_handle_at`: GNU extension
      * `scandirat`: GNU extension
      * `fanotify_mark`: belong to fanotify API.
      26ee7825
  3. Jun 09, 2016
  4. Jun 08, 2016
  5. Jun 06, 2016
  6. Jun 05, 2016
  7. Jun 02, 2016
  8. Jun 01, 2016
  9. May 31, 2016
  10. May 30, 2016
  11. May 28, 2016
  12. May 27, 2016
  13. May 25, 2016
  14. May 22, 2016
  15. May 21, 2016
  16. May 20, 2016
  17. May 19, 2016
  18. May 18, 2016
    • bors's avatar
      Auto merge of #289 - fnichol:fix-musl-ioctl-constants, r=alexcrichton · fb5008c0
      bors authored
      Fix ioctl constants for musl target envs.
      
      Heya!
      
      I ran across this issue today while trying to build a portable static binary using the `x86_64-unknown-linux-musl` target. Took a bit of digging to make sure I understood what was going on, and while I may still be off the mark, I believe this is a fix to my issue.
      
      Thanks!!
      
      ----
      
      According to musl's source, the `ioctl` [function signature][musl-ioctl-h] takes an `int` as the request argument (i.e. an `i32`) which is reflected in this crate's [ioctl binding][musl-ioctl-rs]. It looks like when the ioctl constants were added that [glibc's default][glibc-ioctl-h] of a `c_ulong` type was used for the musl values as well, rather than a `c_int` type. This change updates these constants to a `c_int` so that they match the expected function call type.
      
      Here is a minimal reproduction of the issue. Given this Rust program:
      
      ```rust
      extern crate libc;
      
      use libc::{ioctl, winsize, STDOUT_FILENO, TIOCGWINSZ};
      
      fn main() {
          let mut wsize = winsize {
              ws_row: 0,
              ws_col: 0,
              ws_xpixel: 0,
              ws_ypixel: 0,
          };
          unsafe {
              ioctl(STDOUT_FILENO, TIOCGWINSZ, &mut wsize);
          }
          println!("Sizes: {{ rows: {}, cols: {}, xpixel: {}, ypixel: {} }}",
                   wsize.ws_row,
                   wsize.ws_col,
                   wsize.ws_xpixel,
                   wsize.ws_ypixel);
      }
      ```
      
      When run against the `x86_64-unknwon-linux-gnu` and
      `x86_64-unknown-linux-musl` targets, we see the difference in behavior:
      
      ```
      > cargo clean
      
      > cargo run --target=x86_64-unknown-linux-gnu
         Compiling libc v0.2.11
         Compiling libc-musl-ioctl v0.1.0 (file:///src/libc-musl-ioctl)
           Running `target/x86_64-unknown-linux-gnu/debug/libc-musl-ioctl`
      Sizes: { rows: 28, cols: 211, xpixel: 0, ypixel: 0 }
      
      > cargo clean
      
      > cargo run --target=x86_64-unknown-linux-musl
         Compiling libc v0.2.11
         Compiling libc-musl-ioctl v0.1.0 (file:///src/libc-musl-ioctl)
      src/main.rs:13:30: 13:40 error: mismatched types:
       expected `i32`,
          found `u64` [E0308]
      src/main.rs:13         ioctl(STDOUT_FILENO, TIOCGWINSZ, &mut wsize);
                                                  ^~~~~~~~~~
      src/main.rs:13:30: 13:40 help: run `rustc --explain E0308` to see a detailed explanation
      error: aborting due to previous error
      Could not compile `libc-musl-ioctl`.
      
      To learn more, run the command again with --verbose.
      ```
      
      Working against this fix:
      
      ```
      > cargo clean
      
      > cargo run --target=x86_64-unknown-linux-gnu
          Updating git repository `https://github.com/fnichol/rust-lang-libc.git`
         Compiling libc v0.2.11 (https://github.com/fnichol/rust-lang-libc.git?branch=fix-musl-ioctl-constants#3285f387)
         Compiling libc-musl-ioctl v0.1.0 (file:///src/libc-musl-ioctl)
           Running `target/x86_64-unknown-linux-gnu/debug/libc-musl-ioctl`
      Sizes: { rows: 28, cols: 211, xpixel: 0, ypixel: 0 }
      
      > cargo clean
      
      > cargo run --target=x86_64-unknown-linux-musl
         Compiling libc v0.2.11 (https://github.com/fnichol/rust-lang-libc.git?branch=fix-musl-ioctl-constants#3285f387)
         Compiling libc-musl-ioctl v0.1.0 (file:///src/libc-musl-ioctl)
           Running `target/x86_64-unknown-linux-musl/debug/libc-musl-ioctl`
      Sizes: { rows: 28, cols: 211, xpixel: 0, ypixel: 0 }
      ```
      
      [musl-ioctl-rs]:
      https://doc.rust-lang.org/libc/x86_64-unknown-linux-musl/libc/fn.ioctl.html
      
      [musl-ioctl-h]:
      https://git.musl-libc.org/cgit/musl/tree/include/sys/ioctl.h
      
      [glibc-ioctl-h]:
      http://bazaar.launchpad.net/~vcs-imports/glibc/master/view/head:/include/sys/ioctl.h
      fb5008c0
  19. May 16, 2016
Loading