summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2018-07-18 20:23:53 +0000
committerbors <bors@rust-lang.org>2018-07-18 20:23:53 +0000
commit72b16d27cce111cbd4b9055d974d0ea70d152347 (patch)
tree0c92a05094006aa03d4d21a4d8da27923334ae34
parent5ac35c85fe58fa177ef00d4216cf9aa86eae7c4e (diff)
parent23657074d9a6f5d249ad3d7468fe5a32c6ec6a65 (diff)
downloadrust-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/Dockerfile12
-rw-r--r--ci/docker/arm-unknown-linux-musleabihf/Dockerfile12
-rw-r--r--ci/docker/i686-unknown-linux-musl/Dockerfile13
-rw-r--r--ci/docker/sparc64-unknown-linux-gnu/Dockerfile5
-rw-r--r--ci/docker/x86_64-unknown-linux-musl/Dockerfile12
-rw-r--r--libc-test/build.rs1
-rw-r--r--src/unix/notbsd/android/mod.rs4
-rw-r--r--src/unix/notbsd/linux/mod.rs4
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() {