qemu: Fix build on musl/riscv64

musl does not provide strerrorname_np() so do not use it.

(From OE-Core rev: d7678118af5aa4bfbf6fb72b34f90a1e37b917c3)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Khem Raj 2024-09-18 16:19:37 -07:00 committed by Richard Purdie
parent 3d64ad906b
commit 52ed55e48f
2 changed files with 28 additions and 0 deletions

View File

@ -21,6 +21,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=441c28d2cf86e15a37fa47e15a72fbac \
SRC_URI = "https://download.qemu.org/${BPN}-${PV}.tar.xz \
file://powerpc_rom.bin \
file://run-ptest \
file://fix-strerrorname_np.patch \
file://0001-qemu-Add-addition-environment-space-to-boot-loader-q.patch \
file://0002-apic-fixup-fallthrough-to-PIC.patch \
file://0003-configure-Add-pkg-config-handling-for-libgcrypt.patch \

View File

@ -0,0 +1,27 @@
target/riscv/kvm: do not use non-portable strerrorname_np()
strerrorname_np is non-portable and breaks building with musl libc.
Use strerror(errno) instead, like we do other places.
Upstream-Status: Submitted [https://mail.gnu.org/archive/html/qemu-stable/2023-12/msg00069.html]
Cc: qemu-stable@nongnu.org
Fixes: commit 082e9e4a58ba (target/riscv/kvm: improve 'init_multiext_cfg' error
msg)
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2041
Buglink: https://gitlab.alpinelinux.org/alpine/aports/-/issues/15541
Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
--- a/target/riscv/kvm/kvm-cpu.c
+++ b/target/riscv/kvm/kvm-cpu.c
@@ -1731,8 +1731,7 @@ static bool kvm_cpu_realize(CPUState *cs
if (riscv_has_ext(&cpu->env, RVV)) {
ret = prctl(PR_RISCV_V_SET_CONTROL, PR_RISCV_V_VSTATE_CTRL_ON);
if (ret) {
- error_setg(errp, "Error in prctl PR_RISCV_V_SET_CONTROL, code: %s",
- strerrorname_np(errno));
+ error_setg(errp, "Error in prctl PR_RISCV_V_SET_CONTROL, error %d", errno);
return false;
}
}