Merge pull request #428 from alexcrichton/fixes
Add SO_REUSEPORT to mips64
diff --git a/.travis.yml b/.travis.yml
index 47a50c7..703329b 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -85,6 +85,9 @@
- 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 0000000..2eb5de2
--- /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 760353b..15721ab 100755
--- a/ci/run.sh
+++ b/ci/run.sh
@@ -121,6 +121,10 @@
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 9612495..30c336e 100644
--- a/src/unix/notbsd/linux/mips64.rs
+++ b/src/unix/notbsd/linux/mips64.rs
@@ -213,10 +213,12 @@
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_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 {