tests/docker: migrate legacy-test-cross compilers to trixie
The bugs have evidently been fixed in the latest release so we can migrate the laggards into how all-test-cross container and remove the legacy hacks. They are also packaged for the main architectures so we don't need to jump through the amd64 hoops. Suggested-by: John Snow <jsnow@redhat.com> Reviewed-by: Thomas Huth <thuth@redhat.com> Message-ID: <20260226185303.1920021-3-alex.bennee@linaro.org> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Alex Bennée committed
Feb 26, 2026 at 18:52 UTC
af4b64eb945afe0f7fe031057c7a13f20a2510b8
7 files changed
+13
-83
.gitlab-ci.d/buildtest.yml
-12
@@ -376,18 +376,6 @@ build-user-static:
376
variables:
377
IMAGE: debian-all-test-cross
378
CONFIGURE_ARGS: --disable-tools --disable-system --static
379
- --target-list-exclude=alpha-linux-user,sh4-linux-user
380
- MAKE_CHECK_ARGS: check-tcg
381
-
382
-# targets stuck on older compilers
383
-build-legacy:
384
- extends: .native_build_job_template
385
- needs:
386
- - job: amd64-debian-legacy-cross-container
387
- variables:
388
- IMAGE: debian-legacy-test-cross
389
- TARGETS: alpha-linux-user alpha-softmmu sh4-linux-user
390
- CONFIGURE_ARGS: --disable-tools
379
MAKE_CHECK_ARGS: check-tcg
380
381
build-user-hexagon:
.gitlab-ci.d/container-cross.yml
-6
@@ -10,12 +10,6 @@ amd64-debian-user-cross-container:
10
variables:
11
NAME: debian-all-test-cross
12
13
-amd64-debian-legacy-cross-container:
14
- extends: .container_job_template
15
- stage: containers
16
- variables:
17
- NAME: debian-legacy-test-cross
18
-
13
arm64-debian-cross-container:
14
extends: .container_job_template
15
stage: containers
.gitlab-ci.d/containers.yml
-1
@@ -45,7 +45,6 @@ weekly-container-builds:
45
# cross
46
- amd64-debian-cross-container
47
- amd64-debian-user-cross-container
48
- - amd64-debian-legacy-cross-container
48
- arm64-debian-cross-container
49
- hexagon-cross-container
50
- loongarch-debian-cross-container
configure
+1
-9
@@ -1458,7 +1458,7 @@ probe_target_compiler() {
1458
container_image=debian-all-test-cross
1459
container_cross_prefix=aarch64-linux-gnu-
1460
;;
1461
- hppa|m68k|mips|riscv64|sparc64)
1461
+ alpha|hppa|m68k|mips|riscv64|sh4|sparc64)
1462
container_image=debian-all-test-cross
1463
;;
1464
mips64)
@@ -1470,14 +1470,6 @@ probe_target_compiler() {
1470
container_cross_prefix=powerpc${target_arch#ppc}-linux-gnu-
1471
;;
1472
1473
- # debian-legacy-test-cross architectures (need Debian 11)
1474
- # - libc6.1-dev-alpha-cross: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1054412
1475
- # - sh4-linux-user: binaries don't run with bookworm compiler
1476
-
1477
- alpha|sh4)
1478
- container_image=debian-legacy-test-cross
1479
- ;;
1480
-
1473
# architectures with individual containers
1474
1475
aarch64)
tests/docker/dockerfiles/debian-all-test-cross.docker
+6
-2
@@ -64,6 +64,8 @@ ENV AVAILABLE_COMPILERS gcc-aarch64-linux-gnu \
64
libc6-dev-arm64-cross \
65
gcc-arm-linux-gnueabihf \
66
libc6-dev-armhf-cross \
67
+ gcc-alpha-linux-gnu \
68
+ libc6.1-dev-alpha-cross \
69
gcc-mips-linux-gnu \
70
libc6-dev-mips-cross \
71
gcc-mips64-linux-gnuabi64 \
@@ -77,7 +79,9 @@ ENV AVAILABLE_COMPILERS gcc-aarch64-linux-gnu \
79
gcc-riscv64-linux-gnu \
80
libc6-dev-riscv64-cross \
81
gcc-s390x-linux-gnu \
80
- libc6-dev-s390x-cross
82
+ libc6-dev-s390x-cross\
83
+ gcc-sh4-linux-gnu \
84
+ libc6-dev-sh4-cross
85
RUN if dpkg-architecture -e amd64; then \
86
export AVAILABLE_COMPILERS="${AVAILABLE_COMPILERS} gcc-hppa-linux-gnu libc6-dev-hppa-cross"; \
87
export AVAILABLE_COMPILERS="${AVAILABLE_COMPILERS} gcc-m68k-linux-gnu libc6-dev-m68k-cross"; \
@@ -90,7 +94,7 @@ apt install -y --no-install-recommends \
94
${AVAILABLE_COMPILERS} && \
95
dpkg-query --showformat '${Package}_${Version}_${Architecture}' --show > /packages.txt
96
ENV QEMU_CONFIGURE_OPTS --disable-docs
93
-ENV DEF_TARGET_LIST aarch64-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,sparc64-linux-user
97
+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
98
# As a final step configure the user (if env is defined)
99
ARG USER
100
ARG UID
tests/docker/dockerfiles/debian-legacy-test-cross.docker
deleted
-51
@@ -1,51 +0,0 @@
1
-# Docker legacy cross-compiler target (tests and minimal qemu)
2
-#
3
-# Compilers for some of our older targets which we cant currently
4
-# upgrade. Currently:
5
-#
6
-# libc6.1-dev-alpha-cross: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1054412
7
-# sh4-linux-user: binaries don't run with bookworm compiler
8
-#
9
-# As we are targeting check-tcg here we only need minimal qemu
10
-# dependencies and the relevant cross compilers.
11
-
12
-FROM docker.io/library/debian:11-slim
13
-
14
-# Duplicate deb line as deb-src
15
-RUN cat /etc/apt/sources.list | sed "s/^deb\ /deb-src /" >> /etc/apt/sources.list
16
-
17
-RUN export DEBIAN_FRONTEND=noninteractive && \
18
- apt-get update && \
19
- apt-get install -y eatmydata && \
20
- eatmydata apt-get dist-upgrade -y && \
21
- apt build-dep -yy qemu
22
-
23
-# Add extra build tools and as many cross compilers as we can for testing
24
-RUN DEBIAN_FRONTEND=noninteractive eatmydata \
25
- apt install -y --no-install-recommends \
26
- bison \
27
- ccache \
28
- clang \
29
- flex \
30
- git \
31
- ninja-build \
32
- gcc-alpha-linux-gnu \
33
- libc6.1-dev-alpha-cross \
34
- gcc-sh4-linux-gnu \
35
- libc6-dev-sh4-cross \
36
- python3-pip \
37
- python3-setuptools \
38
- python3-venv \
39
- python3-wheel && \
40
- dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt
41
-
42
-RUN /usr/bin/pip3 install tomli
43
-
44
-ENV QEMU_CONFIGURE_OPTS --disable-system --disable-docs --disable-tools
45
-ENV DEF_TARGET_LIST alpha-linux-user,sh4-linux-user
46
-ENV MAKE /usr/bin/make
47
-# As a final step configure the user (if env is defined)
48
-ARG USER
49
-ARG UID
50
-RUN if [ "${USER}" ]; then \
51
- id ${USER} 2>/dev/null || useradd -u ${UID} -U ${USER}; fi
tests/lcitool/refresh
+6
-2
@@ -172,6 +172,8 @@ debian_all_test_cross_compilers = [
172
" libc6-dev-arm64-cross \\\n",
173
" gcc-arm-linux-gnueabihf \\\n",
174
" libc6-dev-armhf-cross \\\n",
175
+ " gcc-alpha-linux-gnu \\\n"
176
+ " libc6.1-dev-alpha-cross \\\n"
177
" gcc-mips-linux-gnu \\\n",
178
" libc6-dev-mips-cross \\\n",
179
" gcc-mips64-linux-gnuabi64 \\\n",
@@ -185,7 +187,9 @@ debian_all_test_cross_compilers = [
187
" gcc-riscv64-linux-gnu \\\n",
188
" libc6-dev-riscv64-cross \\\n",
189
" gcc-s390x-linux-gnu \\\n",
188
- " libc6-dev-s390x-cross\n",
190
+ " libc6-dev-s390x-cross\\\n",
191
+ " gcc-sh4-linux-gnu \\\n",
192
+ " libc6-dev-sh4-cross\n",
193
"RUN if dpkg-architecture -e amd64; then \\\n",
194
" export AVAILABLE_COMPILERS=\"${AVAILABLE_COMPILERS} gcc-hppa-linux-gnu libc6-dev-hppa-cross\"; \\\n",
195
" export AVAILABLE_COMPILERS=\"${AVAILABLE_COMPILERS} gcc-m68k-linux-gnu libc6-dev-m68k-cross\"; \\\n",
@@ -198,7 +202,7 @@ debian_all_test_cross_compilers = [
202
"${AVAILABLE_COMPILERS} && \\\n",
203
"dpkg-query --showformat '${Package}_${Version}_${Architecture}' --show > /packages.txt\n",
204
"ENV QEMU_CONFIGURE_OPTS --disable-docs\n",
201
- "ENV DEF_TARGET_LIST aarch64-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,sparc64-linux-user\n",
205
+ "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\n",
206
]
207
208
def cross_build(prefix, targets):