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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.