[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 1/2] tests/docker: gcc-10 based images for ppc64{, le} tests
From: |
matheus . ferst |
Subject: |
[PATCH v2 1/2] tests/docker: gcc-10 based images for ppc64{, le} tests |
Date: |
Thu, 22 Apr 2021 08:27:53 -0300 |
From: Matheus Ferst <matheus.ferst@eldorado.org.br>
A newer compiler is needed to build tests for Power10 instructions. As
done for arm64 on c729a99d2701, a new '-test-cross' image is created for
ppc64 and ppc64le. As done on 936fda4d771f, a test for compiler support
is added to verify that the toolchain in use has '-mpower10'. Finally,
unused images (docker-power-cross and docker-ppc64-cross) are removed.
Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br>
---
.gitlab-ci.d/containers.yml | 11 ++--------
tests/docker/Makefile.include | 5 ++---
.../dockerfiles/debian-powerpc-cross.docker | 12 -----------
.../debian-powerpc-test-cross.docker | 17 ++++++++++++++++
.../dockerfiles/debian-ppc64-cross.docker | 11 ----------
tests/tcg/configure.sh | 20 +++++++++----------
6 files changed, 31 insertions(+), 45 deletions(-)
delete mode 100644 tests/docker/dockerfiles/debian-powerpc-cross.docker
create mode 100644 tests/docker/dockerfiles/debian-powerpc-test-cross.docker
delete mode 100644 tests/docker/dockerfiles/debian-ppc64-cross.docker
diff --git a/.gitlab-ci.d/containers.yml b/.gitlab-ci.d/containers.yml
index 33e4046e23..32f1b5887f 100644
--- a/.gitlab-ci.d/containers.yml
+++ b/.gitlab-ci.d/containers.yml
@@ -144,19 +144,12 @@ mipsel-debian-cross-container:
variables:
NAME: debian-mipsel-cross
-powerpc-debian-cross-container:
+powerpc-test-debian-cross-container:
<<: *container_job_definition
stage: containers-layer2
needs: ['amd64-debian10-container']
variables:
- NAME: debian-powerpc-cross
-
-ppc64-debian-cross-container:
- <<: *container_job_definition
- stage: containers-layer2
- needs: ['amd64-debian10-container']
- variables:
- NAME: debian-ppc64-cross
+ NAME: debian-powerpc-test-cross
ppc64el-debian-cross-container:
<<: *container_job_definition
diff --git a/tests/docker/Makefile.include b/tests/docker/Makefile.include
index 9f464cb92c..3b692d67d7 100644
--- a/tests/docker/Makefile.include
+++ b/tests/docker/Makefile.include
@@ -140,8 +140,6 @@ docker-image-debian-mips-cross: docker-image-debian10
docker-image-debian-mips64-cross: docker-image-debian10
docker-image-debian-mips64el-cross: docker-image-debian10
docker-image-debian-mipsel-cross: docker-image-debian10
-docker-image-debian-powerpc-cross: docker-image-debian10
-docker-image-debian-ppc64-cross: docker-image-debian10
docker-image-debian-ppc64el-cross: docker-image-debian10
docker-image-debian-riscv64-cross: docker-image-debian10
docker-image-debian-s390x-cross: docker-image-debian10
@@ -152,13 +150,14 @@ docker-image-debian-sparc64-cross: docker-image-debian10
docker-image-debian-tricore-cross: docker-image-debian10
docker-image-debian-all-test-cross: docker-image-debian10
docker-image-debian-arm64-test-cross: docker-image-debian11
+docker-image-debian-powerpc-test-cross: docker-image-debian11
# These images may be good enough for building tests but not for test builds
DOCKER_PARTIAL_IMAGES += debian-alpha-cross
DOCKER_PARTIAL_IMAGES += debian-arm64-test-cross
+DOCKER_PARTIAL_IMAGES += debian-powerpc-test-cross
DOCKER_PARTIAL_IMAGES += debian-hppa-cross
DOCKER_PARTIAL_IMAGES += debian-m68k-cross debian-mips64-cross
-DOCKER_PARTIAL_IMAGES += debian-powerpc-cross debian-ppc64-cross
DOCKER_PARTIAL_IMAGES += debian-riscv64-cross
DOCKER_PARTIAL_IMAGES += debian-sh4-cross debian-sparc64-cross
DOCKER_PARTIAL_IMAGES += debian-tricore-cross
diff --git a/tests/docker/dockerfiles/debian-powerpc-cross.docker
b/tests/docker/dockerfiles/debian-powerpc-cross.docker
deleted file mode 100644
index 07e1789650..0000000000
--- a/tests/docker/dockerfiles/debian-powerpc-cross.docker
+++ /dev/null
@@ -1,12 +0,0 @@
-#
-# Docker powerpc cross-compiler target
-#
-# This docker target builds on the debian Buster base image.
-#
-FROM qemu/debian10
-
-RUN apt update && \
- DEBIAN_FRONTEND=noninteractive eatmydata \
- apt install -y --no-install-recommends \
- gcc-powerpc-linux-gnu \
- libc6-dev-powerpc-cross
diff --git a/tests/docker/dockerfiles/debian-powerpc-test-cross.docker
b/tests/docker/dockerfiles/debian-powerpc-test-cross.docker
new file mode 100644
index 0000000000..36b336f709
--- /dev/null
+++ b/tests/docker/dockerfiles/debian-powerpc-test-cross.docker
@@ -0,0 +1,17 @@
+#
+# Docker powerpc/ppc64/ppc64le cross-compiler target
+#
+# This docker target builds on the debian Bullseye base image.
+#
+FROM qemu/debian11
+
+RUN apt update && \
+ DEBIAN_FRONTEND=noninteractive eatmydata \
+ apt install -y --no-install-recommends \
+ gcc-powerpc-linux-gnu \
+ libc6-dev-powerpc-cross \
+ gcc-10-powerpc64-linux-gnu \
+ libc6-dev-ppc64-cross \
+ gcc-10-powerpc64le-linux-gnu \
+ libc6-dev-ppc64el-cross
+
diff --git a/tests/docker/dockerfiles/debian-ppc64-cross.docker
b/tests/docker/dockerfiles/debian-ppc64-cross.docker
deleted file mode 100644
index 8efe68874e..0000000000
--- a/tests/docker/dockerfiles/debian-ppc64-cross.docker
+++ /dev/null
@@ -1,11 +0,0 @@
-#
-# Docker ppc64 cross-compiler target
-#
-# This docker target builds on the debian Buster base image.
-FROM qemu/debian10
-
-RUN apt update && \
- DEBIAN_FRONTEND=noninteractive eatmydata \
- apt install -y --no-install-recommends \
- gcc-powerpc64-linux-gnu \
- libc6-dev-ppc64-cross
diff --git a/tests/tcg/configure.sh b/tests/tcg/configure.sh
index fa1a4261a4..c859b618de 100755
--- a/tests/tcg/configure.sh
+++ b/tests/tcg/configure.sh
@@ -165,18 +165,14 @@ for target in $target_list; do
;;
ppc-*|ppc64abi32-*)
container_hosts=x86_64
- container_image=debian-powerpc-cross
- container_cross_cc=powerpc-linux-gnu-gcc
+ container_image=debian-powerpc-test-cross
+ container_cross_cc=powerpc-linux-gnu-gcc-10
;;
- ppc64-*)
+ ppc64-*|ppc64le-*)
container_hosts=x86_64
- container_image=debian-ppc64-cross
- container_cross_cc=powerpc64-linux-gnu-gcc
- ;;
- ppc64le-*)
- container_hosts=x86_64
- container_image=debian-ppc64el-cross
- container_cross_cc=powerpc64le-linux-gnu-gcc
+ container_image=debian-powerpc-test-cross
+ container_cross_cc=${target%%-*}-linux-gnu-gcc-10
+ container_cross_cc=powerpc${container_cross_cc#ppc}
;;
riscv64-*)
container_hosts=x86_64
@@ -280,6 +276,10 @@ for target in $target_list; do
-mpower8-vector -o $TMPE $TMPC; then
echo "CROSS_CC_HAS_POWER8_VECTOR=y" >> $config_target_mak
fi
+ if do_compiler "$target_compiler" $target_compiler_cflags \
+ -mpower10 -o $TMPE $TMPC; then
+ echo "CROSS_CC_HAS_POWER10=y" >> $config_target_mak
+ fi
;;
i386-linux-user)
if do_compiler "$target_compiler" $target_compiler_cflags \
--
2.25.1
[PATCH 2/2] tests/tcg/ppc64le: tests for brh/brw/brd, matheus . ferst, 2021/04/19
[PATCH 0/2] tests/docker: tests/tcg/ppc64le: Newer toolchain to build tests for PowerISA v3.1 instructions, matheus . ferst, 2021/04/22
- [PATCH v2 1/2] tests/docker: gcc-10 based images for ppc64{, le} tests,
matheus . ferst <=
[PATCH v2 2/2] tests/tcg/ppc64le: tests for brh/brw/brd, matheus . ferst, 2021/04/22