Signed-off-by: Khem Raj <[email protected]>
---
 meta/recipes-devtools/qemu/qemu.inc           |  1 +
 ...nux-user-Replace-__u64-with-uint64_t.patch | 31 +++++++++++++++++++
 meta/recipes-devtools/qemu/qemu_6.1.0.bb      |  2 ++
 3 files changed, 34 insertions(+)
 create mode 100644 
meta/recipes-devtools/qemu/qemu/0001-linux-user-Replace-__u64-with-uint64_t.patch

diff --git a/meta/recipes-devtools/qemu/qemu.inc 
b/meta/recipes-devtools/qemu/qemu.inc
index 33052a9d492..8cc4600cad5 100644
--- a/meta/recipes-devtools/qemu/qemu.inc
+++ b/meta/recipes-devtools/qemu/qemu.inc
@@ -26,6 +26,7 @@ SRC_URI = "https://download.qemu.org/${BPN}-${PV}.tar.xz \
            file://mmap2.patch \
            file://determinism.patch \
            
file://0001-tests-meson.build-use-relative-path-to-refer-to-file.patch \
+           file://0001-linux-user-Replace-__u64-with-uint64_t.patch \
            "
 UPSTREAM_CHECK_REGEX = "qemu-(?P<pver>\d+(\.\d+)+)\.tar"
 
diff --git 
a/meta/recipes-devtools/qemu/qemu/0001-linux-user-Replace-__u64-with-uint64_t.patch
 
b/meta/recipes-devtools/qemu/qemu/0001-linux-user-Replace-__u64-with-uint64_t.patch
new file mode 100644
index 00000000000..3d5c890b0fb
--- /dev/null
+++ 
b/meta/recipes-devtools/qemu/qemu/0001-linux-user-Replace-__u64-with-uint64_t.patch
@@ -0,0 +1,31 @@
+From 5cc7b63299602d0aa8b57c684bbd9829856d54ad Mon Sep 17 00:00:00 2001
+From: Khem Raj <[email protected]>
+Date: Mon, 8 Nov 2021 11:39:26 -0800
+Subject: [PATCH] linux-user: Replace __u64 with uint64_t
+
+uint64_t is available in all userspaces via compiler include stdint.h
+therefore use it instead of __u64 which is linux internal type, it fixes
+build on some platforms eg. aarch64 systems using musl C library
+
+Upstream-Status: Submitted 
[https://lists.gnu.org/archive/html/qemu-devel/2021-11/msg01955.html]
+Signed-off-by: Khem Raj <[email protected]>
+---
+ linux-user/host/aarch64/hostdep.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/linux-user/host/aarch64/hostdep.h 
b/linux-user/host/aarch64/hostdep.h
+index a8d41a21ad..34d934f665 100644
+--- a/linux-user/host/aarch64/hostdep.h
++++ b/linux-user/host/aarch64/hostdep.h
+@@ -25,7 +25,7 @@ extern char safe_syscall_end[];
+ static inline void rewind_if_in_safe_syscall(void *puc)
+ {
+     ucontext_t *uc = puc;
+-    __u64 *pcreg = &uc->uc_mcontext.pc;
++    uint64_t *pcreg = &uc->uc_mcontext.pc;
+ 
+     if (*pcreg > (uintptr_t)safe_syscall_start
+         && *pcreg < (uintptr_t)safe_syscall_end) {
+-- 
+2.33.1
+
diff --git a/meta/recipes-devtools/qemu/qemu_6.1.0.bb 
b/meta/recipes-devtools/qemu/qemu_6.1.0.bb
index 017a054d5d6..c9a53e3b05b 100644
--- a/meta/recipes-devtools/qemu/qemu_6.1.0.bb
+++ b/meta/recipes-devtools/qemu/qemu_6.1.0.bb
@@ -4,6 +4,8 @@ require qemu.inc
 
 DEPENDS = "glib-2.0 zlib pixman bison-native ninja-native meson-native"
 
+DEPENDS:append:libc-musl = " libucontext"
+
 RDEPENDS:${PN}:class-target += "bash"
 
 EXTRA_OECONF:append:class-target = " --target-list=${@get_qemu_target_list(d)}"
-- 
2.33.1

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#157988): 
https://lists.openembedded.org/g/openembedded-core/message/157988
Mute This Topic: https://lists.openembedded.org/mt/86916242/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to