diff --git a/.github/workflows/bors.yml b/.github/workflows/bors.yml index 12069700cccb1..c42d40be76cf6 100644 --- a/.github/workflows/bors.yml +++ b/.github/workflows/bors.yml @@ -136,13 +136,6 @@ jobs: asmjs-unknown-emscripten, i686-linux-android, i686-unknown-linux-musl, - mips-unknown-linux-gnu, - mips-unknown-linux-musl, - # FIXME: Somehow failed on CI - # https://github.com/rust-lang/libc/runs/1659882216 - # mips64-unknown-linux-gnuabi64, - # mips64el-unknown-linux-gnuabi64, - mipsel-unknown-linux-musl, powerpc-unknown-linux-gnu, powerpc64-unknown-linux-gnu, powerpc64le-unknown-linux-gnu, diff --git a/ci/build.sh b/ci/build.sh index 2a9d68f53859b..67cc0c421be5b 100644 --- a/ci/build.sh +++ b/ci/build.sh @@ -112,14 +112,6 @@ x86_64-unknown-linux-musl \ x86_64-unknown-netbsd \ " -# FIXME: builds of MIPS targets are currently broken on nightly. -# mips-unknown-linux-gnu \ -# mips-unknown-linux-musl \ -# mips64-unknown-linux-gnuabi64 \ -# mips64el-unknown-linux-gnuabi64 \ -# mipsel-unknown-linux-gnu \ -# mipsel-unknown-linux-musl \ - RUST_GT_1_13_LINUX_TARGETS="\ arm-unknown-linux-musleabi \ arm-unknown-linux-musleabihf \ @@ -238,9 +230,15 @@ i686-unknown-haiku \ i686-unknown-netbsd \ i686-unknown-openbsd \ i686-wrs-vxworks \ -mipsel-sony-psp \ +mips-unknown-linux-gnu \ +mips-unknown-linux-musl \ +mips64-unknown-linux-gnuabi64 \ mips64-unknown-linux-muslabi64 \ +mips64el-unknown-linux-gnuabi64 \ mips64el-unknown-linux-muslabi64 \ +mipsel-unknown-linux-gnu \ +mipsel-unknown-linux-musl \ +mipsel-sony-psp \ nvptx64-nvidia-cuda \ powerpc-unknown-linux-gnuspe \ powerpc-unknown-netbsd \ diff --git a/ci/docker/mips-unknown-linux-gnu/Dockerfile b/ci/docker/mips-unknown-linux-gnu/Dockerfile deleted file mode 100644 index 4c2bb1667b832..0000000000000 --- a/ci/docker/mips-unknown-linux-gnu/Dockerfile +++ /dev/null @@ -1,10 +0,0 @@ -FROM ubuntu:23.10 - -RUN apt-get update && apt-get install -y --no-install-recommends \ - gcc libc6-dev qemu-user ca-certificates \ - gcc-mips-linux-gnu libc6-dev-mips-cross \ - qemu-system-mips linux-headers-generic - -ENV CARGO_TARGET_MIPS_UNKNOWN_LINUX_GNU_LINKER=mips-linux-gnu-gcc \ - CARGO_TARGET_MIPS_UNKNOWN_LINUX_GNU_RUNNER="qemu-mips -L /usr/mips-linux-gnu" \ - PATH=$PATH:/rust/bin diff --git a/ci/docker/mips-unknown-linux-musl/Dockerfile b/ci/docker/mips-unknown-linux-musl/Dockerfile deleted file mode 100644 index 2df2e6a34725a..0000000000000 --- a/ci/docker/mips-unknown-linux-musl/Dockerfile +++ /dev/null @@ -1,25 +0,0 @@ -FROM ubuntu:23.10 - -RUN apt-get update && apt-get install -y --no-install-recommends \ - gcc libc6-dev qemu-user ca-certificates qemu-system-mips curl \ - xz-utils patch - -RUN mkdir /toolchain - -# Linux kernel version: 5.4.154 -# See build_dir/target-mips_24kc_musl/linux-ath79_generic/linux-5.4.154 -# Musl version: 1.1.24 -# See staging_dir/toolchain-mips_24kc_gcc-8.4.0_musl/info.mk -RUN curl --retry 5 -L https://downloads.openwrt.org/releases/21.02.1/targets/ath79/generic/openwrt-sdk-21.02.1-ath79-generic_gcc-8.4.0_musl.Linux-x86_64.tar.xz | \ - tar xJf - -C /toolchain --strip-components=1 - -# See https://lkml.org/lkml/2014/3/14/269 -COPY sysinfo_guard.patch /toolchain -RUN patch /toolchain/staging_dir/toolchain-mips_24kc_gcc-8.4.0_musl/include/linux/kernel.h true, - // FIXME: Not currently available in headers - "P_PIDFD" if mips => true, - "SYS_pidfd_open" if mips => true, + // FIXME: Not yet implemented on sparc64 + "SYS_clone3" if sparc64 => true, - // FIXME: Not currently available in headers on MIPS - // Not yet implemented on sparc64 - "SYS_clone3" if mips | sparc64 => true, - - // FIXME: Not defined on ARM, gnueabihf, MIPS, musl, PowerPC, riscv64, s390x, and sparc64. - "SYS_memfd_secret" if arm | gnueabihf | mips | musl | ppc | riscv64 | s390x | sparc64 => true, + // FIXME: Not defined on ARM, gnueabihf, musl, PowerPC, riscv64, s390x, and sparc64. + "SYS_memfd_secret" if arm | gnueabihf | musl | ppc | riscv64 | s390x | sparc64 => true, // FIXME: Added in Linux 5.16 // https://github.com/torvalds/linux/commit/039c0ec9bb77446d7ada7f55f90af9299b28ca49 @@ -3754,10 +3746,10 @@ fn test_linux(target: &str) { | "UINPUT_VERSION" | "SW_MAX" | "SW_CNT" - if mips || ppc64 || riscv64 => true, + if ppc64 || riscv64 => true, // FIXME: Not currently available in headers on ARM, MIPS and musl. - "NETLINK_GET_STRICT_CHK" if arm || mips || musl => true, + "NETLINK_GET_STRICT_CHK" if arm || musl => true, // kernel constants not available in uclibc 1.0.34 | "EXTPROC" @@ -4155,15 +4147,11 @@ fn test_linux(target: &str) { }); cfg.skip_roundtrip(move |s| match s { - // FIXME: - "utsname" if mips32 || mips64 => true, // FIXME: "mcontext_t" if s390x => true, // FIXME: This is actually a union. "fpreg_t" if s390x => true, - "sockaddr_un" | "sembuf" | "ff_constant_effect" if mips32 && (gnu || musl) => true, - // The test doesn't work on some env: "ipv6_mreq" | "ip_mreq_source" @@ -4183,7 +4171,7 @@ fn test_linux(target: &str) { | "sockaddr_nl" | "termios" | "nlmsgerr" - if (mips64 || sparc64) && gnu => + if sparc64 && gnu => { true } @@ -4196,7 +4184,7 @@ fn test_linux(target: &str) { "cmsghdr" => true, // FIXME: the call ABI of max_align_t is incorrect on these platforms: - "max_align_t" if i686 || mips64 || ppc64 => true, + "max_align_t" if i686 || ppc64 => true, _ => false, });