From: Waldemar Brodkorb <wbx@openadk.org>
To: buildroot@buildroot.org
Subject: [Buildroot] [PATCH v2 2/2] package/xfsprogs: bump version to 6.4.0
Date: Sat, 12 Aug 2023 15:06:26 +0200 [thread overview]
Message-ID: <ZNeD0iRhXWHTZHLX@waldemar-brodkorb.de> (raw)
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>
---
v1 -> v2:
- no change
---
...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
diff --git a/package/xfsprogs/0003-libxfs-stop-overriding-MAP_SYNC-in-publicly-exported.patch b/package/xfsprogs/0003-libxfs-stop-overriding-MAP_SYNC-in-publicly-exported.patch
deleted file mode 100644
index 510ed5b642..0000000000
--- a/package/xfsprogs/0003-libxfs-stop-overriding-MAP_SYNC-in-publicly-exported.patch
+++ /dev/null
@@ -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
-
diff --git a/package/xfsprogs/xfsprogs.hash b/package/xfsprogs/xfsprogs.hash
index bb546601dc..8c73e14905 100644
--- a/package/xfsprogs/xfsprogs.hash
+++ b/package/xfsprogs/xfsprogs.hash
@@ -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
diff --git a/package/xfsprogs/xfsprogs.mk b/package/xfsprogs/xfsprogs.mk
index 09f59a76f4..e657c8086d 100644
--- a/package/xfsprogs/xfsprogs.mk
+++ b/package/xfsprogs/xfsprogs.mk
@@ -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)
--
2.39.2
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
next reply other threads:[~2023-08-12 13:06 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-08-12 13:06 Waldemar Brodkorb [this message]
2023-08-12 19:41 ` [Buildroot] [PATCH v2 2/2] package/xfsprogs: bump version to 6.4.0 Thomas Petazzoni via buildroot
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=ZNeD0iRhXWHTZHLX@waldemar-brodkorb.de \
--to=wbx@openadk.org \
--cc=buildroot@buildroot.org \
/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.