All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Yann E. MORIN" <yann.morin.1998@free.fr>
To: Peter Seiderer <ps.report@gmx.net>
Cc: Romain Naour <romain.naour@gmail.com>, buildroot@buildroot.org
Subject: Re: [Buildroot] [PATCH v1 3/3] package/qemu: add patches to fix host libc-2.37 compile
Date: Sat, 13 May 2023 10:14:50 +0200	[thread overview]
Message-ID: <20230513081450.GC2582048@scaer> (raw)
In-Reply-To: <20230422090625.25006-3-ps.report@gmx.net>

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

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

  parent reply	other threads:[~2023-05-13  8:15 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-04-22  9:06 [Buildroot] [PATCH v1 1/3] package/qemu: change project and download URL to https Peter Seiderer
2023-04-22  9:06 ` [Buildroot] [PATCH v1 2/3] package/qemu: bump version to 7.2.1 Peter Seiderer
2023-04-22 10:21   ` Romain Naour
2023-05-13  8:12   ` Yann E. MORIN
2023-06-13  7:01   ` Peter Korsgaard
2023-04-22  9:06 ` [Buildroot] [PATCH v1 3/3] package/qemu: add patches to fix host libc-2.37 compile Peter Seiderer
2023-04-22 12:35   ` Romain Naour
2023-05-10 12:23     ` Romain Naour
2023-05-13  8:14   ` Yann E. MORIN [this message]
2023-06-13  7:04   ` Peter Korsgaard
2023-04-22 10:18 ` [Buildroot] [PATCH v1 1/3] package/qemu: change project and download URL to https Romain Naour
2023-05-13  8:03 ` Yann E. MORIN
2023-06-13  6:38 ` Peter Korsgaard

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230513081450.GC2582048@scaer \
    --to=yann.morin.1998@free.fr \
    --cc=buildroot@buildroot.org \
    --cc=ps.report@gmx.net \
    --cc=romain.naour@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.