All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Daniel P. Berrangé" <berrange@redhat.com>
To: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>
Cc: qemu-devel@nongnu.org, "Paolo Bonzini" <pbonzini@redhat.com>,
	"Philippe Mathieu-Daudé" <philmd@oss.qualcomm.com>,
	"Richard Henderson" <richard.henderson@linaro.org>,
	"Alex Bennée" <alex.bennee@linaro.org>
Subject: Re: [PATCH 3/4] tests/tcg: add alternative cross-compilers for fedora
Date: Fri, 25 Sep 2026 10:40:58 +0100	[thread overview]
Message-ID: <arZBqmDtOX8YoJaA@redhat.com> (raw)
In-Reply-To: <20260924213942.26491-4-pierrick.bouvier@oss.qualcomm.com>

On Thu, Sep 24, 2026 at 09:39:41PM +0000, Pierrick Bouvier wrote:
> This allows to pick host compiler automatically on fedora, as those
> binaries are installed with 'gcc' package.
> 
> This covers all host arch supported to this day:
> https://fedoraproject.org/wiki/Architectures
> - x86_64
> - aarch64
> - ppc64le
> - riscv64
> - s390x
> Note: QEMU and Fedora don't support 32-bit hosts anymore.

Regardless of what installation arches Fedora targets, it
ships cross compilers for pretty much everything. In F44
I see the following GCC available:

gcc-aarch64-linux-gnu.x86_64         16.2.1-1.fc44 updates
gcc-alpha-linux-gnu.x86_64           16.2.1-1.fc44 updates
gcc-arc-linux-gnu.x86_64             16.2.1-1.fc44 updates
gcc-arm-linux-gnu.x86_64             16.2.1-1.fc44 updates
gcc-avr32-linux-gnu.x86_64           16.2.1-1.fc44 updates
gcc-bfin-linux-gnu.x86_64            16.2.1-1.fc44 updates
gcc-c6x-linux-gnu.x86_64             16.2.1-1.fc44 updates
gcc-frv-linux-gnu.x86_64             16.2.1-1.fc44 updates
gcc-h8300-linux-gnu.x86_64           16.2.1-1.fc44 updates
gcc-hppa-linux-gnu.x86_64            16.2.1-1.fc44 updates
gcc-hppa64-linux-gnu.x86_64          16.2.1-1.fc44 updates
gcc-ia64-linux-gnu.x86_64            16.2.1-1.fc44 updates
gcc-loongarch64-linux-gnu.x86_64     16.2.1-1.fc44 updates
gcc-m68k-linux-gnu.x86_64            16.2.1-1.fc44 updates
gcc-microblaze-linux-gnu.x86_64      16.2.1-1.fc44 updates
gcc-mips64-linux-gnu.x86_64          16.2.1-1.fc44 updates
gcc-mn10300-linux-gnu.x86_64         16.2.1-1.fc44 updates
gcc-openrisc-linux-gnu.x86_64        16.2.1-1.fc44 updates
gcc-powerpc64-linux-gnu.x86_64       16.2.1-1.fc44 updates
gcc-powerpc64le-linux-gnu.x86_64     16.2.1-1.fc44 updates
gcc-ppc64-linux-gnu.x86_64           16.2.1-1.fc44 updates
gcc-ppc64le-linux-gnu.x86_64         16.2.1-1.fc44 updates
gcc-riscv32-linux-gnu.x86_64         16.2.1-1.fc44 updates
gcc-riscv64-linux-gnu.x86_64         16.2.1-1.fc44 updates
gcc-s390x-linux-gnu.x86_64           16.2.1-1.fc44 updates
gcc-sparc64-linux-gnu.x86_64         16.2.1-1.fc44 updates
gcc-x86_64-linux-gnu.x86_64          16.2.1-1.fc44 updates
gcc-xtensa-linux-gnu.x86_64          16.2.1-1.fc44 updates


> 
> Signed-off-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>
> ---
>  tests/tcg/aarch64/meson.build        | 2 ++
>  tests/tcg/aarch64/system/meson.build | 1 +
>  tests/tcg/aarch64_be/meson.build     | 1 +
>  tests/tcg/ppc64le/meson.build        | 1 +
>  tests/tcg/riscv64/meson.build        | 2 ++
>  tests/tcg/riscv64/system/meson.build | 1 +
>  tests/tcg/s390x/meson.build          | 2 ++
>  tests/tcg/s390x/system/meson.build   | 1 +
>  tests/tcg/x86_64/meson.build         | 2 ++
>  tests/tcg/x86_64/system/meson.build  | 1 +
>  10 files changed, 14 insertions(+)
> 
> diff --git a/tests/tcg/aarch64/meson.build b/tests/tcg/aarch64/meson.build
> index cc2c59fb4b6..1cec335df04 100644
> --- a/tests/tcg/aarch64/meson.build
> +++ b/tests/tcg/aarch64/meson.build
> @@ -1,4 +1,5 @@
>  cc = 'aarch64-linux-gnu-gcc'
> +cc_alt = ['aarch64-redhat-linux-gcc']
>  cc_dockerfile = 'debian-all-test-cross'
>  
>  cc_feat_cflags = {
> @@ -196,6 +197,7 @@ if 'qemu-aarch64' in emulators
>    tcg_tests += {
>      'aarch64-linux-user': {
>        'cc': cc,
> +      'cc_alt': cc_alt,
>        'cc_dockerfile': cc_dockerfile,
>        'cc_feat_cflags': cc_feat_cflags,
>        'folder': 'aarch64',
> diff --git a/tests/tcg/aarch64/system/meson.build b/tests/tcg/aarch64/system/meson.build
> index 6ba35a9f722..fb3b33861ea 100644
> --- a/tests/tcg/aarch64/system/meson.build
> +++ b/tests/tcg/aarch64/system/meson.build
> @@ -96,6 +96,7 @@ if 'qemu-system-aarch64' in emulators
>    tcg_tests += {
>      'aarch64-softmmu': {
>        'cc': cc,
> +      'cc_alt': cc_alt,
>        'cc_dockerfile': cc_dockerfile,
>        'cc_feat_cflags': cc_feat_cflags,
>        'folder': 'aarch64/system',
> diff --git a/tests/tcg/aarch64_be/meson.build b/tests/tcg/aarch64_be/meson.build
> index e45a49ec2da..509408de8e7 100644
> --- a/tests/tcg/aarch64_be/meson.build
> +++ b/tests/tcg/aarch64_be/meson.build
> @@ -10,6 +10,7 @@ if 'qemu-aarch64_be' in emulators
>    tcg_tests += {
>      'aarch64_be-linux-user': {
>        'cc': 'aarch64-linux-gnu-gcc',
> +      'cc_alt': ['aarch64-redhat-linux-gcc'],
>        'cc_dockerfile': 'debian-all-test-cross',
>        'cc_feat_cflags': cc_feat_cflags,
>        'folder': 'aarch64_be',
> diff --git a/tests/tcg/ppc64le/meson.build b/tests/tcg/ppc64le/meson.build
> index a0f3e62e4d3..9f386287e7a 100644
> --- a/tests/tcg/ppc64le/meson.build
> +++ b/tests/tcg/ppc64le/meson.build
> @@ -2,6 +2,7 @@ if 'qemu-ppc64le' in emulators
>    tcg_tests += {
>      'ppc64le-linux-user': {
>        'cc': 'powerpc64le-linux-gnu-gcc',
> +      'cc_alt': ['ppc64le-redhat-linux-gcc'],
>        'cc_dockerfile': 'debian-all-test-cross',
>        'cc_feat_cflags': cc_feat_cflags,
>        'folder': 'ppc64le',
> diff --git a/tests/tcg/riscv64/meson.build b/tests/tcg/riscv64/meson.build
> index 5ee20a1e98d..91c840b0058 100644
> --- a/tests/tcg/riscv64/meson.build
> +++ b/tests/tcg/riscv64/meson.build
> @@ -1,4 +1,5 @@
>  cc = 'riscv64-linux-gnu-gcc'
> +cc_alt = ['riscv64-redhat-linux-gnu-gcc']
>  cc_dockerfile = 'debian-all-test-cross'
>  
>  subdir('system')
> @@ -26,6 +27,7 @@ if 'qemu-riscv64' in emulators
>    tcg_tests += {
>      'riscv64-linux-user': {
>        'cc': cc,
> +      'cc_alt': cc_alt,
>        'cc_dockerfile': cc_dockerfile,
>        'folder': 'riscv64',
>        'gdb_arch': 'riscv64',
> diff --git a/tests/tcg/riscv64/system/meson.build b/tests/tcg/riscv64/system/meson.build
> index 87c3f9f11ce..c87e3eee1ad 100644
> --- a/tests/tcg/riscv64/system/meson.build
> +++ b/tests/tcg/riscv64/system/meson.build
> @@ -65,6 +65,7 @@ if 'qemu-system-riscv64' in emulators
>    tcg_tests += {
>      'riscv64-softmmu': {
>        'cc': cc,
> +      'cc_alt': cc_alt,
>        'cc_dockerfile': cc_dockerfile,
>        'folder': 'riscv64',
>        'gdb_arch': 'riscv64',
> diff --git a/tests/tcg/s390x/meson.build b/tests/tcg/s390x/meson.build
> index 1f9aa57fc73..f2328d9e5cf 100644
> --- a/tests/tcg/s390x/meson.build
> +++ b/tests/tcg/s390x/meson.build
> @@ -1,4 +1,5 @@
>  cc = 's390x-linux-gnu-gcc'
> +cc_alt = ['s390x-redhat-linux-gcc']
>  cc_dockerfile = 'debian-all-test-cross'
>  
>  cc_feat_cflags = {
> @@ -140,6 +141,7 @@ if 'qemu-s390x' in emulators
>    tcg_tests += {
>      's390x-linux-user': {
>        'cc': cc,
> +      'cc_alt': cc_alt,
>        'cc_dockerfile': cc_dockerfile,
>        'cc_feat_cflags': cc_feat_cflags,
>        'folder': 's390x',
> diff --git a/tests/tcg/s390x/system/meson.build b/tests/tcg/s390x/system/meson.build
> index ef19c4831fd..359d124cc78 100644
> --- a/tests/tcg/s390x/system/meson.build
> +++ b/tests/tcg/s390x/system/meson.build
> @@ -82,6 +82,7 @@ if 'qemu-system-s390x' in emulators
>    tcg_tests += {
>      's390x-softmmu': {
>        'cc': cc,
> +      'cc_alt': cc_alt,
>        'cc_dockerfile': cc_dockerfile,
>        'cc_feat_cflags': cc_feat_cflags,
>        'folder': 's390x',
> diff --git a/tests/tcg/x86_64/meson.build b/tests/tcg/x86_64/meson.build
> index cfeef1d969c..968fe27cfc5 100644
> --- a/tests/tcg/x86_64/meson.build
> +++ b/tests/tcg/x86_64/meson.build
> @@ -1,4 +1,5 @@
>  cc = 'x86_64-linux-gnu-gcc'
> +cc_alt = ['x86_64-redhat-linux-gcc']
>  cc_dockerfile = 'debian-amd64-cross'
>  
>  subdir('system')
> @@ -72,6 +73,7 @@ if 'qemu-x86_64' in emulators
>    tcg_tests += {
>      'x86_64-linux-user': {
>        'cc': cc,
> +      'cc_alt': cc_alt,
>        'cc_dockerfile': cc_dockerfile,
>        'folder': 'x86_64',
>        'gdb_arch': 'x86_64',
> diff --git a/tests/tcg/x86_64/system/meson.build b/tests/tcg/x86_64/system/meson.build
> index 43e7d7afa85..08b770d43ae 100644
> --- a/tests/tcg/x86_64/system/meson.build
> +++ b/tests/tcg/x86_64/system/meson.build
> @@ -52,6 +52,7 @@ if 'qemu-system-x86_64' in emulators
>    tcg_tests += {
>      'x86_64-softmmu': {
>        'cc': cc,
> +      'cc_alt': cc_alt,
>        'cc_dockerfile': cc_dockerfile,
>        'folder': 'x86_64/system',
>        'gdb_arch': 'x86_64',
> -- 
> 2.43.0
> 
> 

With regards,
Daniel
-- 
|: https://berrange.com       ~~        https://hachyderm.io/@berrange :|
|: https://libvirt.org          ~~          https://entangle-photo.org :|
|: https://pixelfed.art/berrange   ~~    https://fstop138.berrange.com :|



  reply	other threads:[~2026-09-25  9:41 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-24 21:39 [PATCH 0/4] tests/tcg/meson.build: detect additional cross compilers Pierrick Bouvier
2026-09-24 21:39 ` [PATCH 1/4] tests/tcg/meson.build: report correct cc in summary Pierrick Bouvier
2026-09-25 16:02   ` Daniel P. Berrangé
2026-09-24 21:39 ` [PATCH 2/4] tests/tcg/meson.build: introduce cc_alt (alternative cross compiler) Pierrick Bouvier
2026-09-25  9:38   ` Daniel P. Berrangé
2026-09-25 15:17     ` Pierrick Bouvier
2026-09-25 15:52       ` Daniel P. Berrangé
2026-09-25 16:03   ` Daniel P. Berrangé
2026-09-24 21:39 ` [PATCH 3/4] tests/tcg: add alternative cross-compilers for fedora Pierrick Bouvier
2026-09-25  9:40   ` Daniel P. Berrangé [this message]
2026-09-25 15:20     ` Pierrick Bouvier
2026-09-25 15:54       ` Daniel P. Berrangé
2026-09-25 15:57         ` Pierrick Bouvier
2026-09-25 16:00           ` Daniel P. Berrangé
2026-09-25 16:03   ` Daniel P. Berrangé
2026-09-24 21:39 ` [PATCH 4/4] tests/tcg: add alternative cross-compilers for macos (homebrew) Pierrick Bouvier
2026-09-25 16:04   ` Daniel P. Berrangé
2026-09-25 22:17 ` [PATCH 0/4] tests/tcg/meson.build: detect additional cross compilers Pierrick Bouvier

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=arZBqmDtOX8YoJaA@redhat.com \
    --to=berrange@redhat.com \
    --cc=alex.bennee@linaro.org \
    --cc=pbonzini@redhat.com \
    --cc=philmd@oss.qualcomm.com \
    --cc=pierrick.bouvier@oss.qualcomm.com \
    --cc=qemu-devel@nongnu.org \
    --cc=richard.henderson@linaro.org \
    /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.