Philippe Mathieu-Daudé <[email protected]> writes:
> 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é <[email protected]>
> ---
> 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-
> - ;;
This isn't used for cross-builds but for building tests. So you need to
add a stanza above that passes:
container_image=debian-all-test-cross
> 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-'
Isn't this part of the firmware build? armhf guests aren't going away.
> 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
> - ;;
Again this is for testing and building rootfs's so shouldn't be dropped
here.
> 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-",
--
Alex Bennée
Virtualisation Tech Lead @ Linaro