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 | |
| 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>
| -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 | |||
