xfsprogs: Fix compilation with newer musl
authorRosen Penev <rosenp@gmail.com>
Thu, 7 Nov 2019 22:55:10 +0000 (14:55 -0800)
committerHauke Mehrtens <hauke@hauke-m.de>
Sat, 9 Nov 2019 19:42:04 +0000 (20:42 +0100)
Backported upstream patch.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
(cherry picked from commit 39035df71c37d474be2cb2a0fad8d70da095c68b)

package/utils/xfsprogs/Makefile
package/utils/xfsprogs/patches/130-db-malloc-Use-posix_memalign-instead-of-deprecated-v.patch
package/utils/xfsprogs/patches/140-copy-file-range.patch [new file with mode: 0644]

index 3537738..f717185 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=xfsprogs
 PKG_CPE_ID:=cpe:/a:sgi:xfsprogs
-PKG_RELEASE:=3
+PKG_RELEASE:=4
 PKG_VERSION:=4.11.0
 PKG_SOURCE_URL:=@KERNEL/linux/utils/fs/xfs/xfsprogs
 PKG_HASH:=c3a6d87b564d7738243c507df82276bed982265e345363a95f2c764e8a5f5bb2
index 7bf1c77..b028db1 100644 (file)
@@ -12,8 +12,6 @@ Signed-off-by: Rosen Penev <rosenp@gmail.com>
  db/malloc.c | 3 +--
  1 file changed, 1 insertion(+), 2 deletions(-)
 
-diff --git a/db/malloc.c b/db/malloc.c
-index 77b3e022..38fe0b05 100644
 --- a/db/malloc.c
 +++ b/db/malloc.c
 @@ -56,8 +56,7 @@ xmalloc(
@@ -26,6 +24,3 @@ index 77b3e022..38fe0b05 100644
                return ptr;
        badmalloc();
        /* NOTREACHED */
--- 
-2.17.1
-
diff --git a/package/utils/xfsprogs/patches/140-copy-file-range.patch b/package/utils/xfsprogs/patches/140-copy-file-range.patch
new file mode 100644 (file)
index 0000000..076d5c9
--- /dev/null
@@ -0,0 +1,48 @@
+From 8041435de7ed028a27ecca64302945ad455c69a6 Mon Sep 17 00:00:00 2001
+From: "Darrick J. Wong" <darrick.wong@oracle.com>
+Date: Mon, 5 Feb 2018 14:38:02 -0600
+Subject: [PATCH] xfs_io: fix copy_file_range symbol name collision
+
+glibc 2.27 has a copy_file_range wrapper, so we need to change our
+internal function out of the way to avoid compiler warnings.
+
+Reported-by: fredrik@crux.nu
+Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
+Reviewed-by: Eric Sandeen <sandeen@redhat.com>
+Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
+---
+ io/copy_file_range.c | 11 ++++++++---
+ 1 file changed, 8 insertions(+), 3 deletions(-)
+
+--- a/io/copy_file_range.c
++++ b/io/copy_file_range.c
+@@ -42,13 +42,18 @@ copy_range_help(void)
+ "));
+ }
++/*
++ * Issue a raw copy_file_range syscall; for our test program we don't want the
++ * glibc buffered copy fallback.
++ */
+ static loff_t
+-copy_file_range(int fd, loff_t *src, loff_t *dst, size_t len)
++copy_file_range_cmd(int fd, loff_t *src, loff_t *dst, size_t len)
+ {
+       loff_t ret;
+       do {
+-              ret = syscall(__NR_copy_file_range, fd, src, file->fd, dst, len, 0);
++              ret = syscall(__NR_copy_file_range, fd, src, file->fd, dst,
++                              len, 0);
+               if (ret == -1) {
+                       perror("copy_range");
+                       return errno;
+@@ -130,7 +135,7 @@ copy_range_f(int argc, char **argv)
+               copy_dst_truncate();
+       }
+-      ret = copy_file_range(fd, &src, &dst, len);
++      ret = copy_file_range_cmd(fd, &src, &dst, len);
+       close(fd);
+       return ret;
+ }