summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/qemu
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2021-06-14 12:19:18 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2021-06-17 00:07:05 +0100
commite84de43c6abaafd7dfc5cfbeee816d403d1099d6 (patch)
tree6cfc4c816c264ee16e6b71948a4ad5f610090f9a /meta/recipes-devtools/qemu
parent39dbe03bd35953ea9eabf316d5855528b0c6c8e1 (diff)
downloadpoky-e84de43c6abaafd7dfc5cfbeee816d403d1099d6.tar.gz
qemu: Provide float128 via hwcaps2 on ppc64le
Fixes runtime problems with qemu-user Fatal glibc error: CPU lacks float128 support (POWER 9 or later required) (From OE-Core rev: 2a2ba9ec4ca1aeb4a1d5336bb18ab76253c87bc0) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools/qemu')
-rw-r--r--meta/recipes-devtools/qemu/qemu.inc1
-rw-r--r--meta/recipes-devtools/qemu/qemu/0001-linux-user-Tag-vsx-with-ieee128-fpbits.patch35
2 files changed, 36 insertions, 0 deletions
diff --git a/meta/recipes-devtools/qemu/qemu.inc b/meta/recipes-devtools/qemu/qemu.inc
index aa7cf74dd3..6674936fef 100644
--- a/meta/recipes-devtools/qemu/qemu.inc
+++ b/meta/recipes-devtools/qemu/qemu.inc
@@ -36,6 +36,7 @@ SRC_URI = "https://download.qemu.org/${BPN}-${PV}.tar.xz \
36 file://0005-vhost-user-gpu-fix-memory-leak-in-virgl_cmd_resource.patch \ 36 file://0005-vhost-user-gpu-fix-memory-leak-in-virgl_cmd_resource.patch \
37 file://0006-vhost-user-gpu-fix-memory-leak-in-virgl_resource_att.patch \ 37 file://0006-vhost-user-gpu-fix-memory-leak-in-virgl_resource_att.patch \
38 file://0007-vhost-user-gpu-fix-OOB-write-in-virgl_cmd_get_capset.patch \ 38 file://0007-vhost-user-gpu-fix-OOB-write-in-virgl_cmd_get_capset.patch \
39 file://0001-linux-user-Tag-vsx-with-ieee128-fpbits.patch \
39 " 40 "
40UPSTREAM_CHECK_REGEX = "qemu-(?P<pver>\d+(\.\d+)+)\.tar" 41UPSTREAM_CHECK_REGEX = "qemu-(?P<pver>\d+(\.\d+)+)\.tar"
41 42
diff --git a/meta/recipes-devtools/qemu/qemu/0001-linux-user-Tag-vsx-with-ieee128-fpbits.patch b/meta/recipes-devtools/qemu/qemu/0001-linux-user-Tag-vsx-with-ieee128-fpbits.patch
new file mode 100644
index 0000000000..11b6e3c678
--- /dev/null
+++ b/meta/recipes-devtools/qemu/qemu/0001-linux-user-Tag-vsx-with-ieee128-fpbits.patch
@@ -0,0 +1,35 @@
1From c5844a4cdee37268c9b65a65e6968ee129bb742d Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Mon, 14 Jun 2021 10:27:17 -0700
4Subject: [PATCH] linux-user: Tag vsx with ieee128 fpbits
5
6In OE we need this for ppc64le usermode to work since we generate 128bit
7long doubles and glibc 2.34 is now checking for this in hwcaps at
8runtime and failing to run the binary if machine does not support 128bit
9IEEE fp
10
11Fixes
12Fatal glibc error: CPU lacks float128 support (POWER 9 or later required)
13
14Upstream-Status: Pending
15Signed-off-by: Khem Raj <raj.khem@gmail.com>
16---
17 linux-user/elfload.c | 2 +-
18 1 file changed, 1 insertion(+), 1 deletion(-)
19
20diff --git a/linux-user/elfload.c b/linux-user/elfload.c
21index 17ab06f612..e7dd18fd40 100644
22--- a/linux-user/elfload.c
23+++ b/linux-user/elfload.c
24@@ -830,7 +830,7 @@ static uint32_t get_elf_hwcap2(void)
25 PPC2_ISA207S), QEMU_PPC_FEATURE2_ARCH_2_07 |
26 QEMU_PPC_FEATURE2_VEC_CRYPTO);
27 GET_FEATURE2(PPC2_ISA300, QEMU_PPC_FEATURE2_ARCH_3_00 |
28- QEMU_PPC_FEATURE2_DARN);
29+ QEMU_PPC_FEATURE2_DARN | QEMU_PPC_FEATURE2_HAS_IEEE128);
30
31 #undef GET_FEATURE
32 #undef GET_FEATURE2
33--
342.32.0
35