summaryrefslogtreecommitdiff
path: root/libc/ci/docker
diff options
context:
space:
mode:
Diffstat (limited to 'libc/ci/docker')
-rw-r--r--libc/ci/docker/asmjs-unknown-emscripten/Dockerfile1
-rw-r--r--libc/ci/docker/mips-unknown-linux-musl/Dockerfile25
-rw-r--r--libc/ci/docker/mips64-unknown-linux-muslabi64/Dockerfile15
-rw-r--r--libc/ci/docker/mips64el-unknown-linux-muslabi64/Dockerfile15
-rw-r--r--libc/ci/docker/mipsel-unknown-linux-musl/Dockerfile27
-rw-r--r--libc/ci/docker/wasm32-unknown-emscripten/Dockerfile1
6 files changed, 65 insertions, 19 deletions
diff --git a/libc/ci/docker/asmjs-unknown-emscripten/Dockerfile b/libc/ci/docker/asmjs-unknown-emscripten/Dockerfile
index 6c08340..64f73aa 100644
--- a/libc/ci/docker/asmjs-unknown-emscripten/Dockerfile
+++ b/libc/ci/docker/asmjs-unknown-emscripten/Dockerfile
@@ -7,6 +7,7 @@ RUN apt-get update && \
gcc \
git \
libc6-dev \
+ libxml2 \
python \
xz-utils
diff --git a/libc/ci/docker/mips-unknown-linux-musl/Dockerfile b/libc/ci/docker/mips-unknown-linux-musl/Dockerfile
index aee73be..a1ec7ff 100644
--- a/libc/ci/docker/mips-unknown-linux-musl/Dockerfile
+++ b/libc/ci/docker/mips-unknown-linux-musl/Dockerfile
@@ -2,16 +2,23 @@ FROM ubuntu:19.04
RUN apt-get update && apt-get install -y --no-install-recommends \
gcc libc6-dev qemu-user ca-certificates qemu-system-mips curl \
- bzip2
+ xz-utils patch
RUN mkdir /toolchain
-# Note that this originally came from:
-# https://downloads.openwrt.org/snapshots/trunk/ar71xx/generic/OpenWrt-SDK-ar71xx-generic_gcc-5.3.0_musl-1.1.15.Linux-x86_64.tar.bz2
-RUN curl --retry 5 -L https://s3-us-west-1.amazonaws.com/rust-lang-ci2/libc/OpenWrt-SDK-ar71xx-generic_gcc-5.3.0_musl-1.1.15.Linux-x86_64.tar.bz2 | \
- tar xjf - -C /toolchain --strip-components=1
+# Linux kernel version: 4.14.151
+# See build_dir/target-mips_24kc_musl/linux-ar71xx_generic/linux-4.14.151
+# Musl version: 1.1.24
+# See staging_dir/toolchain-mips_24kc_gcc-7.4.0_musl/info.mk
+RUN curl --retry 5 -L https://downloads.openwrt.org/releases/19.07.0-rc1/targets/ar71xx/generic/openwrt-sdk-19.07.0-rc1-ar71xx-generic_gcc-7.4.0_musl.Linux-x86_64.tar.xz | \
+ tar xJf - -C /toolchain --strip-components=1
-ENV PATH=$PATH:/rust/bin:/toolchain/staging_dir/toolchain-mips_34kc_gcc-5.3.0_musl-1.1.15/bin \
- CC_mips_unknown_linux_musl=mips-openwrt-linux-gcc \
- CARGO_TARGET_MIPS_UNKNOWN_LINUX_MUSL_LINKER=mips-openwrt-linux-gcc \
- CARGO_TARGET_MIPS_UNKNOWN_LINUX_MUSL_RUNNER="qemu-mips -L /toolchain/staging_dir/toolchain-mips_34kc_gcc-5.3.0_musl-1.1.15"
+# See https://lkml.org/lkml/2014/3/14/269
+COPY sysinfo_guard.patch /toolchain
+RUN patch /toolchain/staging_dir/toolchain-mips_24kc_gcc-7.4.0_musl/include/linux/kernel.h </toolchain/sysinfo_guard.patch
+
+ENV PATH=$PATH:/rust/bin:/toolchain/staging_dir/toolchain-mips_24kc_gcc-7.4.0_musl/bin \
+ STAGING_DIR=/toolchain/staging_dir \
+ CC_mips_unknown_linux_musl=mips-openwrt-linux-musl-gcc \
+ CARGO_TARGET_MIPS_UNKNOWN_LINUX_MUSL_LINKER=mips-openwrt-linux-musl-gcc \
+ CARGO_TARGET_MIPS_UNKNOWN_LINUX_MUSL_RUNNER="qemu-mips -L /toolchain/staging_dir/toolchain-mips_24kc_gcc-7.4.0_musl"
diff --git a/libc/ci/docker/mips64-unknown-linux-muslabi64/Dockerfile b/libc/ci/docker/mips64-unknown-linux-muslabi64/Dockerfile
new file mode 100644
index 0000000..8f63ade
--- /dev/null
+++ b/libc/ci/docker/mips64-unknown-linux-muslabi64/Dockerfile
@@ -0,0 +1,15 @@
+FROM ubuntu:19.04
+
+RUN apt-get update && apt-get install -y --no-install-recommends \
+ gcc make libc6-dev git curl ca-certificates \
+ gcc-mips64-linux-gnuabi64 qemu-user
+
+COPY install-musl.sh /
+RUN sh /install-musl.sh mips64
+
+# FIXME: shouldn't need the `-lgcc` here, shouldn't that be in libstd?
+ENV PATH=$PATH:/musl-mips64/bin:/rust/bin \
+ CC_mips64_unknown_linux_muslabi64=musl-gcc \
+ RUSTFLAGS='-Clink-args=-lgcc' \
+ CARGO_TARGET_MIPS64_UNKNOWN_LINUX_MUSLABI64_LINKER=musl-gcc \
+ CARGO_TARGET_MIPS64_UNKNOWN_LINUX_MUSLABI64_RUNNER="qemu-mips64 -L /musl-mips64"
diff --git a/libc/ci/docker/mips64el-unknown-linux-muslabi64/Dockerfile b/libc/ci/docker/mips64el-unknown-linux-muslabi64/Dockerfile
new file mode 100644
index 0000000..c42c2ba
--- /dev/null
+++ b/libc/ci/docker/mips64el-unknown-linux-muslabi64/Dockerfile
@@ -0,0 +1,15 @@
+FROM ubuntu:19.04
+
+RUN apt-get update && apt-get install -y --no-install-recommends \
+ gcc make libc6-dev git curl ca-certificates \
+ gcc-mips64el-linux-gnuabi64 qemu-user
+
+COPY install-musl.sh /
+RUN sh /install-musl.sh mips64el
+
+# FIXME: shouldn't need the `-lgcc` here, shouldn't that be in libstd?
+ENV PATH=$PATH:/musl-mips64el/bin:/rust/bin \
+ CC_mips64el_unknown_linux_muslabi64=musl-gcc \
+ RUSTFLAGS='-Clink-args=-lgcc' \
+ CARGO_TARGET_MIPS64EL_UNKNOWN_LINUX_MUSLABI64_LINKER=musl-gcc \
+ CARGO_TARGET_MIPS64EL_UNKNOWN_LINUX_MUSLABI64_RUNNER="qemu-mips64el -L /musl-mips64el"
diff --git a/libc/ci/docker/mipsel-unknown-linux-musl/Dockerfile b/libc/ci/docker/mipsel-unknown-linux-musl/Dockerfile
index 03e8357..87399ec 100644
--- a/libc/ci/docker/mipsel-unknown-linux-musl/Dockerfile
+++ b/libc/ci/docker/mipsel-unknown-linux-musl/Dockerfile
@@ -1,17 +1,24 @@
FROM ubuntu:19.04
RUN apt-get update && apt-get install -y --no-install-recommends \
- gcc libc6-dev qemu-user ca-certificates qemu-system-mips curl \
- bzip2
+ gcc libc6-dev qemu-user ca-certificates qemu-system-mipsel curl \
+ xz-utils patch
RUN mkdir /toolchain
-# Note that this originally came from:
-# https://downloads.openwrt.org/snapshots/trunk/malta/generic/OpenWrt-Toolchain-malta-le_gcc-5.3.0_musl-1.1.15.Linux-x86_64.tar.bz2
-RUN curl --retry 5 -L https://s3-us-west-1.amazonaws.com/rust-lang-ci2/libc/OpenWrt-Toolchain-malta-le_gcc-5.3.0_musl-1.1.15.Linux-x86_64.tar.bz2 | \
- tar xjf - -C /toolchain --strip-components=2
+# Linux kernel version: 4.14.151
+# See build_dir/target-mipsel_mips32_musl/linux-brcm47xx_generic/linux-4.14.151
+# Musl version: 1.1.24
+# See staging_dir/toolchain-mipsel_mips32_gcc-7.4.0_musl/info.mk
+RUN curl --retry 5 -L https://downloads.openwrt.org/releases/19.07.0-rc1/targets/brcm47xx/generic/openwrt-sdk-19.07.0-rc1-brcm47xx-generic_gcc-7.4.0_musl.Linux-x86_64.tar.xz | \
+ tar xJf - -C /toolchain --strip-components=1
-ENV PATH=$PATH:/rust/bin:/toolchain/bin \
- CC_mipsel_unknown_linux_musl=mipsel-openwrt-linux-gcc \
- CARGO_TARGET_MIPSEL_UNKNOWN_LINUX_MUSL_LINKER=mipsel-openwrt-linux-gcc \
- CARGO_TARGET_MIPSEL_UNKNOWN_LINUX_MUSL_RUNNER="qemu-mipsel -L /toolchain"
+# See https://lkml.org/lkml/2014/3/14/269
+COPY sysinfo_guard.patch /toolchain
+RUN patch /toolchain/staging_dir/toolchain-mipsel_mips32_gcc-7.4.0_musl/include/linux/kernel.h </toolchain/sysinfo_guard.patch
+
+ENV PATH=$PATH:/rust/bin:/toolchain/staging_dir/toolchain-mipsel_mips32_gcc-7.4.0_musl/bin \
+ STAGING_DIR=/toolchain/staging_dir \
+ CC_mipsel_unknown_linux_musl=mipsel-openwrt-linux-musl-gcc \
+ CARGO_TARGET_MIPSEL_UNKNOWN_LINUX_MUSL_LINKER=mipsel-openwrt-linux-musl-gcc \
+ CARGO_TARGET_MIPSEL_UNKNOWN_LINUX_MUSL_RUNNER="qemu-mipsel -L /toolchain/staging_dir/toolchain-mipsel_mips32_gcc-7.4.0_musl"
diff --git a/libc/ci/docker/wasm32-unknown-emscripten/Dockerfile b/libc/ci/docker/wasm32-unknown-emscripten/Dockerfile
index c0ce825..4de9e74 100644
--- a/libc/ci/docker/wasm32-unknown-emscripten/Dockerfile
+++ b/libc/ci/docker/wasm32-unknown-emscripten/Dockerfile
@@ -10,6 +10,7 @@ RUN apt-get update && \
gcc \
git \
libc6-dev \
+ libxml2 \
python \
cmake \
sudo \