From 5e17d6b75b6c47e884fceda91078e8e988cbcf7d Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Sat, 15 Sep 2007 22:38:32 +0000 Subject: [PATCH] * sysdeps/unix/sysv/linux/i386/Makefile (sysdep_routines): Add call_fallocate in misc subdir. * sysdeps/unix/sysv/linux/i386/call_fallocate.S: New file. * sysdeps/unix/sysv/linux/i386/syscalls.list (fallocate64): Remove. * sysdeps/unix/sysv/linux/i386/posix_fallocate.c: Use __call_fallocate instead of __fallocate64. * sysdeps/unix/sysv/linux/i386/posix_fallocate64.c: Likewise. --- ChangeLog | 10 ++++++++++ sysdeps/unix/sysv/linux/i386/Makefile | 2 +- sysdeps/unix/sysv/linux/i386/call_fallocate.S | 7 +++++++ sysdeps/unix/sysv/linux/i386/posix_fallocate.c | 4 ++-- sysdeps/unix/sysv/linux/i386/posix_fallocate64.c | 4 ++-- sysdeps/unix/sysv/linux/i386/syscalls.list | 1 - 6 files changed, 22 insertions(+), 6 deletions(-) create mode 100644 sysdeps/unix/sysv/linux/i386/call_fallocate.S diff --git a/ChangeLog b/ChangeLog index e7e30ee377..6b4c1ce822 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2007-08-26 Jakub Jelinek + + * sysdeps/unix/sysv/linux/i386/Makefile (sysdep_routines): Add + call_fallocate in misc subdir. + * sysdeps/unix/sysv/linux/i386/call_fallocate.S: New file. + * sysdeps/unix/sysv/linux/i386/syscalls.list (fallocate64): Remove. + * sysdeps/unix/sysv/linux/i386/posix_fallocate.c: Use __call_fallocate + instead of __fallocate64. + * sysdeps/unix/sysv/linux/i386/posix_fallocate64.c: Likewise. + 2007-09-15 Jakub Jelinek * rt/Versions (librt): Export __mq_open_2@@GLIBC_2.7. diff --git a/sysdeps/unix/sysv/linux/i386/Makefile b/sysdeps/unix/sysv/linux/i386/Makefile index 9e84975635..f52ee89f0e 100644 --- a/sysdeps/unix/sysv/linux/i386/Makefile +++ b/sysdeps/unix/sysv/linux/i386/Makefile @@ -1,5 +1,5 @@ ifeq ($(subdir),misc) -sysdep_routines += ioperm iopl vm86 call_pselect6 +sysdep_routines += ioperm iopl vm86 call_pselect6 call_fallocate sysdep_headers += sys/elf.h sys/perm.h sys/reg.h sys/vm86.h sys/debugreg.h sys/io.h endif diff --git a/sysdeps/unix/sysv/linux/i386/call_fallocate.S b/sysdeps/unix/sysv/linux/i386/call_fallocate.S new file mode 100644 index 0000000000..39ab7979cc --- /dev/null +++ b/sysdeps/unix/sysv/linux/i386/call_fallocate.S @@ -0,0 +1,7 @@ +#include + +#ifdef __NR_fallocate +PSEUDO_ERRVAL (__call_fallocate, fallocate, 6) + ret_ERRVAL +PSEUDO_END_ERRVAL(__call_fallocate) +#endif diff --git a/sysdeps/unix/sysv/linux/i386/posix_fallocate.c b/sysdeps/unix/sysv/linux/i386/posix_fallocate.c index c974d06afc..9ac7b3848a 100644 --- a/sysdeps/unix/sysv/linux/i386/posix_fallocate.c +++ b/sysdeps/unix/sysv/linux/i386/posix_fallocate.c @@ -28,7 +28,7 @@ int __have_fallocate attribute_hidden; #endif -extern int __fallocate64 (int fd, int mode, __off64_t offset, __off64_t len) +extern int __call_fallocate (int fd, int mode, __off64_t offset, __off64_t len) attribute_hidden; /* Reserve storage for the data of the file associated with FD. */ @@ -40,7 +40,7 @@ posix_fallocate (int fd, __off_t offset, __off_t len) if (__builtin_expect (__have_fallocate >= 0, 1)) # endif { - int res = __fallocate64 (fd, 0, offset, len); + int res = __call_fallocate (fd, 0, offset, len); if (! res) return 0; diff --git a/sysdeps/unix/sysv/linux/i386/posix_fallocate64.c b/sysdeps/unix/sysv/linux/i386/posix_fallocate64.c index d5b4d597c1..f1ed7e315c 100644 --- a/sysdeps/unix/sysv/linux/i386/posix_fallocate64.c +++ b/sysdeps/unix/sysv/linux/i386/posix_fallocate64.c @@ -30,7 +30,7 @@ extern int __posix_fallocate64_l64 (int fd, __off64_t offset, __off64_t len); extern int __have_fallocate attribute_hidden; #endif -extern int __fallocate64 (int fd, int mode, __off64_t offset, __off64_t len) +extern int __call_fallocate (int fd, int mode, __off64_t offset, __off64_t len) attribute_hidden; /* Reserve storage for the data of the file associated with FD. */ @@ -42,7 +42,7 @@ __posix_fallocate64_l64 (int fd, __off64_t offset, __off64_t len) if (__builtin_expect (__have_fallocate >= 0, 1)) # endif { - int res = __fallocate64 (fd, 0, offset, len); + int res = __call_fallocate (fd, 0, offset, len); if (! res) return 0; diff --git a/sysdeps/unix/sysv/linux/i386/syscalls.list b/sysdeps/unix/sysv/linux/i386/syscalls.list index 324ab3dc1a..3ff3a73aab 100644 --- a/sysdeps/unix/sysv/linux/i386/syscalls.list +++ b/sysdeps/unix/sysv/linux/i386/syscalls.list @@ -6,4 +6,3 @@ vm86 - vm86 i:ip __vm86 vm86@@GLIBC_2.3.4 oldgetrlimit EXTRA getrlimit i:ip __old_getrlimit getrlimit@GLIBC_2.0 oldsetrlimit EXTRA setrlimit i:ip __old_setrlimit setrlimit@GLIBC_2.0 waitpid - waitpid Ci:ipi __waitpid waitpid __libc_waitpid -fallocate64 - fallocate Vi:iiiiii __fallocate64