package/qemu: host-qemu does not support AVX512 CPUs

Building gobject-introspection for an x86 CPU variant with AVX512 fails
when g-ir-scanner runs the freshly built target binaries under
qemu-user:

  qemu: uncaught target signal 4 (Illegal instruction) - core dumped

The Qemu TCG engine implements AVX, AVX2, F16C, FMA3 and VAES since Qemu
7.2, but it does not implement the AVX512 instruction set at all [0].
Therefore no -cpu value passed through
BR2_PACKAGE_HOST_QEMU_USER_MODE_ARGS can make such binaries run, and
user-mode emulation is simply not possible for these CPU variants.

Mark those CPUs as unsupported by host-qemu, the same way it is already
done for x86_steamroller and x86_core_avx2. This relies on the existing
BR2_X86_CPU_HAS_AVX512 symbol, so all AVX512 capable variants are
covered, and it disables gobject-introspection and nodejs, which are the
two packages needing host-qemu in user mode.

[0] https://gitlab.com/qemu-project/qemu/-/issues/2878

Fixes:

  https://autobuild.buildroot.org/results/7ed7f9c36dae1ddb965a0f0021db6cd319927b47/

Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
Assisted-by: Claude:claude-opus-5
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit c2bd6148c6)
Signed-off-by: Raphaël Mélotte <raphael.melotte@mind.be>
This commit is contained in:
Yegor Yefremov
2026-09-14 11:26:12 +02:00
committed by Raphaël Mélotte
parent af569d7cf3
commit ee3f34791d

View File

@@ -21,6 +21,10 @@ config BR2_PACKAGE_HOST_QEMU_ARCH_SUPPORTS
default y if BR2_xtensa
default y if BR2_x86_64
depends on !BR2_x86_steamroller && !BR2_x86_core_avx2
# The Qemu TCG engine does not implement the AVX512
# instruction set, so binaries built for such CPUs cannot be
# emulated.
depends on !BR2_X86_CPU_HAS_AVX512
depends on !BR2_powerpc_620 && !BR2_powerpc_630
config BR2_PACKAGE_HOST_QEMU_SYSTEM_ARCH_SUPPORTS