For our test, we need a compiler and libc that supports -mnan=2008. Debian compilers support this option, but no libc is available for it.
One possibility is to use previous version (2019 or 2020) of official MIPS toolchain from https://codescape.mips.com/. However, it's a huge download (2G), and even bigger on disk (8GB). Bootlin provides toolchains (https://toolchains.bootlin.com/toolchains.html) for mips64r5el only, which is small (80MB dl, and 500MB on disk). Since all mipsel* variant binaries have the same name, we explicitly rename them to mips64r5el-linux-gnu-*. Also, this toolchain is maintained, used, and updated frequently, so it's an excellent choice for us. mips32r5el is more widely used compared to mips32r5, so we can ignore the latter. Signed-off-by: Pierrick Bouvier <[email protected]> --- .../dockerfiles/debian-all-test-cross.docker | 16 ++++++++++++++++ tests/lcitool/refresh | 16 ++++++++++++++++ 2 files changed, 32 insertions(+) diff --git a/tests/docker/dockerfiles/debian-all-test-cross.docker b/tests/docker/dockerfiles/debian-all-test-cross.docker index 94524480880..eefc03c49a4 100644 --- a/tests/docker/dockerfiles/debian-all-test-cross.docker +++ b/tests/docker/dockerfiles/debian-all-test-cross.docker @@ -113,6 +113,22 @@ RUN apt update && \ libc6-dev-sparc64-cross \ && \ dpkg-query --showformat '${Package}_${Version}_${Architecture}' --show > /packages.txt + +RUN apt update && DEBIAN_FRONTEND=noninteractive eatmydata apt install -y rename + +# download mips32r5el toolchain from bootlin, and rename binaries who are simply +# named mipsel-linux-gnu-* +RUN apt update && \ + mkdir -p /opt/mips32r5el/ && \ + cd /opt/mips32r5el/ && \ + wget -q https://toolchains.bootlin.com/downloads/releases/toolchains/mips32r5el/tarballs/mips32r5el--glibc--stable-2026.08-1.tar.xz && \ + tar xvf *.tar.xz && \ + rm *.tar.xz && \ + mv mips32r5el--glibc--stable-2026.08-1/* . && \ + cd bin && \ + rename 's/mipsel/mips32r5el/' mipsel* +ENV PATH="$PATH:/opt/mips32r5el/bin" + ENV QEMU_CONFIGURE_OPTS=--disable-docs ENV DEF_TARGET_LIST=aarch64-linux-user,alpha-linux-user,arm-linux-user,hppa-linux-user,i386-linux-user,m68k-linux-user,mips-linux-user,mips64-linux-user,mips64el-linux-user,mipsel-linux-user,ppc-linux-user,ppc64-linux-user,ppc64le-linux-user,riscv64-linux-user,s390x-linux-user,sh4-linux-user,sparc64-linux-user # As a final step configure the user (if env is defined) diff --git a/tests/lcitool/refresh b/tests/lcitool/refresh index 662d8a79f3a..94cab24bbdb 100755 --- a/tests/lcitool/refresh +++ b/tests/lcitool/refresh @@ -224,6 +224,22 @@ RUN apt update && \ libc6-dev-sparc64-cross \ && \ dpkg-query --showformat '${Package}_${Version}_${Architecture}' --show > /packages.txt + +RUN apt update && DEBIAN_FRONTEND=noninteractive eatmydata apt install -y rename + +# download mips32r5el toolchain from bootlin, and rename binaries who are simply +# named mipsel-linux-gnu-* +RUN apt update && \ + mkdir -p /opt/mips32r5el/ && \ + cd /opt/mips32r5el/ && \ + wget -q https://toolchains.bootlin.com/downloads/releases/toolchains/mips32r5el/tarballs/mips32r5el--glibc--stable-2026.08-1.tar.xz && \ + tar xvf *.tar.xz && \ + rm *.tar.xz && \ + mv mips32r5el--glibc--stable-2026.08-1/* . && \ + cd bin && \ + rename 's/mipsel/mips32r5el/' mipsel* +ENV PATH="$PATH:/opt/mips32r5el/bin" + ENV QEMU_CONFIGURE_OPTS=--disable-docs ENV DEF_TARGET_LIST=aarch64-linux-user,alpha-linux-user,arm-linux-user,hppa-linux-user,i386-linux-user,m68k-linux-user,mips-linux-user,mips64-linux-user,mips64el-linux-user,mipsel-linux-user,ppc-linux-user,ppc64-linux-user,ppc64le-linux-user,riscv64-linux-user,s390x-linux-user,sh4-linux-user,sparc64-linux-user """ -- 2.43.0
