Commit eaba84a5e1 for qemu.org

commit eaba84a5e1c94f0f7276c747ab079810c4029a60
Author: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>
Date:   Tue Sep 29 21:24:37 2026 +0000

    tests/docker/debian-all-test: add mips32r5 toolchain

    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.

    Reviewed-by: Philippe Mathieu-Daudé <philmd@oss.qualcomm.com>
    Link: https://lore.kernel.org/qemu-devel/20260929212439.110454-23-pierrick.bouvier@oss.qualcomm.com
    Signed-off-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>

diff --git a/tests/docker/dockerfiles/debian-all-test-cross.docker b/tests/docker/dockerfiles/debian-all-test-cross.docker
index 9452448088..eefc03c49a 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 662d8a79f3..94cab24bbd 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
 """