devel: add lttng-tools package
[packages.git] / devel / lttng-tools / patches / 001-uclibc_sync_file_ranges.patch
diff --git a/devel/lttng-tools/patches/001-uclibc_sync_file_ranges.patch b/devel/lttng-tools/patches/001-uclibc_sync_file_ranges.patch
new file mode 100644 (file)
index 0000000..fcaaa3e
--- /dev/null
@@ -0,0 +1,51 @@
+Make sync_file_range() usage optional
+
+Under uClibc, sync_file_range() is not available under all
+architectures, so we fall back to fdatasync() in this case.
+
+Inspired by the patch done by Thomas Petazzoni for the
+2.0-pre25 version.
+
+Signed-off-by: Samuel Martin <s.martin49@gmail.com>
+---
+ configure.ac              |    2 +-
+ src/common/compat/fcntl.h |    5 +++++
+ 2 files changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 5808c79..065b9cf 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -150,7 +150,7 @@ AS_IF([test "x$lttng_ust_support" = "xyes"], [
+       )
+ ])
+ AM_CONDITIONAL([HAVE_LIBLTTNG_UST_CTL], [test "x$lttng_ust_ctl_found" = xyes])
+-AC_CHECK_FUNCS([sched_getcpu sysconf])
++AC_CHECK_FUNCS([sched_getcpu sysconf sync_file_range])
+ # check for dlopen
+ AC_CHECK_LIB([dl], [dlopen],
+@@ -394,4 +394,3 @@ AS_IF([test "x$consumerd_only" = "xno"],[
+ ])
+ AS_ECHO()
+-
+diff --git a/src/common/compat/compat-fcntl.c b/src/common/compat/compat-fcntl.c
+index 5a1c757..7ff63a3 100644
+--- a/src/common/compat/compat-fcntl.c
++++ b/src/common/compat/compat-fcntl.c
+@@ -23,7 +23,11 @@
+ int compat_sync_file_range(int fd, off64_t offset, off64_t nbytes,
+               unsigned int flags)
+ {
++#ifdef HAVE_SYNC_FILE_RANGE
+       return sync_file_range(fd, offset, nbytes, flags);
++#else
++      return fdatasync(fd);
++#endif
+ }
+ #endif /* __linux__ */
+-- 
+1.8.0.3
+