From: Chen Qi <[email protected]> The qemu upstream commit, fcac98d0 (linux-user: Remove ELF_HWCAP2), accidently introduced a regression. It used get_elf_hwcap where get_elf_hwcap2 should be used.
With recent qemu upgrade in Yocto (10.1.3 -> 10.2.0), qemuppc64 build is basically broken. There are a lot of do_configure failures with error message like below: Fatal glibc error: CPU lacks ISA 3.00 support (POWER9 or later required) Backport a patch to fix this issue. Note that although the problem was only revealed for qemuppc64, some arm and arm64 machines will also likely get the same issue, as in qemu source we have: linux-user/aarch64/target_elf.h:#define HAVE_ELF_HWCAP2 1 linux-user/arm/target_elf.h:#define HAVE_ELF_HWCAP2 1 linux-user/ppc/target_elf.h:#define HAVE_ELF_HWCAP2 1 Signed-off-by: Chen Qi <[email protected]> --- meta/recipes-devtools/qemu/qemu.inc | 1 + ...load.c-Correction-to-HWCAP2-accessor.patch | 42 +++++++++++++++++++ 2 files changed, 43 insertions(+) create mode 100644 meta/recipes-devtools/qemu/qemu/0001-linux-user-elfload.c-Correction-to-HWCAP2-accessor.patch diff --git a/meta/recipes-devtools/qemu/qemu.inc b/meta/recipes-devtools/qemu/qemu.inc index d320b13ba7..7aa593bc5d 100644 --- a/meta/recipes-devtools/qemu/qemu.inc +++ b/meta/recipes-devtools/qemu/qemu.inc @@ -32,6 +32,7 @@ SRC_URI = "https://download.qemu.org/${BPN}-${PV}.tar.xz \ file://0008-Define-MAP_SYNC-and-MAP_SHARED_VALIDATE-on-needed-li.patch \ file://0010-configure-lookup-meson-exutable-from-PATH.patch \ file://0011-qemu-Ensure-pip-and-the-python-venv-aren-t-used-for-.patch \ + file://0001-linux-user-elfload.c-Correction-to-HWCAP2-accessor.patch \ file://qemu-guest-agent.init \ file://qemu-guest-agent.udev \ " diff --git a/meta/recipes-devtools/qemu/qemu/0001-linux-user-elfload.c-Correction-to-HWCAP2-accessor.patch b/meta/recipes-devtools/qemu/qemu/0001-linux-user-elfload.c-Correction-to-HWCAP2-accessor.patch new file mode 100644 index 0000000000..47d6f41385 --- /dev/null +++ b/meta/recipes-devtools/qemu/qemu/0001-linux-user-elfload.c-Correction-to-HWCAP2-accessor.patch @@ -0,0 +1,42 @@ +From c333f9c4ee212297f3b9a8a6ef62396a63c48e61 Mon Sep 17 00:00:00 2001 +From: Jim MacArthur <[email protected]> +Date: Tue, 6 Jan 2026 15:40:48 +0000 +Subject: [PATCH] linux-user/elfload.c: Correction to HWCAP2 accessor +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +get_elf_hwcap was used when get_elf_hwcap2 should have been. + +Cc: [email protected] +Fixes: fcac98d0ba8b ("linux-user: Remove ELF_HWCAP2") +Resolves: https://gitlab.com/qemu-project/qemu/-/issues/3259 +Signed-off-by: Jim MacArthur <[email protected]> +Reviewed-by: Richard Henderson <[email protected]> +Reviewed-by: Philippe Mathieu-Daudé <[email protected]> +Signed-off-by: Richard Henderson <[email protected]> +Message-ID: <[email protected]> + +Upstream-Status: Backport [https://gitlab.com/qemu-project/qemu/-/commit/c333f9c4ee212297f3b9a8a6ef62396a63c48e61] + +Signed-off-by: Chen Qi <[email protected]> +--- + linux-user/elfload.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/linux-user/elfload.c b/linux-user/elfload.c +index 0002d5be2f..35471c0c9a 100644 +--- a/linux-user/elfload.c ++++ b/linux-user/elfload.c +@@ -708,7 +708,7 @@ static abi_ulong create_elf_tables(abi_ulong p, int argc, int envc, + NEW_AUX_ENT(AT_EXECFN, info->file_string); + + if (HAVE_ELF_HWCAP2) { +- NEW_AUX_ENT(AT_HWCAP2, get_elf_hwcap(thread_cpu)); ++ NEW_AUX_ENT(AT_HWCAP2, get_elf_hwcap2(thread_cpu)); + } + if (u_base_platform) { + NEW_AUX_ENT(AT_BASE_PLATFORM, u_base_platform); +-- +2.34.1 + -- 2.34.1
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#230346): https://lists.openembedded.org/g/openembedded-core/message/230346 Mute This Topic: https://lists.openembedded.org/mt/117592576/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
