[PATCH] linux-user: Check for ieee128 fpbits in PPC64 HWCAP2 feature list

Khem Raj posted 1 patch 2 years, 10 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20210614191729.2981488-1-raj.khem@gmail.com
Test checkpatch passed
Maintainers: Laurent Vivier <laurent@vivier.eu>
linux-user/elfload.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] linux-user: Check for ieee128 fpbits in PPC64 HWCAP2 feature list
Posted by Khem Raj 2 years, 10 months ago
glibc 2.34 is now checking for this in hwcaps at
runtime [1] and failing to run the binary if machine
does not support 128bit IEEE fp

Fixes
Fatal glibc error: CPU lacks float128 support (POWER 9 or later required)

[1] https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=d337345ce145e23c5f3a956f349d924fdf54ce2d;hp=eb24865637a271ab7dad13190330105eab0d478d

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Florian Weimer <fweimer@redhat.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 17ab06f612..e7dd18fd40 100644
--- a/linux-user/elfload.c
+++ b/linux-user/elfload.c
@@ -830,7 +830,7 @@ static uint32_t get_elf_hwcap2(void)
                   PPC2_ISA207S), QEMU_PPC_FEATURE2_ARCH_2_07 |
                   QEMU_PPC_FEATURE2_VEC_CRYPTO);
     GET_FEATURE2(PPC2_ISA300, QEMU_PPC_FEATURE2_ARCH_3_00 |
-                 QEMU_PPC_FEATURE2_DARN);
+                 QEMU_PPC_FEATURE2_DARN | QEMU_PPC_FEATURE2_HAS_IEEE128);
 
 #undef GET_FEATURE
 #undef GET_FEATURE2
-- 
2.32.0


Re: [PATCH] linux-user: Check for ieee128 fpbits in PPC64 HWCAP2 feature list
Posted by Laurent Vivier 2 years, 10 months ago
Le 14/06/2021 à 21:17, Khem Raj a écrit :
> glibc 2.34 is now checking for this in hwcaps at
> runtime [1] and failing to run the binary if machine
> does not support 128bit IEEE fp
> 
> Fixes
> Fatal glibc error: CPU lacks float128 support (POWER 9 or later required)
> 
> [1] https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=d337345ce145e23c5f3a956f349d924fdf54ce2d;hp=eb24865637a271ab7dad13190330105eab0d478d
> 
> Signed-off-by: Khem Raj <raj.khem@gmail.com>
> Cc: Florian Weimer <fweimer@redhat.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 17ab06f612..e7dd18fd40 100644
> --- a/linux-user/elfload.c
> +++ b/linux-user/elfload.c
> @@ -830,7 +830,7 @@ static uint32_t get_elf_hwcap2(void)
>                    PPC2_ISA207S), QEMU_PPC_FEATURE2_ARCH_2_07 |
>                    QEMU_PPC_FEATURE2_VEC_CRYPTO);
>      GET_FEATURE2(PPC2_ISA300, QEMU_PPC_FEATURE2_ARCH_3_00 |
> -                 QEMU_PPC_FEATURE2_DARN);
> +                 QEMU_PPC_FEATURE2_DARN | QEMU_PPC_FEATURE2_HAS_IEEE128);
>  
>  #undef GET_FEATURE
>  #undef GET_FEATURE2
> 

Reviewed-by: Laurent Vivier <laurent@vivier.eu>

Re: [PATCH] linux-user: Check for ieee128 fpbits in PPC64 HWCAP2 feature list
Posted by Laurent Vivier 2 years, 10 months ago
Le 14/06/2021 à 21:17, Khem Raj a écrit :
> glibc 2.34 is now checking for this in hwcaps at
> runtime [1] and failing to run the binary if machine
> does not support 128bit IEEE fp
> 
> Fixes
> Fatal glibc error: CPU lacks float128 support (POWER 9 or later required)
> 
> [1] https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=d337345ce145e23c5f3a956f349d924fdf54ce2d;hp=eb24865637a271ab7dad13190330105eab0d478d
> 
> Signed-off-by: Khem Raj <raj.khem@gmail.com>
> Cc: Florian Weimer <fweimer@redhat.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 17ab06f612..e7dd18fd40 100644
> --- a/linux-user/elfload.c
> +++ b/linux-user/elfload.c
> @@ -830,7 +830,7 @@ static uint32_t get_elf_hwcap2(void)
>                    PPC2_ISA207S), QEMU_PPC_FEATURE2_ARCH_2_07 |
>                    QEMU_PPC_FEATURE2_VEC_CRYPTO);
>      GET_FEATURE2(PPC2_ISA300, QEMU_PPC_FEATURE2_ARCH_3_00 |
> -                 QEMU_PPC_FEATURE2_DARN);
> +                 QEMU_PPC_FEATURE2_DARN | QEMU_PPC_FEATURE2_HAS_IEEE128);
>  
>  #undef GET_FEATURE
>  #undef GET_FEATURE2
> 

Applied to my linux-user-for-6.1 branch.

Thanks,
Laurent