summaryrefslogtreecommitdiffstats
path: root/recipes-devtools/qemu
diff options
context:
space:
mode:
authorTudor Florea <tudor.florea@enea.com>2015-10-08 22:22:28 +0200
committerTudor Florea <tudor.florea@enea.com>2015-10-08 22:22:28 +0200
commit31ce2d1a14de6d8439829dc8a046aeaeef734461 (patch)
treecaf52884a4410ef7d579f4eb63cf0a7a6001c413 /recipes-devtools/qemu
downloadmeta-vt-31ce2d1a14de6d8439829dc8a046aeaeef734461.tar.gz
initial commit for Enea Linux 5.0 arm
Signed-off-by: Tudor Florea <tudor.florea@enea.com>
Diffstat (limited to 'recipes-devtools/qemu')
-rw-r--r--recipes-devtools/qemu/qemu/fix-libcap-header-issue-on-some-distro.patch84
-rw-r--r--recipes-devtools/qemu/qemu_2.3.0.bb38
2 files changed, 122 insertions, 0 deletions
diff --git a/recipes-devtools/qemu/qemu/fix-libcap-header-issue-on-some-distro.patch b/recipes-devtools/qemu/qemu/fix-libcap-header-issue-on-some-distro.patch
new file mode 100644
index 0000000..13a6ea2
--- /dev/null
+++ b/recipes-devtools/qemu/qemu/fix-libcap-header-issue-on-some-distro.patch
@@ -0,0 +1,84 @@
1fix libcap header issue on some distro
2
31, When build qemu-native on SLED 11.2, there is an error:
4...
5| In file included from /usr/include/bits/sigcontext.h:28,
6| from /usr/include/signal.h:339,
7| from /buildarea2/tmp/work/i686-linux/qemu-native/1.4.0-r0/
8qemu-1.4.0/include/qemu-common.h:42,
9| from fsdev/virtfs-proxy-helper.c:23:
10| /usr/include/asm/sigcontext.h:28: error: expected specifier-
11qualifier-list before '__u64'
12| /usr/include/asm/sigcontext.h:191: error: expected specifier-
13qualifier-list before '__u64'
14...
15
162, The virtfs-proxy-helper.c includes <sys/capability.h> and
17qemu-common.h in sequence. The header include map is:
18(`-->' presents `include')
19...
20"virtfs-proxy-helper.c" --> <sys/capability.h>
21...
22"virtfs-proxy-helper.c" --> "qemu-common.h" --> <signal.h> -->
23<bits/sigcontext.h> --> <asm/sigcontext.h> --> <linux/types.h> -->
24<asm/types.h> --> <asm-generic/types.h> --> <asm-generic/int-ll64.h>
25...
26
273, The bug is found on SLED 11.2 x86. In libcap header file
28/usr/include/sys/capability.h, it does evil stuff like this:
29...
30 25 /*
31 26 * Make sure we can be included from userland by preventing
32 27 * capability.h from including other kernel headers
33 28 */
34 29 #define _LINUX_TYPES_H
35 30 #define _LINUX_FS_H
36 31 #define __LINUX_COMPILER_H
37 32 #define __user
38 33
39 34 typedef unsigned int __u32;
40 35 typedef __u32 __le32;
41...
42This completely prevents including /usr/include/linux/types.h.
43The above `<asm/sigcontext.h> --> <linux/types.h>' is prevented,
44and '__u64' is defined in <asm-generic/int-ll64.h>.
45
464, Modify virtfs-proxy-helper.c to include <sys/capability.h>
47last to workaround the issue.
48
49http://www.linuxtv.org/pipermail/vdr/2009-August/021194.html
50http://patchwork.linuxtv.org/patch/12748/
51
52Upstream-Status: Pending
53Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
54---
55 fsdev/virtfs-proxy-helper.c | 7 +++++--
56 1 file changed, 5 insertions(+), 2 deletions(-)
57
58diff --git a/fsdev/virtfs-proxy-helper.c b/fsdev/virtfs-proxy-helper.c
59--- a/fsdev/virtfs-proxy-helper.c
60+++ b/fsdev/virtfs-proxy-helper.c
61@@ -12,7 +12,6 @@
62 #include <sys/resource.h>
63 #include <getopt.h>
64 #include <syslog.h>
65-#include <sys/capability.h>
66 #include <sys/fsuid.h>
67 #include <sys/vfs.h>
68 #include <sys/ioctl.h>
69@@ -26,7 +25,11 @@
70 #include "virtio-9p-marshal.h"
71 #include "hw/9pfs/virtio-9p-proxy.h"
72 #include "fsdev/virtio-9p-marshal.h"
73-
74+/*
75+ * Include this one last due to some versions of it being buggy:
76+ * http://www.linuxtv.org/pipermail/vdr/2009-August/021194.html
77+ */
78+#include <sys/capability.h>
79 #define PROGNAME "virtfs-proxy-helper"
80
81 #ifndef XFS_SUPER_MAGIC
82--
831.7.10.4
84
diff --git a/recipes-devtools/qemu/qemu_2.3.0.bb b/recipes-devtools/qemu/qemu_2.3.0.bb
new file mode 100644
index 0000000..8ef3719
--- /dev/null
+++ b/recipes-devtools/qemu/qemu_2.3.0.bb
@@ -0,0 +1,38 @@
1require recipes-devtools/qemu/qemu.inc
2
3PROVIDES = "qemu"
4
5# This is v2.3.0
6#SRCREV = "e5b3a24181ea0cebf1c5b20f44d016311b7048f0"
7
8LIC_FILES_CHKSUM = "file://COPYING;md5=441c28d2cf86e15a37fa47e15a72fbac \
9 file://COPYING.LIB;endline=24;md5=c04def7ae38850e7d3ef548588159913"
10
11# Discard all files included in qemu.inc, we're not interested in them here
12# This is why it is an "=" and not _prepend or "+=" as in other recipes:
13SRC_URI = "git://git.qemu.org/qemu.git;tag=v2.3.0"
14S = "${WORKDIR}/git"
15
16DEFAULT_PREFERENCE = "-1"
17
18COMPATIBLE_HOST_class-target_mips64 = "null"
19
20# build arm emulators only
21QEMU_TARGETS = "arm aarch64"
22
23# Override --disable-glx, which now is --disable-opengl
24PACKAGECONFIG[glx] = "--enable-opengl,--disable-opengl,mesa"
25PACKAGECONFIG[opengl] = "--enable-opengl,--disable-opengl,mesa"
26
27FILES_${PN} += " \
28 /run \
29 /usr/share/qemu \
30 "
31
32# Our own do_install function so it doesn't try to install powerpc_rom.bin:
33do_install () {
34 export STRIP="true"
35 autotools_do_install
36 install -d ${D}${datadir}/qemu
37}
38