deleted file mode 100644
@@ -1,187 +0,0 @@
-From b82bd75c80aadcc2890b23f63eec9ba2c560b2e5 Mon Sep 17 00:00:00 2001
-From: "Darrick J. Wong" <djwong@kernel.org>
-Date: Thu, 4 Aug 2022 21:26:43 -0500
-Subject: [PATCH] libxfs: stop overriding MAP_SYNC in publicly exported header
- files
-
-Florian Fainelli most recently reported that xfsprogs doesn't build with
-musl on mips:
-
-"MIPS platforms building with recent kernel headers and the musl-libc
-toolchain will expose the following build failure:
-
-mmap.c: In function 'mmap_f':
-mmap.c:196:12: error: 'MAP_SYNC' undeclared (first use in this function); did you mean 'MS_SYNC'?
- 196 | flags = MAP_SYNC | MAP_SHARED_VALIDATE;
- | ^~~~~~~~
- | MS_SYNC
-mmap.c:196:12: note: each undeclared identifier is reported only once for each function it appears in
-make[4]: *** [../include/buildrules:81: mmap.o] Error 1"
-
-At first glance, the build failure here is caused by the fact that:
-
-1. The configure script doesn't detect MAP_SYNC support
-2. The build system doesn't set HAVE_MAP_SYNC
-2. io/mmap.c includes input.h -> projects.h -> xfs.h and later sys/mman.h
-3. include/linux.h #define's MAP_SYNC to 0 if HAVE_MAP_SYNC is not set
-4. musl's sys/mman.h #undef MAP_SYNC on platforms that don't support it
-5. io/mmap.c tries to use MAP_SYNC, not realizing that libc undefined it
-
-Normally, xfs_io only exports functionality that is defined by the libc
-and/or kernel headers on the build system. We often make exceptions for
-new functionality so that we have a way to test them before the header
-file packages catch up, hence this '#ifndef HAVE_FOO #define FOO'
-paradigm.
-
-MAP_SYNC is a gross and horribly broken example of this. These support
-crutches are supposed to be *private* to xfsprogs for benefit of early
-testing, but they were instead added to include/linux.h, which we
-provide to user programs in the xfslibs-dev package. IOWs, we've been
-
-Worst yet, gcc 11.3 doesn't even warn about overriding a #define to 0:
-
-int main(int argc, char *argv[]) {
- printf("MAP_SYNC 0x%x\n", MAP_SYNC);
-}
-
-$ gcc -o a a.c -Wall
-$ ./a
-MAP_SYNC 0x80000
-$ gcc -DSTUPID -o a a.c -Wall
-$ ./a
-MAP_SYNC 0x0
-
-Four years have gone by since the introduction of MAP_SYNC, so let's get
-rid of the override code entirely -- any platform that supports MAP_SYNC
-has had plenty of chances to ensure their header files have the right
-bits. While we're at it, fix AC_HAVE_MAP_SYNC to look for MAP_SYNC in
-the same header file that the one user (io/mmap.c) uses -- sys/mman.h.
-
-Annoyingly, I had to test this by hand because the sole fstest that
-exercises MAP_SYNC (generic/470) requires dm-logwrites and dm-thinp,
-neither of which support fsdax on current kernels.
-
-Reported-by: info@mobile-stream.com
-Reported-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
-Reported-by: Florian Fainelli <f.fainelli@gmail.com>
-Signed-off-by: Darrick J. Wong <djwong@kernel.org>
-Tested-by: Florian Fainelli <f.fainelli@gmail.com>
-Reviewed-by: Carlos Maiolino <cmaiolino@redhat.com>
-Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
----
- include/linux.h | 8 --------
- io/io.h | 2 +-
- io/mmap.c | 25 +++++++++++++------------
- m4/package_libcdev.m4 | 3 +--
- 4 files changed, 15 insertions(+), 23 deletions(-)
-
-diff --git a/include/linux.h b/include/linux.h
-index de8a71221146..052facc15db5 100644
---- a/include/linux.h
-+++ b/include/linux.h
-@@ -356,14 +356,6 @@ fsmap_advance(
- #define HAVE_GETFSMAP
- #endif /* HAVE_GETFSMAP */
-
--#ifndef HAVE_MAP_SYNC
--#define MAP_SYNC 0
--#define MAP_SHARED_VALIDATE 0
--#else
--#include <asm-generic/mman.h>
--#include <asm-generic/mman-common.h>
--#endif /* HAVE_MAP_SYNC */
--
- /*
- * Reminder: anything added to this file will be compiled into downstream
- * userspace projects!
-diff --git a/io/io.h b/io/io.h
-index 49db902fc44f..64b7a663a8cf 100644
---- a/io/io.h
-+++ b/io/io.h
-@@ -55,7 +55,7 @@ typedef struct mmap_region {
- size_t length; /* length of mapping */
- off64_t offset; /* start offset into backing file */
- int prot; /* protection mode of the mapping */
-- bool map_sync; /* is this a MAP_SYNC mapping? */
-+ int flags; /* MAP_* flags passed to mmap() */
- char *name; /* name of backing file */
- } mmap_region_t;
-
-diff --git a/io/mmap.c b/io/mmap.c
-index 8c048a0ab6d0..425957d4b487 100644
---- a/io/mmap.c
-+++ b/io/mmap.c
-@@ -46,8 +46,11 @@ print_mapping(
- for (i = 0, p = pflags; p->prot != PROT_NONE; i++, p++)
- buffer[i] = (map->prot & p->prot) ? p->mode : '-';
-
-- if (map->map_sync)
-+#ifdef HAVE_MAP_SYNC
-+ if ((map->flags & (MAP_SYNC | MAP_SHARED_VALIDATE)) ==
-+ (MAP_SYNC | MAP_SHARED_VALIDATE))
- sprintf(&buffer[i], " S");
-+#endif
-
- printf("%c%03d%c 0x%lx - 0x%lx %s %14s (%lld : %ld)\n",
- braces? '[' : ' ', index, braces? ']' : ' ',
-@@ -139,7 +142,9 @@ mmap_help(void)
- " -r -- map with PROT_READ protection\n"
- " -w -- map with PROT_WRITE protection\n"
- " -x -- map with PROT_EXEC protection\n"
-+#ifdef HAVE_MAP_SYNC
- " -S -- map with MAP_SYNC and MAP_SHARED_VALIDATE flags\n"
-+#endif
- " -s <size> -- first do mmap(size)/munmap(size), try to reserve some free space\n"
- " If no protection mode is specified, all are used by default.\n"
- "\n"));
-@@ -193,18 +198,14 @@ mmap_f(
- prot |= PROT_EXEC;
- break;
- case 'S':
-+#ifdef HAVE_MAP_SYNC
- flags = MAP_SYNC | MAP_SHARED_VALIDATE;
--
-- /*
-- * If MAP_SYNC and MAP_SHARED_VALIDATE aren't defined
-- * in the system headers we will have defined them
-- * both as 0.
-- */
-- if (!flags) {
-- printf("MAP_SYNC not supported\n");
-- return 0;
-- }
- break;
-+#else
-+ printf("MAP_SYNC not supported\n");
-+ exitcode = 1;
-+ return command_usage(&mmap_cmd);
-+#endif
- case 's':
- length2 = cvtnum(blocksize, sectsize, optarg);
- break;
-@@ -281,7 +282,7 @@ mmap_f(
- mapping->offset = offset;
- mapping->name = filename;
- mapping->prot = prot;
-- mapping->map_sync = (flags == (MAP_SYNC | MAP_SHARED_VALIDATE));
-+ mapping->flags = flags;
- return 0;
- }
-
-diff --git a/m4/package_libcdev.m4 b/m4/package_libcdev.m4
-index adab9bb9773a..3a0c23453176 100644
---- a/m4/package_libcdev.m4
-+++ b/m4/package_libcdev.m4
-@@ -339,8 +339,7 @@ AC_DEFUN([AC_HAVE_STATFS_FLAGS],
- AC_DEFUN([AC_HAVE_MAP_SYNC],
- [ AC_MSG_CHECKING([for MAP_SYNC])
- AC_TRY_COMPILE([
--#include <asm-generic/mman.h>
--#include <asm-generic/mman-common.h>
-+#include <sys/mman.h>
- ], [
- int flags = MAP_SYNC | MAP_SHARED_VALIDATE;
- ], have_map_sync=yes
-2.25.1
-
@@ -1,5 +1,5 @@
# From https://www.kernel.org/pub/linux/utils/fs/xfs/xfsprogs/sha256sums.asc
-sha256 01ccd3ef9df2837753a5d876b8da84ea957d13d7a461b8c46e8afa4eb09aabc8 xfsprogs-5.14.2.tar.xz
+sha256 c31868418bfbf49a3a9c47fc70cdffde9d96f4ff0051bd04a0881e6654648104 xfsprogs-6.4.0.tar.xz
# Hash for license files
sha256 f6b78c087c3ebdf0f3c13415070dd480a3f35d8fc76f3d02180a407c1c812f79 LICENSES/GPL-2.0
@@ -4,7 +4,7 @@
#
################################################################################
-XFSPROGS_VERSION = 5.14.2
+XFSPROGS_VERSION = 6.4.0
XFSPROGS_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/fs/xfs/xfsprogs
XFSPROGS_SOURCE = xfsprogs-$(XFSPROGS_VERSION).tar.xz
XFSPROGS_LICENSE = GPL-2.0, GPL-2.0+, LGPL-2.1 (libhandle, few headers)
Patch 0003-libxfs-stop-overriding-MAP_SYNC-in-publicly-exported.patch is upstreamed. See here for changes to the previous version: https://fossies.org/linux/xfsprogs/doc/CHANGES Signed-off-by: Waldemar Brodkorb <wbx@openadk.org> --- can be applied to next or master, I am unsure. --- ...riding-MAP_SYNC-in-publicly-exported.patch | 187 ------------------ package/xfsprogs/xfsprogs.hash | 2 +- package/xfsprogs/xfsprogs.mk | 2 +- 3 files changed, 2 insertions(+), 189 deletions(-) delete mode 100644 package/xfsprogs/0003-libxfs-stop-overriding-MAP_SYNC-in-publicly-exported.patch