Message ID | 20230422090625.25006-3-ps.report@gmx.net |
---|---|
State | Accepted |
Headers | show |
Series | [v1,1/3] package/qemu: change project and download URL to https | expand |
Hello Peter, Le 22/04/2023 à 11:06, Peter Seiderer a écrit : > - add two upstream patches to fix host libc-2.37 compile > (see [1], [2] for details) > > Fixes: > > In file included from /usr/include/linux/btrfs.h:29, > from ../linux-user/syscall.c:163: > /usr/include/linux/fs.h:50:8: error: redefinition of ‘struct file_clone_range’ > 50 | struct file_clone_range { > | ^~~~~~~~~~~~~~~~ > ../linux-user/syscall.c:129:8: note: originally defined here > 129 | struct file_clone_range { > | ^~~~~~~~~~~~~~~~ > > [1] https://lists.openembedded.org/g/openembedded-core/message/177322 > [2] https://lore.kernel.org/qemu-devel/20230110174901.2580297-1-berrange@redhat.com/ I think we want to backport this patch to 2023.02 branch. So I rebased the version bump 8.0.0 on top of your series: http://lists.busybox.net/pipermail/buildroot/2023-April/666603.html Reviewed-by: Romain Naour <romain.naour@smile.fr> Best regards, Romain > > Signed-off-by: Peter Seiderer <ps.report@gmx.net> > --- > ...er-add-more-compat-ioctl-definitions.patch | 73 +++++++++++++++++ > ...r-fix-compat-with-glibc-2.36-sys-mou.patch | 82 +++++++++++++++++++ > 2 files changed, 155 insertions(+) > create mode 100644 package/qemu/0003-Revert-linux-user-add-more-compat-ioctl-definitions.patch > create mode 100644 package/qemu/0004-Revert-linux-user-fix-compat-with-glibc-2.36-sys-mou.patch > > diff --git a/package/qemu/0003-Revert-linux-user-add-more-compat-ioctl-definitions.patch b/package/qemu/0003-Revert-linux-user-add-more-compat-ioctl-definitions.patch > new file mode 100644 > index 0000000000..9040daea92 > --- /dev/null > +++ b/package/qemu/0003-Revert-linux-user-add-more-compat-ioctl-definitions.patch > @@ -0,0 +1,73 @@ > +From ba43bb7b641a602081554d7d2a497888209fec2d Mon Sep 17 00:00:00 2001 > +From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com> > +Date: Tue, 10 Jan 2023 12:49:00 -0500 > +Subject: [PATCH 3/4] Revert "linux-user: add more compat ioctl definitions" > +MIME-Version: 1.0 > +Content-Type: text/plain; charset=UTF-8 > +Content-Transfer-Encoding: 8bit > + > +This reverts commit c5495f4ecb0cdaaf2e9dddeb48f1689cdb520ca0. > + > +glibc has fixed (in 2.36.9000-40-g774058d729) the problem > +that caused a clash when both sys/mount.h annd linux/mount.h > +are included, and backported this to the 2.36 stable release > +too: > + > + https://sourceware.org/glibc/wiki/Release/2.36#Usage_of_.3Clinux.2Fmount.h.3E_and_.3Csys.2Fmount.h.3E > + > +It is saner for QEMU to remove the workaround it applied for > +glibc 2.36 and expect distros to ship the 2.36 maint release > +with the fix. This avoids needing to add a further workaround > +to QEMU to deal with the fact that linux/brtfs.h now also pulls > +in linux/mount.h via linux/fs.h since Linux 6.1 > + > +Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> > +Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com> > +Message-Id: <20230110174901.2580297-2-berrange@redhat.com> > +Signed-off-by: Laurent Vivier <laurent@vivier.eu> > + > +[Upstream: https://gitlab.com/qemu-project/qemu/-/commit/9f0246539ae84a5e21efd1cc4516fc343f08115a] > +Signed-off-by: Peter Seiderer <ps.report@gmx.net> > +--- > + linux-user/syscall.c | 25 ------------------------- > + 1 file changed, 25 deletions(-) > + > +diff --git a/linux-user/syscall.c b/linux-user/syscall.c > +index 24b25759be..10af5e0d8e 100644 > +--- a/linux-user/syscall.c > ++++ b/linux-user/syscall.c > +@@ -111,31 +111,6 @@ > + #define FS_IOC32_SETFLAGS _IOW('f', 2, int) > + #define FS_IOC32_GETVERSION _IOR('v', 1, int) > + #define FS_IOC32_SETVERSION _IOW('v', 2, int) > +- > +-#define BLKGETSIZE64 _IOR(0x12,114,size_t) > +-#define BLKDISCARD _IO(0x12,119) > +-#define BLKIOMIN _IO(0x12,120) > +-#define BLKIOOPT _IO(0x12,121) > +-#define BLKALIGNOFF _IO(0x12,122) > +-#define BLKPBSZGET _IO(0x12,123) > +-#define BLKDISCARDZEROES _IO(0x12,124) > +-#define BLKSECDISCARD _IO(0x12,125) > +-#define BLKROTATIONAL _IO(0x12,126) > +-#define BLKZEROOUT _IO(0x12,127) > +- > +-#define FIBMAP _IO(0x00,1) > +-#define FIGETBSZ _IO(0x00,2) > +- > +-struct file_clone_range { > +- __s64 src_fd; > +- __u64 src_offset; > +- __u64 src_length; > +- __u64 dest_offset; > +-}; > +- > +-#define FICLONE _IOW(0x94, 9, int) > +-#define FICLONERANGE _IOW(0x94, 13, struct file_clone_range) > +- > + #else > + #include <linux/fs.h> > + #endif > +-- > +2.40.0 > + > diff --git a/package/qemu/0004-Revert-linux-user-fix-compat-with-glibc-2.36-sys-mou.patch b/package/qemu/0004-Revert-linux-user-fix-compat-with-glibc-2.36-sys-mou.patch > new file mode 100644 > index 0000000000..5dbef6d6a4 > --- /dev/null > +++ b/package/qemu/0004-Revert-linux-user-fix-compat-with-glibc-2.36-sys-mou.patch > @@ -0,0 +1,82 @@ > +From ec8b232faefcdd7482c4998e64b78d49d0204502 Mon Sep 17 00:00:00 2001 > +From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com> > +Date: Tue, 10 Jan 2023 12:49:01 -0500 > +Subject: [PATCH 4/4] Revert "linux-user: fix compat with glibc >= 2.36 > + sys/mount.h" > +MIME-Version: 1.0 > +Content-Type: text/plain; charset=UTF-8 > +Content-Transfer-Encoding: 8bit > + > +This reverts commit 3cd3df2a9584e6f753bb62a0028bd67124ab5532. > + > +glibc has fixed (in 2.36.9000-40-g774058d729) the problem > +that caused a clash when both sys/mount.h annd linux/mount.h > +are included, and backported this to the 2.36 stable release > +too: > + > + https://sourceware.org/glibc/wiki/Release/2.36#Usage_of_.3Clinux.2Fmount.h.3E_and_.3Csys.2Fmount.h.3E > + > +It is saner for QEMU to remove the workaround it applied for > +glibc 2.36 and expect distros to ship the 2.36 maint release > +with the fix. This avoids needing to add a further workaround > +to QEMU to deal with the fact that linux/brtfs.h now also pulls > +in linux/mount.h via linux/fs.h since Linux 6.1 > + > +Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> > +Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com> > +Message-Id: <20230110174901.2580297-3-berrange@redhat.com> > +Signed-off-by: Laurent Vivier <laurent@vivier.eu> > + > +[Upstream: https://gitlab.com/qemu-project/qemu/-/commit/6003159ce18faad4e1bc7bf9c85669019cd4950e] > +Signed-off-by: Peter Seiderer <ps.report@gmx.net> > +--- > + linux-user/syscall.c | 18 ------------------ > + meson.build | 2 -- > + 2 files changed, 20 deletions(-) > + > +diff --git a/linux-user/syscall.c b/linux-user/syscall.c > +index 10af5e0d8e..d974c76b60 100644 > +--- a/linux-user/syscall.c > ++++ b/linux-user/syscall.c > +@@ -95,25 +95,7 @@ > + #include <linux/soundcard.h> > + #include <linux/kd.h> > + #include <linux/mtio.h> > +- > +-#ifdef HAVE_SYS_MOUNT_FSCONFIG > +-/* > +- * glibc >= 2.36 linux/mount.h conflicts with sys/mount.h, > +- * which in turn prevents use of linux/fs.h. So we have to > +- * define the constants ourselves for now. > +- */ > +-#define FS_IOC_GETFLAGS _IOR('f', 1, long) > +-#define FS_IOC_SETFLAGS _IOW('f', 2, long) > +-#define FS_IOC_GETVERSION _IOR('v', 1, long) > +-#define FS_IOC_SETVERSION _IOW('v', 2, long) > +-#define FS_IOC_FIEMAP _IOWR('f', 11, struct fiemap) > +-#define FS_IOC32_GETFLAGS _IOR('f', 1, int) > +-#define FS_IOC32_SETFLAGS _IOW('f', 2, int) > +-#define FS_IOC32_GETVERSION _IOR('v', 1, int) > +-#define FS_IOC32_SETVERSION _IOW('v', 2, int) > +-#else > + #include <linux/fs.h> > +-#endif > + #include <linux/fd.h> > + #if defined(CONFIG_FIEMAP) > + #include <linux/fiemap.h> > +diff --git a/meson.build b/meson.build > +index b88867ca9d..39e83bbafe 100644 > +--- a/meson.build > ++++ b/meson.build > +@@ -2032,8 +2032,6 @@ config_host_data.set('HAVE_OPTRESET', > + cc.has_header_symbol('getopt.h', 'optreset')) > + config_host_data.set('HAVE_IPPROTO_MPTCP', > + cc.has_header_symbol('netinet/in.h', 'IPPROTO_MPTCP')) > +-config_host_data.set('HAVE_SYS_MOUNT_FSCONFIG', > +- cc.has_header_symbol('sys/mount.h', 'FSCONFIG_SET_FLAG')) > + > + # has_member > + config_host_data.set('HAVE_SIGEV_NOTIFY_THREAD_ID', > +-- > +2.40.0 > +
Le 22/04/2023 à 14:35, Romain Naour a écrit : > Hello Peter, > > Le 22/04/2023 à 11:06, Peter Seiderer a écrit : >> - add two upstream patches to fix host libc-2.37 compile >> (see [1], [2] for details) >> >> Fixes: >> >> In file included from /usr/include/linux/btrfs.h:29, >> from ../linux-user/syscall.c:163: >> /usr/include/linux/fs.h:50:8: error: redefinition of ‘struct file_clone_range’ >> 50 | struct file_clone_range { >> | ^~~~~~~~~~~~~~~~ >> ../linux-user/syscall.c:129:8: note: originally defined here >> 129 | struct file_clone_range { >> | ^~~~~~~~~~~~~~~~ >> >> [1] https://lists.openembedded.org/g/openembedded-core/message/177322 >> [2] https://lore.kernel.org/qemu-devel/20230110174901.2580297-1-berrange@redhat.com/ > > I think we want to backport this patch to 2023.02 branch. > > So I rebased the version bump 8.0.0 on top of your series: > http://lists.busybox.net/pipermail/buildroot/2023-April/666603.html > > Reviewed-by: Romain Naour <romain.naour@smile.fr> ping The issue appear on autobuilder every day: http://autobuild.buildroot.org/?reason=host-qemu-7.2.0 http://autobuild.buildroot.org/results/c7d/c7de597befbfad0dfc3e35c1585e62ed7dfdf4b1/build-end.log Best regards, Romain > > Best regards, > Romain > > >> >> Signed-off-by: Peter Seiderer <ps.report@gmx.net> >> --- >> ...er-add-more-compat-ioctl-definitions.patch | 73 +++++++++++++++++ >> ...r-fix-compat-with-glibc-2.36-sys-mou.patch | 82 +++++++++++++++++++ >> 2 files changed, 155 insertions(+) >> create mode 100644 package/qemu/0003-Revert-linux-user-add-more-compat-ioctl-definitions.patch >> create mode 100644 package/qemu/0004-Revert-linux-user-fix-compat-with-glibc-2.36-sys-mou.patch >> >> diff --git a/package/qemu/0003-Revert-linux-user-add-more-compat-ioctl-definitions.patch b/package/qemu/0003-Revert-linux-user-add-more-compat-ioctl-definitions.patch >> new file mode 100644 >> index 0000000000..9040daea92 >> --- /dev/null >> +++ b/package/qemu/0003-Revert-linux-user-add-more-compat-ioctl-definitions.patch >> @@ -0,0 +1,73 @@ >> +From ba43bb7b641a602081554d7d2a497888209fec2d Mon Sep 17 00:00:00 2001 >> +From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com> >> +Date: Tue, 10 Jan 2023 12:49:00 -0500 >> +Subject: [PATCH 3/4] Revert "linux-user: add more compat ioctl definitions" >> +MIME-Version: 1.0 >> +Content-Type: text/plain; charset=UTF-8 >> +Content-Transfer-Encoding: 8bit >> + >> +This reverts commit c5495f4ecb0cdaaf2e9dddeb48f1689cdb520ca0. >> + >> +glibc has fixed (in 2.36.9000-40-g774058d729) the problem >> +that caused a clash when both sys/mount.h annd linux/mount.h >> +are included, and backported this to the 2.36 stable release >> +too: >> + >> + https://sourceware.org/glibc/wiki/Release/2.36#Usage_of_.3Clinux.2Fmount.h.3E_and_.3Csys.2Fmount.h.3E >> + >> +It is saner for QEMU to remove the workaround it applied for >> +glibc 2.36 and expect distros to ship the 2.36 maint release >> +with the fix. This avoids needing to add a further workaround >> +to QEMU to deal with the fact that linux/brtfs.h now also pulls >> +in linux/mount.h via linux/fs.h since Linux 6.1 >> + >> +Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> >> +Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com> >> +Message-Id: <20230110174901.2580297-2-berrange@redhat.com> >> +Signed-off-by: Laurent Vivier <laurent@vivier.eu> >> + >> +[Upstream: https://gitlab.com/qemu-project/qemu/-/commit/9f0246539ae84a5e21efd1cc4516fc343f08115a] >> +Signed-off-by: Peter Seiderer <ps.report@gmx.net> >> +--- >> + linux-user/syscall.c | 25 ------------------------- >> + 1 file changed, 25 deletions(-) >> + >> +diff --git a/linux-user/syscall.c b/linux-user/syscall.c >> +index 24b25759be..10af5e0d8e 100644 >> +--- a/linux-user/syscall.c >> ++++ b/linux-user/syscall.c >> +@@ -111,31 +111,6 @@ >> + #define FS_IOC32_SETFLAGS _IOW('f', 2, int) >> + #define FS_IOC32_GETVERSION _IOR('v', 1, int) >> + #define FS_IOC32_SETVERSION _IOW('v', 2, int) >> +- >> +-#define BLKGETSIZE64 _IOR(0x12,114,size_t) >> +-#define BLKDISCARD _IO(0x12,119) >> +-#define BLKIOMIN _IO(0x12,120) >> +-#define BLKIOOPT _IO(0x12,121) >> +-#define BLKALIGNOFF _IO(0x12,122) >> +-#define BLKPBSZGET _IO(0x12,123) >> +-#define BLKDISCARDZEROES _IO(0x12,124) >> +-#define BLKSECDISCARD _IO(0x12,125) >> +-#define BLKROTATIONAL _IO(0x12,126) >> +-#define BLKZEROOUT _IO(0x12,127) >> +- >> +-#define FIBMAP _IO(0x00,1) >> +-#define FIGETBSZ _IO(0x00,2) >> +- >> +-struct file_clone_range { >> +- __s64 src_fd; >> +- __u64 src_offset; >> +- __u64 src_length; >> +- __u64 dest_offset; >> +-}; >> +- >> +-#define FICLONE _IOW(0x94, 9, int) >> +-#define FICLONERANGE _IOW(0x94, 13, struct file_clone_range) >> +- >> + #else >> + #include <linux/fs.h> >> + #endif >> +-- >> +2.40.0 >> + >> diff --git a/package/qemu/0004-Revert-linux-user-fix-compat-with-glibc-2.36-sys-mou.patch b/package/qemu/0004-Revert-linux-user-fix-compat-with-glibc-2.36-sys-mou.patch >> new file mode 100644 >> index 0000000000..5dbef6d6a4 >> --- /dev/null >> +++ b/package/qemu/0004-Revert-linux-user-fix-compat-with-glibc-2.36-sys-mou.patch >> @@ -0,0 +1,82 @@ >> +From ec8b232faefcdd7482c4998e64b78d49d0204502 Mon Sep 17 00:00:00 2001 >> +From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com> >> +Date: Tue, 10 Jan 2023 12:49:01 -0500 >> +Subject: [PATCH 4/4] Revert "linux-user: fix compat with glibc >= 2.36 >> + sys/mount.h" >> +MIME-Version: 1.0 >> +Content-Type: text/plain; charset=UTF-8 >> +Content-Transfer-Encoding: 8bit >> + >> +This reverts commit 3cd3df2a9584e6f753bb62a0028bd67124ab5532. >> + >> +glibc has fixed (in 2.36.9000-40-g774058d729) the problem >> +that caused a clash when both sys/mount.h annd linux/mount.h >> +are included, and backported this to the 2.36 stable release >> +too: >> + >> + https://sourceware.org/glibc/wiki/Release/2.36#Usage_of_.3Clinux.2Fmount.h.3E_and_.3Csys.2Fmount.h.3E >> + >> +It is saner for QEMU to remove the workaround it applied for >> +glibc 2.36 and expect distros to ship the 2.36 maint release >> +with the fix. This avoids needing to add a further workaround >> +to QEMU to deal with the fact that linux/brtfs.h now also pulls >> +in linux/mount.h via linux/fs.h since Linux 6.1 >> + >> +Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> >> +Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com> >> +Message-Id: <20230110174901.2580297-3-berrange@redhat.com> >> +Signed-off-by: Laurent Vivier <laurent@vivier.eu> >> + >> +[Upstream: https://gitlab.com/qemu-project/qemu/-/commit/6003159ce18faad4e1bc7bf9c85669019cd4950e] >> +Signed-off-by: Peter Seiderer <ps.report@gmx.net> >> +--- >> + linux-user/syscall.c | 18 ------------------ >> + meson.build | 2 -- >> + 2 files changed, 20 deletions(-) >> + >> +diff --git a/linux-user/syscall.c b/linux-user/syscall.c >> +index 10af5e0d8e..d974c76b60 100644 >> +--- a/linux-user/syscall.c >> ++++ b/linux-user/syscall.c >> +@@ -95,25 +95,7 @@ >> + #include <linux/soundcard.h> >> + #include <linux/kd.h> >> + #include <linux/mtio.h> >> +- >> +-#ifdef HAVE_SYS_MOUNT_FSCONFIG >> +-/* >> +- * glibc >= 2.36 linux/mount.h conflicts with sys/mount.h, >> +- * which in turn prevents use of linux/fs.h. So we have to >> +- * define the constants ourselves for now. >> +- */ >> +-#define FS_IOC_GETFLAGS _IOR('f', 1, long) >> +-#define FS_IOC_SETFLAGS _IOW('f', 2, long) >> +-#define FS_IOC_GETVERSION _IOR('v', 1, long) >> +-#define FS_IOC_SETVERSION _IOW('v', 2, long) >> +-#define FS_IOC_FIEMAP _IOWR('f', 11, struct fiemap) >> +-#define FS_IOC32_GETFLAGS _IOR('f', 1, int) >> +-#define FS_IOC32_SETFLAGS _IOW('f', 2, int) >> +-#define FS_IOC32_GETVERSION _IOR('v', 1, int) >> +-#define FS_IOC32_SETVERSION _IOW('v', 2, int) >> +-#else >> + #include <linux/fs.h> >> +-#endif >> + #include <linux/fd.h> >> + #if defined(CONFIG_FIEMAP) >> + #include <linux/fiemap.h> >> +diff --git a/meson.build b/meson.build >> +index b88867ca9d..39e83bbafe 100644 >> +--- a/meson.build >> ++++ b/meson.build >> +@@ -2032,8 +2032,6 @@ config_host_data.set('HAVE_OPTRESET', >> + cc.has_header_symbol('getopt.h', 'optreset')) >> + config_host_data.set('HAVE_IPPROTO_MPTCP', >> + cc.has_header_symbol('netinet/in.h', 'IPPROTO_MPTCP')) >> +-config_host_data.set('HAVE_SYS_MOUNT_FSCONFIG', >> +- cc.has_header_symbol('sys/mount.h', 'FSCONFIG_SET_FLAG')) >> + >> + # has_member >> + config_host_data.set('HAVE_SIGEV_NOTIFY_THREAD_ID', >> +-- >> +2.40.0 >> + >
Peter, All, On 2023-04-22 11:06 +0200, Peter Seiderer spake thusly: > - add two upstream patches to fix host libc-2.37 compile > (see [1], [2] for details) > > Fixes: > > In file included from /usr/include/linux/btrfs.h:29, > from ../linux-user/syscall.c:163: > /usr/include/linux/fs.h:50:8: error: redefinition of ‘struct file_clone_range’ > 50 | struct file_clone_range { > | ^~~~~~~~~~~~~~~~ > ../linux-user/syscall.c:129:8: note: originally defined here > 129 | struct file_clone_range { > | ^~~~~~~~~~~~~~~~ > > [1] https://lists.openembedded.org/g/openembedded-core/message/177322 > [2] https://lore.kernel.org/qemu-devel/20230110174901.2580297-1-berrange@redhat.com/ > > Signed-off-by: Peter Seiderer <ps.report@gmx.net> > --- > ...er-add-more-compat-ioctl-definitions.patch | 73 +++++++++++++++++ > ...r-fix-compat-with-glibc-2.36-sys-mou.patch | 82 +++++++++++++++++++ > 2 files changed, 155 insertions(+) > create mode 100644 package/qemu/0003-Revert-linux-user-add-more-compat-ioctl-definitions.patch > create mode 100644 package/qemu/0004-Revert-linux-user-fix-compat-with-glibc-2.36-sys-mou.patch > > diff --git a/package/qemu/0003-Revert-linux-user-add-more-compat-ioctl-definitions.patch b/package/qemu/0003-Revert-linux-user-add-more-compat-ioctl-definitions.patch > new file mode 100644 > index 0000000000..9040daea92 > --- /dev/null > +++ b/package/qemu/0003-Revert-linux-user-add-more-compat-ioctl-definitions.patch > @@ -0,0 +1,73 @@ > +From ba43bb7b641a602081554d7d2a497888209fec2d Mon Sep 17 00:00:00 2001 > +From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com> > +Date: Tue, 10 Jan 2023 12:49:00 -0500 > +Subject: [PATCH 3/4] Revert "linux-user: add more compat ioctl definitions" $ ./utils/docker-run make check-package package/qemu/0003-Revert-linux-user-add-more-compat-ioctl-definitions.patch:4: generate your patches with 'git format-patch -N' > +MIME-Version: 1.0 > +Content-Type: text/plain; charset=UTF-8 > +Content-Transfer-Encoding: 8bit > + > +This reverts commit c5495f4ecb0cdaaf2e9dddeb48f1689cdb520ca0. > + > +glibc has fixed (in 2.36.9000-40-g774058d729) the problem > +that caused a clash when both sys/mount.h annd linux/mount.h > +are included, and backported this to the 2.36 stable release > +too: > + > + https://sourceware.org/glibc/wiki/Release/2.36#Usage_of_.3Clinux.2Fmount.h.3E_and_.3Csys.2Fmount.h.3E > + > +It is saner for QEMU to remove the workaround it applied for > +glibc 2.36 and expect distros to ship the 2.36 maint release > +with the fix. This avoids needing to add a further workaround > +to QEMU to deal with the fact that linux/brtfs.h now also pulls > +in linux/mount.h via linux/fs.h since Linux 6.1 > + > +Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> > +Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com> > +Message-Id: <20230110174901.2580297-2-berrange@redhat.com> > +Signed-off-by: Laurent Vivier <laurent@vivier.eu> > + > +[Upstream: https://gitlab.com/qemu-project/qemu/-/commit/9f0246539ae84a5e21efd1cc4516fc343f08115a] $ ./utils/docker-run make check-package package/qemu/0003-Revert-linux-user-add-more-compat-ioctl-definitions.patch:0: missing Upstream in the header (http://nightly.buildroot.org/#_additional_patch_documentation) I fixed that, and the other patch as well. Applied to master, thanks. Regards, Yann E. MORIN. > +Signed-off-by: Peter Seiderer <ps.report@gmx.net> > +--- > + linux-user/syscall.c | 25 ------------------------- > + 1 file changed, 25 deletions(-) > + > +diff --git a/linux-user/syscall.c b/linux-user/syscall.c > +index 24b25759be..10af5e0d8e 100644 > +--- a/linux-user/syscall.c > ++++ b/linux-user/syscall.c > +@@ -111,31 +111,6 @@ > + #define FS_IOC32_SETFLAGS _IOW('f', 2, int) > + #define FS_IOC32_GETVERSION _IOR('v', 1, int) > + #define FS_IOC32_SETVERSION _IOW('v', 2, int) > +- > +-#define BLKGETSIZE64 _IOR(0x12,114,size_t) > +-#define BLKDISCARD _IO(0x12,119) > +-#define BLKIOMIN _IO(0x12,120) > +-#define BLKIOOPT _IO(0x12,121) > +-#define BLKALIGNOFF _IO(0x12,122) > +-#define BLKPBSZGET _IO(0x12,123) > +-#define BLKDISCARDZEROES _IO(0x12,124) > +-#define BLKSECDISCARD _IO(0x12,125) > +-#define BLKROTATIONAL _IO(0x12,126) > +-#define BLKZEROOUT _IO(0x12,127) > +- > +-#define FIBMAP _IO(0x00,1) > +-#define FIGETBSZ _IO(0x00,2) > +- > +-struct file_clone_range { > +- __s64 src_fd; > +- __u64 src_offset; > +- __u64 src_length; > +- __u64 dest_offset; > +-}; > +- > +-#define FICLONE _IOW(0x94, 9, int) > +-#define FICLONERANGE _IOW(0x94, 13, struct file_clone_range) > +- > + #else > + #include <linux/fs.h> > + #endif > +-- > +2.40.0 > + > diff --git a/package/qemu/0004-Revert-linux-user-fix-compat-with-glibc-2.36-sys-mou.patch b/package/qemu/0004-Revert-linux-user-fix-compat-with-glibc-2.36-sys-mou.patch > new file mode 100644 > index 0000000000..5dbef6d6a4 > --- /dev/null > +++ b/package/qemu/0004-Revert-linux-user-fix-compat-with-glibc-2.36-sys-mou.patch > @@ -0,0 +1,82 @@ > +From ec8b232faefcdd7482c4998e64b78d49d0204502 Mon Sep 17 00:00:00 2001 > +From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com> > +Date: Tue, 10 Jan 2023 12:49:01 -0500 > +Subject: [PATCH 4/4] Revert "linux-user: fix compat with glibc >= 2.36 > + sys/mount.h" > +MIME-Version: 1.0 > +Content-Type: text/plain; charset=UTF-8 > +Content-Transfer-Encoding: 8bit > + > +This reverts commit 3cd3df2a9584e6f753bb62a0028bd67124ab5532. > + > +glibc has fixed (in 2.36.9000-40-g774058d729) the problem > +that caused a clash when both sys/mount.h annd linux/mount.h > +are included, and backported this to the 2.36 stable release > +too: > + > + https://sourceware.org/glibc/wiki/Release/2.36#Usage_of_.3Clinux.2Fmount.h.3E_and_.3Csys.2Fmount.h.3E > + > +It is saner for QEMU to remove the workaround it applied for > +glibc 2.36 and expect distros to ship the 2.36 maint release > +with the fix. This avoids needing to add a further workaround > +to QEMU to deal with the fact that linux/brtfs.h now also pulls > +in linux/mount.h via linux/fs.h since Linux 6.1 > + > +Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> > +Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com> > +Message-Id: <20230110174901.2580297-3-berrange@redhat.com> > +Signed-off-by: Laurent Vivier <laurent@vivier.eu> > + > +[Upstream: https://gitlab.com/qemu-project/qemu/-/commit/6003159ce18faad4e1bc7bf9c85669019cd4950e] > +Signed-off-by: Peter Seiderer <ps.report@gmx.net> > +--- > + linux-user/syscall.c | 18 ------------------ > + meson.build | 2 -- > + 2 files changed, 20 deletions(-) > + > +diff --git a/linux-user/syscall.c b/linux-user/syscall.c > +index 10af5e0d8e..d974c76b60 100644 > +--- a/linux-user/syscall.c > ++++ b/linux-user/syscall.c > +@@ -95,25 +95,7 @@ > + #include <linux/soundcard.h> > + #include <linux/kd.h> > + #include <linux/mtio.h> > +- > +-#ifdef HAVE_SYS_MOUNT_FSCONFIG > +-/* > +- * glibc >= 2.36 linux/mount.h conflicts with sys/mount.h, > +- * which in turn prevents use of linux/fs.h. So we have to > +- * define the constants ourselves for now. > +- */ > +-#define FS_IOC_GETFLAGS _IOR('f', 1, long) > +-#define FS_IOC_SETFLAGS _IOW('f', 2, long) > +-#define FS_IOC_GETVERSION _IOR('v', 1, long) > +-#define FS_IOC_SETVERSION _IOW('v', 2, long) > +-#define FS_IOC_FIEMAP _IOWR('f', 11, struct fiemap) > +-#define FS_IOC32_GETFLAGS _IOR('f', 1, int) > +-#define FS_IOC32_SETFLAGS _IOW('f', 2, int) > +-#define FS_IOC32_GETVERSION _IOR('v', 1, int) > +-#define FS_IOC32_SETVERSION _IOW('v', 2, int) > +-#else > + #include <linux/fs.h> > +-#endif > + #include <linux/fd.h> > + #if defined(CONFIG_FIEMAP) > + #include <linux/fiemap.h> > +diff --git a/meson.build b/meson.build > +index b88867ca9d..39e83bbafe 100644 > +--- a/meson.build > ++++ b/meson.build > +@@ -2032,8 +2032,6 @@ config_host_data.set('HAVE_OPTRESET', > + cc.has_header_symbol('getopt.h', 'optreset')) > + config_host_data.set('HAVE_IPPROTO_MPTCP', > + cc.has_header_symbol('netinet/in.h', 'IPPROTO_MPTCP')) > +-config_host_data.set('HAVE_SYS_MOUNT_FSCONFIG', > +- cc.has_header_symbol('sys/mount.h', 'FSCONFIG_SET_FLAG')) > + > + # has_member > + config_host_data.set('HAVE_SIGEV_NOTIFY_THREAD_ID', > +-- > +2.40.0 > + > -- > 2.40.0 > > _______________________________________________ > buildroot mailing list > buildroot@buildroot.org > https://lists.buildroot.org/mailman/listinfo/buildroot
>>>>> "Peter" == Peter Seiderer <ps.report@gmx.net> writes: > - add two upstream patches to fix host libc-2.37 compile > (see [1], [2] for details) > Fixes: > In file included from /usr/include/linux/btrfs.h:29, > from ../linux-user/syscall.c:163: > /usr/include/linux/fs.h:50:8: error: redefinition of ‘struct file_clone_range’ > 50 | struct file_clone_range { > | ^~~~~~~~~~~~~~~~ > ../linux-user/syscall.c:129:8: note: originally defined here > 129 | struct file_clone_range { > | ^~~~~~~~~~~~~~~~ > [1] https://lists.openembedded.org/g/openembedded-core/message/177322 > [2] https://lore.kernel.org/qemu-devel/20230110174901.2580297-1-berrange@redhat.com/ > Signed-off-by: Peter Seiderer <ps.report@gmx.net> Committed to 2023.02.x, thanks.
diff --git a/package/qemu/0003-Revert-linux-user-add-more-compat-ioctl-definitions.patch b/package/qemu/0003-Revert-linux-user-add-more-compat-ioctl-definitions.patch new file mode 100644 index 0000000000..9040daea92 --- /dev/null +++ b/package/qemu/0003-Revert-linux-user-add-more-compat-ioctl-definitions.patch @@ -0,0 +1,73 @@ +From ba43bb7b641a602081554d7d2a497888209fec2d Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com> +Date: Tue, 10 Jan 2023 12:49:00 -0500 +Subject: [PATCH 3/4] Revert "linux-user: add more compat ioctl definitions" +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This reverts commit c5495f4ecb0cdaaf2e9dddeb48f1689cdb520ca0. + +glibc has fixed (in 2.36.9000-40-g774058d729) the problem +that caused a clash when both sys/mount.h annd linux/mount.h +are included, and backported this to the 2.36 stable release +too: + + https://sourceware.org/glibc/wiki/Release/2.36#Usage_of_.3Clinux.2Fmount.h.3E_and_.3Csys.2Fmount.h.3E + +It is saner for QEMU to remove the workaround it applied for +glibc 2.36 and expect distros to ship the 2.36 maint release +with the fix. This avoids needing to add a further workaround +to QEMU to deal with the fact that linux/brtfs.h now also pulls +in linux/mount.h via linux/fs.h since Linux 6.1 + +Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> +Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com> +Message-Id: <20230110174901.2580297-2-berrange@redhat.com> +Signed-off-by: Laurent Vivier <laurent@vivier.eu> + +[Upstream: https://gitlab.com/qemu-project/qemu/-/commit/9f0246539ae84a5e21efd1cc4516fc343f08115a] +Signed-off-by: Peter Seiderer <ps.report@gmx.net> +--- + linux-user/syscall.c | 25 ------------------------- + 1 file changed, 25 deletions(-) + +diff --git a/linux-user/syscall.c b/linux-user/syscall.c +index 24b25759be..10af5e0d8e 100644 +--- a/linux-user/syscall.c ++++ b/linux-user/syscall.c +@@ -111,31 +111,6 @@ + #define FS_IOC32_SETFLAGS _IOW('f', 2, int) + #define FS_IOC32_GETVERSION _IOR('v', 1, int) + #define FS_IOC32_SETVERSION _IOW('v', 2, int) +- +-#define BLKGETSIZE64 _IOR(0x12,114,size_t) +-#define BLKDISCARD _IO(0x12,119) +-#define BLKIOMIN _IO(0x12,120) +-#define BLKIOOPT _IO(0x12,121) +-#define BLKALIGNOFF _IO(0x12,122) +-#define BLKPBSZGET _IO(0x12,123) +-#define BLKDISCARDZEROES _IO(0x12,124) +-#define BLKSECDISCARD _IO(0x12,125) +-#define BLKROTATIONAL _IO(0x12,126) +-#define BLKZEROOUT _IO(0x12,127) +- +-#define FIBMAP _IO(0x00,1) +-#define FIGETBSZ _IO(0x00,2) +- +-struct file_clone_range { +- __s64 src_fd; +- __u64 src_offset; +- __u64 src_length; +- __u64 dest_offset; +-}; +- +-#define FICLONE _IOW(0x94, 9, int) +-#define FICLONERANGE _IOW(0x94, 13, struct file_clone_range) +- + #else + #include <linux/fs.h> + #endif +-- +2.40.0 + diff --git a/package/qemu/0004-Revert-linux-user-fix-compat-with-glibc-2.36-sys-mou.patch b/package/qemu/0004-Revert-linux-user-fix-compat-with-glibc-2.36-sys-mou.patch new file mode 100644 index 0000000000..5dbef6d6a4 --- /dev/null +++ b/package/qemu/0004-Revert-linux-user-fix-compat-with-glibc-2.36-sys-mou.patch @@ -0,0 +1,82 @@ +From ec8b232faefcdd7482c4998e64b78d49d0204502 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com> +Date: Tue, 10 Jan 2023 12:49:01 -0500 +Subject: [PATCH 4/4] Revert "linux-user: fix compat with glibc >= 2.36 + sys/mount.h" +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This reverts commit 3cd3df2a9584e6f753bb62a0028bd67124ab5532. + +glibc has fixed (in 2.36.9000-40-g774058d729) the problem +that caused a clash when both sys/mount.h annd linux/mount.h +are included, and backported this to the 2.36 stable release +too: + + https://sourceware.org/glibc/wiki/Release/2.36#Usage_of_.3Clinux.2Fmount.h.3E_and_.3Csys.2Fmount.h.3E + +It is saner for QEMU to remove the workaround it applied for +glibc 2.36 and expect distros to ship the 2.36 maint release +with the fix. This avoids needing to add a further workaround +to QEMU to deal with the fact that linux/brtfs.h now also pulls +in linux/mount.h via linux/fs.h since Linux 6.1 + +Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> +Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com> +Message-Id: <20230110174901.2580297-3-berrange@redhat.com> +Signed-off-by: Laurent Vivier <laurent@vivier.eu> + +[Upstream: https://gitlab.com/qemu-project/qemu/-/commit/6003159ce18faad4e1bc7bf9c85669019cd4950e] +Signed-off-by: Peter Seiderer <ps.report@gmx.net> +--- + linux-user/syscall.c | 18 ------------------ + meson.build | 2 -- + 2 files changed, 20 deletions(-) + +diff --git a/linux-user/syscall.c b/linux-user/syscall.c +index 10af5e0d8e..d974c76b60 100644 +--- a/linux-user/syscall.c ++++ b/linux-user/syscall.c +@@ -95,25 +95,7 @@ + #include <linux/soundcard.h> + #include <linux/kd.h> + #include <linux/mtio.h> +- +-#ifdef HAVE_SYS_MOUNT_FSCONFIG +-/* +- * glibc >= 2.36 linux/mount.h conflicts with sys/mount.h, +- * which in turn prevents use of linux/fs.h. So we have to +- * define the constants ourselves for now. +- */ +-#define FS_IOC_GETFLAGS _IOR('f', 1, long) +-#define FS_IOC_SETFLAGS _IOW('f', 2, long) +-#define FS_IOC_GETVERSION _IOR('v', 1, long) +-#define FS_IOC_SETVERSION _IOW('v', 2, long) +-#define FS_IOC_FIEMAP _IOWR('f', 11, struct fiemap) +-#define FS_IOC32_GETFLAGS _IOR('f', 1, int) +-#define FS_IOC32_SETFLAGS _IOW('f', 2, int) +-#define FS_IOC32_GETVERSION _IOR('v', 1, int) +-#define FS_IOC32_SETVERSION _IOW('v', 2, int) +-#else + #include <linux/fs.h> +-#endif + #include <linux/fd.h> + #if defined(CONFIG_FIEMAP) + #include <linux/fiemap.h> +diff --git a/meson.build b/meson.build +index b88867ca9d..39e83bbafe 100644 +--- a/meson.build ++++ b/meson.build +@@ -2032,8 +2032,6 @@ config_host_data.set('HAVE_OPTRESET', + cc.has_header_symbol('getopt.h', 'optreset')) + config_host_data.set('HAVE_IPPROTO_MPTCP', + cc.has_header_symbol('netinet/in.h', 'IPPROTO_MPTCP')) +-config_host_data.set('HAVE_SYS_MOUNT_FSCONFIG', +- cc.has_header_symbol('sys/mount.h', 'FSCONFIG_SET_FLAG')) + + # has_member + config_host_data.set('HAVE_SIGEV_NOTIFY_THREAD_ID', +-- +2.40.0 +
- add two upstream patches to fix host libc-2.37 compile (see [1], [2] for details) Fixes: In file included from /usr/include/linux/btrfs.h:29, from ../linux-user/syscall.c:163: /usr/include/linux/fs.h:50:8: error: redefinition of ‘struct file_clone_range’ 50 | struct file_clone_range { | ^~~~~~~~~~~~~~~~ ../linux-user/syscall.c:129:8: note: originally defined here 129 | struct file_clone_range { | ^~~~~~~~~~~~~~~~ [1] https://lists.openembedded.org/g/openembedded-core/message/177322 [2] https://lore.kernel.org/qemu-devel/20230110174901.2580297-1-berrange@redhat.com/ Signed-off-by: Peter Seiderer <ps.report@gmx.net> --- ...er-add-more-compat-ioctl-definitions.patch | 73 +++++++++++++++++ ...r-fix-compat-with-glibc-2.36-sys-mou.patch | 82 +++++++++++++++++++ 2 files changed, 155 insertions(+) create mode 100644 package/qemu/0003-Revert-linux-user-add-more-compat-ioctl-definitions.patch create mode 100644 package/qemu/0004-Revert-linux-user-fix-compat-with-glibc-2.36-sys-mou.patch