diff options
author | Peter S. Mazinger <ps.m@gmx.net> | 2011-04-06 15:36:54 +0200 |
---|---|---|
committer | Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> | 2012-06-15 14:00:35 +0200 |
commit | 9e74047542cbe90bd63660638ceb30313327027f (patch) | |
tree | fe918ecaf613ce9e660e8c971ff5dabf25a9b39f /libc/sysdeps/linux/powerpc | |
parent | dd340d59c5bcca991047c9ef26147e5e5cbb659b (diff) |
posix_fadvise: make posix_fadvise[64] similar on all archs
Remove all versions, that can be covered by the common one.
Drop incorrectly implemented fallback support, if __NR_fadvise64_64 is not available.
To support 64 bit ppc, move ppc support into common.
Cleanup including headers.
Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Diffstat (limited to 'libc/sysdeps/linux/powerpc')
-rw-r--r-- | libc/sysdeps/linux/powerpc/Makefile.arch | 4 | ||||
-rw-r--r-- | libc/sysdeps/linux/powerpc/posix_fadvise.c | 30 | ||||
-rw-r--r-- | libc/sysdeps/linux/powerpc/posix_fadvise64.c | 60 |
3 files changed, 0 insertions, 94 deletions
diff --git a/libc/sysdeps/linux/powerpc/Makefile.arch b/libc/sysdeps/linux/powerpc/Makefile.arch index cdb35ba43..62dbe3b64 100644 --- a/libc/sysdeps/linux/powerpc/Makefile.arch +++ b/libc/sysdeps/linux/powerpc/Makefile.arch @@ -7,10 +7,6 @@ CSRC := __syscall_error.c pread_write.c ioctl.c -ifeq ($(UCLIBC_HAS_ADVANCED_REALTIME),y) -CSRC += posix_fadvise.c posix_fadvise64.c -endif - SSRC := \ __longjmp.S setjmp.S bsd-setjmp.S bsd-_setjmp.S brk.S \ __uClibc_syscall.S syscall.S diff --git a/libc/sysdeps/linux/powerpc/posix_fadvise.c b/libc/sysdeps/linux/powerpc/posix_fadvise.c deleted file mode 100644 index 7ceb8ce8f..000000000 --- a/libc/sysdeps/linux/powerpc/posix_fadvise.c +++ /dev/null @@ -1,30 +0,0 @@ -/* vi: set sw=4 ts=4: */ -/* - * posix_fadvise() for uClibc - * http://www.opengroup.org/onlinepubs/009695399/functions/posix_fadvise.html - * - * Copyright (C) 2000-2006 Erik Andersen <andersen@uclibc.org> - * - * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. - */ - -#include <sys/syscall.h> -#include <fcntl.h> - -#ifdef __NR_fadvise64 -#define __NR_posix_fadvise __NR_fadvise64 -int posix_fadvise(int fd, off_t offset, off_t len, int advice) -{ - INTERNAL_SYSCALL_DECL(err); - int ret = (int) (INTERNAL_SYSCALL(posix_fadvise, err, 6, fd, 0, - __LONG_LONG_PAIR (offset >> 31, offset), len, advice)); - if (INTERNAL_SYSCALL_ERROR_P (ret, err)) - return INTERNAL_SYSCALL_ERRNO (ret, err); - return 0; -} - -#if defined __UCLIBC_HAS_LFS__ && (!defined __NR_fadvise64_64 || !defined _syscall6) -strong_alias(posix_fadvise,posix_fadvise64) -#endif - -#endif diff --git a/libc/sysdeps/linux/powerpc/posix_fadvise64.c b/libc/sysdeps/linux/powerpc/posix_fadvise64.c deleted file mode 100644 index d92071158..000000000 --- a/libc/sysdeps/linux/powerpc/posix_fadvise64.c +++ /dev/null @@ -1,60 +0,0 @@ -/* vi: set sw=4 ts=4: */ -/* - * posix_fadvise64() for uClibc - * http://www.opengroup.org/onlinepubs/009695399/functions/posix_fadvise.html - * - * Copyright (C) 2000-2006 Erik Andersen <andersen@uclibc.org> - * - * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. - */ - -#include <features.h> -#include <unistd.h> -#include <errno.h> -#include <endian.h> -#include <stdint.h> -#include <sys/types.h> -#include <sys/syscall.h> -#include <fcntl.h> - -#ifdef __UCLIBC_HAS_LFS__ -#ifdef __NR_fadvise64_64 - -/* 64 bit implementation is cake ... or more like pie ... */ -#if __WORDSIZE == 64 - -#define __NR_posix_fadvise64 __NR_fadvise64_64 - -int posix_fadvise64(int fd, __off64_t offset, __off64_t len, int advise) -{ - if (len != (off_t) len) - return EOVERFLOW; - INTERNAL_SYSCALL_DECL (err); - int ret = INTERNAL_SYSCALL (posix_fadvise64, err, 6, fd, 0, - __LONG_LONG_PAIR ((long) (offset >> 32), (long) offset), - (off_t) len, advise); - if (!INTERNAL_SYSCALL_ERROR_P (ret, err)) - return 0; - return INTERNAL_SYSCALL_ERRNO (ret, err); -} - -/* 32 bit implementation is kind of a pita */ -#elif __WORDSIZE == 32 - -int posix_fadvise64(int fd, __off64_t offset, __off64_t len, int advise) -{ - INTERNAL_SYSCALL_DECL (err); - int ret = INTERNAL_SYSCALL (fadvise64_64, err, 6, fd, advise, - __LONG_LONG_PAIR((long) (offset >> 32), (long) offset ), - __LONG_LONG_PAIR((long) (len >> 32), (long) len)); - if (!INTERNAL_SYSCALL_ERROR_P (ret, err)) - return 0; - return INTERNAL_SYSCALL_ERRNO (ret, err); -} - -#else -#error your machine is neither 32 bit or 64 bit ... it must be magical -#endif - -#endif /* __NR_fadvise64_64 */ -#endif /* __UCLIBC_HAS_LFS__ */ |