diff --git a/.travis.yml b/.travis.yml index e02f9ca2568f5c99c1a73b37ef16c3976fef7ca9..25fd8aa0e8fb366f938a2f3d460fd42d3959ab22 100644 --- a/.travis.yml +++ b/.travis.yml @@ -85,6 +85,9 @@ matrix: - os: linux env: TARGET=mipsel-unknown-linux-musl rust: stable + - os: linux + env: TARGET=mips64-unknown-linux-gnuabi64 + rust: nightly # beta - os: linux diff --git a/ci/docker/mips64-unknown-linux-gnuabi64/Dockerfile b/ci/docker/mips64-unknown-linux-gnuabi64/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..2eb5de2453800ef39b1782a50b35bb1a72c08fc3 --- /dev/null +++ b/ci/docker/mips64-unknown-linux-gnuabi64/Dockerfile @@ -0,0 +1,11 @@ +FROM ubuntu:16.10 + +RUN apt-get update +RUN apt-get install -y --no-install-recommends \ + gcc libc6-dev qemu-user ca-certificates \ + gcc-mips64-linux-gnuabi64 libc6-dev-mips64-cross \ + qemu-system-mips64 + +ENV CARGO_TARGET_MIPS64_UNKNOWN_LINUX_GNUABI64_LINKER=mips64-linux-gnuabi64-gcc \ + CC_mips64_unknown_linux_gnuabi64=mips64-linux-gnuabi64-gcc \ + PATH=$PATH:/rust/bin diff --git a/ci/run.sh b/ci/run.sh index 760353bf57d0a819d4997245d81c15506f815715..15721ab965d262a56d1fa07edfbe108198abbddb 100755 --- a/ci/run.sh +++ b/ci/run.sh @@ -121,6 +121,10 @@ case "$TARGET" in qemu-mips -L /usr/mips-linux-gnu $CARGO_TARGET_DIR/$TARGET/debug/libc-test ;; + mips64-unknown-linux-gnuabi64) + qemu-mips64 -L /usr/mips64-linux-gnuabi64 $CARGO_TARGET_DIR/$TARGET/debug/libc-test + ;; + mips-unknown-linux-musl) qemu-mips -L /toolchain/staging_dir/toolchain-mips_34kc_gcc-5.3.0_musl-1.1.15 \ $CARGO_TARGET_DIR/$TARGET/debug/libc-test diff --git a/src/unix/notbsd/linux/mips64.rs b/src/unix/notbsd/linux/mips64.rs index 96124953143e9c31d6e077dda3175083a64cf1b1..30c336e6904d47e877a1bc0731c2d31e6a1d0458 100644 --- a/src/unix/notbsd/linux/mips64.rs +++ b/src/unix/notbsd/linux/mips64.rs @@ -213,10 +213,12 @@ pub const O_NONBLOCK: ::c_int = 128; pub const POSIX_FADV_DONTNEED: ::c_int = 4; pub const POSIX_FADV_NOREUSE: ::c_int = 5; pub const PTHREAD_STACK_MIN: ::size_t = 131072; +pub const NFS_SUPER_MAGIC: ::c_long = 0x00006969; pub const RLIM_INFINITY: ::rlim_t = 0xffffffffffffffff; pub const SA_ONSTACK: ::c_int = 0x08000000; pub const SA_SIGINFO: ::c_int = 0x00000008; pub const SIGBUS: ::c_int = 10; +pub const SIGSYS: ::c_int = 12; pub const SIGSTKSZ: ::size_t = 0x2000; pub const SIG_SETMASK: ::c_int = 3; pub const SOCK_DGRAM: ::c_int = 1; @@ -227,6 +229,10 @@ pub const SO_ERROR: ::c_int = 4103; pub const SO_RCVTIMEO: ::c_int = 4102; pub const SO_REUSEADDR: ::c_int = 4; pub const SO_SNDTIMEO: ::c_int = 4101; +pub const SO_REUSEPORT: ::c_int = 0x200; +pub const SO_SNDBUF: ::c_int = 4097; +pub const SO_RCVBUF: ::c_int = 4098; +pub const SO_KEEPALIVE: ::c_int = 8; #[link(name = "util")] extern {