summaryrefslogtreecommitdiff
path: root/patches/glibc/ports-2.15/490-alpha_alpha-add-fdatasync-support.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/glibc/ports-2.15/490-alpha_alpha-add-fdatasync-support.patch')
-rw-r--r--patches/glibc/ports-2.15/490-alpha_alpha-add-fdatasync-support.patch126
1 files changed, 0 insertions, 126 deletions
diff --git a/patches/glibc/ports-2.15/490-alpha_alpha-add-fdatasync-support.patch b/patches/glibc/ports-2.15/490-alpha_alpha-add-fdatasync-support.patch
deleted file mode 100644
index acf250d..0000000
--- a/patches/glibc/ports-2.15/490-alpha_alpha-add-fdatasync-support.patch
+++ /dev/null
@@ -1,126 +0,0 @@
-2009-07-25 Aurelien Jarno <aurelien@aurel32.net>
-
- * sysdeps/unix/sysv/linux/kernel-features.h: define
- __ASSUME_FDATASYNC.
- * sysdeps/unix/sysv/linux/fdatasync.c: New file.
- * sysdeps/unix/sysv/linux/Makefile: compile fdatasync.c with
- -fexceptions.
- * sysdeps/unix/sysv/linux/syscalls.list: Remove fdatasync.
-
- sysdeps/unix/sysv/linux/Makefile | 1
- sysdeps/unix/sysv/linux/fdatasync.c | 69 ++++++++++++++++++++++++++++++
- sysdeps/unix/sysv/linux/kernel-features.h | 6 ++
- sysdeps/unix/sysv/linux/syscalls.list | 1
- 4 files changed, 76 insertions(+), 1 deletion(-)
-
-diff -durN glibc-2.13.orig/sysdeps/unix/sysv/linux/Makefile glibc-2.13/sysdeps/unix/sysv/linux/Makefile
---- glibc-2.13.orig/sysdeps/unix/sysv/linux/Makefile 2009-03-02 17:15:13.000000000 +0100
-+++ glibc-2.13/sysdeps/unix/sysv/linux/Makefile 2009-11-13 00:51:04.000000000 +0100
-@@ -21,6 +21,7 @@
- setfsuid setfsgid makedev epoll_pwait signalfd \
- eventfd eventfd_read eventfd_write prlimit
-
-+CFLAGS-fdatasync.c = -fexceptions
- CFLAGS-gethostid.c = -fexceptions
- CFLAGS-tst-writev.c += "-DARTIFICIAL_LIMIT=0x80000000-__getpagesize()"
-
-diff -durN glibc-2.13.orig/sysdeps/unix/sysv/linux/fdatasync.c glibc-2.13/sysdeps/unix/sysv/linux/fdatasync.c
---- glibc-2.13.orig/sysdeps/unix/sysv/linux/fdatasync.c 1970-01-01 01:00:00.000000000 +0100
-+++ glibc-2.13/sysdeps/unix/sysv/linux/fdatasync.c 2009-11-13 00:51:04.000000000 +0100
-@@ -0,0 +1,69 @@
-+/* fdatasync -- synchronize at least the data part of a file with
-+ the underlying media. Linux version.
-+
-+ Copyright (C) 2007 Free Software Foundation, Inc.
-+ This file is part of the GNU C Library.
-+
-+ The GNU C Library is free software; you can redistribute it and/or
-+ modify it under the terms of the GNU Lesser General Public
-+ License as published by the Free Software Foundation; either
-+ version 2.1 of the License, or (at your option) any later version.
-+
-+ The GNU C Library is distributed in the hope that it will be useful,
-+ but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+ Lesser General Public License for more details.
-+
-+ You should have received a copy of the GNU Lesser General Public
-+ License along with the GNU C Library; if not, write to the Free
-+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-+ 02111-1307 USA. */
-+
-+#include <errno.h>
-+#include <unistd.h>
-+
-+#include <sysdep-cancel.h>
-+#include <sys/syscall.h>
-+#include <bp-checks.h>
-+
-+#include <kernel-features.h>
-+
-+#if defined __NR_fdatasync && !defined __ASSUME_FDATASYNC
-+static int __have_no_fdatasync;
-+#endif
-+
-+static int
-+do_fdatasync (int fd)
-+{
-+#ifdef __ASSUME_FDATASYNC
-+ return INLINE_SYSCALL (fdatasync, 1, fd);
-+#elif defined __NR_fdatasync
-+ if (!__builtin_expect (__have_no_fdatasync, 0))
-+ {
-+ int result = INLINE_SYSCALL (fdatasync, 1, fd);
-+ if (__builtin_expect (result, 0) != -1 || errno != ENOSYS)
-+ return result;
-+
-+ __have_no_fdatasync = 1;
-+ }
-+#endif
-+ return INLINE_SYSCALL (fsync, 1, fd);
-+}
-+
-+int
-+__fdatasync (int fd)
-+{
-+ if (SINGLE_THREAD_P)
-+ return do_fdatasync (fd);
-+
-+ int oldtype = LIBC_CANCEL_ASYNC ();
-+
-+ int result = do_fdatasync (fd);
-+
-+ LIBC_CANCEL_RESET (oldtype);
-+
-+ return result;
-+}
-+
-+weak_alias (__fdatasync, fdatasync)
-+
-diff -durN glibc-2.13.orig/sysdeps/unix/sysv/linux/kernel-features.h glibc-2.13/sysdeps/unix/sysv/linux/kernel-features.h
---- glibc-2.13.orig/sysdeps/unix/sysv/linux/kernel-features.h 2009-11-13 00:50:45.000000000 +0100
-+++ glibc-2.13/sysdeps/unix/sysv/linux/kernel-features.h 2009-11-13 00:51:04.000000000 +0100
-@@ -459,6 +459,12 @@
- # define __ASSUME_FUTEX_LOCK_PI 1
- #endif
-
-+/* Support for fsyncdata syscall was added in 2.6.22 on alpha, but it
-+ was already present in 2.0 kernels on other architectures. */
-+#if (!defined __alpha || __LINUX_KERNEL_VERSION >= 0x020616)
-+# define __ASSUME_FDATASYNC 1
-+#endif
-+
- /* Support for utimensat syscall was added in 2.6.22, on SH
- only after 2.6.22-rc1. */
- #if __LINUX_KERNEL_VERSION >= 0x020616 \
-diff -durN glibc-2.13.orig/sysdeps/unix/sysv/linux/syscalls.list glibc-2.13/sysdeps/unix/sysv/linux/syscalls.list
---- glibc-2.13.orig/sysdeps/unix/sysv/linux/syscalls.list 2008-08-02 01:29:08.000000000 +0200
-+++ glibc-2.13/sysdeps/unix/sysv/linux/syscalls.list 2009-11-13 00:51:04.000000000 +0100
-@@ -11,7 +11,6 @@
- epoll_create1 EXTRA epoll_create1 i:i epoll_create1
- epoll_ctl EXTRA epoll_ctl i:iiip epoll_ctl
- epoll_wait EXTRA epoll_wait Ci:ipii epoll_wait
--fdatasync - fdatasync Ci:i fdatasync
- flock - flock i:ii __flock flock
- fork - fork i: __libc_fork __fork fork
- get_kernel_syms EXTRA get_kernel_syms i:p get_kernel_syms