diff options
3 files changed, 149 insertions, 0 deletions
diff --git a/meta/recipes-devtools/qemu/qemu.inc b/meta/recipes-devtools/qemu/qemu.inc index 92828e8f2d..1e768b560d 100644 --- a/meta/recipes-devtools/qemu/qemu.inc +++ b/meta/recipes-devtools/qemu/qemu.inc | |||
@@ -30,6 +30,8 @@ SRC_URI = "https://download.qemu.org/${BPN}-${PV}.tar.xz \ | |||
30 | file://0001-contrib-vhost-user-blk-Replace-lseek64-with-lseek.patch \ | 30 | file://0001-contrib-vhost-user-blk-Replace-lseek64-with-lseek.patch \ |
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://0001-configure-Fix-check-tcg-not-executing-any-tests.patch \ | 32 | file://0001-configure-Fix-check-tcg-not-executing-any-tests.patch \ |
33 | file://0001-Revert-linux-user-add-more-compat-ioctl-definitions.patch \ | ||
34 | file://0002-Revert-linux-user-fix-compat-with-glibc-2.36-sys-mou.patch \ | ||
33 | " | 35 | " |
34 | UPSTREAM_CHECK_REGEX = "qemu-(?P<pver>\d+(\.\d+)+)\.tar" | 36 | UPSTREAM_CHECK_REGEX = "qemu-(?P<pver>\d+(\.\d+)+)\.tar" |
35 | 37 | ||
diff --git a/meta/recipes-devtools/qemu/qemu/0001-Revert-linux-user-add-more-compat-ioctl-definitions.patch b/meta/recipes-devtools/qemu/qemu/0001-Revert-linux-user-add-more-compat-ioctl-definitions.patch new file mode 100644 index 0000000000..cd8121fed1 --- /dev/null +++ b/meta/recipes-devtools/qemu/qemu/0001-Revert-linux-user-add-more-compat-ioctl-definitions.patch | |||
@@ -0,0 +1,69 @@ | |||
1 | From afa96c55f2c270405de8984e2466067bbb44c0e4 Mon Sep 17 00:00:00 2001 | ||
2 | From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com> | ||
3 | Date: Tue, 10 Jan 2023 12:49:00 -0500 | ||
4 | Subject: [PATCH] Revert "linux-user: add more compat ioctl definitions" | ||
5 | MIME-Version: 1.0 | ||
6 | Content-Type: text/plain; charset=UTF-8 | ||
7 | Content-Transfer-Encoding: 8bit | ||
8 | |||
9 | This reverts commit c5495f4ecb0cdaaf2e9dddeb48f1689cdb520ca0. | ||
10 | |||
11 | glibc has fixed (in 2.36.9000-40-g774058d729) the problem | ||
12 | that caused a clash when both sys/mount.h annd linux/mount.h | ||
13 | are included, and backported this to the 2.36 stable release | ||
14 | too: | ||
15 | |||
16 | https://sourceware.org/glibc/wiki/Release/2.36#Usage_of_.3Clinux.2Fmount.h.3E_and_.3Csys.2Fmount.h.3E | ||
17 | |||
18 | It is saner for QEMU to remove the workaround it applied for | ||
19 | glibc 2.36 and expect distros to ship the 2.36 maint release | ||
20 | with the fix. This avoids needing to add a further workaround | ||
21 | to QEMU to deal with the fact that linux/brtfs.h now also pulls | ||
22 | in linux/mount.h via linux/fs.h since Linux 6.1 | ||
23 | |||
24 | Upstream-Status: Backport from v8.0 (master) | ||
25 | |||
26 | Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> | ||
27 | Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com> | ||
28 | Link: https://lore.kernel.org/r/20230110174901.2580297-2-berrange@redhat.com | ||
29 | Signed-off-by: Joel Stanley <joel@jms.id.au> | ||
30 | --- | ||
31 | linux-user/syscall.c | 25 ------------------------- | ||
32 | 1 file changed, 25 deletions(-) | ||
33 | |||
34 | diff --git a/linux-user/syscall.c b/linux-user/syscall.c | ||
35 | index f95a6161e..510de8edc 100644 | ||
36 | --- a/linux-user/syscall.c | ||
37 | +++ b/linux-user/syscall.c | ||
38 | @@ -111,31 +111,6 @@ | ||
39 | #define FS_IOC32_SETFLAGS _IOW('f', 2, int) | ||
40 | #define FS_IOC32_GETVERSION _IOR('v', 1, int) | ||
41 | #define FS_IOC32_SETVERSION _IOW('v', 2, int) | ||
42 | - | ||
43 | -#define BLKGETSIZE64 _IOR(0x12,114,size_t) | ||
44 | -#define BLKDISCARD _IO(0x12,119) | ||
45 | -#define BLKIOMIN _IO(0x12,120) | ||
46 | -#define BLKIOOPT _IO(0x12,121) | ||
47 | -#define BLKALIGNOFF _IO(0x12,122) | ||
48 | -#define BLKPBSZGET _IO(0x12,123) | ||
49 | -#define BLKDISCARDZEROES _IO(0x12,124) | ||
50 | -#define BLKSECDISCARD _IO(0x12,125) | ||
51 | -#define BLKROTATIONAL _IO(0x12,126) | ||
52 | -#define BLKZEROOUT _IO(0x12,127) | ||
53 | - | ||
54 | -#define FIBMAP _IO(0x00,1) | ||
55 | -#define FIGETBSZ _IO(0x00,2) | ||
56 | - | ||
57 | -struct file_clone_range { | ||
58 | - __s64 src_fd; | ||
59 | - __u64 src_offset; | ||
60 | - __u64 src_length; | ||
61 | - __u64 dest_offset; | ||
62 | -}; | ||
63 | - | ||
64 | -#define FICLONE _IOW(0x94, 9, int) | ||
65 | -#define FICLONERANGE _IOW(0x94, 13, struct file_clone_range) | ||
66 | - | ||
67 | #else | ||
68 | #include <linux/fs.h> | ||
69 | #endif | ||
diff --git a/meta/recipes-devtools/qemu/qemu/0002-Revert-linux-user-fix-compat-with-glibc-2.36-sys-mou.patch b/meta/recipes-devtools/qemu/qemu/0002-Revert-linux-user-fix-compat-with-glibc-2.36-sys-mou.patch new file mode 100644 index 0000000000..d754f21ad4 --- /dev/null +++ b/meta/recipes-devtools/qemu/qemu/0002-Revert-linux-user-fix-compat-with-glibc-2.36-sys-mou.patch | |||
@@ -0,0 +1,78 @@ | |||
1 | From e95c0a42940ca1cf763ca3374b36a9be030039d7 Mon Sep 17 00:00:00 2001 | ||
2 | From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com> | ||
3 | Date: Tue, 10 Jan 2023 12:49:01 -0500 | ||
4 | Subject: [PATCH] Revert "linux-user: fix compat with glibc >= 2.36 | ||
5 | sys/mount.h" | ||
6 | MIME-Version: 1.0 | ||
7 | Content-Type: text/plain; charset=UTF-8 | ||
8 | Content-Transfer-Encoding: 8bit | ||
9 | |||
10 | This reverts commit 3cd3df2a9584e6f753bb62a0028bd67124ab5532. | ||
11 | |||
12 | glibc has fixed (in 2.36.9000-40-g774058d729) the problem | ||
13 | that caused a clash when both sys/mount.h annd linux/mount.h | ||
14 | are included, and backported this to the 2.36 stable release | ||
15 | too: | ||
16 | |||
17 | https://sourceware.org/glibc/wiki/Release/2.36#Usage_of_.3Clinux.2Fmount.h.3E_and_.3Csys.2Fmount.h.3E | ||
18 | |||
19 | It is saner for QEMU to remove the workaround it applied for | ||
20 | glibc 2.36 and expect distros to ship the 2.36 maint release | ||
21 | with the fix. This avoids needing to add a further workaround | ||
22 | to QEMU to deal with the fact that linux/brtfs.h now also pulls | ||
23 | in linux/mount.h via linux/fs.h since Linux 6.1 | ||
24 | |||
25 | Upstream-Status: Backport from v8.0 (master) | ||
26 | |||
27 | Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> | ||
28 | Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com> | ||
29 | Link: https://lore.kernel.org/r/20230110174901.2580297-3-berrange@redhat.com | ||
30 | Signed-off-by: Joel Stanley <joel@jms.id.au> | ||
31 | --- | ||
32 | linux-user/syscall.c | 18 ------------------ | ||
33 | meson.build | 2 -- | ||
34 | 2 files changed, 20 deletions(-) | ||
35 | |||
36 | diff --git a/linux-user/syscall.c b/linux-user/syscall.c | ||
37 | index 510de8edc..13a67b84b 100644 | ||
38 | --- a/linux-user/syscall.c | ||
39 | +++ b/linux-user/syscall.c | ||
40 | @@ -95,25 +95,7 @@ | ||
41 | #include <linux/soundcard.h> | ||
42 | #include <linux/kd.h> | ||
43 | #include <linux/mtio.h> | ||
44 | - | ||
45 | -#ifdef HAVE_SYS_MOUNT_FSCONFIG | ||
46 | -/* | ||
47 | - * glibc >= 2.36 linux/mount.h conflicts with sys/mount.h, | ||
48 | - * which in turn prevents use of linux/fs.h. So we have to | ||
49 | - * define the constants ourselves for now. | ||
50 | - */ | ||
51 | -#define FS_IOC_GETFLAGS _IOR('f', 1, long) | ||
52 | -#define FS_IOC_SETFLAGS _IOW('f', 2, long) | ||
53 | -#define FS_IOC_GETVERSION _IOR('v', 1, long) | ||
54 | -#define FS_IOC_SETVERSION _IOW('v', 2, long) | ||
55 | -#define FS_IOC_FIEMAP _IOWR('f', 11, struct fiemap) | ||
56 | -#define FS_IOC32_GETFLAGS _IOR('f', 1, int) | ||
57 | -#define FS_IOC32_SETFLAGS _IOW('f', 2, int) | ||
58 | -#define FS_IOC32_GETVERSION _IOR('v', 1, int) | ||
59 | -#define FS_IOC32_SETVERSION _IOW('v', 2, int) | ||
60 | -#else | ||
61 | #include <linux/fs.h> | ||
62 | -#endif | ||
63 | #include <linux/fd.h> | ||
64 | #if defined(CONFIG_FIEMAP) | ||
65 | #include <linux/fiemap.h> | ||
66 | diff --git a/meson.build b/meson.build | ||
67 | index e44432370..f37ba4114 100644 | ||
68 | --- a/meson.build | ||
69 | +++ b/meson.build | ||
70 | @@ -2032,8 +2032,6 @@ config_host_data.set('HAVE_OPTRESET', | ||
71 | cc.has_header_symbol('getopt.h', 'optreset')) | ||
72 | config_host_data.set('HAVE_IPPROTO_MPTCP', | ||
73 | cc.has_header_symbol('netinet/in.h', 'IPPROTO_MPTCP')) | ||
74 | -config_host_data.set('HAVE_SYS_MOUNT_FSCONFIG', | ||
75 | - cc.has_header_symbol('sys/mount.h', 'FSCONFIG_SET_FLAG')) | ||
76 | |||
77 | # has_member | ||
78 | config_host_data.set('HAVE_SIGEV_NOTIFY_THREAD_ID', | ||