From e5d94825eafaca06f9acc9bccf9a20cf9b7b519a Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Thu, 23 Aug 2018 05:38:55 +0000 Subject: xfsprogs: Fix build on mips Signed-off-by: Khem Raj --- .../0001-Check-for-MAP_SYNC-in-sys-mman.h.patch | 52 ++++++++++++++++++++++ ...lude-include-xfs-linux.h-after-sys-mman.h.patch | 33 ++++++++++++++ .../recipes-utils/xfsprogs/xfsprogs_4.17.0.bb | 5 ++- 3 files changed, 89 insertions(+), 1 deletion(-) create mode 100644 meta-filesystems/recipes-utils/xfsprogs/files/0001-Check-for-MAP_SYNC-in-sys-mman.h.patch create mode 100644 meta-filesystems/recipes-utils/xfsprogs/files/0002-include-include-xfs-linux.h-after-sys-mman.h.patch (limited to 'meta-filesystems') diff --git a/meta-filesystems/recipes-utils/xfsprogs/files/0001-Check-for-MAP_SYNC-in-sys-mman.h.patch b/meta-filesystems/recipes-utils/xfsprogs/files/0001-Check-for-MAP_SYNC-in-sys-mman.h.patch new file mode 100644 index 0000000000..75b227ac19 --- /dev/null +++ b/meta-filesystems/recipes-utils/xfsprogs/files/0001-Check-for-MAP_SYNC-in-sys-mman.h.patch @@ -0,0 +1,52 @@ +From f41ef1f06d428c81fcdef73d896dfc7ceda1809c Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 23 Aug 2018 04:59:39 +0000 +Subject: [PATCH] Check for MAP_SYNC in sys/mman.h + +Not all arches have wired MAP_SYNC e.g. mips +which have conflicts with definition, so checking +a generic file is going to mis-configure xfsprogs +for such arches. + +libc now has added the relevant macros to +sys/mman.h, and returns the right values for arches +where its implemented and nothing for others +unlike asm-generic/mman.h which only checks +for kernel headers and ignored arches + +Upstream-Status: Pending + +Signed-off-by: Khem Raj +--- + include/linux.h | 3 +-- + m4/package_libcdev.m4 | 3 +-- + 2 files changed, 2 insertions(+), 4 deletions(-) + +diff --git a/include/linux.h b/include/linux.h +index 1998941..7e5c9ab 100644 +--- a/include/linux.h ++++ b/include/linux.h +@@ -331,8 +331,7 @@ fsmap_advance( + #define MAP_SYNC 0 + #define MAP_SHARED_VALIDATE 0 + #else +-#include +-#include ++#include + #endif /* HAVE_MAP_SYNC */ + + #endif /* __XFS_LINUX_H__ */ +diff --git a/m4/package_libcdev.m4 b/m4/package_libcdev.m4 +index 0a6b514..2b47d2f 100644 +--- a/m4/package_libcdev.m4 ++++ b/m4/package_libcdev.m4 +@@ -335,8 +335,7 @@ AC_DEFUN([AC_HAVE_STATFS_FLAGS], + AC_DEFUN([AC_HAVE_MAP_SYNC], + [ AC_MSG_CHECKING([for MAP_SYNC]) + AC_TRY_COMPILE([ +-#include +-#include ++#include + ], [ + int flags = MAP_SYNC | MAP_SHARED_VALIDATE; + ], have_map_sync=yes diff --git a/meta-filesystems/recipes-utils/xfsprogs/files/0002-include-include-xfs-linux.h-after-sys-mman.h.patch b/meta-filesystems/recipes-utils/xfsprogs/files/0002-include-include-xfs-linux.h-after-sys-mman.h.patch new file mode 100644 index 0000000000..89447fd92e --- /dev/null +++ b/meta-filesystems/recipes-utils/xfsprogs/files/0002-include-include-xfs-linux.h-after-sys-mman.h.patch @@ -0,0 +1,33 @@ +From 18298d7c028cd5fbd2c68fa428dc2384344aeb91 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 23 Aug 2018 05:33:57 +0000 +Subject: [PATCH] include include/xfs/linux.h after + +This helps compiling with musl which goes ahead and undefines MAP_SYNC +for mips and other architectures where its not wired in kernel + +Upstream-Status: Pending + +Signed-off-by: Khem Raj +--- + io/mmap.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/io/mmap.c b/io/mmap.c +index 106be49..34fadf4 100644 +--- a/io/mmap.c ++++ b/io/mmap.c +@@ -16,10 +16,11 @@ + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +-#include "command.h" +-#include "input.h" + #include + #include ++ ++#include "command.h" ++#include "input.h" + #include "init.h" + #include "io.h" + diff --git a/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_4.17.0.bb b/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_4.17.0.bb index 06f774d875..ee571ce863 100644 --- a/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_4.17.0.bb +++ b/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_4.17.0.bb @@ -9,6 +9,8 @@ SRC_URI = "https://www.kernel.org/pub/linux/utils/fs/xfs/xfsprogs/${BP}.tar.xz \ file://remove_flags_from_build_flags.patch \ file://0001-build-Check-for-sync_file_range-libc-function.patch \ file://disable-xfs_scrub-build.patch \ + file://0001-Check-for-MAP_SYNC-in-sys-mman.h.patch \ + file://0002-include-include-xfs-linux.h-after-sys-mman.h.patch \ " SRC_URI[md5sum] = "b935b693dfac0264e232c3c4e52d5569" SRC_URI[sha256sum] = "f53f5169cb98cfca471ddea30092738c427ba284c5356e01b45dd1ae3b297e0d" @@ -48,13 +50,14 @@ export tagname="CC" EXTRA_OEMAKE = "DIST_ROOT='${D}'" -do_configure_prepend () { +do_configure () { export BUILD_CC="${BUILD_CC} ${BUILD_CFLAGS}" # Prevent Makefile from calling configure without arguments, # when do_configure gets called for a second time. rm -f ${B}/include/builddefs ${B}/include/platform_defs.h ${B}/configure # Recreate configure script. oe_runmake configure + oe_runconf } do_install_append() { -- cgit 1.2.3-korg