[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [RFC PATCH 1/3] tests/docker: gcc-10 based images for ppc64{, le} te
From: |
David Gibson |
Subject: |
Re: [RFC PATCH 1/3] tests/docker: gcc-10 based images for ppc64{, le} tests |
Date: |
Fri, 16 Apr 2021 13:58:11 +1000 |
On Thu, Apr 15, 2021 at 06:41:36PM -0300, matheus.ferst@eldorado.org.br wrote:
> 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, new '-test-cross' images are 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'.
>
> Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br>
> ---
> tests/docker/Makefile.include | 4 ++++
> .../dockerfiles/debian-ppc64-test-cross.docker | 13 +++++++++++++
> .../debian-ppc64el-test-cross.docker | 17 +++++++++++++++++
> tests/tcg/configure.sh | 12 ++++++++----
> 4 files changed, 42 insertions(+), 4 deletions(-)
> create mode 100644 tests/docker/dockerfiles/debian-ppc64-test-cross.docker
> create mode 100644 tests/docker/dockerfiles/debian-ppc64el-test-cross.docker
>
> diff --git a/tests/docker/Makefile.include b/tests/docker/Makefile.include
> index 9f464cb92c..1f8941d290 100644
> --- a/tests/docker/Makefile.include
> +++ b/tests/docker/Makefile.include
> @@ -152,10 +152,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-ppc64-test-cross: docker-image-debian11
> +docker-image-debian-ppc64el-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-ppc64-test-cross
> +DOCKER_PARTIAL_IMAGES += debian-ppc64el-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
Why are you adding new images, rather than updating the existing
debian-powerpc-cross image? I don't think you should need separate
ppc64 and ppc64el images, a single image with a gcc that can target
both should suffice. (Also, it's typically ppc64le, not ppc64el,
which, yes, is different from what the mips and arm people do for no
particularly good reason).
> diff --git a/tests/docker/dockerfiles/debian-ppc64-test-cross.docker
> b/tests/docker/dockerfiles/debian-ppc64-test-cross.docker
> new file mode 100644
> index 0000000000..66abfdeb47
> --- /dev/null
> +++ b/tests/docker/dockerfiles/debian-ppc64-test-cross.docker
> @@ -0,0 +1,13 @@
> +#
> +# Docker ppc64 cross-compiler target (tests only)
> +#
> +# This docker target builds on the debian Bullseye base image.
> +#
> +FROM qemu/debian11
> +
> +# Add the foreign architecture we want and install dependencies
> +RUN dpkg --add-architecture ppc64
> +RUN apt update && \
> + DEBIAN_FRONTEND=noninteractive eatmydata \
> + apt install -y --no-install-recommends \
> + libc6-dev-ppc64-cross gcc-10-powerpc64-linux-gnu
> diff --git a/tests/docker/dockerfiles/debian-ppc64el-test-cross.docker
> b/tests/docker/dockerfiles/debian-ppc64el-test-cross.docker
> new file mode 100644
> index 0000000000..7582508467
> --- /dev/null
> +++ b/tests/docker/dockerfiles/debian-ppc64el-test-cross.docker
> @@ -0,0 +1,17 @@
> +#
> +# Docker ppc64el cross-compiler target (tests only)
> +#
> +# This docker target builds on the debian Bullseye base image.
> +#
> +FROM qemu/debian11
> +
> +# Add the foreign architecture we want and install dependencies
> +RUN dpkg --add-architecture ppc64el
> +RUN apt update && \
> + DEBIAN_FRONTEND=noninteractive eatmydata \
> + apt install -y --no-install-recommends \
> + crossbuild-essential-ppc64el gcc-10-powerpc64le-linux-gnu
> +
> +# Specify the cross prefix for this image (see tests/docker/common.rc)
> +#ENV QEMU_CONFIGURE_OPTS --cross-prefix=powerpc64le-linux-gnu-
> +#ENV DEF_TARGET_LIST ppc64-softmmu,ppc64-linux-user,ppc64abi32-linux-user
> diff --git a/tests/tcg/configure.sh b/tests/tcg/configure.sh
> index fa1a4261a4..5f5db91a01 100755
> --- a/tests/tcg/configure.sh
> +++ b/tests/tcg/configure.sh
> @@ -170,13 +170,13 @@ for target in $target_list; do
> ;;
> ppc64-*)
> container_hosts=x86_64
> - container_image=debian-ppc64-cross
> - container_cross_cc=powerpc64-linux-gnu-gcc
> + container_image=debian-ppc64-test-cross
> + container_cross_cc=powerpc64-linux-gnu-gcc-10
> ;;
> ppc64le-*)
> container_hosts=x86_64
> - container_image=debian-ppc64el-cross
> - container_cross_cc=powerpc64le-linux-gnu-gcc
> + container_image=debian-ppc64el-test-cross
> + container_cross_cc=powerpc64le-linux-gnu-gcc-10
> ;;
> riscv64-*)
> container_hosts=x86_64
> @@ -280,6 +280,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 \
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
signature.asc
Description: PGP signature
- [RFC PATCH 0/3] tests/tcg/ppc64le: paddi tests, matheus . ferst, 2021/04/15
- [RFC PATCH 2/3] tests/tcg/ppc64le: load 33-bits constant with paddi, matheus . ferst, 2021/04/15
- [RFC PATCH 3/3] tests/tcg/ppc64le: R=1 test for paddi, matheus . ferst, 2021/04/15
- [RFC PATCH 1/3] tests/docker: gcc-10 based images for ppc64{, le} tests, matheus . ferst, 2021/04/15
- Re: [RFC PATCH 1/3] tests/docker: gcc-10 based images for ppc64{, le} tests,
David Gibson <=
- Re: [RFC PATCH 0/3] tests/tcg/ppc64le: paddi tests, David Gibson, 2021/04/15