diff options
author | Khem Raj <raj.khem@gmail.com> | 2021-11-08 12:41:57 -0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2021-11-10 19:26:14 +0000 |
commit | 35040bba25bf994fa9e03f2b8f0c49822c41192c (patch) | |
tree | d793ef3bf003dbcdd9036016dda2830c84145b24 /meta/recipes-devtools/qemu | |
parent | afad2f09ebbfe395f8fafce8218e26056479fe39 (diff) | |
download | openembedded-core-contrib-35040bba25bf994fa9e03f2b8f0c49822c41192c.tar.gz |
qemu: Fix build on aarch64/musl
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-Replace-__u64-with-uint64_t.patch | 31 | ||||
-rw-r--r-- | meta/recipes-devtools/qemu/qemu_6.1.0.bb | 2 |
3 files changed, 34 insertions, 0 deletions
diff --git a/meta/recipes-devtools/qemu/qemu.inc b/meta/recipes-devtools/qemu/qemu.inc index 33052a9d49..8cc4600cad 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 0000000000..3d5c890b0f --- /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 <raj.khem@gmail.com> +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 <raj.khem@gmail.com> +--- + 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 017a054d5d..c9a53e3b05 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)}" |