diff options
author | bors <bors@rust-lang.org> | 2018-07-18 20:23:53 +0000 |
---|---|---|
committer | bors <bors@rust-lang.org> | 2018-07-18 20:23:53 +0000 |
commit | 72b16d27cce111cbd4b9055d974d0ea70d152347 (patch) | |
tree | 0c92a05094006aa03d4d21a4d8da27923334ae34 | |
parent | 5ac35c85fe58fa177ef00d4216cf9aa86eae7c4e (diff) | |
parent | 23657074d9a6f5d249ad3d7468fe5a32c6ec6a65 (diff) | |
download | rust-libc-72b16d27cce111cbd4b9055d974d0ea70d152347.tar.gz |
Auto merge of #1041 - bachp:module-init, r=alexcrichton
Add MODULE_INIT_ constants
These are flags required to implement the linux kernel loading mechanism.
Specifically finit_module.
-rw-r--r-- | ci/docker/aarch64-unknown-linux-musl/Dockerfile | 12 | ||||
-rw-r--r-- | ci/docker/arm-unknown-linux-musleabihf/Dockerfile | 12 | ||||
-rw-r--r-- | ci/docker/i686-unknown-linux-musl/Dockerfile | 13 | ||||
-rw-r--r-- | ci/docker/sparc64-unknown-linux-gnu/Dockerfile | 5 | ||||
-rw-r--r-- | ci/docker/x86_64-unknown-linux-musl/Dockerfile | 12 | ||||
-rw-r--r-- | libc-test/build.rs | 1 | ||||
-rw-r--r-- | src/unix/notbsd/android/mod.rs | 4 | ||||
-rw-r--r-- | src/unix/notbsd/linux/mod.rs | 4 |
8 files changed, 38 insertions, 25 deletions
diff --git a/ci/docker/aarch64-unknown-linux-musl/Dockerfile b/ci/docker/aarch64-unknown-linux-musl/Dockerfile index e86c4c0ae3..caec1572cb 100644 --- a/ci/docker/aarch64-unknown-linux-musl/Dockerfile +++ b/ci/docker/aarch64-unknown-linux-musl/Dockerfile @@ -3,21 +3,21 @@ FROM ubuntu:17.10 RUN apt-get update && apt-get install -y --no-install-recommends \ gcc make libc6-dev git curl ca-certificates \ gcc-aarch64-linux-gnu qemu-user -RUN curl https://www.musl-libc.org/releases/musl-1.1.16.tar.gz | \ +RUN curl https://www.musl-libc.org/releases/musl-1.1.19.tar.gz | \ tar xzf - && \ - cd musl-1.1.16 && \ + cd musl-1.1.19 && \ CC=aarch64-linux-gnu-gcc \ ./configure --prefix=/musl-aarch64 --enable-wrapper=yes && \ make install -j4 && \ cd .. && \ - rm -rf musl-1.1.16 && \ + rm -rf musl-1.1.19 # Install linux kernel headers sanitized for use with musl - curl -L https://github.com/sabotage-linux/kernel-headers/archive/v3.12.6-5.tar.gz | \ +RUN curl -L https://github.com/sabotage-linux/kernel-headers/archive/v3.12.6-6.tar.gz | \ tar xzf - && \ - cd kernel-headers-3.12.6-5 && \ + cd kernel-headers-3.12.6-6 && \ make ARCH=arm64 prefix=/musl-aarch64 install -j4 && \ cd .. && \ - rm -rf kernel-headers-3.12.6-5 + rm -rf kernel-headers-3.12.6-6 # FIXME: shouldn't need the `-lgcc` here, shouldn't that be in libstd? ENV PATH=$PATH:/musl-aarch64/bin:/rust/bin \ diff --git a/ci/docker/arm-unknown-linux-musleabihf/Dockerfile b/ci/docker/arm-unknown-linux-musleabihf/Dockerfile index 130730b997..86304130fe 100644 --- a/ci/docker/arm-unknown-linux-musleabihf/Dockerfile +++ b/ci/docker/arm-unknown-linux-musleabihf/Dockerfile @@ -4,21 +4,21 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ gcc make libc6-dev git curl ca-certificates \ gcc-arm-linux-gnueabihf qemu-user -RUN curl https://www.musl-libc.org/releases/musl-1.1.16.tar.gz | tar xzf - -WORKDIR /musl-1.1.16 +RUN curl https://www.musl-libc.org/releases/musl-1.1.19.tar.gz | tar xzf - +WORKDIR /musl-1.1.19 RUN CC=arm-linux-gnueabihf-gcc \ CFLAGS="-march=armv6 -marm" \ ./configure --prefix=/musl-arm --enable-wrapper=yes RUN make install -j4 # Install linux kernel headers sanitized for use with musl -RUN \ - curl -L https://github.com/sabotage-linux/kernel-headers/archive/v3.12.6-5.tar.gz | \ +RUN curl -L https://github.com/sabotage-linux/kernel-headers/archive/v3.12.6-6.tar.gz | \ tar xzf - && \ - cd kernel-headers-3.12.6-5 && \ + cd kernel-headers-3.12.6-6 && \ make ARCH=arm prefix=/musl-arm install -j4 && \ cd .. && \ - rm -rf kernel-headers-3.12.6-5 + rm -rf kernel-headers-3.12.6-6 + ENV PATH=$PATH:/musl-arm/bin:/rust/bin \ CC_arm_unknown_linux_musleabihf=musl-gcc \ CARGO_TARGET_ARM_UNKNOWN_LINUX_MUSLEABIHF_LINKER=musl-gcc \ diff --git a/ci/docker/i686-unknown-linux-musl/Dockerfile b/ci/docker/i686-unknown-linux-musl/Dockerfile index 3adb920040..49f37d70f2 100644 --- a/ci/docker/i686-unknown-linux-musl/Dockerfile +++ b/ci/docker/i686-unknown-linux-musl/Dockerfile @@ -12,19 +12,20 @@ RUN apt-get install -y --no-install-recommends \ # since otherwise the script will fail to find a compiler. # * We manually unset CROSS_COMPILE when running make; otherwise the makefile # will call the non-existent binary 'i686-ar'. -RUN curl https://www.musl-libc.org/releases/musl-1.1.15.tar.gz | \ +RUN curl https://www.musl-libc.org/releases/musl-1.1.19.tar.gz | \ tar xzf - && \ - cd musl-1.1.15 && \ + cd musl-1.1.19 && \ CC=gcc CFLAGS=-m32 ./configure --prefix=/musl-i686 --disable-shared --target=i686 && \ make CROSS_COMPILE= install -j4 && \ cd .. && \ - rm -rf musl-1.1.15 && \ + rm -rf musl-1.1.19 # Install linux kernel headers sanitized for use with musl - curl -L https://github.com/sabotage-linux/kernel-headers/archive/v3.12.6-5.tar.gz | \ +RUN curl -L https://github.com/sabotage-linux/kernel-headers/archive/v3.12.6-6.tar.gz | \ tar xzf - && \ - cd kernel-headers-3.12.6-5 && \ + cd kernel-headers-3.12.6-6 && \ make ARCH=i386 prefix=/musl-i686 install -j4 && \ cd .. && \ - rm -rf kernel-headers-3.12.6-5 + rm -rf kernel-headers-3.12.6-6 + ENV PATH=$PATH:/musl-i686/bin:/rust/bin \ CC_i686_unknown_linux_musl=musl-gcc diff --git a/ci/docker/sparc64-unknown-linux-gnu/Dockerfile b/ci/docker/sparc64-unknown-linux-gnu/Dockerfile index 90b5ea9bda..d9edaab426 100644 --- a/ci/docker/sparc64-unknown-linux-gnu/Dockerfile +++ b/ci/docker/sparc64-unknown-linux-gnu/Dockerfile @@ -5,7 +5,10 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ gcc libc6-dev \ gcc-sparc64-linux-gnu libc6-dev-sparc64-cross \ qemu-system-sparc64 openbios-sparc seabios ipxe-qemu \ - p7zip-full cpio + p7zip-full cpio linux-libc-dev-sparc64-cross linux-headers-4.9.0-3-common + +# Put linux/module.h into the right spot as it is not shipped by debian +RUN cp /usr/src/linux-headers-4.9.0-3-common/include/uapi/linux/module.h /usr/sparc64-linux-gnu/include/linux/ COPY linux-sparc64.sh / RUN bash /linux-sparc64.sh diff --git a/ci/docker/x86_64-unknown-linux-musl/Dockerfile b/ci/docker/x86_64-unknown-linux-musl/Dockerfile index d9d6511386..6e2b7d9e5e 100644 --- a/ci/docker/x86_64-unknown-linux-musl/Dockerfile +++ b/ci/docker/x86_64-unknown-linux-musl/Dockerfile @@ -3,18 +3,18 @@ FROM ubuntu:17.10 RUN apt-get update RUN apt-get install -y --no-install-recommends \ gcc make libc6-dev git curl ca-certificates -RUN curl https://www.musl-libc.org/releases/musl-1.1.15.tar.gz | \ +RUN curl https://www.musl-libc.org/releases/musl-1.1.19.tar.gz | \ tar xzf - && \ - cd musl-1.1.15 && \ + cd musl-1.1.19 && \ ./configure --prefix=/musl-x86_64 && \ make install -j4 && \ cd .. && \ - rm -rf musl-1.1.15 && \ + rm -rf musl-1.1.19 # Install linux kernel headers sanitized for use with musl - curl -L https://github.com/sabotage-linux/kernel-headers/archive/v3.12.6-5.tar.gz | \ +RUN curl -L https://github.com/sabotage-linux/kernel-headers/archive/v3.12.6-6.tar.gz | \ tar xzf - && \ - cd kernel-headers-3.12.6-5 && \ + cd kernel-headers-3.12.6-6 && \ make ARCH=x86_64 prefix=/musl-x86_64 install -j4 && \ cd .. && \ - rm -rf kernel-headers-3.12.6-5 + rm -rf kernel-headers-3.12.6-6 ENV PATH=$PATH:/musl-x86_64/bin:/rust/bin diff --git a/libc-test/build.rs b/libc-test/build.rs index 5164b16d18..6c2ac5496e 100644 --- a/libc-test/build.rs +++ b/libc-test/build.rs @@ -272,6 +272,7 @@ fn main() { if linux || android { cfg.header("sys/fsuid.h"); + cfg.header("linux/module.h"); cfg.header("linux/seccomp.h"); cfg.header("linux/if_ether.h"); cfg.header("linux/if_tun.h"); diff --git a/src/unix/notbsd/android/mod.rs b/src/unix/notbsd/android/mod.rs index 55adc5c8d6..3e10acd505 100644 --- a/src/unix/notbsd/android/mod.rs +++ b/src/unix/notbsd/android/mod.rs @@ -1458,6 +1458,10 @@ pub const SIOCSRARP: ::c_ulong = 0x00008962; pub const SIOCGIFMAP: ::c_ulong = 0x00008970; pub const SIOCSIFMAP: ::c_ulong = 0x00008971; +// linux/module.h +pub const MODULE_INIT_IGNORE_MODVERSIONS: ::c_uint = 0x0001; +pub const MODULE_INIT_IGNORE_VERMAGIC: ::c_uint = 0x0002; + // Similarity to Linux it's not used but defined for compatibility. pub const ENOATTR: ::c_int = ::ENODATA; diff --git a/src/unix/notbsd/linux/mod.rs b/src/unix/notbsd/linux/mod.rs index a71df7f575..e1e3503906 100644 --- a/src/unix/notbsd/linux/mod.rs +++ b/src/unix/notbsd/linux/mod.rs @@ -1498,6 +1498,10 @@ pub const ARPD_LOOKUP: ::c_ushort = 0x02; pub const ARPD_FLUSH: ::c_ushort = 0x03; pub const ATF_MAGIC: ::c_int = 0x80; +// linux/module.h +pub const MODULE_INIT_IGNORE_MODVERSIONS: ::c_uint = 0x0001; +pub const MODULE_INIT_IGNORE_VERMAGIC: ::c_uint = 0x0002; + f! { pub fn CPU_ZERO(cpuset: &mut cpu_set_t) -> () { for slot in cpuset.bits.iter_mut() { |