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 <[email protected]>
> ---
>  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 via email to