mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-07-16 04:17:25 +00:00
9e35f8d788
Fix build with glibc 2.27 while here Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Armin Kuster <akuster808@gmail.com>
83 lines
2.2 KiB
Diff
83 lines
2.2 KiB
Diff
From ae7172194d3fbb563ff8bbe7c02d34f1bd0e5ec9 Mon Sep 17 00:00:00 2001
|
|
From: Khem Raj <raj.khem@gmail.com>
|
|
Date: Wed, 31 Jan 2018 21:28:53 -0800
|
|
Subject: [PATCH] build: Check for sync_file_range libc function
|
|
|
|
glibc 2.27 now has sync_file_range()
|
|
|
|
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
---
|
|
Upstream-Status: Pending
|
|
|
|
include/builddefs.in | 1 +
|
|
io/Makefile | 5 ++++-
|
|
io/io.h | 2 +-
|
|
io/sync_file_range.c | 3 +++
|
|
4 files changed, 9 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/include/builddefs.in b/include/builddefs.in
|
|
index 92d5076..504225a 100644
|
|
--- a/include/builddefs.in
|
|
+++ b/include/builddefs.in
|
|
@@ -105,6 +105,7 @@ HAVE_FIEMAP = @have_fiemap@
|
|
HAVE_PREADV = @have_preadv@
|
|
HAVE_PWRITEV2 = @have_pwritev2@
|
|
HAVE_COPY_FILE_RANGE = @have_copy_file_range@
|
|
+HAVE_NR_COPY_FILE_RANGE = @have_nr_copy_file_range@
|
|
HAVE_SYNC_FILE_RANGE = @have_sync_file_range@
|
|
HAVE_SYNCFS = @have_syncfs@
|
|
HAVE_READDIR = @have_readdir@
|
|
diff --git a/io/Makefile b/io/Makefile
|
|
index 6725936..1876e95 100644
|
|
--- a/io/Makefile
|
|
+++ b/io/Makefile
|
|
@@ -59,10 +59,13 @@ CFILES += inject.c resblks.c
|
|
LCFLAGS += -DHAVE_INJECT -DHAVE_RESBLKS
|
|
endif
|
|
|
|
-ifeq ($(HAVE_COPY_FILE_RANGE),yes)
|
|
+ifeq ($(HAVE_NR_COPY_FILE_RANGE),yes)
|
|
CFILES += copy_file_range.c
|
|
+LCFLAGS += -DHAVE_NR_COPY_FILE_RANGE
|
|
+ifeq ($(HAVE_COPY_FILE_RANGE),yes)
|
|
LCFLAGS += -DHAVE_COPY_FILE_RANGE
|
|
endif
|
|
+endif
|
|
|
|
ifeq ($(HAVE_SYNC_FILE_RANGE),yes)
|
|
CFILES += sync_file_range.c
|
|
diff --git a/io/io.h b/io/io.h
|
|
index 3862985..79ddc7b 100644
|
|
--- a/io/io.h
|
|
+++ b/io/io.h
|
|
@@ -158,7 +158,7 @@ extern void fiemap_init(void);
|
|
#define fiemap_init() do { } while (0)
|
|
#endif
|
|
|
|
-#ifdef HAVE_COPY_FILE_RANGE
|
|
+#if defined(HAVE_NR_COPY_FILE_RANGE) && !defined(HAVE_COPY_FILE_RANGE)
|
|
extern void copy_range_init(void);
|
|
#else
|
|
#define copy_range_init() do { } while (0)
|
|
diff --git a/io/sync_file_range.c b/io/sync_file_range.c
|
|
index 7e4f3e6..aafea01 100644
|
|
--- a/io/sync_file_range.c
|
|
+++ b/io/sync_file_range.c
|
|
@@ -16,6 +16,7 @@
|
|
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|
*/
|
|
|
|
+#ifndef HAVE_COPY_FILE_RANGE
|
|
#include "command.h"
|
|
#include "input.h"
|
|
#include "init.h"
|
|
@@ -104,3 +105,5 @@ sync_range_init(void)
|
|
|
|
add_command(&sync_range_cmd);
|
|
}
|
|
+
|
|
+#endif
|
|
--
|
|
2.16.1
|
|
|