From: David Gibson <david@gibson.dropbear.id.au>
To: matheus.ferst@eldorado.org.br
Cc: thuth@redhat.com, gustavo.romero@protonmail.com,
qemu-devel@nongnu.org, wainersm@redhat.com, f4bug@amsat.org,
luis.pires@eldorado.org.br, qemu-ppc@nongnu.org,
alex.bennee@linaro.org
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 [thread overview]
Message-ID: <YHkLU6rlVOl2v6Al@yekko.fritz.box> (raw)
In-Reply-To: <20210415214138.563795-2-matheus.ferst@eldorado.org.br>
[-- Attachment #1: Type: text/plain, Size: 5762 bytes --]
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
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
next prev parent reply other threads:[~2021-04-16 4:03 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-04-15 21:41 [RFC PATCH 0/3] tests/tcg/ppc64le: paddi tests matheus.ferst
2021-04-15 21:41 ` [RFC PATCH 1/3] tests/docker: gcc-10 based images for ppc64{, le} tests matheus.ferst
2021-04-16 3:58 ` David Gibson [this message]
2021-04-16 14:07 ` [RFC PATCH 1/3] tests/docker: gcc-10 based images for ppc64{,le} tests Alex Bennée
2021-04-15 21:41 ` [RFC PATCH 2/3] tests/tcg/ppc64le: load 33-bits constant with paddi matheus.ferst
2021-04-15 21:41 ` [RFC PATCH 3/3] tests/tcg/ppc64le: R=1 test for paddi matheus.ferst
2021-04-16 3:52 ` [RFC PATCH 0/3] tests/tcg/ppc64le: paddi tests David Gibson
2021-04-16 14:13 ` Matheus K. Ferst
2021-04-19 1:14 ` David Gibson
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=YHkLU6rlVOl2v6Al@yekko.fritz.box \
--to=david@gibson.dropbear.id.au \
--cc=alex.bennee@linaro.org \
--cc=f4bug@amsat.org \
--cc=gustavo.romero@protonmail.com \
--cc=luis.pires@eldorado.org.br \
--cc=matheus.ferst@eldorado.org.br \
--cc=qemu-devel@nongnu.org \
--cc=qemu-ppc@nongnu.org \
--cc=thuth@redhat.com \
--cc=wainersm@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.