diff options
author | Khem Raj <raj.khem@gmail.com> | 2021-06-14 12:19:18 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2021-06-17 00:07:05 +0100 |
commit | e84de43c6abaafd7dfc5cfbeee816d403d1099d6 (patch) | |
tree | 6cfc4c816c264ee16e6b71948a4ad5f610090f9a /meta/recipes-devtools/qemu | |
parent | 39dbe03bd35953ea9eabf316d5855528b0c6c8e1 (diff) | |
download | poky-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.inc | 1 | ||||
-rw-r--r-- | meta/recipes-devtools/qemu/qemu/0001-linux-user-Tag-vsx-with-ieee128-fpbits.patch | 35 |
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 | " |
40 | UPSTREAM_CHECK_REGEX = "qemu-(?P<pver>\d+(\.\d+)+)\.tar" | 41 | UPSTREAM_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 @@ | |||
1 | From c5844a4cdee37268c9b65a65e6968ee129bb742d Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Mon, 14 Jun 2021 10:27:17 -0700 | ||
4 | Subject: [PATCH] linux-user: Tag vsx with ieee128 fpbits | ||
5 | |||
6 | In OE we need this for ppc64le usermode to work since we generate 128bit | ||
7 | long doubles and glibc 2.34 is now checking for this in hwcaps at | ||
8 | runtime and failing to run the binary if machine does not support 128bit | ||
9 | IEEE fp | ||
10 | |||
11 | Fixes | ||
12 | Fatal glibc error: CPU lacks float128 support (POWER 9 or later required) | ||
13 | |||
14 | Upstream-Status: Pending | ||
15 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
16 | --- | ||
17 | linux-user/elfload.c | 2 +- | ||
18 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
19 | |||
20 | diff --git a/linux-user/elfload.c b/linux-user/elfload.c | ||
21 | index 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 | -- | ||
34 | 2.32.0 | ||
35 | |||