linux-user/elfload.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
From: Chen Qi <Qi.Chen@windriver.com>
In commit fcac98d0b (linux-user: Remove ELF_HWCAP2), the following
macro is removed:
However, in place of the original ELF_HWCAP2, get_elf_hwcap instead
of the original get_elf_hwcap2 was used.
This caused serious regression for at least ppc64 user mode. The
error message is like below:
Fatal glibc error: CPU lacks ISA 3.00 support (POWER9 or later required)
This patch restores to use get_elf_hwcap2.
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
---
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
Hi,
On 2/2/26 06:45, Qi.Chen@windriver.com wrote:
> From: Chen Qi <Qi.Chen@windriver.com>
>
> In commit fcac98d0b (linux-user: Remove ELF_HWCAP2), the following
> macro is removed:
>
> However, in place of the original ELF_HWCAP2, get_elf_hwcap instead
> of the original get_elf_hwcap2 was used.
>
> This caused serious regression for at least ppc64 user mode. The
> error message is like below:
>
> Fatal glibc error: CPU lacks ISA 3.00 support (POWER9 or later required)
>
> This patch restores to use get_elf_hwcap2.
>
> Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
> ---
> 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));
> }
This is the correct fix. It was committed recently:
https://gitlab.com/qemu-project/qemu/-/commit/c333f9c4ee212297f3b9a8a6ef62396a63c48e61
We forgot to Cc qemu-stable. Michael, could you include this
commit for v10.2.x stable series?
Thanks,
Phil.
On 2/2/26 18:53, Philippe Mathieu-Daudé wrote:
> Hi,
>
> On 2/2/26 06:45, Qi.Chen@windriver.com wrote:
>> From: Chen Qi <Qi.Chen@windriver.com>
>>
>> In commit fcac98d0b (linux-user: Remove ELF_HWCAP2), the following
>> macro is removed:
>>
>> However, in place of the original ELF_HWCAP2, get_elf_hwcap instead
>> of the original get_elf_hwcap2 was used.
>>
>> This caused serious regression for at least ppc64 user mode. The
>> error message is like below:
>>
>> Fatal glibc error: CPU lacks ISA 3.00 support (POWER9 or later
>> required)
>>
>> This patch restores to use get_elf_hwcap2.
>>
>> Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
>> ---
>> 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));
>> }
>
> This is the correct fix. It was committed recently:
> https://gitlab.com/qemu-project/qemu/-/commit/
> c333f9c4ee212297f3b9a8a6ef62396a63c48e61
>
> We forgot to Cc qemu-stable. Michael, could you include this
> commit for v10.2.x stable series?
Yeah, it's been applied to 10.2.x for quite some time, - I picked
it up on Jan-13.
Now I wonder - why did I pick it up? :)
But it's there, at least.
Thanks,
/mjt
© 2016 - 2026 Red Hat, Inc.