summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2017-07-20 14:05:21 +0000
committerbors <bors@rust-lang.org>2017-07-20 14:05:21 +0000
commit57413b8b144c16c66552cc006bd068a8ffabe7d2 (patch)
treeb6d66da7dcc8c99e55b06a7c0f9498993b635a26
parent575c65a9052cad910155ea6fb12da3b8ba6e7e0a (diff)
parentf60ff2db55e1f529c6eb257a6e9c3fe6d8b3afc9 (diff)
downloadrust-libc-57413b8b144c16c66552cc006bd068a8ffabe7d2.tar.gz
Auto merge of #673 - g2p:fallocate-flags, r=alexcrichton
Add all current fallocate flags Also move them to the common Linux module, as they are not platform-specific. See include/uapi/linux/falloc.h.
-rw-r--r--ci/docker/aarch64-unknown-linux-gnu/Dockerfile2
-rw-r--r--ci/docker/arm-unknown-linux-gnueabihf/Dockerfile2
-rw-r--r--ci/docker/i686-unknown-linux-gnu/Dockerfile2
-rw-r--r--ci/docker/i686-unknown-linux-musl/Dockerfile2
-rw-r--r--ci/docker/mips-unknown-linux-gnu/Dockerfile2
-rw-r--r--ci/docker/mips-unknown-linux-musl/Dockerfile2
-rw-r--r--ci/docker/mips64-unknown-linux-gnuabi64/Dockerfile2
-rw-r--r--ci/docker/mipsel-unknown-linux-musl/Dockerfile2
-rw-r--r--ci/docker/powerpc-unknown-linux-gnu/Dockerfile2
-rw-r--r--ci/docker/powerpc64-unknown-linux-gnu/Dockerfile2
-rw-r--r--ci/docker/s390x-unknown-linux-gnu/Dockerfile2
-rw-r--r--ci/docker/x86_64-unknown-linux-gnu/Dockerfile2
-rw-r--r--ci/docker/x86_64-unknown-linux-musl/Dockerfile2
-rw-r--r--libc-test/build.rs5
-rw-r--r--src/unix/notbsd/linux/mod.rs7
-rw-r--r--src/unix/notbsd/linux/musl/mod.rs3
-rw-r--r--src/unix/notbsd/linux/other/mod.rs3
-rw-r--r--src/unix/notbsd/linux/s390x.rs3
18 files changed, 25 insertions, 22 deletions
diff --git a/ci/docker/aarch64-unknown-linux-gnu/Dockerfile b/ci/docker/aarch64-unknown-linux-gnu/Dockerfile
index 2ba69e1544..2a02f63210 100644
--- a/ci/docker/aarch64-unknown-linux-gnu/Dockerfile
+++ b/ci/docker/aarch64-unknown-linux-gnu/Dockerfile
@@ -1,4 +1,4 @@
-FROM ubuntu:16.10
+FROM ubuntu:17.10
RUN apt-get update
RUN apt-get install -y --no-install-recommends \
gcc libc6-dev ca-certificates \
diff --git a/ci/docker/arm-unknown-linux-gnueabihf/Dockerfile b/ci/docker/arm-unknown-linux-gnueabihf/Dockerfile
index 3824c04664..53da39825c 100644
--- a/ci/docker/arm-unknown-linux-gnueabihf/Dockerfile
+++ b/ci/docker/arm-unknown-linux-gnueabihf/Dockerfile
@@ -1,4 +1,4 @@
-FROM ubuntu:16.10
+FROM ubuntu:17.10
RUN apt-get update
RUN apt-get install -y --no-install-recommends \
gcc libc6-dev ca-certificates \
diff --git a/ci/docker/i686-unknown-linux-gnu/Dockerfile b/ci/docker/i686-unknown-linux-gnu/Dockerfile
index c149d84072..a5a4b8e36c 100644
--- a/ci/docker/i686-unknown-linux-gnu/Dockerfile
+++ b/ci/docker/i686-unknown-linux-gnu/Dockerfile
@@ -1,4 +1,4 @@
-FROM ubuntu:16.10
+FROM ubuntu:17.10
RUN apt-get update
RUN apt-get install -y --no-install-recommends \
gcc-multilib libc6-dev ca-certificates
diff --git a/ci/docker/i686-unknown-linux-musl/Dockerfile b/ci/docker/i686-unknown-linux-musl/Dockerfile
index 31a87371af..3adb920040 100644
--- a/ci/docker/i686-unknown-linux-musl/Dockerfile
+++ b/ci/docker/i686-unknown-linux-musl/Dockerfile
@@ -1,4 +1,4 @@
-FROM ubuntu:16.10
+FROM ubuntu:17.10
RUN dpkg --add-architecture i386
RUN apt-get update
diff --git a/ci/docker/mips-unknown-linux-gnu/Dockerfile b/ci/docker/mips-unknown-linux-gnu/Dockerfile
index eea1f652c3..f4997a702f 100644
--- a/ci/docker/mips-unknown-linux-gnu/Dockerfile
+++ b/ci/docker/mips-unknown-linux-gnu/Dockerfile
@@ -1,4 +1,4 @@
-FROM ubuntu:16.10
+FROM ubuntu:17.10
RUN apt-get update
RUN apt-get install -y --no-install-recommends \
diff --git a/ci/docker/mips-unknown-linux-musl/Dockerfile b/ci/docker/mips-unknown-linux-musl/Dockerfile
index cbc41c24d1..ba8e34642f 100644
--- a/ci/docker/mips-unknown-linux-musl/Dockerfile
+++ b/ci/docker/mips-unknown-linux-musl/Dockerfile
@@ -1,4 +1,4 @@
-FROM ubuntu:16.10
+FROM ubuntu:17.10
RUN apt-get update
RUN apt-get install -y --no-install-recommends \
diff --git a/ci/docker/mips64-unknown-linux-gnuabi64/Dockerfile b/ci/docker/mips64-unknown-linux-gnuabi64/Dockerfile
index 2eb5de2453..a864a31cce 100644
--- a/ci/docker/mips64-unknown-linux-gnuabi64/Dockerfile
+++ b/ci/docker/mips64-unknown-linux-gnuabi64/Dockerfile
@@ -1,4 +1,4 @@
-FROM ubuntu:16.10
+FROM ubuntu:17.10
RUN apt-get update
RUN apt-get install -y --no-install-recommends \
diff --git a/ci/docker/mipsel-unknown-linux-musl/Dockerfile b/ci/docker/mipsel-unknown-linux-musl/Dockerfile
index 4c7ee8bcff..36666743fb 100644
--- a/ci/docker/mipsel-unknown-linux-musl/Dockerfile
+++ b/ci/docker/mipsel-unknown-linux-musl/Dockerfile
@@ -1,4 +1,4 @@
-FROM ubuntu:16.10
+FROM ubuntu:17.10
RUN apt-get update
RUN apt-get install -y --no-install-recommends \
diff --git a/ci/docker/powerpc-unknown-linux-gnu/Dockerfile b/ci/docker/powerpc-unknown-linux-gnu/Dockerfile
index d9d7db0f41..489f8dd57f 100644
--- a/ci/docker/powerpc-unknown-linux-gnu/Dockerfile
+++ b/ci/docker/powerpc-unknown-linux-gnu/Dockerfile
@@ -1,4 +1,4 @@
-FROM ubuntu:16.10
+FROM ubuntu:17.10
RUN apt-get update
RUN apt-get install -y --no-install-recommends \
diff --git a/ci/docker/powerpc64-unknown-linux-gnu/Dockerfile b/ci/docker/powerpc64-unknown-linux-gnu/Dockerfile
index df0e6057b4..51ebcca7e8 100644
--- a/ci/docker/powerpc64-unknown-linux-gnu/Dockerfile
+++ b/ci/docker/powerpc64-unknown-linux-gnu/Dockerfile
@@ -1,4 +1,4 @@
-FROM ubuntu:16.10
+FROM ubuntu:17.10
RUN apt-get update
RUN apt-get install -y --no-install-recommends \
diff --git a/ci/docker/s390x-unknown-linux-gnu/Dockerfile b/ci/docker/s390x-unknown-linux-gnu/Dockerfile
index cbcfdf3592..4cd9d4ae4f 100644
--- a/ci/docker/s390x-unknown-linux-gnu/Dockerfile
+++ b/ci/docker/s390x-unknown-linux-gnu/Dockerfile
@@ -1,4 +1,4 @@
-FROM ubuntu:17.04
+FROM ubuntu:17.10
RUN apt-get update && apt-get install -y --no-install-recommends \
gcc libc6-dev qemu-user ca-certificates \
diff --git a/ci/docker/x86_64-unknown-linux-gnu/Dockerfile b/ci/docker/x86_64-unknown-linux-gnu/Dockerfile
index 4af3f834cb..ca60edecea 100644
--- a/ci/docker/x86_64-unknown-linux-gnu/Dockerfile
+++ b/ci/docker/x86_64-unknown-linux-gnu/Dockerfile
@@ -1,4 +1,4 @@
-FROM ubuntu:16.10
+FROM ubuntu:17.10
RUN apt-get update
RUN apt-get install -y --no-install-recommends \
gcc libc6-dev ca-certificates
diff --git a/ci/docker/x86_64-unknown-linux-musl/Dockerfile b/ci/docker/x86_64-unknown-linux-musl/Dockerfile
index 38e2c2d70d..d9d6511386 100644
--- a/ci/docker/x86_64-unknown-linux-musl/Dockerfile
+++ b/ci/docker/x86_64-unknown-linux-musl/Dockerfile
@@ -1,4 +1,4 @@
-FROM ubuntu:16.10
+FROM ubuntu:17.10
RUN apt-get update
RUN apt-get install -y --no-install-recommends \
diff --git a/libc-test/build.rs b/libc-test/build.rs
index b7feca787f..0d0784c0a7 100644
--- a/libc-test/build.rs
+++ b/libc-test/build.rs
@@ -186,6 +186,7 @@ fn main() {
cfg.header("sys/fsuid.h");
cfg.header("shadow.h");
cfg.header("linux/input.h");
+ cfg.header("linux/falloc.h");
if x86_64 {
cfg.header("sys/io.h");
}
@@ -431,6 +432,10 @@ fn main() {
"MADV_MERGEABLE" | "MADV_UNMERGEABLE" | "MADV_HWPOISON" | "IPV6_ADD_MEMBERSHIP" | "IPV6_DROP_MEMBERSHIP" | "IPV6_MULTICAST_LOOP" | "IPV6_V6ONLY" |
"MAP_STACK" | "RTLD_DEEPBIND" | "SOL_IPV6" | "SOL_ICMPV6" if uclibc => true,
+ // Musl uses old, patched kernel headers
+ "FALLOC_FL_COLLAPSE_RANGE" | "FALLOC_FL_ZERO_RANGE" |
+ "FALLOC_FL_INSERT_RANGE" | "FALLOC_FL_UNSHARE_RANGE" if musl => true,
+
// Defined by libattr not libc on linux (hard to test).
// See constant definition for more details.
"ENOATTR" if linux => true,
diff --git a/src/unix/notbsd/linux/mod.rs b/src/unix/notbsd/linux/mod.rs
index 7f4f885e2a..1fcbf0b3e3 100644
--- a/src/unix/notbsd/linux/mod.rs
+++ b/src/unix/notbsd/linux/mod.rs
@@ -903,6 +903,13 @@ pub const XATTR_REPLACE: ::c_int = 0x2;
pub const _POSIX_VDISABLE: ::cc_t = 0;
+pub const FALLOC_FL_KEEP_SIZE: ::c_int = 0x01;
+pub const FALLOC_FL_PUNCH_HOLE: ::c_int = 0x02;
+pub const FALLOC_FL_COLLAPSE_RANGE: ::c_int = 0x08;
+pub const FALLOC_FL_ZERO_RANGE: ::c_int = 0x10;
+pub const FALLOC_FL_INSERT_RANGE: ::c_int = 0x20;
+pub const FALLOC_FL_UNSHARE_RANGE: ::c_int = 0x40;
+
// On Linux, libc doesn't define this constant, libattr does instead.
// We still define it for Linux as it's defined by libc on other platforms,
// and it's mentioned in the man pages for getxattr and setxattr.
diff --git a/src/unix/notbsd/linux/musl/mod.rs b/src/unix/notbsd/linux/musl/mod.rs
index 33e653be7d..c87e3eb08a 100644
--- a/src/unix/notbsd/linux/musl/mod.rs
+++ b/src/unix/notbsd/linux/musl/mod.rs
@@ -153,9 +153,6 @@ pub const TCP_TIMESTAMP: ::c_int = 24;
pub const SIGUNUSED: ::c_int = ::SIGSYS;
-pub const FALLOC_FL_KEEP_SIZE: ::c_int = 0x01;
-pub const FALLOC_FL_PUNCH_HOLE: ::c_int = 0x02;
-
pub const __SIZEOF_PTHREAD_CONDATTR_T: usize = 4;
pub const __SIZEOF_PTHREAD_MUTEXATTR_T: usize = 4;
pub const __SIZEOF_PTHREAD_RWLOCKATTR_T: usize = 8;
diff --git a/src/unix/notbsd/linux/other/mod.rs b/src/unix/notbsd/linux/other/mod.rs
index 267434f351..e99ea594a4 100644
--- a/src/unix/notbsd/linux/other/mod.rs
+++ b/src/unix/notbsd/linux/other/mod.rs
@@ -269,9 +269,6 @@ pub const SIGWINCH: ::c_int = 28;
pub const SIGEV_THREAD_ID: ::c_int = 4;
-pub const FALLOC_FL_KEEP_SIZE: ::c_int = 0x01;
-pub const FALLOC_FL_PUNCH_HOLE: ::c_int = 0x02;
-
pub const BUFSIZ: ::c_uint = 8192;
pub const TMP_MAX: ::c_uint = 238328;
pub const FOPEN_MAX: ::c_uint = 16;
diff --git a/src/unix/notbsd/linux/s390x.rs b/src/unix/notbsd/linux/s390x.rs
index ace0b82c04..a3594492a5 100644
--- a/src/unix/notbsd/linux/s390x.rs
+++ b/src/unix/notbsd/linux/s390x.rs
@@ -542,9 +542,6 @@ pub const SIGPWR: ::c_int = 30;
pub const SIG_BLOCK: ::c_int = 0x000000;
pub const SIG_UNBLOCK: ::c_int = 0x01;
-pub const FALLOC_FL_KEEP_SIZE: ::c_int = 0x01;
-pub const FALLOC_FL_PUNCH_HOLE: ::c_int = 0x02;
-
pub const BUFSIZ: ::c_uint = 8192;
pub const TMP_MAX: ::c_uint = 238328;
pub const FOPEN_MAX: ::c_uint = 16;