diff options
author | bors <bors@rust-lang.org> | 2019-08-17 16:39:16 +0000 |
---|---|---|
committer | bors <bors@rust-lang.org> | 2019-08-17 16:39:16 +0000 |
commit | 4b610e6321a62d335b588ac3ead2882e8db6099e (patch) | |
tree | b153602aa2c62e191930fc2216bf2b1e10f226ef /ci | |
parent | abd5a3cf705e2ac263c01e39138ad4a4f0478117 (diff) | |
parent | 435cdeeec85d113982765cdfb306aef818c53888 (diff) | |
download | rust-libc-4b610e6321a62d335b588ac3ead2882e8db6099e.tar.gz |
Auto merge of #1449 - xen0n:mips64-musl-targets, r=gnzlbg
Add musl support for MIPS64 & bump to 0.2.63
Tested with patched stage2; both static and dynamic binaries confirmed working.
Initial CI support in the form of no-core targets are added.
Diffstat (limited to 'ci')
-rw-r--r-- | ci/build.sh | 2 | ||||
-rw-r--r-- | ci/docker/mips64-unknown-linux-muslabi64/Dockerfile | 15 | ||||
-rw-r--r-- | ci/docker/mips64el-unknown-linux-muslabi64/Dockerfile | 15 | ||||
-rw-r--r-- | ci/install-musl.sh | 14 |
4 files changed, 46 insertions, 0 deletions
diff --git a/ci/build.sh b/ci/build.sh index 76af9e5fc7..3ce10deb32 100644 --- a/ci/build.sh +++ b/ci/build.sh @@ -204,6 +204,8 @@ i686-unknown-netbsd \ i686-unknown-openbsd \ mips-unknown-linux-uclibc \ mipsel-unknown-linux-uclibc \ +mips64-unknown-linux-muslabi64 \ +mips64el-unknown-linux-muslabi64 \ nvptx64-nvidia-cuda \ powerpc-unknown-linux-gnuspe \ powerpc-unknown-netbsd \ diff --git a/ci/docker/mips64-unknown-linux-muslabi64/Dockerfile b/ci/docker/mips64-unknown-linux-muslabi64/Dockerfile new file mode 100644 index 0000000000..8f63ade604 --- /dev/null +++ b/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/ci/docker/mips64el-unknown-linux-muslabi64/Dockerfile b/ci/docker/mips64el-unknown-linux-muslabi64/Dockerfile new file mode 100644 index 0000000000..c42c2ba601 --- /dev/null +++ b/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/ci/install-musl.sh b/ci/install-musl.sh index ab98c4f0f6..d6ec17e604 100644 --- a/ci/install-musl.sh +++ b/ci/install-musl.sh @@ -46,6 +46,20 @@ case ${1} in ./configure --prefix="/musl-${musl_arch}" make install -j4 ;; + mips64) + musl_arch=mips64 + kernel_arch=mips + CC=mips64-linux-gnuabi64-gcc CFLAGS="-march=mips64r2 -mabi=64" \ + ./configure --prefix="/musl-${musl_arch}" --enable-wrapper=yes + make install -j4 + ;; + mips64el) + musl_arch=mips64el + kernel_arch=mips + CC=mips64el-linux-gnuabi64-gcc CFLAGS="-march=mips64r2 -mabi=64" \ + ./configure --prefix="/musl-${musl_arch}" --enable-wrapper=yes + make install -j4 + ;; *) echo "Unknown target arch: \"${1}\"" exit 1 |