summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/qemu
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2023-12-13 12:40:54 -0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2023-12-21 10:38:29 +0000
commit53af03827e0c01e5d7c1ef350cded9ab94e9141e (patch)
tree832056e7d5fffaedeb4acde3e22322fe4c54d25a /meta/recipes-devtools/qemu
parent5800c6a60fde019c4c5f5ae0e36cdeb0dc556940 (diff)
downloadpoky-53af03827e0c01e5d7c1ef350cded9ab94e9141e.tar.gz
qemu: Fix build with latest musl
musl dropped basename() from string.h, adjust for that (From OE-Core rev: 58f7eb2b5a2ae037294b631bf083729e78910c24) 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>
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-vfio-Include-libgen.h-for-basename-API.patch57
2 files changed, 58 insertions, 0 deletions
diff --git a/meta/recipes-devtools/qemu/qemu.inc b/meta/recipes-devtools/qemu/qemu.inc
index 5ab2cb83b4..cc508d961d 100644
--- a/meta/recipes-devtools/qemu/qemu.inc
+++ b/meta/recipes-devtools/qemu/qemu.inc
@@ -31,6 +31,7 @@ SRC_URI = "https://download.qemu.org/${BPN}-${PV}.tar.xz \
31 file://0002-linux-user-Replace-use-of-lfs64-related-functions-an.patch \ 31 file://0002-linux-user-Replace-use-of-lfs64-related-functions-an.patch \
32 file://fixedmeson.patch \ 32 file://fixedmeson.patch \
33 file://fixmips.patch \ 33 file://fixmips.patch \
34 file://0001-vfio-Include-libgen.h-for-basename-API.patch \
34 file://qemu-guest-agent.init \ 35 file://qemu-guest-agent.init \
35 file://qemu-guest-agent.udev \ 36 file://qemu-guest-agent.udev \
36 " 37 "
diff --git a/meta/recipes-devtools/qemu/qemu/0001-vfio-Include-libgen.h-for-basename-API.patch b/meta/recipes-devtools/qemu/qemu/0001-vfio-Include-libgen.h-for-basename-API.patch
new file mode 100644
index 0000000000..5b8b638736
--- /dev/null
+++ b/meta/recipes-devtools/qemu/qemu/0001-vfio-Include-libgen.h-for-basename-API.patch
@@ -0,0 +1,57 @@
1From e31c67ef65a4217f35f6cd40926251054094dff9 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Mon, 11 Dec 2023 16:44:16 -0800
4Subject: [PATCH v2] vfio: Include libgen.h for basename API
5
6Glibc has two implementation one based on POSIX which is used when
7libgen.h is included and second implementation is GNU implementation
8which is used when string.h is included. The functions are no identical
9in behavior. Musl C library does not implement the GNU version, but it
10has provided a declaration in string.h but this has been corrected in
11latest musl [1] which exposes places where it was being used from
12string.h to error out especially when -Wimplicit-function-declaration is
13treated as error.
14
15| ../qemu-8.1.2/hw/vfio/pci.c:3030:18: error: call to undeclared function 'basename'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
16| 3030 | group_name = basename(group_path);
17
18clang-17 treats this warning as error by default
19
20[1] https://git.musl-libc.org/cgit/musl/commit/?id=725e17ed6dff4d0cd22487bb64470881e86a92e7
21
22Upstream-Status: Submitted [https://lists.nongnu.org/archive/html/qemu-devel/2023-12/msg01438.html]
23Signed-off-by: Khem Raj <raj.khem@gmail.com>
24---
25v2: Add missing link for [1]
26
27 hw/vfio/pci.c | 1 +
28 hw/vfio/platform.c | 1 +
29 2 files changed, 2 insertions(+)
30
31diff --git a/hw/vfio/pci.c b/hw/vfio/pci.c
32index c62c02f7b6..f043c93b9e 100644
33--- a/hw/vfio/pci.c
34+++ b/hw/vfio/pci.c
35@@ -19,6 +19,7 @@
36 */
37
38 #include "qemu/osdep.h"
39+#include <libgen.h>
40 #include <linux/vfio.h>
41 #include <sys/ioctl.h>
42
43diff --git a/hw/vfio/platform.c b/hw/vfio/platform.c
44index 8e3d4ac458..a835ab03be 100644
45--- a/hw/vfio/platform.c
46+++ b/hw/vfio/platform.c
47@@ -16,6 +16,7 @@
48
49 #include "qemu/osdep.h"
50 #include "qapi/error.h"
51+#include <libgen.h>
52 #include <sys/ioctl.h>
53 #include <linux/vfio.h>
54
55--
562.43.0
57