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 :|
next prev parent 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.