From: "Philippe Mathieu-Daudé" <philmd@linaro.org>
To: qemu-devel@nongnu.org
Cc: "Daniel P. Berrangé" <berrange@redhat.com>,
"Thomas Huth" <thuth@redhat.com>,
qemu-arm@nongnu.org, "Paolo Bonzini" <pbonzini@redhat.com>,
"Gerd Hoffmann" <kraxel@redhat.com>,
"John Snow" <jsnow@redhat.com>, "Cleber Rosa" <crosa@redhat.com>,
"Marc-André Lureau" <marcandre.lureau@redhat.com>,
"Philippe Mathieu-Daudé" <philmd@linaro.org>,
"Alex Bennée" <alex.bennee@linaro.org>
Subject: [PATCH-for-10.2 1/2] gitlab: Stop cross-testing for 32-bit ARM hosts
Date: Mon, 17 Nov 2025 16:41:53 +0100 [thread overview]
Message-ID: <20251117154154.79090-2-philmd@linaro.org> (raw)
In-Reply-To: <20251117154154.79090-1-philmd@linaro.org>
32-bit host support is deprecated since commit 6d701c9bac1
("meson: Deprecate 32-bit host support"). Next commits will
remove support for 32-bit ARM hosts. Stop cross-building
QEMU on our CI. Remove the CI jobs and related Docker files.
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
configure | 9 -
.gitlab-ci.d/container-cross.yml | 6 -
.gitlab-ci.d/crossbuilds.yml | 7 -
python/qemu/utils/accel.py | 1 -
roms/edk2-build.py | 4 -
.../dockerfiles/debian-armhf-cross.docker | 188 ------------------
tests/docker/dockerfiles/debian-bootstrap.pre | 5 +-
tests/lcitool/refresh | 5 -
8 files changed, 1 insertion(+), 224 deletions(-)
delete mode 100644 tests/docker/dockerfiles/debian-armhf-cross.docker
diff --git a/configure b/configure
index a2f66f7ff9c..4b8f92e822b 100755
--- a/configure
+++ b/configure
@@ -1334,8 +1334,6 @@ fi
: ${cross_prefix_aarch64="aarch64-linux-gnu-"}
: ${cross_prefix_aarch64_be="$cross_prefix_aarch64"}
: ${cross_prefix_alpha="alpha-linux-gnu-"}
-: ${cross_prefix_arm="arm-linux-gnueabihf-"}
-: ${cross_prefix_armeb="$cross_prefix_arm"}
: ${cross_prefix_hexagon="hexagon-unknown-linux-musl-"}
: ${cross_prefix_loongarch64="loongarch64-unknown-linux-gnu-"}
: ${cross_prefix_hppa="hppa-linux-gnu-"}
@@ -1359,8 +1357,6 @@ fi
: ${cross_cc_aarch64_be="$cross_cc_aarch64"}
: ${cross_cc_cflags_aarch64_be="-mbig-endian"}
-: ${cross_cc_armeb="$cross_cc_arm"}
-: ${cross_cc_cflags_armeb="-mbig-endian"}
: ${cross_cc_hexagon="hexagon-unknown-linux-musl-clang"}
: ${cross_cc_cflags_hexagon="-mv73 -O2 -static"}
: ${cross_cc_cflags_i386="-m32"}
@@ -1481,11 +1477,6 @@ probe_target_compiler() {
# We don't have any bigendian build tools so we only use this for AArch64
container_image=debian-arm64-cross
;;
- arm)
- # We don't have any bigendian build tools so we only use this for ARM
- container_image=debian-armhf-cross
- container_cross_prefix=arm-linux-gnueabihf-
- ;;
hexagon)
container_cross_prefix=hexagon-unknown-linux-musl-
container_cross_cc=${container_cross_prefix}clang
diff --git a/.gitlab-ci.d/container-cross.yml b/.gitlab-ci.d/container-cross.yml
index 0fd7341afac..e7ce1392770 100644
--- a/.gitlab-ci.d/container-cross.yml
+++ b/.gitlab-ci.d/container-cross.yml
@@ -22,12 +22,6 @@ arm64-debian-cross-container:
variables:
NAME: debian-arm64-cross
-armhf-debian-cross-container:
- extends: .container_job_template
- stage: containers
- variables:
- NAME: debian-armhf-cross
-
hexagon-cross-container:
extends: .container_job_template
stage: containers
diff --git a/.gitlab-ci.d/crossbuilds.yml b/.gitlab-ci.d/crossbuilds.yml
index 99dfa7eea6f..e0a68c2023d 100644
--- a/.gitlab-ci.d/crossbuilds.yml
+++ b/.gitlab-ci.d/crossbuilds.yml
@@ -1,13 +1,6 @@
include:
- local: '/.gitlab-ci.d/crossbuild-template.yml'
-cross-armhf-user:
- extends: .cross_user_build_job
- needs:
- - job: armhf-debian-cross-container
- variables:
- IMAGE: debian-armhf-cross
-
cross-arm64-system:
extends: .cross_system_build_job
needs:
diff --git a/python/qemu/utils/accel.py b/python/qemu/utils/accel.py
index f915b646692..e6fca304b33 100644
--- a/python/qemu/utils/accel.py
+++ b/python/qemu/utils/accel.py
@@ -26,7 +26,6 @@
# support which often includes its 32 bit cousin.
ADDITIONAL_ARCHES = {
"x86_64": "i386",
- "aarch64": "armhf",
"ppc64le": "ppc64",
}
diff --git a/roms/edk2-build.py b/roms/edk2-build.py
index c7e9dc58ec0..683c622c3d6 100755
--- a/roms/edk2-build.py
+++ b/roms/edk2-build.py
@@ -289,10 +289,6 @@ def prepare_env(cfg, silent = False):
os.environ['PYTHONHASHSEED'] = '1'
# for cross builds
- if binary_exists('arm-linux-gnueabi-gcc'):
- # ubuntu
- os.environ['GCC5_ARM_PREFIX'] = 'arm-linux-gnueabi-'
- os.environ['GCC_ARM_PREFIX'] = 'arm-linux-gnueabi-'
if binary_exists('loongarch64-linux-gnu-gcc'):
os.environ['GCC5_LOONGARCH64_PREFIX'] = 'loongarch64-linux-gnu-'
os.environ['GCC_LOONGARCH64_PREFIX'] = 'loongarch64-linux-gnu-'
diff --git a/tests/docker/dockerfiles/debian-armhf-cross.docker b/tests/docker/dockerfiles/debian-armhf-cross.docker
deleted file mode 100644
index 627d41c6dee..00000000000
--- a/tests/docker/dockerfiles/debian-armhf-cross.docker
+++ /dev/null
@@ -1,188 +0,0 @@
-# THIS FILE WAS AUTO-GENERATED
-#
-# $ lcitool dockerfile --layers all --cross-arch armv7l debian-13 qemu
-#
-# https://gitlab.com/libvirt/libvirt-ci
-
-FROM docker.io/library/debian:13-slim
-
-RUN export DEBIAN_FRONTEND=noninteractive && \
- apt-get update && \
- apt-get install -y eatmydata && \
- eatmydata apt-get dist-upgrade -y && \
- eatmydata apt-get install --no-install-recommends -y \
- bash \
- bc \
- bindgen \
- bison \
- bsdextrautils \
- bzip2 \
- ca-certificates \
- ccache \
- dbus \
- debianutils \
- diffutils \
- exuberant-ctags \
- findutils \
- flex \
- gcc \
- gcovr \
- gettext \
- git \
- hostname \
- libclang-rt-dev \
- libglib2.0-dev \
- llvm \
- locales \
- make \
- mtools \
- ncat \
- ninja-build \
- openssh-client \
- pkgconf \
- python3 \
- python3-numpy \
- python3-opencv \
- python3-pillow \
- python3-pip \
- python3-setuptools \
- python3-sphinx \
- python3-sphinx-rtd-theme \
- python3-tomli \
- python3-venv \
- python3-wheel \
- python3-yaml \
- rpm2cpio \
- rustc \
- sed \
- socat \
- sparse \
- swtpm \
- tar \
- tesseract-ocr \
- tesseract-ocr-eng \
- vulkan-tools \
- xorriso \
- zstd && \
- eatmydata apt-get autoremove -y && \
- eatmydata apt-get autoclean -y && \
- sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
- dpkg-reconfigure locales && \
- rm -f /usr/lib*/python3*/EXTERNALLY-MANAGED
-
-RUN /usr/bin/pip3 install meson==1.8.1
-
-ENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
-ENV LANG "en_US.UTF-8"
-ENV MAKE "/usr/bin/make"
-ENV NINJA "/usr/bin/ninja"
-ENV PYTHON "/usr/bin/python3"
-
-RUN export DEBIAN_FRONTEND=noninteractive && \
- dpkg --add-architecture armhf && \
- eatmydata apt-get update && \
- eatmydata apt-get dist-upgrade -y && \
- eatmydata apt-get install --no-install-recommends -y dpkg-dev && \
- eatmydata apt-get install --no-install-recommends -y \
- gcc-arm-linux-gnueabihf \
- libaio-dev:armhf \
- libasan8:armhf \
- libasound2-dev:armhf \
- libattr1-dev:armhf \
- libbpf-dev:armhf \
- libbrlapi-dev:armhf \
- libbz2-dev:armhf \
- libc6-dev:armhf \
- libcacard-dev:armhf \
- libcap-ng-dev:armhf \
- libcapstone-dev:armhf \
- libcbor-dev:armhf \
- libcmocka-dev:armhf \
- libcurl4-gnutls-dev:armhf \
- libdaxctl-dev:armhf \
- libdrm-dev:armhf \
- libepoxy-dev:armhf \
- libfdt-dev:armhf \
- libffi-dev:armhf \
- libfuse3-dev:armhf \
- libgbm-dev:armhf \
- libgcrypt20-dev:armhf \
- libglib2.0-dev:armhf \
- libgnutls28-dev:armhf \
- libgtk-3-dev:armhf \
- libgtk-vnc-2.0-dev:armhf \
- libibverbs-dev:armhf \
- libiscsi-dev:armhf \
- libjemalloc-dev:armhf \
- libjpeg62-turbo-dev:armhf \
- libjson-c-dev:armhf \
- liblttng-ust-dev:armhf \
- liblzo2-dev:armhf \
- libncursesw5-dev:armhf \
- libnfs-dev:armhf \
- libnuma-dev:armhf \
- libpam0g-dev:armhf \
- libpcre2-dev:armhf \
- libpipewire-0.3-dev:armhf \
- libpixman-1-dev:armhf \
- libpng-dev:armhf \
- libpulse-dev:armhf \
- librdmacm-dev:armhf \
- libsasl2-dev:armhf \
- libsdl2-dev:armhf \
- libsdl2-image-dev:armhf \
- libseccomp-dev:armhf \
- libselinux1-dev:armhf \
- libslirp-dev:armhf \
- libsnappy-dev:armhf \
- libsndio-dev:armhf \
- libspice-protocol-dev:armhf \
- libspice-server-dev:armhf \
- libssh-dev:armhf \
- libstd-rust-dev:armhf \
- libsystemd-dev:armhf \
- libtasn1-6-dev:armhf \
- libubsan1:armhf \
- libudev-dev:armhf \
- liburing-dev:armhf \
- libusb-1.0-0-dev:armhf \
- libusbredirhost-dev:armhf \
- libvdeplug-dev:armhf \
- libvirglrenderer-dev:armhf \
- libvte-2.91-dev:armhf \
- libxdp-dev:armhf \
- libzstd-dev:armhf \
- nettle-dev:armhf \
- systemtap-sdt-dev:armhf \
- zlib1g-dev:armhf && \
- eatmydata apt-get autoremove -y && \
- eatmydata apt-get autoclean -y && \
- mkdir -p /usr/local/share/meson/cross && \
- printf "[binaries]\n\
-c = '/usr/bin/arm-linux-gnueabihf-gcc'\n\
-ar = '/usr/bin/arm-linux-gnueabihf-gcc-ar'\n\
-strip = '/usr/bin/arm-linux-gnueabihf-strip'\n\
-pkgconfig = '/usr/bin/arm-linux-gnueabihf-pkg-config'\n\
-\n\
-[host_machine]\n\
-system = 'linux'\n\
-cpu_family = 'arm'\n\
-cpu = 'armhf'\n\
-endian = 'little'\n" > /usr/local/share/meson/cross/arm-linux-gnueabihf && \
- dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \
- mkdir -p /usr/libexec/ccache-wrappers && \
- ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/arm-linux-gnueabihf-cc && \
- ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/arm-linux-gnueabihf-gcc
-
-ENV ABI "arm-linux-gnueabihf"
-ENV MESON_OPTS "--cross-file=arm-linux-gnueabihf"
-ENV RUST_TARGET "armv7-unknown-linux-gnueabihf"
-ENV QEMU_CONFIGURE_OPTS --cross-prefix=arm-linux-gnueabihf-
-ENV DEF_TARGET_LIST arm-softmmu,arm-linux-user
-# As a final step configure the user (if env is defined)
-ARG USER
-ARG UID
-RUN if [ "${USER}" ]; then \
- id ${USER} 2>/dev/null || useradd -u ${UID} -U ${USER}; fi
-
-ENV ENABLE_RUST 1
diff --git a/tests/docker/dockerfiles/debian-bootstrap.pre b/tests/docker/dockerfiles/debian-bootstrap.pre
index 35c85f7db8a..0a652754dfd 100755
--- a/tests/docker/dockerfiles/debian-bootstrap.pre
+++ b/tests/docker/dockerfiles/debian-bootstrap.pre
@@ -21,7 +21,7 @@ if [ -z $FAKEROOT ]; then
fi
if [ -z "${DEB_ARCH}" ]; then
- echo "Please set DEB_ARCH to choose an architecture (e.g. armhf)" >&2
+ echo "Please set DEB_ARCH to choose an architecture (e.g. arm64)" >&2
exit_and_skip
fi
@@ -99,9 +99,6 @@ else
amd64)
QEMU=qemu-i386
;;
- armel|armhf)
- QEMU=qemu-arm
- ;;
arm64)
QEMU=qemu-aarch64
;;
diff --git a/tests/lcitool/refresh b/tests/lcitool/refresh
index df186caffe6..d3743ba73e8 100755
--- a/tests/lcitool/refresh
+++ b/tests/lcitool/refresh
@@ -208,11 +208,6 @@ try:
trailer=cross_build("aarch64-linux-gnu-",
"aarch64-softmmu,aarch64-linux-user"))
- generate_dockerfile("debian-armhf-cross", "debian-13",
- cross="armv7l",
- trailer=cross_build("arm-linux-gnueabihf-",
- "arm-softmmu,arm-linux-user"))
-
generate_dockerfile("debian-i686-cross", "debian-13",
cross="i686",
trailer=cross_build("i686-linux-gnu-",
--
2.51.0
next prev parent reply other threads:[~2025-11-17 15:42 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-11-17 15:41 [PATCH-for-10.2 0/2] tcg: Remove support for 32-bit arm hosts Philippe Mathieu-Daudé
2025-11-17 15:41 ` Philippe Mathieu-Daudé [this message]
2025-11-17 16:54 ` [PATCH-for-10.2 1/2] gitlab: Stop cross-testing for 32-bit ARM hosts Alex Bennée
2025-11-17 15:41 ` [PATCH-for-10.2 2/2] buildsys: Remove support " Philippe Mathieu-Daudé
2025-11-17 15:59 ` [PATCH-for-10.2 0/2] tcg: Remove support for 32-bit arm hosts Peter Maydell
2025-11-17 17:04 ` Philippe Mathieu-Daudé
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20251117154154.79090-2-philmd@linaro.org \
--to=philmd@linaro.org \
--cc=alex.bennee@linaro.org \
--cc=berrange@redhat.com \
--cc=crosa@redhat.com \
--cc=jsnow@redhat.com \
--cc=kraxel@redhat.com \
--cc=marcandre.lureau@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-arm@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=thuth@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).