From 3df00572477c96bd4d31219a0a1e5135349cd735 Mon Sep 17 00:00:00 2001 From: Jorge Aparicio Date: Sun, 11 Sep 2016 23:57:37 -0500 Subject: [PATCH] add CI for mips-musl and fix the statvfs struct for this target --- .travis.yml | 3 +++ ci/docker/mips-unknown-linux-musl/Dockerfile | 14 ++++++++++++++ src/unix/notbsd/linux/mod.rs | 3 +++ 3 files changed, 20 insertions(+) create mode 100644 ci/docker/mips-unknown-linux-musl/Dockerfile diff --git a/.travis.yml b/.travis.yml index d0e95910..47a50c77 100644 --- a/.travis.yml +++ b/.travis.yml @@ -79,6 +79,9 @@ matrix: - os: linux env: TARGET=powerpc64-unknown-linux-gnu rust: stable + - os: linux + env: TARGET=mips-unknown-linux-musl + rust: stable - os: linux env: TARGET=mipsel-unknown-linux-musl rust: stable diff --git a/ci/docker/mips-unknown-linux-musl/Dockerfile b/ci/docker/mips-unknown-linux-musl/Dockerfile new file mode 100644 index 00000000..06bd1366 --- /dev/null +++ b/ci/docker/mips-unknown-linux-musl/Dockerfile @@ -0,0 +1,14 @@ +FROM ubuntu:16.04 + +RUN apt-get update +RUN apt-get install -y --no-install-recommends \ + gcc libc6-dev qemu-user ca-certificates qemu-system-mips curl \ + bzip2 + +RUN mkdir /toolchain +RUN curl -L https://downloads.openwrt.org/snapshots/trunk/ar71xx/generic/OpenWrt-SDK-ar71xx-generic_gcc-5.3.0_musl-1.1.15.Linux-x86_64.tar.bz2 | \ + tar xjf - -C /toolchain --strip-components=2 + +ENV PATH=$PATH:/rust/bin:/toolchain/bin \ + CC_mips_unknown_linux_musl=mips-openwrt-linux-gcc \ + CARGO_TARGET_MIPS_UNKNOWN_LINUX_MUSL_LINKER=mips-openwrt-linux-gcc diff --git a/src/unix/notbsd/linux/mod.rs b/src/unix/notbsd/linux/mod.rs index fbe0e673..7c91dc17 100644 --- a/src/unix/notbsd/linux/mod.rs +++ b/src/unix/notbsd/linux/mod.rs @@ -126,9 +126,12 @@ s! { pub f_files: ::fsfilcnt_t, pub f_ffree: ::fsfilcnt_t, pub f_favail: ::fsfilcnt_t, + #[cfg(target_endian = "little")] pub f_fsid: ::c_ulong, #[cfg(target_pointer_width = "32")] pub __f_unused: ::c_int, + #[cfg(target_endian = "big")] + pub f_fsid: ::c_ulong, pub f_flag: ::c_ulong, pub f_namemax: ::c_ulong, __f_spare: [::c_int; 6],